Fix the etags test suite
[emacs.git] / ChangeLog.3
blob8b872a0726eaf6d06eea5f387cf35e338e310f6a
1 2021-03-25  Eli Zaretskii  <eliz@gnu.org>
3         * Version 27.2 released.
5 2021-03-18 Basil L. Contovounesios <contovob@tcd.ie>
7         Fix 'frame-inner-height' in non-GUI builds
9         Include tab bar in frame's inner height in non-GUI builds that
10         don't define 'tab-bar-height'.  This is consistent with the
11         inclusion of the menu bar in the calculated height.  It is also
12         consistent with TTY frames of GUI builds, for which
13         'tab-bar-height' is always zero anyway (bug#47234).
14         Fix suggested by Eli Zaretskii <eliz@gnu.org>.
16         * lisp/frame.el (frame-inner-height): Don't assume
17         'tab-bar-height' is defined in builds --without-x.
19 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
21         * etc/HISTORY: Update for Emacs 27.2.
23         * README:
24         * configure.ac:
25         * nt/README.W32:
26         * msdos/sed2v2.inp: Set version to 27.2
28 2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>
30         Document that `buffer-string' retains text properties
32         * doc/lispref/text.texi (Buffer Contents): Mention text properties
33         in the `buffer-string' documentation.
34         * src/editfns.c (Fbuffer_string): Mention text properties in the
35         doc string (bug#47220).
37         (cherry picked from commit 60af754170f22f5d25510af069ed0ebfec95f992)
39 2021-03-18  Fabrice Bauzac  <noon@mykolab.com>
41         Remove duplicate @table item from ELisp manual
43         * doc/lispref/objects.texi (Special Read Syntax): Remove duplicate
44         item "#@N" from the table of Special Read Syntax.  (Bug#47200)
46 2021-03-18  Daniel Martín  <mardani29@yahoo.es>
48         Fix reference to 'diff-font-lock-syntax' in diff-mode documentation
50         * doc/emacs/files.texi (Diff Mode): Add the omitted name of the
51         variable.  (Bug#47129)
53 2021-03-18  Alan Third  <alan@idiocy.org>
55         Fix buffer overflow in xbm_scan (bug#47094)
57         * src/image.c (xbm_scan): Ensure reading a string doesn't overflow the
58         buffer.
60         (cherry picked from commit ebc3b25409dd614c1814a0643960452683e37aa3)
62 2021-03-18  Matt Armstrong  <matt@rfc20.org>
64         Fix typos and omissions for (elisp)Button Buffer Commands
66         * doc/lispref/display.texi (Button Buffer Commands): Minor
67         typo and omission fixes `backward-button' and
68         `forward-button'.  (Bug#47051)
70 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
72         Teach Rmail about NBSP in "Re:"
74         * lisp/mail/rmail.el (rmail-simplified-subject)
75         (rmail-reply-regexp): Allow NBSP in "RE:" prefixes.
77 2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
79         Revert "* lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double"
81         This reverts commit 02a5cfce471613f671722b35536d2a78f17b0429.
82         That commit breaks because of a missing patch to `parse_modifiers_uncached`
83         in `src/keyboard.c`.  IOW, too risky for `emacs-27`.
85         Don't merge to `master`.
87 2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
89         * lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double
91         This functionality was broken by commit 3d5e31eceb9dc1fb62b2b2,
92         the problem being that we end up considering as distinct the events
93         `down-double-mouse-1` and `double-down-mouse-1`.
95         Reported by Eyal Soha <eyalsoha@gmail.com>
97         (mouse--click-1-maybe-follows-link): Make sure the last element of
98         the list passed to `event-convert-list` is indeed a "basic" event.
100 2021-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
102         * lisp/emacs-lisp/gv.el (edebug-after): Don't run the getter in the setter
104         This fixes bug#46573 which was introduced by commit
105         d79cf638f278e50c22feb53d6ba556f5ce9d7853.
106         The new code is a middle ground, which makes sure the instrumentation
107         point is used (so the coverage checker won't have ghost unreachable
108         instrumentation points) yet without artificially running the getter
109         when we only need to run the setter.
111 2021-03-18  Masahiro Nakamura  <tsuucat@icloud.com>
113         * doc/misc/tramp.texi (Remote shell setup): Fix reference. (Do not merge)
115 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
117         Fix initialization of 'while-no-input-ignore-events'
119         * src/keyboard.c (syms_of_keyboard_for_pdumper): Don't reset
120         'while-no-input-ignore-events' after loading the dump file.
121         (Bug#46940)
123 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
125         Update documentation of reading passwords
127         * doc/emacs/mini.texi (Passwords): Update to match the modified
128         implementation.  (Bug#46902)  Add indexing.
130 2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>
132         Improve the 'dired-do-kill-lines' doc string
134         * lisp/dired-aux.el (dired-do-kill-lines): Document the FMT
135         parameter (bug#46867).
137         (cherry picked from commit b9cb3b904008a80c69ab433f4851377967b100db)
139 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
141         Avoid crashes in Mew due to corrupted tool-bar label
143         * src/gtkutil.c (update_frame_tool_bar): Don't keep around a
144         'char *' pointer to a Lisp string's contents when calling Lisp,
145         because that could relocate string data; keep the Lisp string
146         itself instead.  This avoids crashes in Mew.  (Bug#46791)
148 2021-03-18  Stefan Kangas  <stefan@marxist.se>
150         * lisp/tooltip.el (tooltip): Doc fix for GTK.
152 2021-03-18  Stefan Kangas  <stefan@marxist.se>
154         * lisp/help.el (help-for-help-internal): Doc fix; use imperative.
156 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
158         More accurate documentation of the "r" interactive spec
160         * doc/lispref/commands.texi (Interactive Codes): Describe the
161         effect of 'mark-even-if-inactive'.
163 2021-03-18  Stefan Kangas  <stefan@marxist.se>
165         Mention the GNU Kind Communications Guidelines in the FAQ
167         * doc/misc/efaq.texi (Guidelines for newsgroup postings): Mention
168         the GNU Kind Communications Guidelines.
170 2021-03-18  Ryan Prior  <rprior@protonmail.com>  (tiny change)
172         Allow newlines in password prompts again in comint
174         * lisp/comint.el (comint-password-prompt-regexp): Match all
175         whitespace (including newline) at the end of the passphrase, not
176         just space and \t (bug#46609).
177         (comint-watch-for-password-prompt): Remove trailing newlines from
178         the prompt (bug#46609).
180 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
182         Avoid point movement when visiting image files
184         * lisp/image-mode.el (image-toggle-display-image): Preserve point
185         around the call to exif-parse-buffer, to prevent it from moving
186         into the image data.  (Bug#46552)
188 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
190         Avoid assertion violation in callproc.c
192         * src/callproc.c (call_process): Avoid assertion violation when
193         DESTINATION is a cons cell '(:file . "FOO")'.  (Bug#46426)
195 2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>
197         Clarify "changes" in CONTRIBUTE
199         * CONTRIBUTE: Clarify that "changes" doesn't include removing code
200         (bug#44834).
202         (cherry picked from commit 33c9556c9db9b8c62dcd80dd3cc665e669ea66d4)
204 2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>
206         Clarify when activate-mark-hook is run
208         * doc/lispref/markers.texi (The Mark):
209         * lisp/simple.el (activate-mark-hook): Clarify when the hook is
210         run (bug#23444).
212 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
214         Fix language-environment and font selection on MS-Windows
216         These changes improve setting the language-environment and font
217         selection when MS-Windows returns useless "ZZZ" as the "language
218         name", which then disrupts all the setup of the locale-dependent
219         stuff, and in particular font selection.
220         * lisp/w32-fns.el (w32-charset-info-alist): Add an element for
221         "iso8859-5", in case LANG is set to something unusable, like
222         "ZZZ".  This allows fonts capable of displaying Cyrillic
223         characters to be used even when language preferences are screwed.
225         * src/w32.c (init_environment): If GetLocaleInfo returns "ZZZ" as
226         the "language name" for LOCALE_USER_DEFAULT, try again with locale
227         ID based on what GetUserDefaultUILanguage returns.  (Bug#39286)
229 2021-03-18  Petteri Hintsanen  <petterih@iki.fi>
231         Fix example in Sequence Functions node in the manual
233         * doc/lispref/sequences.texi (Sequence Functions): Fix the result
234         from the example.
236 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
238         Improve doc string of 'text-scale-adjust'
240         * lisp/face-remap.el (text-scale-adjust): Clarify that "default
241         face height" refers to the 'default' face.  (Bug#25168)
243 2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>
245         Clarify the indent-rigidly doc string
247         * lisp/indent.el (indent-rigidly): Clarify exiting the transient
248         mode (bug#46296).
250 2021-03-18  Martin Rudalics  <rudalics@gmx.at>
252         Fix two small tab bar issues
254         * lisp/cus-start.el (frame-inhibit-implied-resize): Update version tag.
255         * lisp/frame.el (frame-inner-height): Do not count in tab bar.
257 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
259         Fix last change in syntax.texi
261         * doc/lispref/syntax.texi (Syntax Properties): Fix wording in last
262         change.  (Bug#46274)
264 2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>
266         Correct the lispref manual about flushing ppss info
268         * doc/lispref/syntax.texi (Syntax Properties): Correct the
269         information about flushing the state by copying the text from the
270         doc string (bug#46274).
272         (cherry picked from commit ff701ce2b261acce1dfcd1fe137268d87d5eab35)
274 2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>
276         Clarify how transient indentation modes are exited in the manual
278         * doc/emacs/indent.texi (Indentation Commands): Clarify that the
279         other keys don't just exit the transient mode, but are also
280         handled as normally (bug#46296).
282 2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>
284         Fix the previous change
286         * lisp/progmodes/project.el (project-find-regexp):
287         Fix the previous change (project-root is not defined in this version).
288         (project-or-external-find-regexp): Same.
290 2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>
292         Bind default-directory to the project root
294         * lisp/progmodes/project.el (project-find-regexp):
295         Bind default-directory to the project root, to save this value
296         in the resulting buffer (esp. if the project selector was used,
297         (https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg00140.html).
298         (project-or-external-find-regexp): Same.
300         (cherry picked from commit c07ebfcbe084e8219d8c2588f23f77ba4ef39087)
302 2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>
304         Make sure default-directory relates to the originating buffer
306         * lisp/progmodes/xref.el (xref--show-xref-buffer):
307         Pick up default-directory value from the caller
308         (https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00551.html).
309         (xref-show-definitions-buffer-at-bottom): Same.
311         (cherry picked from commit 6e73e07a6f5cbdd1c5ae6e0f3fbd0f8f56813f1a)
313 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
315         Initialize signal descriptions after pdumping
317         * src/sysdep.c (init_signals) [!HAVE_DECL_SYS_SIGLIST]: Reinit
318         sys_siglist also after pdumping.  (Bug#46284)
320 2021-03-18  Lars Ingebrigtsen  <larsi@gnus.org>
322         Clarify the "Sentinels" node in the lispref manual
324         * doc/lispref/processes.texi (Sentinels): Mention "run" and that
325         the strings can be anything (bug#30461).
327         (cherry picked from commit 859a4cb6b22f75a3456e29d08fcfe9b8940fbe8b)
329 2021-03-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
331         Fix problem with non-ASCII characters in nnmaildir
333         * lisp/gnus/nnmaildir.el (nnmaildir-request-article): Enable
334         multipart 8bit-content-transfer-encoded files to be displayed
335         correctly by reading as `raw-text' instead of having Emacs
336         (incorrectly) decode the files (bug#44307).
338 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
340         * lisp/window.el (recenter-top-bottom): Clarify doc string.
342 2021-03-18  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
344         url-http.el: Special-case NTLM authentication
346         * lisp/url/url-http.el (url-http-handle-authentication): Do not
347         signal an error on NTLM authorization strings.  (Bug#43566)
349 2021-03-18  Juri Linkov  <juri@linkov.net>
351         * lisp/isearch.el (isearch-lazy-highlight): Fix defcustom type (bug#46208)
353 2021-03-18  Stefan Kangas  <stefan@marxist.se>
355         Sync latest SKK-JISYO.L
357         * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.
359 2021-03-18  Alan Third  <alan@idiocy.org>
361         Fix build failure on macOS 10.7 (bug#46036)
363         * src/nsfns.m (ns_set_represented_filename): Define the NSNumber in a
364         more compatible manner.
366 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
368         Improve documentation of auto-resize-tool/tab-bars
370         * src/xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>
371         <auto-resize-tab-bars>: Doc fix.  (Bug#46178)
373 2021-03-18  Dmitry Gutov  <dgutov@yandex.ru>
375         (xref-revert-buffer): Also 'erase-buffer' when handling a user-error
377         * lisp/progmodes/xref.el (xref-revert-buffer):
378         Also 'erase-buffer' when handling a user-error (bug#46042).
380         (cherry picked from commit e86b30d6fd04070b86560774ec82392dbe24ca1e)
382 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
384         Update files for 27.1.91 pretest
386         * ChangeLog.3:
387         * etc/AUTHORS
388         * lisp/ldefs-boot.el: Update.
390 2021-03-18  Eli Zaretskii  <eliz@gnu.org>
391 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
393         Bump Emacs version to 27.1.91
395                 * README:
396                 * configure.ac:
397                 * nt/README.W32:
398                 * msdos/sed2v2.inp: Bump Emacs version to 27.1.91.
400 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
402         Improve documentation of 'read-regexp' and friends
404         * doc/emacs/glossary.texi (Glossary): Add "Tag" to the Glossary.
405         * doc/emacs/maintaining.texi (Xref): Mention that identifiers are
406         also known as "tags".
408         * lisp/replace.el (read-regexp, read-regexp-suggestions): Improve
409         wording of doc strings.  (Bug#46088)  (Bug#46089)
411         (cherry picked from commit 49eb03d6c8a181fd46adbbcf1f0a976d0a9efa87)
413 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
415         read-regexp-suggestions doc string improvement
417         * lisp/replace.el (read-regexp-suggestions): Add a link to the
418         manual to explain what a tag is (bug#46089).
420         (cherry picked from commit f9cc2d48246fe8370e9286866e6115ba8e2acf44)
422 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
424         Try to improve the read-regexp doc string
426         * lisp/replace.el (read-regexp): Attempt to clarify the semantics
427         (bug#46088).
429         (cherry picked from commit eded2a7ad7d456a417354a2797c18e9a578414d7)
431 2021-02-03  Dmitry Gutov  <dgutov@yandex.ru>
433         Erase the buffer only after fetching the new contents
435         * lisp/progmodes/xref.el (xref-revert-buffer):
436         Erase the buffer only after fetching the new contents (bug#46042).
438         (cherry picked from commit 5821dee0949b2913c07970d6e4b8bb8e8a35f036)
440 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
442         Fix last change
444         * doc/lispref/text.texi (Undo): Add a cross-reference to the
445         description of 'undo-amalgamate-change-group'.
446         (Atomic Changes): Expand and improve the description of
447         'undo-amalgamate-change-group'.  (Bug#42303)
449 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
451         Mention undo-amalgamate-change-group in the lispref manual
453         * doc/lispref/text.texi (Atomic Changes): Mention
454         undo-amalgamate-change-group (bug#42303).
456         (cherry picked from commit ba25a82855a2c03c25fec83f3056c166b692e94f)
458 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
460         Avoid sending systemd shutdown notifications if non-daemon
462         * src/emacs.c (Fkill_emacs): Send the shutdown notification only
463         in daemon mode.  (Bug#46022)
465 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
467         * src/cmds.c (Fforward_line): Doc fix.  (Bug#46027)
469 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
471         Improve documentation of sendmail.el defcustom's
473         * lisp/mail/sendmail.el (mail-archive-file-name)
474         (mail-default-reply-to, mail-self-blind, mail-default-headers):
475         Say in the doc string that 'message-default-mail-headers' shall be
476         customized when using 'message-mode' for email composition.
477         (Bug#46029)
479 2021-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
481         Don't let `maybe_quit` prevent resetting `consing_until_gc` (bug#43389)
483         * src/alloc.c (garbage_collect): Postpone `unblock_input` a bit.
484         * src/window.c (window_parameter): Avoid `maybe_quit`.
486         cherry picked from commit 420661af07448857f0a17e15dc27bceeb6aff541
488 2021-02-03  Juri Linkov  <juri@linkov.net>
490         Remove one of recently added warnings abound binding keys in Isearch maps
492         * lisp/isearch.el (minibuffer-local-isearch-map): Remove comments
493         which warn against wantonly rebinding unbound keys from
494         irrelevant keymap.
495         https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00259.html
497 2021-02-03  Martin Rudalics  <rudalics@gmx.at>
499         Fix assertion failure in window_box_height (Bug#45737)
501         * lisp/window.el (window-sizable): Don't try to grow a mini window
502         when the root window's minimum height is already larger than its
503         actual height (Bug#45737).
505 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
507         Fix cl-concatenate inlining
509         * lisp/emacs-lisp/seq.el (seq-concatenate): Auto-load it.  Do not
510         merge to master.  (Bug#45610)
512 2021-02-03  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
514         Fix infloop in 'pixel-scroll-mode'
516         * lisp/pixel-scroll.el (pixel-scroll-up, pixel-scroll-down): Avoid
517         inflooping when 'vertical-motion' doesn't move.  (Bug#45628)
519 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
521         Fix inhibiting the default.el loading in user init file
523         * lisp/startup.el (startup--load-user-init-file): Test the value
524         of 'inhibit-default-init', not just the LOAD-DEFAULTS argument,
525         because loading the user's init file could have set the value of
526         the former.
527         (command-line): Call 'startup--load-user-init-file' with last arg
528         t: there's no longer any need to test the value of
529         'inhibit-default-init' here, as it will be tested by the called
530         function.  (Bug#45708)
532 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
534         Fix problem with 8bit content-transfer-encoding in nndoc mbox files
536         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): If we're
537         reading an mbox file, it may contain messages that use
538         content-transfer-encoding 8bit, which means that we have to treat
539         the file as a sequence of byte (bug#42951).  This avoids
540         double-decoding -- once by Emacs when inserting the mbox into the
541         buffer, and once by Gnus when displaying the articles.
543 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
545         * doc/misc/tramp.texi (Quick Start Guide): Fix thinko.
547 2021-02-03  Robert Pluim  <rpluim@gmail.com>
549         Tell people how to remove fontconfig customizations
551 2021-02-03  Simen Heggestøyl  <simenheg@gmail.com>
553         Remove extraneous closing paren
555         * doc/lispref/modes.texi (SMIE Indentation Example): Remove extraneous
556         closing paren.
558 2021-02-03  Mauro Aranda  <maurooaranda@gmail.com>
560         Update two user option names in the Widget manual
562         * doc/misc/widget.texi (Basic Types): The user options
563         widget-glyph-directory and widget-glyph-enable were renamed long ago
564         to widget-image-directory and widget-image-enable, but the manual
565         kept calling them by their old names.  Update the names.
567 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
569         Mention -lcurses problem on AIX
571         * etc/PROBLEMS: Describe problem with Emacs 27 and -lcurses.
572         Do not merge to master.
574 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
576         Revert previous patch which was installed into wrong branch.
578 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
580         Fix broken build on AIX 7.2
582         Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD
583         temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined
584         symbol: BC’.  This is because -lcurses does not define BC etc.
585         * configure.ac: When building terminfo.o, define
586         TERMINFO_DEFINES_BC if the library defines BC etc.
587         * src/terminfo.c (UP, BC, PC): Define depending on
588         TERMINFO_DEFINES_BC, not on TERMINFO.
590 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
592         Fix last change
594         * doc/lispref/strings.texi (Creating Strings): Improve wording of
595         last change.  (Bug#45516)
597 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
599         Add a reference between the Strings node and Search/Replace
601         * doc/lispref/strings.texi (Creating Strings): Mention
602         string-replace/replace-regexp-in-string (bug#45516).
604         (cherry picked from commit b9359d4183a1a6923122d3aa12b922ab89693354)
606 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
608         Add warning comments abound binding keys in Isearch maps
610         * lisp/isearch.el (isearch-mode-map)
611         (minibuffer-local-isearch-map): Add comments which warn against
612         wantonly rebinding unbound keys.
614 2021-02-03  Alan Third  <alan@idiocy.org>
616         Fix crash in ns_mouse_position (bug#45541)
618         * src/nsterm.m (ns_mouse_position): Explicitly initialize f to NULL.
620 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
622         Fix copyright years by hand
624         These are dates that admin/update-copyright did not update.
626 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
628         Update copyright year to 2021
630         Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
632 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
634         Improve documentation of 'network-lookup-address-info'
636         * src/process.c (Fnetwork_lookup_address_info):
637         * doc/lispref/processes.texi (Misc Network): Document the error
638         message emitted by 'network-lookup-address-info' when it fails.
640 2021-02-03  Amin Bandali  <bandali@gnu.org>
642         Display messages sent using ERC's /say
644         * lisp/erc/erc.el (erc-cmd-SAY): Call `erc-display-msg' to display the
645         user's message in the buffer, just like other [non-command] messages.
647         https://lists.gnu.org/r/help-gnu-emacs/2020-12/msg00066.html
649 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
651         Fix Rmail summary display when From: header is malformed
653         * lisp/mail/rmailsum.el (rmail-header-summary): Remove newlines
654         from the "From:" value, to avoid producing corrupted summary
655         display.
657 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
659         Add more details to the "word processor" section
661         * etc/TODO (Emacs as word processor): Add more details based on
662         recent discussions.
664 2021-02-03  Philipp Stephani  <phst@google.com>
666         * src/Makefile.in (DO_CODESIGN): Fix expected architecture name.
668 2021-02-03  Itai Seggev  <is+apple@cs.hmc.edu>  (tiny change)
670         Codesign the executable on recene MacOS systems
672         * src/Makefile.in (temacs$(EXEEXT)): Codesign the executable on
673         recent (ARM) MacOS systems (bug#43878).  Without this, building
674         Emacs fails.
676 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
678         Support build of Emacs on ARM Macos machines
680         * configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit
681         ARM) (bug#43369).
683 2021-02-03  Bastien Guerry  <bzg@gnu.org>
685         Update to Org 9.4.4
687 2021-02-03  Stefan Kangas  <stefan@marxist.se>
689         * lisp/so-long.el: Decrease use of passive voice.
691         Suggested by Richard Stallman <rms@gnu.org>.
693 2021-02-03  Stefan Kangas  <stefan@marxist.se>
695         * doc/misc/efaq.texi (New in Emacs 27): Add section.
697         * doc/misc/efaq.texi (Latest version of Emacs): Bump version.
699 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
701         * lisp/face-remap.el (face-remap-set-base): Doc fix.  (Bug#45264)
703 2021-02-03  Vasilij Schneidermann  <mail@vasilij.de>
705         Correct argument order in comment
707         * etc/ETAGS.EBNF (position): Correct comment.
709 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
711         Update files for the 27.1.90 pretest
713         * README:
714         * configure.ac:
715         * nt/README.W32:
716         * msdos/sed2v2.inp: Bump Emacs version to 27.1.90.
717         * lisp/ldefs-boot.el: Update from loaddefs.el
719 2021-02-03  Eli Zaretskii  <eliz@fencepost.gnu.org>
721         * README:
722         * configure.ac:
723         * nt/README.W32:
724         * msdos/sed2v2.inp: Bump Emacs version to 27.1.90.
726 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
728         Minor fixes in authors.el and in tarball-making instructions
730         * admin/authors.el (authors): Make the error message more helpful.
731         (authors-ignored-files, authors-renamed-files-alist): Update.
733 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
735         Improve documentation of 'query-replace'
737         * doc/emacs/search.texi (Query Replace): Add 'E' to the list of
738         characters one can type at 'query-replace' prompt.  (Bug#45273)
740 2021-02-03  Bastien Guerry  <bzg@gnu.org>
742         Update to Org 9.4.3
744         Fix #45259
746 2021-02-03  Alan Third  <alan@idiocy.org>
748         Fix error with fn key in NS port (bug#44533)
750         * src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key
751         handling to before the modifiers are calculated.
753         (cherry picked from commit 7970610d48701a949ce443c94c71eac47d044197)
755 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
757         Fix point location when completing in gdb-mi.el
759         * lisp/progmodes/gdb-mi.el (def-gdb-auto-update-handler): Don't
760         force window-start position, so that redisplay doesn't move point
761         when popping completion window below the GUD one.  (Bug#45052)
763 2021-02-03  Bastien Guerry  <bzg@gnu.org>
765         Update to Org 9.4.2
767         Mostly fixing compiler warnings.
769 2021-02-03  Bastien Guerry  <bzg@gnu.org>
771         Update to Org 9.4.1
773 2021-02-03  Alan Third  <alan@idiocy.org>
775         Fix crash in ns_mouse_position (bug#44313)
777         * src/nsterm.m (ns_destroy_window): Close the window before freeing
778         the frame resources so we don't end up accessing the frame struct
779         after it's been freed.
781         (cherry picked from commit 18a7267c32a909bb26bd93d24543155aeb10e042)
783 2021-02-03  Alan Third  <alan@idiocy.org>
785         Fix crash when using XRender and restoring image from X (bug#44930)
787         * src/dispextern.h (struct image): Add original dimension elements.
788         * src/image.c (image_set_transform): Store the original dimensions.
789         (image_get_x_image): If we're using transforms use the original
790         dimensions with XGetImage.
792 2021-02-03  Tassilo Horn  <tsdh@gnu.org>
794         Bind k to image-kill-buffer in doc-view-mode-map.
796         * lisp/doc-view.el (doc-view-mode-map): Bind k to image-kill-buffer.
797         The binding k -> doc-view-kill-proc-and-buffer has been removed in
798         2015 and the function been made an obsolete function alias to
799         image-kill-buffer (bug#45157).
801 2021-02-03  Serge Tupchii  <serge.tupchii@protonmail.com>  (tiny change)
803         Fix crash (segfault) in etags on generating tags for Erlang files
805         * lib-src/etags.c: Set allocated and lastlen to zero, after
806         freeing last ptr in Erlang_functions to prevent dereferencing NULL
807         pointer (bug#45122).
810         (cherry picked from commit 2d8f0364fcd1d5dad2b82dd3a9af870b03854547)
812 2021-02-03  Stefan Kangas  <stefan@marxist.se>
814         Update publicsuffix.txt from upstream
816         * etc/publicsuffix.txt: Update from
817         https://publicsuffix.org/list/public_suffix_list.dat
818         dated 2020-11-30 21:57:25 UTC.
820 2021-02-03  Juri Linkov  <juri@linkov.net>
822         * lisp/vc/vc.el: Update args of backend API calls in the header comments
824         https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html
826 2021-02-03  Juri Linkov  <juri@linkov.net>
828         Backport Handle read-char-from-minibuffer and y-or-n-p from pre-command-hook
830         * lisp/subr.el (read-char-from-minibuffer-insert-char)
831         (read-char-from-minibuffer-insert-other, y-or-n-p-insert-y)
832         (y-or-n-p-insert-n, y-or-n-p-insert-other):
833         Check for 'minibufferp' before executing the body.
834         (read-char-from-minibuffer, y-or-n-p): Let-bind this-command
835         before calling read-from-minibuffer.  (Bug#45029)
837 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
839         Improve documentation of streams in batch mode
841         * doc/lispref/os.texi (Batch Mode):
842         * doc/lispref/streams.texi (Input Streams, Output Streams): Better
843         documentation of I/O streams in batch mode, with more
844         cross-references.
846 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
848         Support ks_c_5601-1987 encoding
850         * lisp/language/korean.el (ks_c_5601-1987): Define as an alias for
851         'korean-iso-8bit.  (It is sometimes used in email messages.)
853 2021-02-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
855         Fix Xaw widget text disappearing when built with cairo (bug#43418)
857         * lwlib/lwlib-utils.c (crxft_font_open_name): Use FcFontMatch to
858         get a pattern to pass to cairo_ft_font_face_create_for_pattern.
860 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
862         Improve documentation of 'ps-print-color-p'
864         * doc/emacs/misc.texi (PostScript Variables): Improve and clarify
865         the description of 'ps-print-color-p'.  (Bug#44962)
867 2021-02-03  Dmitry Gutov  <dgutov@yandex.ru>
869         Reset xref-show-xrefs-function temporarily
871         * lisp/dired-aux.el (dired-do-find-regexp-and-replace):
872         Make sure xref-show-xrefs-function has the necessary value (bug#44905).
874 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
876         Don't show in 'view-lossage' responses to xterm feature queries
878         * lisp/term/xterm.el (xterm--read-event-for-query): Prevent
879         recording the characters read as the xterm response to a query,
880         so as not to show them in 'view-lossage'.  (Bug#44908)
882 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
884         Adapt Tramp versions.  Do not merge
886         * doc/misc/tramp.texi (Obtaining @value{tramp})
887         (Remote shell setup, Remote processes, Archive file names):
888         * doc/misc/trampver.texi:
889         * lisp/net/tramp.el:
890         * lisp/net/trampver.el (tramp-version)
891         (customize-package-emacs-version-alist): Adapt Tramp versions.
893 2021-02-03  Akira Kyle  <akira@akirakyle.com>
895         Return the correct suffix in eww-make-unique-file-name
897         * lisp/net/eww.el (eww-make-unique-file-name): Return the correct
898         suffix (bug#44936).
900 2021-02-03  Karl Fogel  <kfogel@red-bean.com>
902         Save bookmarks by using `write-file' (bug#12507)
904         Go back to using `write-file' to save bookmarks, instead of using
905         `write-region'.  This means numbered backups of the bookmark file may
906         get made again, depending on the value of `bookmark-version-control'.
908         Thanks especially to Drew Adams and Eli Zaretskii for their
909         persistence in tracking down information relevant to this change.
911 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
913         Fix filing messages when 'rmail-output-reset-deleted-flag' is non-nil
915         * lisp/mail/rmailout.el (rmail-output): Fix off-by-one error in
916         deciding when to advance to the next message under non-nil
917         'rmail-output-reset-deleted-flag'.  (Bug#44839)
919 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
921         Make file copying in tramp-gvfs more robust
923         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
924         (tramp-test12-rename-file): Do not skip for tramp-gvfs.el.
926         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
927         Add sanity checks.
929 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
931         Revert "Fix incorrect handling of module runtime and environment pointers."
933         This reverts commit cdc632fbe6e149318147a98cccf1b7af191f2ce8.
934         Those changes are too significant and non-trivial to be
935         suitable for a release branch at this time.
937 2021-02-03  Philipp Stephani  <phst@google.com>
939         Fix incorrect handling of module runtime and environment pointers.
941         We used to store module runtime and environment pointers in the static
942         lists Vmodule_runtimes and Vmodule_environments.  However, this is
943         incorrect because these objects have to be kept per-thread.  With this
944         naive approach, interleaving module function calls in separate threads
945         leads to environments being removed in the wrong order, which in turn
946         can cause local module values to be incorrectly garbage-collected.
948         Instead, turn Vmodule_runtimes and Vmodule_environments into
949         hashtables keyed by the thread objects.  The fix is relatively
950         localized and should therefore be safe enough for the release branch.
952         Module assertions now have to walk the pointer list for the current
953         thread, which is more correct since they now only find environments
954         for the current thread.
956         Also add a unit test that exemplifies the problem.  It interleaves two
957         module calls in two threads so that the first call ends while the
958         second one is still active.  Without this change, this test triggers
959         an assertion failure.
961         * src/emacs-module.c (Fmodule_load, initialize_environment)
962         (finalize_environment, finalize_runtime_unwind): Store runtime and
963         environment pointers in per-thread lists.
964         (syms_of_module): Initialize runtimes and environments hashtables.
965         (module_assert_runtime, module_assert_env, value_to_lisp): Consider
966         only objects for the current thread.
967         (module_gc_hash_table_size, module_hash_push, module_hash_pop): New
968         generic hashtable helper functions.
969         (module_objects, module_push_pointer, module_pop_pointer): New helper
970         functions to main thread-specific lists of runtime and environment
971         pointers.
972         (mark_modules): Mark all environments in all threads.
974         * test/data/emacs-module/mod-test.c (Fmod_test_funcall): New test
975         function.
976         (emacs_module_init): Bind it.
978         * test/src/emacs-module-tests.el (emacs-module-tests--variable): New
979         helper type to guard access to state in a thread-safe way.
980         (emacs-module-tests--wait-for-variable)
981         (emacs-module-tests--change-variable): New helper functions.
982         (emacs-module-tests/interleaved-threads): New unit test.
984 2021-02-03  Alan Mackenzie  <acm@muc.de>
986         CC Mode: Fix error in cache handling.  This fixes bug #43481
988         * lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Handle correctly END
989         being before HERE by using parse-partial-sexp to get the end of the literal
990         containing HERE.
992 2021-02-03  Martin Rudalics  <rudalics@gmx.at>
994         Revert extra focus redirection in do_switch_frame (Bug#24803)
996         * src/frame.c (do_switch_frame): Do not also redirect frame
997         focus when FRAME has its minibuffer window on the selected
998         frame which was intended to fix Bug#24500.  It may cause
999         Bug#24803 and lead to a nasty state where no active cursor is
1000         shown on any frame, see
1001         https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01137.html.
1003 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1005         Minor cleanup of tramp-tests.el on MS Windows
1007         * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
1008         Do not test remote pty on MS Windows.
1010 2021-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
1012         Fix handling of defcustom :local tag
1014         For discussion, see the following emacs-devel thread:
1015         https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html
1017         * lisp/custom.el (custom-declare-variable): Delay call to
1018         make-variable-buffer-local until after user option has been
1019         initialized with a value.  Otherwise the user option may be
1020         initialized to nil.
1021         * test/lisp/custom-tests.el (custom--test-local-option)
1022         (custom--test-permanent-option): New :local user options.
1023         (custom-test-local-option): New test for defcustom :local keyword.
1025 2021-02-03  Alan Mackenzie  <acm@muc.de>
1027         CC Mode.  Fix an off by one error.  Fixes bug #41809
1029         * lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Change > to >= (twice).
1031 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1033         Fix display artifacts when 'display' properties cover newlines
1035         * src/xdisp.c (pos_visible_p): Set glyph_row of scratch iterators
1036         to NULL, to avoid producing glyphs while we figure out the layout.
1037         (Bug#44826)
1039 2021-02-03  Stefan Kangas  <stefankangas@gmail.com>
1041         Sync latest SKK-JISYO.L
1043         * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.
1045         (cherry picked from commit 6a5f9700846551a7f3795e257356dbab865116f4)
1047 2021-02-03  Stefan Kangas  <stefan@marxist.se>
1049         Update publicsuffix.txt from upstream
1051         * etc/publicsuffix.txt: Update from
1052         https://publicsuffix.org/list/public_suffix_list.dat
1053         dated 2020-10-09 08:23:34 UTC.
1055         (cherry picked from commit 5b13afab0a903ead8363482529019d4fb80ec4b4)
1057 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1059         Fix Bug#44481
1061         * lisp/net/tramp.el (tramp-system-name): New defconst.
1062         (tramp-default-host, tramp-restricted-shell-hosts-alist)
1063         (tramp-local-host-regexp):
1064         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.  (Bug#44481)
1066 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1068         Minor Edebug manual keystroke clarifications
1070         * doc/lispref/edebug.texi (Edebug Misc): Also mention the `a'
1071         binding to abort (bug#44697).  Also fix `d' function reference, and
1072         add `P' reference.
1074         (cherry picked from commit b613f25f97abf756101eaa2af90689a19c0b3350)
1076 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1078         Make ignoring modifiers on IME input optional
1080         By default, ignore modifier keys on IME input, but add
1081         a variable to get back old behavior.
1082         * src/w32fns.c (syms_of_w32fns): New variable
1083         w32-ignore-modifiers-on-IME-input.
1084         (w32_wnd_proc): Use it to ignore modifier keys when IME input is
1085         used.  (Bug#44641)
1087         * etc/NEWS: Announce the change and the new variable.
1089 2021-02-03  Masahiro Nakamura  <tsuucat@icloud.com>
1091         Ignore modifiers when processing WM_IME_CHAR messages
1093         * src/w32fns.c (w32_wnd_proc): Ignore modifiers when processing
1094         WM_IME_CHAR messages.
1096 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1098         Improve documentation of 'font-spec'
1100         * doc/lispref/display.texi (Low-Level Font):
1101         * src/font.c (Ffont_spec): Document 'font-spec' keys that are
1102         supported, but were undocumented.
1104 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1106         Further doc fixes for dotimes about RESULT
1108         * lisp/subr.el (dotimes): Be even more explicit about RESULT
1109         (bug#16206).
1111         (cherry picked from commit 5b0d8d0f288fd505ca90bd30df709a5e7ab540d6)
1113 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1115         Reformat argument commentary in etags.c
1117         * lib-src/etags.c (pfnote, consider_token, C_entries): Resurrect
1118         original format of comments to function arguments.
1120 2021-02-03  Alan Mackenzie  <acm@muc.de>
1122         Make the invocation of combine-change-calls in comment-region valid
1124         This fixes bug #44581.  The problem was that whitespace outside of the (BEG
1125         END) region was being deleted, and this made the invocation of
1126         combine-change-calls with (BEG END) invalid.
1128         * lisp/newcomment.el (comment-region-default): Amend the second argument to
1129         combine-change-calls.
1131 2021-02-03  Alan Mackenzie  <acm@muc.de>
1133         * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix wrong '-' in regexp
1135 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1137         Update the various INSTALL files
1139         * nt/INSTALL.W64:
1140         * nt/INSTALL:
1141         * INSTALL: Update the installation information, in particular the
1142         fact that HarfBuzz is now preferred as the shaping library.
1144 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1146         Don't leave lock files after 'replace-buffer-contents'
1148         * src/editfns.c (Freplace_buffer_contents): Unlock the buffer's
1149         file if no changes have been made.  (Bug#44303)
1151         (cherry picked from commit a5867ddfbd721568005175bf6c725f7834b21ea4)
1153 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1155         Fix input method translation near read-only text
1157         * lisp/international/quail.el (quail-input-method): Don't disable
1158         input method when the character after point has the read-only
1159         property.  Suggested by Evgeny Zajcev <lg.zevlg@gmail.com>
1160         (Bug#44466)
1162         * doc/emacs/mule.texi (Input Methods): Document that input methods
1163         are inhibited in read-only text.
1165 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1167         Fix display of truncated R2L lines on TTY frames
1169         * src/xdisp.c (extend_face_to_end_of_line): Use a while-loop, not
1170         a do-while loop, to avoid appending an extra glyph at the end of a
1171         line that is one character shorter than the window-width.  This is
1172         needed to fix display of reversed glyph rows that are almost as
1173         wide as the window, because append_space_for_newline already added
1174         one space glyph.
1176 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1178         Avoid crashes when a reversed glyph row starts with a composition
1180         * src/dispnew.c (build_frame_matrix_from_leaf_window): Add an
1181         assertion to prevent us from overwriting non-char glyphs with the
1182         vertical border glyph.
1183         * src/xdisp.c (extend_face_to_end_of_line): Account for one glyph
1184         possibly inserted by append_space_for_newline.  (Bug#44506)
1185         Remove a kludgey correction for an off-by-one error in column
1186         counting, which is no longer needed.
1188 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1190         Update information about refcards
1192         * admin/release-process (refcards):
1193         * admin/make-tarball.txt (refcards): Update information about
1194         generating refcards and required TeX/LaTeX packages.
1196 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1198         Avoid crashes in the daemon due to user interaction
1200         * src/minibuf.c (read_minibuf): Avoid crashes in the daemon if the
1201         init file invokes some kind of minibuffer interaction, by not
1202         updating the selected frame if it's the initial frame.
1203         (Bug#44583)
1205 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1207         Some minor changes to Tramp, do not merge with master
1209         * lisp/net/tramp.el (tramp-handle-directory-files)
1210         (tramp-handle-directory-files-and-attributes):
1211         * lisp/net/tramp-adb.el
1212         (tramp-adb-handle-directory-files-and-attributes):
1213         * lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files):
1214         * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
1215         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add _COUNT.
1216         Make the functions forward compatible.
1218         * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
1219         Increase `max-specpdl-size' temporarily.
1221         * test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
1222         (tramp-test05-expand-file-name-relative): Use it.
1224 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1226         Add more doc-view requirements
1228         * lisp/doc-view.el: Add more requirements.
1230 2021-02-03  Philipp Stephani  <phst@google.com>
1232         Fix undefined behavior when fetching glyphs from the display vector.
1234         You can trigger this rather obscure bug by enabling selective display
1235         if the second glyph in its display vector has an invalid face.  For
1236         example, evaluate
1238         (set-display-table-slot standard-display-table
1239                                 'selective-display [?A (?B . invalid)])
1241         and then enable selective display.
1243         * src/xdisp.c (next_element_from_display_vector): Check whether next
1244         glyph code is valid before accessing it.
1246 2021-02-03  Mattias Engdegård  <mattiase@acm.org>
1248         Fix pcase rx form snag with '?' and '??' (bug#44532)
1250         This is a regression from Emacs 26.
1251         Reported by Phillip Stephani.
1253         * lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly.
1254         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case.
1256         (cherry picked from commit 575b0681d926463960fc00d1e33decaa71d5c956)
1258 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1260         Update the doc-view header line
1262 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1264         Avoid breaking Arabic shaping in 'window-text-pixel-size'
1266         * src/xdisp.c (CHAR_COMPOSED_P): If the bidi_p flag is not set,
1267         pass -1 to composition_reseat_it, so that the shaping engine will
1268         figure out the directionality of the text.  This is important,
1269         e.g., when using move_it_* functions in some context that is not
1270         redisplay, such as 'window-text-pixel-size'.  (Bug#44521)
1272 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1274         doc-view.el comment clarification
1276         * lisp/doc-view.el: Make the commentary mention that it's not
1277         limited to a narrow range of file formats (bug#44504).
1279 2021-02-03  Daniel Martín  <mardani29@yahoo.es>
1281         Update erc documentation about C-c C-b
1283         * doc/misc/erc.texi (Keystroke Summary): C-c C-b runs
1284         erc-switch-to-buffer, which is implemented in terms of
1285         read-buffer (bug#44498).
1287 2021-02-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
1289         Fix 'uudecode-decode-region-internal' in multibyte buffers
1291         * lisp/mail/uudecode.el (uudecode-decode-region-internal): Fix
1292         inserting the decoded string into a multibyte buffer.  Optimize by
1293         working with characters, not strings.  (Bug#44411)
1295 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1297         Fix 'send-string-to-terminal' writing very long strings
1299         * src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes
1300         by blocking SIGIO while 'fwrite' runs.  (Bug#44320)
1302 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1304         * lisp/subr.el (read-char-from-minibuffer): Doc fix.  (Bug#44451)
1306 2021-02-03  Earl Hyatt  <ej32u@protonmail.com>
1308         Fix documentation of 'windmove-swap-states-default-keybindings'
1310         * doc/emacs/windows.texi (Window Convenience): Fix description of
1311         'windmove-swap-states-default-keybindings' and related index
1312         entry.  (Bug#44441)
1314 2021-02-03  Martin Rudalics  <rudalics@gmx.at>
1316         Split windows evenly when 'min-margins' parameter was set (Bug#44483)
1318         * lisp/window.el (split-window): Make new window inherit any
1319         'min-margins' parameter from WINDOW so that horizontal splits
1320         reliably produce windows of same width (Bug#44483).
1322 2021-02-03  Pip Cet  <pipcet@gmail.com>
1324         Handle Cairo errors in ftcrfont_open
1326         * src/ftcrfont.c (ftcrfont_open): Handle Cairo errors (bug#41627).
1328         (cherry picked from commit 954a4decfcc8e41084789516773b22d0adc11d91)
1330 2021-02-03  Stefan Kangas  <stefan@marxist.se>
1332         Backport: Fix exiting the finder-commentary buffer
1334         Do not merge to master.
1336         * lisp/finder.el (finder-exit): Fix exiting the finder-commentary
1337         buffer.  (Bug#44384)
1338         (finder-buffer): New defconst.
1339         (finder-list-keywords): Use above new defconst.
1341 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1343         * src/w32fns.c (Fw32_register_hot_key): Doc fix.  (Bug#44456)
1345 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1347         Prevent redisplay from moving point behind user's back
1349         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
1350         Bind inhibit-quit to a non-nil value around calls to
1351         fast_looking_at, to prevent breaking out of redisplay_window,
1352         which temporarily moves point in buffers shown in non-selected
1353         windows.  (Bug#44448)
1355 2021-02-03  Mauro Aranda  <maurooaranda@gmail.com>
1357         Document that the :match function for a widget takes an external value
1359         * doc/misc/widget.texi (Basic Types): Document what an external value
1360         is.  Document that a :match function expects the value to be in the
1361         external format.  (Bug#8717)
1363 2021-02-03  Stephen Berman  <Stephen.Berman@gmx.net>
1365         Don't render XML declaration of an HTML document (bug#44348)
1367         * lisp/net/eww.el (eww--preprocess-html): Prevent converting the
1368         left angle bracket in the sequence "<?" to an HTML entity.
1370 2021-02-03  Yasuhiro KIMURA  <yasu@utahime.org>  (tiny change)
1372         Recover the contents of the schemas.xml file
1374         * etc/schema/schemas.xml: Recover the file, which was apparently
1375         (mostly) removed by mistake by commit 165f738382 (bug#42851).
1377 2021-02-03  Stefan Kangas  <stefan@marxist.se>
1379         Improve indexing of check-declare
1381         * doc/lispref/functions.texi (Declaring Functions): Improve indexing.
1383 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1385         * doc/lispref/commands.texi (Key Sequence Input): Fix indexing.
1387         (cherry picked from commit 41c4f337c8f798d4700dcd13b73ad4ccdb3257eb)
1389 2021-02-03  Jared Finder  <jared@finder.org>
1391         Updating docs with all special window prefix keys.
1393         * doc/lispref/commands.texi (Key Sequence Input): Add documentation for
1394         missing special window areas.  Explicitly call out window or frame.
1396         (cherry picked from commit a105db13e11fd15cc72804bf33672122d1c3f2e1)
1398 2021-02-03  Glenn Morris  <rgm@gnu.org>
1400         Improve reproducibility of generated -pkg.el files
1402         * lisp/emacs-lisp/package.el (package-generate-description-file):
1403         Don't include the full name of the source file in the header,
1404         since that varies non-reproducibly according to the build directory.
1405         https://bugs.debian.org/972861
1406         Note that elpa.gnu.org's admin/archive-contents.el does this by hand
1407         and already only includes the nondirectory part.
1409 2021-02-03  Noah Friedman  <friedman@splode.com>
1411         Make sure pixel sizes are zero when setting window size for ptys.
1413         * sysdep.c (set_window_size): Initialize data to zero to avoid
1414         passing any garbage from the stack to ioctl.
1416 2021-02-03  Ken Brown  <kbrown@cornell.edu>
1418         Fix failure of 'emacs --daemon' on Cygwin
1420         * src/emacs.c (DAEMON_MUST_EXEC): Define unconditionally on
1421         Cygwin, not just if HAVE_NTGUI is defined.  This fixes the failure
1422         of 'emacs --daemon' to start on the non-w32 Cygwin builds.
1423         (Bug#44285)
1425 2021-02-03  Alan Mackenzie  <acm@muc.de>
1427         CC Mode: Only recognize foo (*bar) as a function pointer when followed by (
1429         * lisp/progmodes/cc-engine.el (c-forward-over-decl-or-cast-1): (after CASE 2)
1430         test variables got-suffix-after-parens and at-decl-end before invoking
1431         c-fdoc-shift-type-backward.
1433 2021-02-03  Clemens Radermacher  <clemens.radermacher@posteo.de>
1435         Fix NEWS entry for fix of Bug#44080
1437 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1439         * src/buffer.c (syms_of_buffer) <fill-column>: Improve doc string.
1441 2021-02-03  Clemens Radermacher  <clemens.radermacher@posteo.de>
1443         Don't skip empty lines when fitting mini frame to buffer (Bug#44080)
1445         * lisp/window.el (fit-mini-frame-to-buffer,
1446         window--resize-mini-frame, fit-frame-to-buffer,
1447         fit-frame-to-buffer-1): By default, fit a mini frame without skipping its
1448         buffer's leading or trailing empty lines.
1449         * src/frame.c (resize-mini-frames): Update doc-string.
1450         * lisp/cus-start.el (resize-mini-frames): Update for customize.
1451         * doc/lispref/minibuf.texi (resize-mini-frames): Update description.
1453 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1455         Improve documentation of display-fill-column-indicator
1457         * lisp/display-fill-column-indicator.el
1458         (display-fill-column-indicator-mode): Mention the globalized
1459         version in the doc string.
1461         * doc/emacs/display.texi (Displaying Boundaries): Improve and
1462         clarify the documentation of display-fill-column-indicator.
1463         Suggest using the minor mode as the primary means for turning the
1464         feature on.
1466         * src/xdisp.c (syms_of_xdisp) <display-fill-column-indicator>
1467         <display-fill-column-indicator-character>: Doc fix.  (Bug#44226)
1469 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1471         * INSTALL: Mention efaq.texi for installation of intlfonts.
1473 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
1474             Qiantan Hong  <qhong@mit.edu>
1476         Use WebKit sandboxing
1478         * src/xwidget.c (Fmake_xwidget): Enable sandboxing if WebKit 2.26
1479         or later.  Do this early, as required for sandboxing (Bug#43071).
1481 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1483         Fix tramp-sh-handle-make-process; don't merge with master
1485         * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Accept nil
1486         COMMAND.  (Bug#44151)
1488         * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process):
1489         Extend test.
1491 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1493         Fix an error in tramp-sh-handle-make-process.  Dont' merge with master
1495         * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't use heredoc
1496         script whent the argument contains a string.
1498 2021-02-03  Stefan Kangas  <stefan@marxist.se>
1500         Recommend lexical-binding in Coding Conventions
1502         * doc/lispref/tips.texi (Coding Conventions, Library Headers):
1503         Recommend using lexical-binding.
1505 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1507         Avoid rare crashes while producing line numbers
1509         * src/xdisp.c (maybe_produce_line_number): Prevent freeing of
1510         realized faces for as long as we are using lnum_face_id and
1511         current_lnum_face_id for producing glyphs.  (Bug#44111)
1513 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1515         Improve documentation of 'Info-hide-note-references' in info.texi
1517         * doc/misc/info.texi (Help-Xref): Improve the wording.
1518         (Emacs Info Variables): Update the documentation of
1519         'Info-hide-note-references'.  (Bug#44043)
1521 2021-02-03  Stefan Kangas  <stefan@marxist.se>
1523         * admin/release-process: Add note to update files from upstream.
1525         (cherry picked from commit 86dd9d12aa5a273da2efd4ce8c6e35ae343f1494)
1527 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1529         * lisp/info.el (Info-hide-note-references): Doc fix.  (Bug#44043)
1531 2021-02-03  Alan Mackenzie  <acm@muc.de>
1533         Make lisp/progmodes/js.el dependent on CC Mode in the Makefile.
1535         This will prevent version mismatches between compile time and runtime
1536         versions.  This fixes bug #43037.
1538         * lisp/Makefile.in: Make js.el dependent on cc-{defs,engine,mode}.elc.
1540 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1542         Yet another fix for 'set-minibuffer-message'
1544         * lisp/minibuffer.el (set-minibuffer-message): Handle the case of
1545         separate minibuffer-only frame.  Suggested by Gregory Heytings
1546         <ghe@sdf.org>.
1548 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1550         Fix posn-at-x-y in builds --without-x
1552         * src/keyboard.c (make_lispy_position): Don't exclude the
1553         window_or_frame = frame case from TTY-only builds.  Reported by
1554         Jared Finder <jared@finder.org>.
1556         * doc/lispref/commands.texi (Click Events): Document the format of
1557         POSITION in click events on the frame's internal border.
1559 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1561         Clarify the seq-reduce documentation
1563         * doc/lispref/sequences.texi (Sequence Functions): Ditto.
1565         * lisp/emacs-lisp/seq.el (seq-reduce): Clarify the order of the
1566         arguments (bug#43995).
1568 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1570         Make tramp-completion-reread-directory-timeout obsolete (Bug#43932)
1572         * doc/misc/tramp.texi (File name completion, Frequently Asked Questions):
1573         Remove `tramp-completion-reread-directory-timeout'.  (Bug#43932)
1575         * etc/NEWS: Mention tramp-completion-reread-directory-timeout as obsolete.
1577         * lisp/net/tramp.el (tramp-completion-reread-directory-timeout):
1578         Make it obsolete.
1580 2021-02-03  Gregory Heytings  <ghe@sdf.org>  (tiny change)
1582         Fix 'message' when there's active minibuffer on another frame
1584         * lisp/minibuffer.el (set-minibuffer-message): Don't reuse the
1585         active minibuffer for displaying messages unless the active
1586         minibuffer is on the same frame as the selected window.
1588 2021-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
1590         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweak
1592         Try and clarify the meaning of `init-value`.
1594         (cherry picked from commit 46c0f28c0e4e212687e90ec0ecb239d994105a19)
1596 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1598         A better fix for bug#43886
1600         * src/xfaces.c (load_color2, Fcolor_distance): Revert last change.
1601         * src/term.c (clear_tty_hooks): Don't clear defined_color_hook.
1603 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1605         Avoid crashes when a theme is loaded with one frame suspended
1607         * src/xfaces.c (load_color2, Fcolor_distance): Don't try to call
1608         the frame's defined_color_hook if the frame is suspended.
1609         (Bug#43886)
1611 2021-02-03  Pankaj Jangid  <pankaj.jangid@gmail.com>  (tiny change)
1613         Removed an incorrectly placed extra word in the semantic docs
1615         * doc/misc/semantic.texi (Parser code): Copy edit (bug#43861).
1617 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1619         Fix current-line hscrolling when overlays change
1621         * src/xdisp.c (redisplay_internal): Disable "optimization 1" when
1622         auto-hscrolling current line and we're redisplaying the selected
1623         window.  (Bug#43835)
1625 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1627         Extend tests for shell-command-dont-erase-buffer
1629         * test/lisp/simple-tests.el
1630         (simple-tests-shell-command-dont-erase-buffer): Extend test.
1632         * test/lisp/net/tramp-tests.el
1633         (tramp-test32-shell-command-dont-erase-buffer): Adapt test.  Tag
1634         it :unstable.
1636 2021-02-03  Hong Xu  <hong@hong.me>
1638         Clarify what ``chrooted environment means'' for TRAMP
1640         * doc/misc/tramp.texi (Frequently Asked Questions): Clarify what
1641         ``chrooted environment means'' for TRAMP (bug#43839).
1643 2021-02-03  Daniel Martín  <mardani29@yahoo.es>
1645         Add missing full stop in MS-DOS processes documentation
1647         * doc/emacs/msdos-xtra.texi (MS-DOS Processes): Minor copy edig
1648         (bug#43820).
1650 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1652         Fix merging of region face for non-ASCII characters
1654         * src/xdisp.c (extend_face_to_end_of_line): Restore the correct
1655         original face used by the iterator on this line, not the ASCII
1656         face.  (Bug#43363)
1658 2021-02-03  Alan Third  <alan@idiocy.org>
1659             Daniel Martín  <mardani29@yahoo.es>
1661         Make drag and drop on NS open all URLs (bug#43470)
1663         * lisp/term/ns-win.el (ns-drag-n-drop): Merge generic and copy
1664         actions.
1666 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1668         Fix electric-buffer-list buffer selection
1670         * lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is
1671         restored, which isn't always the case if
1672         global-display-line-numbers-mode (bug#43755).  This enables
1673         selecting buffers again.
1675 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1677         * doc/misc/flymake.texi (Using Flymake): Fix a typo.  (Bug#43758)
1679 2021-02-03  Robert Pluim  <rpluim@gmail.com>
1681         Don't error if no GPG signing key configured
1683         * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Partially revert
1684         "Make mml-secure-epg-sign bug out if we can't find an identity".
1685         It causes signing to fail for people who have not set up
1686         mml-secure-{smime,openpgp}-sign-with-sender, which is a regression
1687         from Emacs-26 (Bug#40118).  In such a situation gpg will use its
1688         default key.
1690         Do not merge to master. On master Emacs will query the user.
1692 2021-02-03  Michael R. Mauger  <michael@mauger.com>
1694         2020-03-29  Michael R. Mauger  <michael@mauger.com>
1696                * lisp/progmodes/sql.el (sql-add-product): Re-correct argument
1697                spec.  Previous change was due to my mistake; I have
1698                resolved back to the prior behavior (Bug#39960).
1699                * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added
1700                test to insure I don't make the same mistake again.
1702 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1704         Make aliases introduced in previous patch obsolete
1706         * lisp/emacs-lisp/debug.el (debugger-toggle-locals):
1707         (debug-help-follow): Make reinstated aliases obsolete.
1709 2021-02-03  Gemini Lasswell  <gazally@runbox.com>
1711         Restore some public debugging functions removed in Emacs 27
1713         * lisp/emacs-lisp/backtrace.el (backtrace--to-string): New function.
1714         (backtrace-to-string): Use it.  Fix whitespace (bug#40728).
1715         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function.
1716         Mark it as obsolete.
1717         (debugger-toggle-locals, debug-help-follow): New aliases.
1719 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1721         Clarification in Tramp manual
1723         * doc/misc/tramp.texi: Harmonize "Git" spelling.
1724         (Frequently Asked Questions): Describe Emacs version mismatch.
1726 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1728         Check Emacs version used for Tramp compilation
1730         * lisp/net/tramp-compat.el (tramp-compat-emacs-compiled-version):
1731         New defconst.  Raise a warning, when it is not equal to the Emacs
1732         version.
1734 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1736         Don't signal an error when saving files on WdebDAV volumes
1738         * src/w32.c (acl_get_file): If get_file_security raises the
1739         ERROR_ACCESS_DENIED error, treat that like unsupported ACLs.
1741 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1743         * lisp/hi-lock.el (hi-lock-find-patterns): Autoload it.  (Bug#43670)
1745 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1747         Minor copyedits in the Emacs user manual
1749         * doc/emacs/emacs.texi (Top): Remove "real-time" from the Emacs
1750         description; add "advanced", to be consistent with what we say in
1751         the Introduction section.  (Bug#43633)
1753 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1755         Followup to a recent change in menu-bar.el
1757         * lisp/fileloop.el (fileloop--operate-function): Mention in a
1758         comment that menu-bar.el relies on the default value.
1760 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1762         Enable "Continue Tags Search" menu item only when it can be used
1764         * lisp/menu-bar.el (menu-bar-search-menu) <tags-continue>: Enable
1765         only when there was a previous tags search.  (Bug#43569)
1766         (menu-bar-replace-menu) <tags-repl-continue>: Enable only when
1767         there was a previous tags-replace.
1769 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1771         Fix soap-client URL
1773         * lisp/net/soap-client.el (soap-create-envelope):
1774         Fix URL that I broke in 2019-09-23T06:53:30Z!eggert@cs.ucla.edu.
1775         Problem reported by Thomas Fitzsimmons.
1777 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1779         Fix out-of-source ‘make check’ emacs-module-tests
1781         Problem reported by Koki Fukuda in:
1782         https://lists.gnu.org/r/emacs-devel/2020-07/msg00169.html
1783         * test/Makefile.in (MODULE_CFLAGS):
1784         Include from the same directories included from in ../src.
1785         * test/src/emacs-module-tests.el (module/describe-function-1):
1786         Strip path to source directory.
1788         (cherry picked from commit c86f3fe0d023cdd25edbbce91c5b32654f2b734e)
1790 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1792         Fix support for Zip64 zip files
1794         * lisp/arc-mode.el (archive-zip-summarize): Fix detection of Zip64
1795         central directory.  Support 64-bit file size field used by Zip64.
1796         (Bug#43597)
1798 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1800         * lisp/hi-lock.el (hi-lock-auto-select-face): Doc fix.  (Bug#43600)
1802 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1804         Avoid infinite recursion with 'relative' line numbers display
1806         * src/xdisp.c (display_count_lines_visually): Bind
1807         'display-line-numbers' to 'relative' around 'start_display' as
1808         well, since that can invoke 'move_it_to' internally, thus
1809         causing infinite recursion.  (Bug#43589)
1811 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1813         Minor improvement in the ELisp manual's Introduction
1815         * doc/lispref/intro.texi (Printing Notation): Clarify what
1816         "execute code" means in this context.  (Bug#43463)
1818 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1820         Mention in PROBLEMS the problems with fonts and Uniscribe
1822         * etc/PROBLEMS: Mention font-related problems with Uniscribe on
1823         MS-Windows.  (Bug#39340)
1825 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1827         Minor copyedits in 'line-height' documentation
1829         * doc/lispref/display.texi (Line Height): Describe the possible
1830         values of the 'line-height' property in a more consistent format.
1832 2021-02-03  Gregor Zattler  <telegraph@gmx.net>
1834         * doc/misc/eww.texi: Document the `w' key's double function
1836         * doc/misc/eww.texi (Basics): Describe what the `w' command does
1837         in eww (bug#43517).
1839 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1841         Fix a rare segfault in syntax.c
1843         * src/syntax.c (Fforward_comment): Prevent the loop for COUNT < 0
1844         from going outside the valid range of character/byte positions.
1845         (Bug#43499)
1847         * doc/lispref/syntax.texi (Syntax Class Table): Mention the
1848         "comment-fence" and "string-fence" as alternative names of 2
1849         syntax classes.
1851 2021-02-03  Alan Mackenzie  <acm@muc.de>
1853         Add doc to syntax-propertize-function saying it must do a 100% job
1855         and cannot be combined with other ways of applying syntax-table text
1856         properties.
1858         * lisp/emacs-lisp/syntax.el (syntax-propertize-function): Amend doc string.
1860         * doc/lispref/syntax.texi (Syntax Properties): Amend the description of the
1861         variable.
1863 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1865         Minor copyedits of doc of 'with-silent-modifications'
1867         * doc/lispref/text.texi (Changing Properties):
1868         * doc/lispref/buffers.texi (Buffer Modification): Improve
1869         documentation and indexing of 'with-silent-modifications'.
1871 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1873         Improve documentation of 'max-mini-window-height'
1875         * src/xdisp.c (syms_of_xdisp):
1876         * doc/lispref/minibuf.texi (Minibuffer Windows): More accurate
1877         wording in the documentation of 'max-mini-window-height', to
1878         clarify the meaning of an integer value.
1880 2021-02-03  Daniel Martín  <mardani29@yahoo.es>
1882         Use modern constant names for the NS pasteboard
1884         Use the same pasteboard constant names defined in
1885         ns_drag_types. (Bug#43470).
1887         * src/nsterm.m: Rename NSURLPboardType to NSPasteboardTypeURL,
1888         NSStringPboardType to NSPasteboardTypeString, and
1889         NSTabularTextPboardType to NSPasteboardTypeTabularText
1891 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1893         Fix doc string of 'toggle-menu-bar-mode-from-frame'
1895         * lisp/menu-bar.el (toggle-menu-bar-mode-from-frame): Improve the
1896         wording of the doc string.  (Bug#43383)
1898 2021-02-03  Glenn Morris  <rgm@gnu.org>
1900         Make vc-bzr tests work with brz 3.1 (bug#43314)
1902         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
1903         (vc-bzr-test-bug9781, vc-bzr-test-faulty-bzr-autoloads):
1904         Make them work with brz 3.1.
1906 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1908         diff-no-select doc string clarification
1910         * lisp/vc/diff.el (diff-no-select): Update doc string from the trunk,
1911         don't merge.
1913 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1915         Fix compilation on TERMINFO platforms with GCC 10
1917         * src/terminfo.c [TERMINFO]: Don't redefine UP, BC, and CP, as
1918         that could cause linking errors due to multiple definitions.
1919         (Bug#43195)
1921 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
1923         Fix the font-lock-debug-fontify NEWS entry
1925         * etc/NEWS: Fix the name of `font-lock-debug-fontify' (bug#43319).
1927 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
1929         Avoid crashes when trying to load bad GIF files
1931         * src/image.c (gif_load): Handle the case when GifErrorString
1932         returns NULL.  (Bug#43281)
1934 2021-02-03  Alan Mackenzie  <acm@muc.de>
1936         C++ Mode: handle comma separated brace initializers.
1938         This includes both indentation and fontification.
1940         * lisp/progmodes/cc-engine.el (c-do-declarators): Handle brace initializers
1941         without = correctly.
1942         (c-looking-at-or-maybe-in-bracelist): Use c-do-declarators with a simple
1943         inline function to check that after-type-id-pos points to the start of a
1944         declarator.
1946         * lisp/progmodes/cc-langs.el (c-recognize-bare-brace-inits): New lang
1947         const/variable.
1949 2021-02-03  Stefan Monnier  <monnier@iro.umontreal.ca>
1951         * lisp/display-fill-column-indicator.el: Fix bug#41145
1953         (global-display-fill-column-indicator-mode): Specify the implicit
1954         defustom's group explicitly.
1956         * lisp/cus-dep.el (custom-make-dependencies): Also look at
1957         define(-globalized)-minor-mode since it can also define custom vars.
1959 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1961         Backport recent change in tramp-tests.el from master, don't merge
1963         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
1964         No need to expect different results in Emacs 28 and later.
1966 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
1968         Fix bug in dbus.el; do not merge with master
1970         * lisp/net/dbus.el (dbus-register-property)
1971         (dbus-property-handler): Handle properties of the same interface
1972         at different object paths properly.  (Bug#43146)
1974 2021-02-03  Stefan Kangas  <stefankangas@gmail.com>
1976         Fix help message with help-window-select
1978         * lisp/help.el (help-print-return-message):
1979         (help-window-display-message): Recommend 'scroll-up-command' instead
1980         of 'scroll-up' when 'help-window-select' is non-nil.  (Bug#43122)
1982 2021-02-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
1984         Remove obsolete "Wide Characters" section of Gnus manual
1986         * doc/misc/gnus.texi: This hasn't been valid since 2016.
1988 2021-02-03  Stefan Kangas  <stefankangas@gmail.com>
1990         Fix typo in Introduction to Emacs Lisp
1992         * doc/lispintro/emacs-lisp-intro.texi (type-of-animal in detail):
1993         Remove extraneous parenthesis.
1995 2021-02-03  Stefan Kangas  <stefankangas@gmail.com>
1997         Update Elisp Manual reference to which-function-mode
1999         * doc/lispref/modes.texi (Mode Line Top, Mode Line Variables)
2000         Don't refer to obsolete alias for 'which-function-mode'.
2001         (Bug#13716)
2003 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
2005         Some precisions to bug handling
2007         * admin/admin.el (reminder-for-release-blocking-bugs): Add date to subject.
2009         * admin/notes/bug-triage:
2010         * admin/notes/bugtracker: Minor precisions.
2012 2021-02-03  Alan Mackenzie  <acm@muc.de>
2014         CC Mode: Fix processing for when c-multiline-string-start-char is a character
2016         * lisp/progmodes/cc-mode.el (c-pps-to-string-delim)
2017         (c-multiline-string-check-final-quote): Replace c-clear-char-property by
2018         c-clear-syn-tab.
2019         (c-multiline-string-check-final-quote): Replace c-put-char-property by
2020         c-put-syn-tab.
2022 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
2024         Fix description of %-constructs in 'mode-line-format'
2026         * doc/lispref/modes.texi (%-Constructs): Document %@ and remove
2027         %M, which is no longer supported.   (Bug#43092)
2029 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
2031         Adapt tramp-tests.el, don't merge with master
2033         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name)
2034         (tramp-test05-expand-file-name-relative): Adapt tests.
2035         (tramp--test-emacs28-p): New defun.
2037 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
2039         Adapt reminder-for-release-blocking-bugs
2041         * admin/admin.el (reminder-for-release-blocking-bugs):
2042         Require `debbugs-gnu' also in `interactive' form.
2044         * admin/release-process: Rename RELEASE-CRITICAL to RELEASE-BLOCKING.
2045         Adapt Emacs version.  Describe `reminder-for-release-blocking-bugs'.
2047 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
2049         Fix replace-region-contents performance bug
2051         Backport from master.
2052         * src/editfns.c (rbc_quitcounter): Remove; the quitcounter
2053         is now part of the context.
2054         (EXTRA_CONTEXT_FIELDS): Remove unused member early_abort_tests.
2055         Add jmp, quitcounter.
2056         (Freplace_buffer_contents): Use setjmp/longjmp to recover from
2057         a compareseq that runs too long.  Omit unnecessary rarely_quit
2058         call.
2059         (buffer_chars_equal): Occasionally check for early abort and
2060         longjmp out if so (Bug#43016).
2062 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
2064         * admin/admin.el (reminder-for-release-blocking-bugs): New command.
2066 2021-02-03  Michael Albinus  <michael.albinus@gmx.de>
2068         Sync with Tramp 2.4.5-pre
2070         * doc/misc/tramp.texi: Adapt Tramp and Emacs version numbers.
2071         (Remote processes): Describe `process-file-return-signal-string'
2072         and $INSIDE_EMACS.
2073         (Frequently Asked Questions): Mention Emacs 28.
2074         Describe `tramp-smb-options'.
2076         * doc/misc/trampver.texi: Change version to "2.4.5-pre".
2078         * lisp/net/tramp-adb.el (process-file-return-signal-string): Declare.
2079         (tramp-adb-handle-write-region): Flush the cache after the file
2080         has been written.
2081         (tramp-adb-handle-set-file-modes, tramp-adb-handle-set-file-times):
2082         Add optional _FLAG.
2083         (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file)
2084         (tramp-adb-handle-process-file): Use `tramp-file-local-name'.
2085         (tramp-adb-get-signal-strings): New defun.
2086         (tramp-adb-handle-process-file): Use it.
2087         (tramp-adb-handle-make-process): Implement `stderr'.  Use
2088         `insert-file-contents-literally'.
2089         (tramp-adb-send-command-and-check): Add optional argument
2090         EXIT-STATUS.
2091         (tramp-adb-handle-process-file): Use it.
2093         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
2094         Increase `max-specpdl-size' temporarily.
2096         * lisp/net/tramp-cache.el (top):
2097         Use `insert-file-contents-literally'.
2099         * lisp/net/tramp-cmds.el (tramp-rename-files):
2100         Use `tramp-file-local-name'.
2102         * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Prevent crash for
2103         older Emacsen.
2104         (top): Adapt `tramp-gvfs-unload-hook'.
2105         (tramp-gvfs-handle-file-system-info): Fix error.
2106         (tramp-gvfs-handle-set-file-modes, tramp-gvfs-handle-set-file-times):
2107         Add optional _FLAG.
2109         * lisp/net/tramp-rclone.el (tramp-rclone-flush-directory-cache):
2110         Fix a problem with older Emacsen.
2112         * lisp/net/tramp-sh.el (process-file-return-signal-string): Declare.
2113         (tramp-sh-extra-args): Add "-noediting" as bash arg.
2114         (tramp-hexdump-encode, tramp-hexdump-awk-encode)
2115         (tramp-od-encode, tramp-od-awk-encode): New defconst.
2116         (tramp-awk-encode, tramp-awk-decode): Adapt.
2117         (tramp-awk-coding-test): Remove.
2118         (tramp-remote-coding-commands): Add hexdump/awk encoding.  (Bug#35639)
2119         (tramp-find-inline-encoding): Adapt handling of awk, hexdump and od.
2120         (tramp-get-remote-busybox, tramp-get-remote-awk)
2121         (tramp-get-remote-hexdump, tramp-get-remote-od): New defuns.
2122         (tramp-sh-handle-make-symbolic-link):
2123         (tramp-do-copy-or-rename-file-directly)
2124         (tramp-sh-handle-process-file, tramp-set-remote-path)
2125         (tramp-find-inline-encoding, tramp-get-remote-touch):
2126         Use `tramp-file-local-name'.
2127         (tramp-do-file-attributes-with-stat): Simplify shell command.
2128         Suppress errors (interpret as nil).
2129         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times):
2130         Add optional _FLAG.
2131         (tramp-sh-handle-make-process): Do not visit with
2132         `insert-file-contents'.  Delete tmp file only if exists.  Support
2133         `stderr' as file name.  Delete temporary stderr file.  Flush
2134         connection properties in time.
2135         (tramp-sh-get-signal-strings): New defun.
2136         (tramp-sh-handle-process-file): Use it.
2137         (tramp-sh-handle-write-region): Copy to temp file only if FILENAME
2138         exists.  (Bug#40156)
2139         (tramp-set-remote-path): Send the command in several chunks if it
2140         is too large.  (Bug#42538)
2141         (tramp-open-connection-setup-interactive-shell): Move up "set +o
2142         vi +o emacs" command.   (Bug#39399)
2143         (tramp-send-command-and-read): Suppress `signal-hook-function'
2144         when reading expression.
2145         (tramp-send-command-and-check): Add optional argument EXIT-STATUS.
2146         (tramp-sh-handle-process-file): Use it.  (Bug#41099)
2148         * lisp/net/tramp-smb.el (tramp-smb-conf): Fix docstring.
2149         (tramp-smb-options): New defcustom.
2150         (tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
2151         (tramp-smb-handle-set-file-acl, tramp-smb-maybe-open-connection):
2152         Use it.
2153         (tramp-smb-errors): Add "NT_STATUS_INVALID_PARAMETER".
2154         (tramp-smb-handle-make-symbolic-link)
2155         (tramp-smb-handle-process-file): Use `tramp-file-local-name'.
2157         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
2158         (tramp-sudoedit-handle-set-file-uid-gid):
2159         Use `tramp-unquote-file-local-name'.
2160         (tramp-sudoedit-handle-make-symbolic-link):
2161         Use `tramp-file-local-name'.
2162         (tramp-sudoedit-handle-file-system-info): Fix a scoping error.
2163         (tramp-sudoedit-handle-set-file-modes):
2164         (tramp-sudoedit-handle-set-file-times): Add optional _FLAG.
2166         * lisp/net/tramp.el: Bump version to 2.4.5-pre.
2167         (tramp-file-local-name, tramp-unquote-file-local-name): New defuns.
2168         (tramp-set-connection-local-variables-for-buffer)
2169         (tramp-equal-remote, tramp-handle-make-auto-save-file-name):
2170         Use `tramp-tramp-file-p'.
2171         (tramp-parse-file): Use `insert-file-contents-literally'.
2172         (tramp-handle-file-modes, tramp-handle-file-times):
2173         Add optional _FLAG.
2174         (tramp-handle-shell-command): Fix `window-start' in output buffer.
2175         (Bug#39171)
2176         Handle `shell-command-dont-erase-buffer'.  (Bug#39067)
2177         Reorganize error-buffer handling.  Set `default-directory'.
2178         (Bug#39253)
2179         (tramp-handle-shell-command, tramp-handle-start-file-process):
2180         Implement asynchronous `error-buffer'.
2181         (tramp-action-process-alive): Read pending output.
2182         (tramp-read-passwd): Use `tramp-compat-temporary-file-directory'.
2183         (Bug#39389, Bug#39489)
2184         (tramp-interrupt-process): Improve command.
2186         * lisp/net/trampver.el: Change version to "2.4.5-pre".
2187         (tramp-repository-branch, tramp-repository-version):
2188         Bind `debug-on-error' to nil.
2190         * test/lisp/net/tramp-tests.el (tramp-get-remote-gid)
2191         (process-file-return-signal-string)
2192         (shell-command-dont-erase-buffer): Declare.
2193         (tramp-test10-write-region, tramp-test28-process-file)
2194         (tramp-test29-start-file-process, tramp-test30-make-process)
2195         (tramp-test31-interrupt-process, tramp-test32-shell-command):
2196         Extend test.
2197         (tramp-test10-write-region, tramp-test21-file-links): Use function
2198         symbols.
2199         (tramp-test18-file-attributes): Check `file-ownership-preserved-p'
2200         only if possible.
2201         (tramp--test-async-shell-command): New defun.
2202         (tramp--test-shell-command-to-string-asynchronously): Use it.
2203         (tramp-test32-shell-command-dont-erase-buffer): New test.
2205 2021-02-03  Phillip Lord  <phillip.lord@russet.org.uk>
2207         Fix error in GMP test
2209         * etc/w32-feature.el: Update to use system-configuration-features for
2210           GMP test.
2212 2021-02-03  Phillip Lord  <phillip.lord@russet.org.uk>
2214         Add Feature testing for Windows binaries
2216         * etc/w32-feature.el: New file
2218 2021-02-03  Stefan Kangas  <stefankangas@gmail.com>
2220         Revert "; * etc/NEWS: Remove temporary note on documentation.  (Bug#42917)"
2222         This reverts commit 121be3e1181e609734fc4cc9d2d54cf7eec18ab2.
2224 2021-02-03  Glenn Morris  <rgm@gnu.org>
2226         * admin/admin.el (set-version): Trap yet another NEWS error.
2228 2021-02-03  Mattias Engdegård  <mattiase@acm.org>
2230         Fix cond jump table compilation (bug#42919)
2232         This bug affected compilation of
2234          (cond ((member '(some list) variable) ...) ...)
2236         While equal is symmetric, member is not; in the latter case the
2237         arguments must be a variable and a constant list, in that order.
2239         Reported by Ikumi Keita.
2241         * lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix):
2242         Don't treat equality and member predicates in the same way; only
2243         the former are symmetric in their arguments.
2244         * test/lisp/emacs-lisp/bytecomp-tests.el
2245         (byte-opt-testsuite-arith-data): Add test cases.
2247 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
2249         Let Emacs start even if curdir is inaccessible
2251         * lisp/startup.el (normal-top-level): Also delete PWD if
2252         file-attributes fails for either $PWD or default-directory,
2253         instead of failing out of the top level.
2254         This fixes a regression from Emacs 26 (Bug#42903).
2256 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
2258         * etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#42845).
2260 2021-02-03  Robert Pluim  <rpluim@gmail.com>
2262         Fix bug with ~/Emacs file not being read at init
2264         * src/xrdb.c (get_user_app): Put "/" between homedir
2265         and %L or %N (Bug#42827).
2267 2021-02-03  Tino Calancha  <tino.calancha@gmail.com>
2269         Prevent from frozen frame after `C-z' in Lucid builds
2271         Some WMs (e.g. mutter in Gnome Shell) don't unmap iconized windows,
2272         thus we won't get a MapNotify when deconifying them.
2273         Check if we are deconifying a window elsewhere (Bug#42655).
2275         - src/xterm.c (handle_one_xevent):
2276         Check for window deconify when receiving a FocusIn signal.
2278 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
2280         Document the 'flex' completion style
2282         * doc/emacs/mini.texi (Completion Styles): Document the 'flex'
2283         completion style.  (Bug#42763)
2285 2021-02-03  Lars Ingebrigtsen  <larsi@gnus.org>
2287         Note that Emacs needs systemd support if systemd is used to stop/start
2289         * etc/NEWS: Note that Emacs needs to be built with systemd support
2290         systemd is used to stop/start Emacs (bug#42242).  Change suggested by
2291         Bhavin Gandhi <bhavin7392@gmail.com>
2293 2021-02-03  Mattias Engdegård  <mattiase@acm.org>
2295         Regexps cannot infloop; fix manual
2297         * doc/lispref/searching.texi (Regexp Special): Edit erroneous
2298         statements about infinite looping in regexps.
2300         (cherry picked from commit 63268253d21c57d991cba3f3b083d74f154a26fe)
2302 2021-02-03  Paul Eggert  <eggert@cs.ucla.edu>
2304         Fix startup working dir bug on NeXTSTEP
2306         * src/emacs.c (main) [NS_IMPL_COCOA]: Update emacs_wd
2307         after a NS GUI chdirs successfully (Bug#42836).
2309 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
2311         Improve documentation of function argument lists
2313         * doc/lispref/functions.texi (Lambda Components)
2314         (Defining Functions): Add a cross-reference to "Argument List".
2315         (Argument List): Improve the section name.  (Bug#42750)
2317 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
2319         Improve documentation of special events
2321         * doc/lispref/commands.texi (Misc Events): Explain how to bind
2322         special events to commands.
2324 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
2326         Fix face merging at EOL when inherited face specifies :extend
2328         * src/xfaces.c (merge_face_ref): Handle correctly faces that
2329         inherit from another, and in addition specify :extend.
2330         (Bug#42552)
2332         (cherry picked from commit 39c90f8dfabe158ad7ac9243aa9b9dedb9409e19)
2334 2021-02-03  Eli Zaretskii  <eliz@gnu.org>
2336         Fix face extension past EOL in overlay strings
2338         * src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
2339         face_for_overlay_string.
2340         * src/xfaces.c (face_for_overlay_string): Accept an additional
2341         argument ATTR_INDEX and pass it to merge_face_ref for merging the
2342         face at POS.  This ensures a face from buffer text will not be
2343         merged unless it specifies the :extend attribute.  (Bug#42552)
2344         * src/dispextern.h (face_for_overlay_string): Adjust prototype.
2346         (cherry picked from commit 35564bea4d73bc266743216599d01d644aed6fd8)
2348 2021-02-03  Phil Sainty  <psainty@orcon.net.nz>
2350         Fix comint-redirect-results-list regexp usage (Bug#42662)
2352         * lisp/comint.el (comint-redirect-results-list-from-process):
2353         Don't treat the literal string argument COMMAND as a regexp.
2355 2021-02-03  Nicolas Petton  <nicolas@petton.fr>
2357         * etc/HISTORY: Update the Emacs 27.1 release date.
2359 2020-08-03  Phil Sainty  <psainty@orcon.net.nz>
2361         lisp/so-long.el: Improve support for major mode hooks
2363         * lisp/so-long.el (so-long-remember-all, so-long-disable-minor-modes)
2364         (so-long-override-variables): Store and use the `so-long-minor-modes'
2365         and `so-long-variable-overrides' values seen by the original major
2366         mode, so that buffer-local changes made in the major mode hook will be
2367         respected.
2369         Add documentation of this and other major mode hook usage.
2371 2020-08-02  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
2373         Avoid segfaults if XIM is set but not xim_styles
2375         Emacs segfaults at the X11 initialization if XIM is set
2376         and xim_styles is NULL.  This patch avoids the crash.
2377         * src/xfns.c: Check also if FRAME_X_XIM_STYLES(f) is NULL.
2378         (Bug#42676)  (Bug#42673)  (Bug#42677)
2380 2020-07-31  Philipp Stephani  <phst@google.com>
2382         Backport: Make checking for liveness of global values more precise.
2384         We can't just use a hash lookup because a global and a local reference
2385         might refer to the same Lisp object.
2387         * src/emacs-module.c (module_free_global_ref): More precise check for
2388         global liveness.
2390         (cherry picked from commit 9f01ce6327af886f26399924a9aadf16cdd4fd9f)
2392 2020-07-31  Philipp Stephani  <phst@google.com>
2394         Backport: Fix subtle bug when checking liveness of module values.
2396         We can't simply look up the Lisp object in the global reference table
2397         because an invalid local and a valid global reference might refer to
2398         the same object.  Instead, we have to test the address of the global
2399         reference against the stored references.
2401         * src/emacs-module.c (module_global_reference_p): New helper function.
2402         (value_to_lisp): Use it.
2404         (cherry picked from commit 6355a3ec62f43c9b99d483982ff851d32dd78891)
2406 2020-07-31  Philipp Stephani  <phst@google.com>
2408         Backport: Fix memory leak for global module objects (Bug#42482).
2410         Instead of storing the global values in a global 'emacs_value_storage'
2411         object, store them as hash values alongside the reference counts.
2412         That way the garbage collector takes care of cleaning them up.
2414         * src/emacs-module.c (global_storage): Remove.
2415         (struct module_global_reference): New pseudovector type.
2416         (XMODULE_GLOBAL_REFERENCE): New helper function.
2417         (module_make_global_ref, module_free_global_ref): Use
2418         'module_global_reference' struct for global reference values.
2419         (value_to_lisp, module_handle_nonlocal_exit): Adapt to deletion of
2420         'global_storage'.
2422         (cherry picked from commit 5c5eb9790898e4ab10bcbbdb6871947ed3018569)
2424 2020-07-30  Nicolas Petton  <nicolas@petton.fr>
2426         * admin/authors.el (authors-aliases): Remove a faulty regexp.
2428 2020-07-29  Stefan Kangas  <stefankangas@gmail.com>
2430         * doc/lispref/symbols.texi (Definitions): Fix typo.
2432 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
2434         * etc/HISTORY: Add Emacs 27.1 release date.
2436 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
2438         Bump Emacs version to 27.1
2440         * README:
2441         * configure.ac:
2442         * msdos/sed2v2.inp:
2443         * nt/README.W32: Bump Emacs version.
2445 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
2447         * etc/AUTHORS: Update.
2449 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
2451         Update authors.el
2453         * admin/authors.el (authors-aliases): Add author aliases.
2455 2020-07-28  Nicolas Petton  <nicolas@petton.fr>
2457         * etc/NEWS: Remove temporary markup.
2459 2020-07-26  Philipp Stephani  <phst@google.com>
2461         Add another test for global module references
2463         * test/src/emacs-module-tests.el (mod-test-globref-reordered): New
2464         unit test.
2466         * test/data/emacs-module/mod-test.c (Fmod_test_globref_reordered): New
2467         test module function.
2468         (emacs_module_init): Export it.
2470 2020-07-26  Philipp Stephani  <phst@google.com>
2472         Backport: add another test case for module assertions.
2474         This backports commit 9f01ce6327 from master.  Since the bug isn’t
2475         present on emacs-27, just backport the new test case.
2477         * test/data/emacs-module/mod-test.c (Fmod_test_globref_invalid_free):
2478         New test module function.
2479         (emacs_module_init): Export it.
2481         * test/src/emacs-module-tests.el
2482         (module--test-assertions--globref-invalid-free): New unit test.
2484 2020-07-26  Philipp Stephani  <phst@google.com>
2486         Backport: Add module test for edge case.
2488         This backports commit 6355a3ec62 from master.  Since the bug isn’t
2489         present in emacs-27, just backport the test case.
2491         * test/data/emacs-module/mod-test.c
2492         (Fmod_test_invalid_store_copy): New test module function.
2493         (emacs_module_init): Export it.
2495         * test/src/emacs-module-tests.el
2496         (module--test-assertions--load-non-live-object-with-global-copy):
2497         New unit test.
2499 2020-07-25  Eli Zaretskii  <eliz@gnu.org>
2501         Fix last change
2503         * src/composite.c (composition_reseat_it): Fix of the commentary,
2504         and a minor change of the last fix.
2506 2020-07-25  Pip Cet  <pipcet@gmail.com>
2508         Fix Arabic shaping when column-number-mode is in effect
2510         * src/indent.c (scan_for_column, compute_motion): Pass -1,
2511         instead of NEUTRAL_DIR, to 'composition_reseat_it'.
2512         * src/composite.c (composition_reseat_it): Interpret negative
2513         value of BIDI_LEVEL to mean the caller doesn't know what is the
2514         bidi direction of the text.  (Bug#41005)
2516 2020-07-24  Eli Zaretskii  <eliz@gnu.org>
2518         Fix description of kmacro-* commands in the user manual
2520         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Separate old-style
2521         macro definition commands from the new style in the summary
2522         table.  (Bug#42492)
2524 2020-07-24  Lars Ingebrigtsen  <larsi@gnus.org>
2526         Fix viewing of encrypted S/MIME messages
2528         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Don't
2529         add a content-type header if there already is one (bug#41659).
2531 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
2533         Revert "Rectify allout-widgets region undecoration so item at start is not missed."
2535         This reverts commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5.
2537         Backporting it to emacs-27 was not appropriate.
2539 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
2541         Revert "Resolve missing button-region keymap bindings."
2543         This reverts commit dd7c191291c8eb1afeac0f1512745491c5c7a317.
2545         Backporting it to emacs-27 was not appropriate.
2547 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
2549         Revert "Provide missing let definition to prevent background void-variable error."
2551         This reverts commit 3c410b6b4753e02269bb36914e7534eb124150dd.
2553         Backporting it to emacs-27 was not appropriate.
2555 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
2557         Revert "Don't let item decoration be disrupted by too-shallow items."
2559         This reverts commit 8684216542889fa57daa32072104afc69785907f.
2561         Backporting it to emacs-27 was not appropriate.
2563 2020-07-21  Ken Manheimer  <ken.manheimer@gmail.com>
2565         Revert "Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)"
2567         This reverts commit 8e13d332481551e4c8c1c66dd0c69dd09256dffc.
2569         Backporting it to emacs-27 was not appropriate.
2571 2020-07-21  Robert Pluim  <rpluim@gmail.com>
2573         Run custom-magic-reset in the customize buffer
2575         If the user has navigated away from the customize buffer, then
2576         clicking on a widget in the customize buffer applies changes in the
2577         selected buffer rather than in the customize buffer.  Pass the
2578         customize buffer to 'custom-magic-reset' to avoid this.
2580         * lisp/cus-edit.el (custom-magic-reset): Add optional buffer argument,
2581         apply changes in that buffer.
2582         (custom-notify): Pass the buffer containing the widget to
2583         'custom-magic-reset'.  (Bug#40788)
2585 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
2587         Backport: Rectify allout-widgets region undecoration so item at start is not missed.
2589         * lisp/allout-widgets.el (allout-widgets-undecorate-region):
2590         Reorganize the loop so an item at the start is not skipped.
2592         (cherry picked from commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5)
2594 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
2596         Backport: Resolve missing button-region keymap bindings.
2598         * lisp/allout-widgets.el (allout-item-icon-keymap,
2599         allout-item-body-keymap, allout-cue-span-keymap, allout-widgets-mode):
2600         Inherit from both (current-local-map) and (current-global-map). This
2601         provides for missing global bindings when inheriting from
2602         just (current-local-map), eg Esc-<.
2604         (cherry picked from commit dd7c191291c8eb1afeac0f1512745491c5c7a317)
2606 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
2608         Backport: Provide missing let definition to prevent background void-variable error.
2610         * lisp/allout-widgets.el (allout-widgets-exposure-change-processor)
2611         Let-declare handled-conceal, for reference through `(symbol-value)'
2612         within the let body. (Because the error happens in an
2613         after-change-functions hook, so it is caught and reported as a message
2614         by allout-widgets-hook-error-handler.)
2616         (cherry picked from commit 3c410b6b4753e02269bb36914e7534eb124150dd)
2618 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
2620         Backport: Don't let item decoration be disrupted by too-shallow items.
2622         * lisp/allout-widgets.el (allout-decorate-item-and-context): Check for
2623         parent-position having value before using it.
2625         Also, shift local emacs vars topic deeper so it doesn't constitute
2626         an instance of that particular aberrant case.
2628         (cherry picked from commit 8684216542889fa57daa32072104afc69785907f)
2630 2020-07-20  Ken Manheimer  <ken.manheimer@gmail.com>
2632         Backport: Fix allout-widgets-mode handling of edits to item cue, fixing (bug#11312)
2634         * lisp/allout-widgets.el (allout-decorate-item-cue): Properly decorate
2635         item cue span.
2636         (allout-setup-text-properties): use allout-graphics-modification-handler
2637         as allout-cue-span-category modification hook.
2639         (cherry picked from commit 8e13d332481551e4c8c1c66dd0c69dd09256dffc)
2641 2020-07-20  Robert Pluim  <rpluim@gmail.com>
2643         Document prefix arg effects for 'epa-mail-{sign,encrypt}'
2645         * doc/misc/epa.texi (Mail-mode integration): Describe effect of
2646         prefix arg to 'epa-mail-encrypt' and 'epa-mail-sign'.
2648         * lisp/epa-mail.el (epa-mail-sign): Describe effect of prefix arg.
2650 2020-07-20  Robert Pluim  <rpluim@gmail.com>
2652         * etc/NEWS: Correct description of :client-certificate change
2654 2020-07-18  Eli Zaretskii  <eliz@gnu.org>
2656         Revert "Fix filename completion in shell mode buffers"
2658         This reverts commit e4d17d8cb479ffeeb7dfb7320a1432722ac8df75.
2659         Per bug#42383 discussions, the fix for bug#34330 probably
2660         just works around the real issue, which is in pcomplete.el.
2662 2020-07-18  Eli Zaretskii  <eliz@gnu.org>
2664         Improve documentation of 'bookmark-bmenu-mode'
2666         * lisp/bookmark.el (bookmark-bmenu-mode): Add
2667         `bookmark-bmenu-search' to the doc string.  (Bug#42325)
2669 2020-07-18  Eli Zaretskii  <eliz@gnu.org>
2671         Update systems using GnuTLS certificate files
2673         * lisp/net/gnutls.el (gnutls-trustfiles): Update the names of the
2674         systems in the comments.  Reported by Richard Stallman <rms@gnu.org>
2675         in
2676         https://lists.gnu.org/r/emacs-devel/2020-07/msg00455.html.
2678 2020-07-17  Eli Zaretskii  <eliz@gnu.org>
2680         Improve documentation of 'kill-emacs'
2682         * doc/lispref/os.texi (Killing Emacs):
2683         * src/emacs.c (Fkill_emacs): Document what non-integer, non-string
2684         argument to 'kill-emacs' means.  (Bug#42400)
2686 2020-07-17  Eli Zaretskii  <eliz@gnu.org>
2688         Improve documentation of 'display-raw-bytes-as-hex'
2690         * doc/emacs/display.texi (Text Display): Mention
2691         'display-raw-bytes-as-hex'.  (Bug#42384)
2693 2020-07-17  Robert Pluim  <rpluim@gmail.com>
2695         Correct descriptions of init file
2697         These still referred to XDG as being preferred.
2699         * doc/emacs/custom.texi (Init File): Correct description of init
2700         file preference order (Bug#42388).
2702         * doc/emacs/custom.texi (Find Init): Correct description of
2703         default init-file.
2705 2020-07-16  Eli Zaretskii  <eliz@gnu.org>
2707         Fix interrupt-process on MS-Windows
2709         * src/w32proc.c (sys_kill): Test the status of the left Ctrl key
2710         for the purpose of restoring it after simulating Ctrl-C.  This
2711         avoids leaving the left Ctrl key status in depressed state when
2712         the user actually pressed the right Ctrl key.  (Bug#42350)
2714 2020-07-11  Andrea Corallo  <akrl@sdf.org>
2716         Revert "* doc/misc/flymake.texi (An annotated example backend): Typo fix."
2718         This reverts commit b1ad0380d2372b8df35ff603b8918d22c27ad964.
2720 2020-07-11  Mattias Engdegård  <mattiase@acm.org>
2722         Correct 'concat' manual entry (bug#42296)
2724         * doc/lispref/strings.texi (Creating Strings): 'concat' does not
2725         necessarily return a newly allocated string.  This has been the case
2726         at least since 1997 (Emacs 20.3).
2728 2020-07-11  Andrea Corallo  <akrl@sdf.org>
2730         * doc/misc/flymake.texi (An annotated example backend): Typo fix.
2732 2020-07-11  Eli Zaretskii  <eliz@gnu.org>
2734         Add commentary in gtkutil.c
2736         * src/gtkutil.c: Add a comment regarding the incompatibilities
2737         vis-a-vis GTK.  Suggested by Richard Stallman <rms@gnu.org>.
2739 2020-07-10  Basil L. Contovounesios  <contovob@tcd.ie>
2741         Consistently stylize eldoc as ElDoc in prose
2743         * doc/emacs/custom.texi (Specifying File Variables):
2744         * doc/emacs/modes.texi (Major Modes):
2745         * doc/emacs/programs.texi (Lisp Doc):
2746         * etc/NEWS.22:
2747         * etc/NEWS.23:
2748         * lisp/progmodes/python.el:
2749         (python-eldoc-function):
2750         * test/lisp/progmodes/python-tests.el: Consistently capitalize eldoc
2751         as ElDoc rather than Eldoc.
2753 2020-07-09  Eli Zaretskii  <eliz@gnu.org>
2755         Improve documentation of "C-u C-x ="
2757         * doc/emacs/mule.texi (International Chars): Mention the
2758         composition information displayed by "C-u C-x =".  (Bug#42256)
2760 2020-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2762         Mention floating rounding issues
2764         * doc/lispref/numbers.texi (Float Basics): Mention floating-point
2765         rounding issues uncovered by the discussion in Bug#42417.
2767 2020-07-09  Mattias Engdegård  <mattiase@acm.org>
2769         Repair global-auto-revert-ignore-modes (bug#42271)
2771         Reported by Gustavo Tavares Cabral.
2773         * lisp/autorevert.el (auto-revert--global-add-current-buffer): Fix typo.
2775 2020-07-08  Eli Zaretskii  <eliz@gnu.org>
2777         One more improvement of left/right-fringe display spec docs
2779         * doc/lispref/display.texi (Fringe Bitmaps): Yet another
2780         clarification of how to use FACE in left/right-fringe display
2781         spec.
2783 2020-07-07  Eli Zaretskii  <eliz@gnu.org>
2785         Another clarification of left/right-fringe display spec
2787         * doc/lispref/display.texi (Fringe Bitmaps): More accurate
2788         description of what FACE means in the left/right-fringe display
2789         spec.
2791 2020-07-07  Eli Zaretskii  <eliz@gnu.org>
2793         Avoid infloop in 'format-mode-line'
2795         * src/xdisp.c (decode_mode_spec): Don't use W->start if it is
2796         outside of the buffer's accessible region.  (Bug#42220)
2798 2020-07-05  Eli Zaretskii  <eliz@gnu.org>
2800         Clarify the documentation of 'left/right-fringe' display spec
2802         * doc/lispref/display.texi (Other Display Specs, Fringe Bitmaps):
2803         Clarify how the optional FACE parameter of the left-fringe and
2804         right-fringe display spec is used.  Reported by Gregory Heytings
2805         <ghe@sdf.org>.
2807 2020-07-04  Eli Zaretskii  <eliz@gnu.org>
2809         Minor improvement in ELisp manual
2811         * doc/lispref/frames.texi (Position Parameters): Clarify the
2812         description of the 'above' frame parameter.  (Bug#42154)
2814 2020-07-02  Michael Albinus  <michael.albinus@gmx.de>
2816         * doc/misc/tramp.texi (Customizing Methods): Fix typo.
2818 2020-06-29  Philipp Stephani  <phst@google.com>
2820         Fix undefined behavior in json.c (Bug#42113)
2822         * src/json.c (lisp_to_json_toplevel_1, Fjson_parse_string): Check
2823         whether input strings are actually strings.
2825         * test/src/json-tests.el (json-parse-string/wrong-type)
2826         (json-serialize/wrong-hash-key-type): New regression tests.
2828 2020-06-28  Richard Kim  <emacs18@gmail.com>
2830         Fix ACTION argument of 'display-buffer' call in gud.el
2832         * lisp/progmodes/gud.el (gud-common-init): The ACTION argument of
2833         'display-buffer' should be a list of list of functions.  (Bug#41888)
2835 2020-06-27  Eli Zaretskii  <eliz@gnu.org>
2837         * src/keyboard.c (Fclear_this_command_keys): Doc fix.
2839 2020-06-27  Eli Zaretskii  <eliz@gnu.org>
2841         Improve do string of 'man'
2843         * lisp/man.el (man): Mention the need to use C-q for quoting the
2844         SPC character in the man-page input.  (Bug#41859)
2846 2020-06-26  Eli Zaretskii  <eliz@gnu.org>
2848         Fix posn-at-point at beginning of a display string
2850         * src/xdisp.c (pos_visible_p): Account for the line-number width
2851         when the display string at CHARPOS ends in a newline.  (Bug#42039)
2853 2020-06-26  Eli Zaretskii  <eliz@gnu.org>
2855         Improve documentation of Info node movement commands
2857         * lisp/info.el (Info-next, Info-prev, Info-forward-node)
2858         (Info-backward-node): More detailed descriptions of what each
2859         commands does with respect to child and parent nodes.  (Bug#42050)
2861 2020-06-22  Phillip Lord  <phillip.lord@russet.org.uk>
2863         Add Jansson dependency to Windows Build
2865         * admin/nt/dist-build/build-dep-zips.py: Add dependency
2867 2020-06-22  Richard Copley  <rcopley@gmail.com>  (tiny change)
2869         Unbreak 'reverse-region'
2871         * lisp/sort.el (reverse-region): Unbreak the function.  It was
2872         broken by a fix for bug#39376.
2874 2020-06-22  Basil L. Contovounesios  <contovob@tcd.ie>
2876         Fix typos and markup in fill column indicator docs
2878         * doc/emacs/display.texi (Displaying Boundaries): Fix typos and
2879         Texinfo markup.
2881 2020-06-20  Stephen Berman  <stephen.berman@gmx.net>
2883         Avoid crashes in 'defconst'
2885         * src/eval.c (Fdefconst): Verify that SYMBOL is a known symbol.
2886         (Bug#41817)
2888 2020-06-20  Richard Stallman  <rms@gnu.org>
2890         Fix text about Lisp archives in the Emacs FQ
2892         * doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
2893         about using Lisp archives other than GNU ELPA.
2895 2020-06-20  Eli Zaretskii  <eliz@gnu.org>
2897         Don't use 'cl' functions in ELisp manual's examples
2899         * doc/lispref/control.texi (pcase Macro): Use 'cl-evenp' instead
2900         of 'evenp'.  (Bug#41947)
2902 2020-06-17  Basil L. Contovounesios  <contovob@tcd.ie>
2904         Fix some Texinfo markup
2906         * doc/misc/gnus-faq.texi (FAQ 3-11):
2907         * doc/emacs/frames.texi (Tab Bars): Consistently use @var with
2908         lower-case metasyntactic variables and @minus instead of a dash.
2909         (Text-Only Mouse):
2910         * doc/emacs/files.texi (Auto Revert):
2911         * doc/emacs/misc.texi (emacsclient Options)
2912         (Embedded WebKit Widgets):
2913         * doc/lispref/control.texi (pcase Macro):
2914         * doc/lispref/debugging.texi (Backtraces):
2915         * doc/lispref/files.texi (Truenames):
2916         * doc/lispref/frames.texi (Management Parameters):
2917         * doc/lispref/os.texi (Time Calculations):
2918         * doc/lispref/text.texi (Parsing JSON):
2919         * doc/misc/efaq-w32.texi (Other versions of Emacs, Debugging)
2920         (Swap Caps NT, Printing, Bash, Developing with Emacs):
2921         * doc/misc/efaq.texi (New in Emacs 25):
2922         * doc/misc/emacs-gnutls.texi (Help For Users):
2923         * doc/misc/message.texi (Using S/MIME, Passphrase caching):
2924         * test/manual/etags/tex-src/gzip.texi (Overview): Use @. when a
2925         sentence in the middle of a paragraph ends with an upper-case letter
2926         as per "(texinfo) Ending a Sentence".
2928 2020-06-17  Basil L. Contovounesios  <contovob@tcd.ie>
2930         Fix recentf typo in Emacs manual
2932         * doc/emacs/files.texi (File Conveniences): Fix misspelling of
2933         recentf-list.
2935 2020-06-17  Juri Linkov  <juri@linkov.net>
2937         Rename default function to next-error-buffer-unnavigated-current (bug#40919)
2939         * lisp/simple.el (next-error-find-buffer-function): Rename default function
2940         from next-error-no-navigation-try-current
2941         to next-error-buffer-unnavigated-current.
2943 2020-06-17  Juri Linkov  <juri@linkov.net>
2945         * lisp/image-mode.el (image-toggle-display-image): Fix fit of rotated images.
2947         When fitting rotated image to width and height, swap width and height
2948         when changing orientation between portrait and landscape (bug#41886).
2950 2020-06-16  Michael Albinus  <michael.albinus@gmx.de>
2952         * doc/misc/tramp.texi (Predefined connection information): Add "tmpdir".
2954 2020-06-13  João Távora  <joaotavora@gmail.com>
2956         Delete, don't kill, dir dir fragments in icomplete-fido-backward-updir
2958         Reported by: Andrew Schwartzmeyer <andrew@schwartzmeyer.com>
2960         * lisp/icomplete.el (icomplete-fido-backward-updir): Don't save
2961         dir fragments to kill ring.
2963 2020-06-13  Basil L. Contovounesios  <contovob@tcd.ie>
2965         Revert markup change in with-coding-priority docs
2967         This partially reverts commit fc759eb9b3
2968         "Fix with-coding-priority markup in Elisp manual"
2969         of 2019-10-13T15:36:02Z!contovob@tcd.ie.
2971         For discussion, see the following thread:
2972         https://lists.gnu.org/r/emacs-devel/2019-10/msg00550.html
2973         https://lists.gnu.org/r/emacs-devel/2020-06/msg00473.html
2975         * doc/lispref/nonascii.texi (Specifying Coding Systems): Use more
2976         specific cross-reference to progn even if info.el displays it
2977         suboptimally.
2979 2020-06-10  Juri Linkov  <juri@linkov.net>
2981         * lisp/emulation/cua-rect.el (cua--rectangle-region-insert): New function.
2983         Add cua--insert-rectangle around region-insert-function (bug#41440).
2985 2020-06-09  Juri Linkov  <juri@linkov.net>
2987         * lisp/simple.el (shell-command-on-region): Fix docstring.
2989         * lisp/simple.el (shell-command-on-region): Mention REGION-NONCONTIGUOUS-P
2990         in docstring (bug#41440)
2992         * etc/NEWS: Better example for 'windmove-display-default-keybindings'.
2994 2020-06-08  Basil L. Contovounesios  <contovob@tcd.ie>
2996         Clean up D-Bus documentation (bug#41744)
2998         * doc/lispref/errors.texi (Standard Errors): The error symbol
2999         dbus-error is defined even when Emacs is built without D-Bus.
3001         * doc/misc/dbus.texi (Bus Names, Introspection)
3002         (Nodes and Interfaces, Methods and Signal)
3003         (Properties and Annotations, Arguments and Signatures)
3004         (Synchronous Methods, Receiving Method Calls, Signals)
3005         (Alternative Buses, Errors and Events): Clarify wording.  Fix
3006         indentation of and simplify examples where possible.  Improve
3007         Texinfo markup and cross-referencing where possible.
3008         (Type Conversion): Ditto.  Remove mentions of Emacs' fixnum range
3009         now that we have bignums.
3011         * lisp/net/dbus.el (dbus-return-values-table)
3012         (dbus-call-method-asynchronously, dbus-send-signal)
3013         (dbus-register-signal, dbus-register-method)
3014         (dbus-string-to-byte-array, dbus-byte-array-to-string)
3015         (dbus-escape-as-identifier, dbus-check-event, dbus-event-bus-name)
3016         (dbus-event-message-type, dbus-event-serial-number)
3017         (dbus-event-service-name, dbus-event-path-name)
3018         (dbus-event-interface-name, dbus-event-member-name)
3019         (dbus-list-activatable-names, dbus-list-queued-owners, dbus-ping)
3020         (dbus-introspect-get-interface-names, dbus-introspect-get-interface)
3021         (dbus-introspect-get-method, dbus-introspect-get-signal)
3022         (dbus-introspect-get-property, dbus-introspect-get-annotation-names)
3023         (dbus-introspect-get-annotation, dbus-introspect-get-argument-names)
3024         (dbus-introspect-get-argument, dbus-introspect-get-signature)
3025         (dbus-set-property, dbus-register-property)
3026         (dbus-get-all-managed-objects, dbus-init-bus): Clarify docstring and
3027         improve formatting where possible.
3028         (dbus-call-method): Ditto.  Remove mentions of Emacs' fixnum range
3029         now that we have bignums.
3031 2020-06-08  Juri Linkov  <juri@linkov.net>
3033         * lisp/image-mode.el (image-transform-original): New command (bug#41222).
3035         (image-mode-map): Bind it to "so" and add to menu.
3037 2020-06-08  Juri Linkov  <juri@linkov.net>
3039         Move tab-bar and tab-line faces to faces.el (part of bug#41200)
3041         These are basic faces, so they need to be defined in
3042         faces.el, otherwise (get 'tab-line 'face) returns 0.
3044         * lisp/faces.el (tab-bar, tab-line): Move faces here
3045         from tab-bar.el and tab-line.el.
3047         * lisp/tab-bar.el (tab-bar): Move face to faces.el.
3048         (tab-bar-faces): Add '((tab-bar custom-face))
3049         to the second arg MEMBERS of 'defgroup'.
3051         * lisp/tab-line.el (tab-line): Move face to faces.el.
3052         (tab-line-faces): Add '((tab-line custom-face))
3053         to the second arg MEMBERS of 'defgroup'.
3055 2020-06-07  Basil L. Contovounesios  <contovob@tcd.ie>
3057         Fix typo in "(elisp) Type Keywords"
3059         * doc/lispref/customize.texi (Type Keywords): Fix typo of 'choice'
3060         composite type.  (Bug#41749)
3062 2020-06-07  Tassilo Horn  <tsdh@gnu.org>
3064         Gnus nnir-summary-line-format has no effect
3066         * lisp/gnus/nnir.el (nnir-mode): Update summary format specs if
3067         nnir-summary-line-format is set and different from
3068         gnus-summary-line-format.
3069         (nnir-open-server): Run nnir-mode in gnus-summary-generate-hook
3070         instead of gnus-summary-prepared-hook.
3072 2020-06-06  Eli Zaretskii  <eliz@gnu.org>
3074         Improve documentation of 'window-text-pixel-size'
3076         * doc/lispref/display.texi (Size of Displayed Text): Clarify the
3077         description of 'window-text-pixel-size'.
3079 2020-06-06  Eli Zaretskii  <eliz@gnu.org>
3081         * src/xdisp.c (Fwindow_text_pixel_size): Doc fix.  (Bug#41737)
3083 2020-06-06  Basil L. Contovounesios  <contovob@tcd.ie>
3085         Minor improvements to EDE and EIEIO manuals
3087         For discussion, see the following threads:
3088         https://lists.gnu.org/r/emacs-devel/2020-05/msg00630.html
3089         https://lists.gnu.org/r/emacs-devel/2020-06/msg00099.html
3091         * doc/misc/ede.texi (ede-generic-project): Clean up example.
3092         * doc/misc/eieio.texi (Accessing Slots): Document slot-value as a
3093         generalized variable and set-slot-value as obsolete.
3094         (Predicates): Fix typo.
3095         (Introspection): Document eieio-class-slots in place of the obsolete
3096         object-slots.
3098 2020-06-06  João Távora  <joaotavora@gmail.com>
3100         Have Fido mode also imitate Ido mode in ignore-case options
3102         Suggested by Sean Whitton <spwhitton@spwhitton.name>.
3104         * lisp/icomplete.el (icomplete--fido-mode-setup): Set ignore-case
3105         options.
3107 2020-06-05  Basil L. Contovounesios  <contovob@tcd.ie>
3109         Update package-menu-quick-help
3111         * lisp/emacs-lisp/package.el (package--quick-help-keys): Filtering
3112         is now bound to the prefix '/', not the key 'f' (bug#41721).
3113         Advertise only the standard 'g' binding now that both it and 'r' are
3114         bound to revert-buffer (bug#35504).
3115         (package--prettify-quick-help-key): Avoid modifying string literals.
3116         (package-menu-filter): Reintroduce as obsolete alias of
3117         package-menu-filter-by-keyword for backward
3118         compatibility (bug#36981).
3120 2020-06-05  Eli Zaretskii  <eliz@gnu.org>
3122         Improve documentation of 'sort-subr'
3124         * doc/lispref/text.texi (Sorting): Clarify the meaning and use of
3125         PREDICATE argument to 'sort-subr'.  (Bug#41706)
3127 2020-06-05  Andrii Kolomoiets  <andreyk.mad@gmail.com>
3129         Update Ukrainian transliteration
3131         * lisp/language/cyril-util.el (standard-display-cyrillic-translit):
3132         Add missing letter "ґ"; tweak letter "г".  (Bug#41683)
3134 2020-06-05  Eli Zaretskii  <eliz@gnu.org>
3136         Fix Arabic shaping when eww/shr fill the text to be rendered
3138         * src/hbfont.c (hbfont_shape): Don't use DIRECTION if the current
3139         buffer has bidi reordering disabled.  (Bug#41005)
3141 2020-06-03  Basil L. Contovounesios  <contovob@tcd.ie>
3143         Silence some byte-compiler warnings in tests
3145         * test/lisp/emacs-lisp/cl-generic-tests.el:
3146         * test/lisp/progmodes/elisp-mode-tests.el: Declare functions
3147         referred to within macroexpansions.
3148         (xref-elisp-overloadable-no-default)
3149         (xref-elisp-overloadable-co-located-default)
3150         (xref-elisp-overloadable-separate-default): Prefix unused arguments
3151         with underscore.
3153         * test/lisp/international/ccl-tests.el:
3154         * test/lisp/wdired-tests.el:
3155         * test/lisp/emacs-lisp/package-tests.el: Declare functions used.
3156         (package-test-update-archives, package-test-signed): Use
3157         revert-buffer in place of its obsolete alias package-menu-refresh.
3159         * test/lisp/eshell/eshell-tests.el:
3160         * test/lisp/mail/footnote-tests.el:
3161         * test/src/buffer-tests.el: Require dependencies used.
3163         * test/lisp/image/exif-tests.el: Remove unneeded (require 'seq).
3164         (test-exit-direct-ascii-value): Actually perform the test.
3165         * test/lisp/progmodes/sql-tests.el (sql-test-add-existing-product):
3166         Fix typo.
3168         * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
3169         * test/src/data-tests.el (test-bool-vector-bv-from-hex-string)
3170         (test-bool-vector-apply-mock-op): Remove unused local variables.
3172 2020-06-03  Basil L. Contovounesios  <contovob@tcd.ie>
3174         * test/lisp/battery-tests.el: New file.
3176 2020-06-02  Basil L. Contovounesios  <contovob@tcd.ie>
3178         Improve format-spec documentation (bug#41571)
3180         * doc/lispref/text.texi (Interpolated Strings): Move from here...
3181         * doc/lispref/strings.texi (Custom Format Strings): ...to here,
3182         renaming the node and clarifying the documentation.
3183         (Formatting Strings): End node with sentence referring to the next
3184         one.
3185         * lisp/format-spec.el (format-spec): Clarify docstring.
3187 2020-06-01  Eli Zaretskii  <eliz@gnu.org>
3189         Don't call 'mbrtowc' on WINDOWSNT
3191         * src/emacs.c (using_utf8): Don't call 'mbrtowc' on WINDOWSNT
3192         systems, as it's not available on Windows 9X.
3194 2020-06-01  João Távora  <joaotavora@gmail.com>
3196         * doc/emacs/buffers.texi (Icomplete): Mention icomplete-minibuffer-setup-hook.
3198 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3200         Be more aggressive in marking objects during GC
3202         Simplified version of a patch from Pip Cet (Bug#41321#299).
3203         * src/alloc.c (maybe_lisp_pointer): Remove.  All uses removed.
3204         (mark_memory): Also look at the pointer offset by ‘lispsym’,
3205         for symbols.
3207 2020-05-31  Alan Mackenzie  <acm@muc.de>
3209         Fix bug #41618 "(byte-compile 'foo) errors when foo is a macro."
3211         * lisp/emacs-lisp/bytecomp.el (byte-compile): Disentangle the eval of the
3212         final form from the pushing of 'macro onto it, doing the former first.
3214 2020-05-31  Eli Zaretskii  <eliz@gnu.org>
3216         Avoid crashes due to bidi cache being reset during redisplay
3218         If automatic character composition triggers GC, and
3219         'garbage-collection-messages' are turned on, we could have the
3220         bidi cache reset while processing RTL text, which would then
3221         consistently crash.
3222         * src/xdisp.c (display_echo_area_1): Protect the bidi cache
3223         against changes inside 'try_window'.
3225 2020-05-31  Juri Linkov  <juri@linkov.net>
3227         * lisp/tab-bar.el (switch-to-buffer-other-tab): Normalize buffer.
3229         * lisp/tab-bar.el (switch-to-buffer-other-tab): Use
3230         'window-normalize-buffer-to-switch-to' on 'buffer-or-name',
3231         like does 'pop-to-buffer' used by 'switch-to-buffer-other-frame',
3232         instead of raising the error "Invalid buffer" on a non-existent buffer name.
3234 2020-05-30  Eli Zaretskii  <eliz@gnu.org>
3236         Fix mingw.org's MinGW GCC 9 warning about 'execve'
3238         * nt/inc/ms-w32.h (execve) [__GNUC__ > 9]: Provide a different
3239         prototype for mingw.org's MinGW as well, to match the GCC builtin.
3241 2020-05-28  Glenn Morris  <rgm@gnu.org>
3243         Tiny texinfo markup fixes
3245         * doc/lispref/edebug.texi (Edebug Views):
3246         * doc/lispref/loading.texi (Library Search):
3247         * doc/lispref/os.texi (User Identification): Markup fixes.
3249 2020-05-27  Dmitry Gutov  <dgutov@yandex.ru>
3251         Make next-error behavior a bit more flexible
3253         * lisp/simple.el (next-error-no-navigation-try-current):
3254         Extract from the case #2 in next-error-find-buffer (bug#40919).
3255         (next-error-find-buffer-function): Use it as the default.
3257 2020-05-27  Noam Postavsky  <npostavs@gmail.com>
3259         * etc/NEWS.25: Belatedly announce upcase-dwim and downcase-dwim.
3261 2020-05-25  Eli Zaretskii  <eliz@gnu.org>
3263         Fix access to single-byte characters in buffer text
3265         * src/xdisp.c (get_visually_first_element)
3266         (Fbidi_find_overridden_directionality):
3267         * src/cmds.c (Fend_of_line): Use FETCH_BYTE instead of FETCH_CHAR,
3268         and byte position instead of character position, to access
3269         individual bytes of buffer text.  This avoids producing invalid
3270         characters and accessing wrong buffer positions.  (Bug#41520)
3272 2020-05-25  Noam Postavsky  <npostavs@gmail.com>
3274         Revert "Fix eshell-mode-map initialization"
3276         It makes eshell-return-exits-minibuffer permanently affect the
3277         eshell-mode-map (Bug#41370).
3279         Do not merge to master, we will fix it properly there.
3281 2020-05-25  Matthias Meulien  <orontee@gmail.com>
3283         Fix tab-bar-tab-name-ellipsis initialization
3285         * lisp/tab-bar.el (tab-bar-tab-name-truncated): Evaluate displayable
3286         character when generating tab name.
3288 2020-05-24  Basil L. Contovounesios  <contovob@tcd.ie>
3290         Fix Elisp manual entry for format-spec
3292         * doc/lispref/text.texi (Interpolated Strings): Fix typos.  Don't
3293         document modifier for default space padding as it's redundant and
3294         inconsistent with the docstring and implementation of format-spec.
3296 2020-05-24  Eli Zaretskii  <eliz@gnu.org>
3298         Fix rare assertion violations in 'etags'
3300         * lib-src/etags.c (pfnote): Instead of raising an assertion when
3301         we get an empty tag name, return immediately.  (Bug#41465)
3303         * test/manual/etags/ETAGS.good_1:
3304         * test/manual/etags/ETAGS.good_2:
3305         * test/manual/etags/ETAGS.good_3:
3306         * test/manual/etags/ETAGS.good_4:
3307         * test/manual/etags/ETAGS.good_5:
3308         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in
3309         etags.
3311 2020-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3313         * lisp/subr.el (save-match-data): Clarify use in docstring
3315 2020-05-23  Eli Zaretskii  <eliz@gnu.org>
3317         Improve the documentation of setting up fontsets
3319         * doc/lispref/display.texi (Fontsets): Improve the accuracy of a
3320         cross-reference to "Character Properties".
3322         * doc/emacs/mule.texi (Fontsets, Modifying Fontsets): Improve the
3323         documentation of fontsets and how to modify them.
3325 2020-05-23  Eli Zaretskii  <eliz@gnu.org>
3327         * doc/emacs/killing.texi (Rectangles): Improve indexing.
3329 2020-05-23  Eli Zaretskii  <eliz@gnu.org>
3331         Fix accessing files on networked drives on MS-Windows
3333         * src/w32.c (acl_get_file): Set errno to ENOTSUP if
3334         get_file_security returns ERROR_NOT_SUPPORTED.  (Bug#41463)
3336 2020-05-22  Alan Mackenzie  <acm@muc.de>
3338         CC Mode: Fix bug #39972, by fixing c-display-defun-name for nested defuns
3340         * lisp/progmodes/cc-mode.el (c-common-init): Build
3341         add-log-current-defun-function out of c-defun-name-and-limits instead of the
3342         former c-defun-name.
3344 2020-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3346         Redo RCS Id for pdumper
3348         * lisp/version.el: Don’t put an RCS Id style string into the
3349         executable via purecopy, as this does not work with the pdumper.
3350         * src/emacs.c (RCS_Id): New constant, for 'ident'.
3352         (cherry picked from commit 3d1bcfba5e21b29be8669aa2a8f27b344c9e02fd)
3354 2020-05-21  Stefan Kangas  <stefankangas@gmail.com>
3356         Second attempt at improving indexing in control.texi
3358         * doc/lispref/control.texi (Processing of Errors): Improve indexing by
3359         adding the word form "handle" in addition to "handling".  With thanks
3360         to Eli Zaretskii.
3362 2020-05-19  Stefan Kangas  <stefankangas@gmail.com>
3364         * doc/lispref/control.texi (Processing of Errors): Improve indexing.
3366 2020-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3368         Minor fixups for mutability doc
3370         * doc/lispref/objects.texi (Mutability): Minor fixups in
3371         response to a comment by Dmitry Gutov (Bug#40671#477).
3373 2020-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3375         Don’t use “constant” for values you shouldn’t change
3377         Inspired by patch proposed by Dmitry Gutov (Bug#40671#393)
3378         and by further comments by him and by Michael Heerdegen
3379         in the same bug report.
3380         * doc/lispintro/emacs-lisp-intro.texi (setcar):
3381         Don’t push mutability here.
3382         * doc/lispref/eval.texi (Self-Evaluating Forms, Quoting)
3383         (Backquote):
3384         * doc/lispref/lists.texi (Modifying Lists):
3385         * doc/lispref/objects.texi (Lisp Data Types, Mutability):
3386         * doc/lispref/sequences.texi (Array Functions, Vectors):
3387         * doc/lispref/strings.texi (String Basics, Modifying Strings):
3388         Don’t use the word “constant” to describe all values that
3389         a program should not change.
3390         * doc/lispref/objects.texi (Mutability):
3391         Rename from “Constants and Mutability”.  All uses changed.
3392         In a footnote, contrast the Emacs behavior with that of Common
3393         Lisp, Python, etc. for clarity, and say the goal is to be nicer.
3395 2020-05-16  Eli Zaretskii  <eliz@gnu.org>
3397         Improve documentation of manually installing Lisp packages
3399         * doc/emacs/building.texi (Lisp Libraries): Describe how to
3400         manually load packages in the init file.  Mention the 'site-lisp'
3401         subdirectory of the default 'load-path'.
3403         * doc/emacs/package.texi (Packages): Describe manual installation
3404         of ELisp packages.  Suggested by Jean-Christophe Helary
3405         <jean.christophe.helary@traduction-libre.org>.
3407 2020-05-16  Eli Zaretskii  <eliz@gnu.org>
3409         Reflect the emacs-devel ELPA/MELPA dispute in FAQ
3411         * doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
3412         that some MELPA packages may require non-free software.
3414 2020-05-15  Tassilo Horn  <tsdh@gnu.org>
3416         Consider face inheritance when checking region face background.
3418         Some themes (like dracula) make the region face inherit from some
3419         other face.  If the background color of the region was inherited,
3420         `indicate-copied-region' did the switch-point-and-mark-twice dance
3421         which is not visible in case the region is highlighted.  It just
3422         looked like Emacs would hang for a second after M-w.
3424         * lisp/simple.el (indicate-copied-region): Consider face inheritance
3425         when checking region face background.
3427 2020-05-15  Leo Vivier  <leo.vivier+dev@gmail.com>
3429         Fix dired default file operation (bug#41261)
3431         * lisp/dired-aux.el (dired-dwim-target-directories): Restore
3432         pre-emacs-27 behavior of 'dired-dwim-target'.
3434 2020-05-14  Philipp Stephani  <phst@google.com>
3436         Fix documentation related to 'command-switch-alist'.
3438         While there, add a unit test to verify the behavior.
3440         * doc/lispref/os.texi (Command-Line Arguments): Fix documentation: the
3441         option string in 'command-switch-alist' does include leading hyphens.
3442         Also mention that 'command-switch-alist' parsing ignores equals signs
3443         in options.
3445         * test/lisp/startup-tests.el
3446         (startup-tests/command-switch-alist): New unit test.
3448 2020-05-13  Simon Lang  <simon.lang@outlook.com>  (tiny change)
3450         Improve ediff readability in misterioso theme (Bug#41221)
3452         * etc/themes/misterioso-theme.el: Add ediff faces.
3454 2020-05-13  Clément Pit-Claudel  <clement.pitclaudel@live.com>
3456         Fix a crash in handle_display_spec
3458         * src/xdisp.c (handle_display_spec): Check that the cdr of the
3459         disable-eval spec is a cons before taking its car.  (Bug#41232)
3461 2020-05-13  Martin Rudalics  <rudalics@gmx.at>
3463         In x_hide_tip reset tip_last_frame for GTK+ tooltips only (Bug#41200)
3465         * src/xfns.c (x_hide_tip): Reset tip_last_frame only when
3466         using GTK+ system tooltips (Bug#41200).
3468 2020-05-12  João Távora  <joaotavora@gmail.com>
3470         Fix docstring of flymake-make-diagnostic (bug#40351)
3472         * lisp/progmodes/flymake.el (flymake-make-diagnostic): Fix docstring
3474 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3476         Go back to “Bahá’í”
3478         * doc/emacs/calendar.texi (Holidays): Revert previous change, as
3479         bahai.org spells it “Bahá’í” (with U+2019 RIGHT SINGLE QUOTATION
3480         MARK) and that’s good enough for us.
3482 2020-05-10  Eli Zaretskii  <eliz@gnu.org>
3484         * lisp/dired.el (dired-toggle-marks): Doc fix.  (Bug#41097)
3486 2020-05-09  Philipp Stephani  <phst@google.com>
3488         Small fix for type of 'display-fill-column-indicator-character'
3490         * lisp/cus-start.el (standard): Don't mark t as safe file-local value
3491         for 'display-fill-column-indicator-character', as that value isn't
3492         allowed.
3494 2020-05-09  Eli Zaretskii  <eliz@gnu.org>
3496         Fix customization of 'display-fill-column-indicator-character'
3498         * lisp/cus-start.el (display-fill-column-indicator-character): Fix
3499         the customization form.  (Bug#41145)
3501 2020-05-09  Philipp Stephani  <phst@google.com>
3503         Refer to fill column indicator Info node in some places.
3505         * src/xdisp.c (syms_of_xdisp): Add reference to manual in
3506         documentation strings for variables related to fill column indicators.
3508         * lisp/display-fill-column-indicator.el (display-fill-column-indicator)
3509         (display-fill-column-indicator-mode): Add reference to manual.
3511 2020-05-09  Martin Rudalics  <rudalics@gmx.at>
3513         Fix GTK's Tool Bar menu radio buttons
3515         * lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu): Fix typo
3516         that makes the radio buttons pretend that the tool bar is always
3517         shown on the left side of the frame.
3519 2020-05-09  Eli Zaretskii  <eliz@gnu.org>
3521         Minor clarifications in NEWS
3523         * etc/NEWS: Tell how to revert to previous behaviors regarding
3524         displaying messages when the minibuffer is active.  (Bug#41087)
3526 2020-05-08  Philipp Stephani  <phst@google.com>
3528         Improve documentation of 'with-suppressed-warnings'.
3530         * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Refer to
3531         'byte-compile-warnings' instead of 'byte-compile-warning-types', as
3532         only the former variable documents the available warning types.
3534 2020-05-08  Eli Zaretskii  <eliz@gnu.org>
3536         Fix a typo in a comment
3538         * lisp/display-fill-column-indicator.el: Fix a typo in a comment.
3539         Suggested by david s <ds@fastmail.com>.
3541 2020-05-08  Eli Zaretskii  <eliz@gnu.org>
3543         Improve documentation of Hi Lock mode
3545         * lisp/hi-lock.el (hi-lock-mode, hi-lock-face-buffer)
3546         (hi-lock-face-phrase-buffer, hi-lock-face-symbol-at-point):
3547         Clarify when 'hi-lock-mode' will use Font Lock and when it will
3548         use overlays.  (Bug#41124)
3550 2020-05-08  Eli Zaretskii  <eliz@gnu.org>
3552         Fix typos in the Emacs user manual
3554         * doc/emacs/calendar.texi (Holidays): Fix usage of non-ASCII
3555         accents.
3556         * doc/emacs/custom.texi (Init Rebinding): Fix a cross-reference.
3557         * doc/emacs/dired.texi (Operating on Files): Make the
3558         cross-reference to "VC Delete/Rename" be to a different manual in
3559         the printed version.  (Bug#41100)
3561 2020-05-08  Björn Holby  <bjorn.holby@gmail.com>  (tiny change)
3563         Fix references to Speedbar in VHDL mode
3565         * lisp/progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Update
3566         references to Speedbar variables.  (Bug#41084)
3568 2020-05-08  Eli Zaretskii  <eliz@gnu.org>
3570         Fix handling of FROM = t and TO = t by 'window-text-pixel-size'
3572         * src/xdisp.c (Fwindow_text_pixel_size): Use byte position for
3573         accessing buffer text, not character positions.  (Bug#41125)
3575 2020-05-06  Eli Zaretskii  <eliz@gnu.org>
3577         * doc/emacs/modes.texi (Major Modes): Fix quoting.  (Bug#41110)
3579 2020-05-06  Noam Postavsky  <npostavs@gmail.com>
3581         Fix docstring quoting
3583         * lisp/gnus/message.el (message-sendmail-extra-arguments): Fix
3584         escaping of quotes in docstring.
3586 2020-05-06  Noam Postavsky  <npostavs@gmail.com>
3588         Revert "cl-loop: Calculate the array length just once"
3590         Don't merge to master.  This is a safe-for-release fix for Bug#40727.
3592 2020-05-06  Noam Postavsky  <npostavs@gmail.com>
3594         Revert "cl-loop: Add missing guard condition"
3596         Don't merge to master.  This is a safe-for-release fix for Bug#40727.
3598 2020-05-06  Noam Postavsky  <npostavs@gmail.com>
3600         Revert "Refix conditional step clauses in cl-loop"
3602         Don't merge to master.  This is a safe-for-release fix for Bug#40727.
3604 2020-05-05  Eli Zaretskii  <eliz@gnu.org>
3606         Improve "Help Summary" section in user manual
3608         * doc/emacs/help.texi (Help Summary): Add cross-references to
3609         sections with details of each Help command.
3611 2020-05-05  Stefan Kangas  <stefankangas@gmail.com>
3613         Clarify message-sendmail-extra-arguments docstring
3615         * lisp/gnus/message.el (message-sendmail-extra-arguments): Clarify
3616         docstring.
3618 2020-05-05  Philipp Stephani  <phst@google.com>
3620         * src/editfns.c (Fformat): Small documentation fix.
3622 2020-05-04  Alan Mackenzie  <acm@muc.de>
3624         Remove calls to non-existent functions from edebug.el.
3626         Do not merge to master.
3628         *lisp/emacs-lisp/edebug.el (edebug--display-1)
3629         (edebug-toggle-disable-breakpoint): Remove calls to
3630         edebug--overlay-breakpoints and edebug--overlay-breakpoints-removed which had
3631         been overlooked in a recent changed to edebug.
3633 2020-05-04  Dmitry Gutov  <dgutov@yandex.ru>
3635         Honor search-upper-case
3637         * lisp/fileloop.el (fileloop--case-fold):
3638         Extract from existing code.  Honor search-upper-case (bug#40940).
3639         (fileloop-initialize-replace, fileloop-initialize-search): Use it.
3640         Update the docstring.
3642 2020-05-04  Basil L. Contovounesios  <contovob@tcd.ie>
3644         Fix eww-follow-link on URLs with #target
3646         * lisp/net/eww.el (eww-display-html): Ensure shr-target-id is set as
3647         callers depend on this (bug#28441, bug#40532).
3649 2020-05-04  Juri Linkov  <juri@linkov.net>
3651         Revert part of recent commit 85544f8ef5 (bug#40808)
3653         * lisp/isearch.el (isearch-lazy-highlight-search): Remove recent fix of
3654         lazy-highlighting of hidden matches.  In emacs-27 leave only the fix for
3655         lazy-counting of hidden matches when isearch-lazy-count is non-nil.
3657 2020-05-03  Stefan Kangas  <stefankangas@gmail.com>
3659         Improve doc strings of makunbound and fmakunbound
3661         * src/data.c (Fmakunbound, Ffmakunbound): Improve doc
3662         strings.  (Bug#41026)
3664 2020-05-03  Alan Mackenzie  <acm@muc.de>
3666         Revert "Mark breakpoints in edebug with highlights".  This fixes bug #40992
3668         Do not merge to master.
3670         This reverts commit e8b3a15cb6ff187ce08afcb43bd9a0b7907268ca.
3672 2020-05-02  Paul Eggert  <eggert@cs.ucla.edu>
3674         Make memq etc. examples more like they were
3676         Problem reported by Štěpán Němec in:
3677         https://lists.gnu.org/r/emacs-devel/2020-05/msg00130.html
3678         * doc/lispref/lists.texi (Sets And Lists, Association Lists):
3679         Revert examples to be more like the way they were, using
3680         self-evaluating expressions.  Be more consistent about listing
3681         unspecified results.
3683 2020-05-02  Eli Zaretskii  <eliz@gnu.org>
3685         Document effect of 'search-upper-case' on replacement commands
3687         * doc/emacs/search.texi (Replacement and Lax Matches): Document
3688         the role of 'search-upper-case' in replacement commands.
3689         (Lax Search): Document the value 'not-yanks' of
3690         'search-upper-case' where the variable itself is documented.
3692         * lisp/replace.el (query-replace-regexp, query-replace): Mention
3693         'search-upper-case' and its effect in doc strings.  (Bug#40940)
3695 2020-05-01  Eli Zaretskii  <eliz@gnu.org>
3697         * lisp/desktop.el (desktop-save): Doc fix.  (Bug#41007)
3699 2020-04-30  Stefan Kangas  <stefankangas@gmail.com>
3701         Recommend to avoid unnecessary abbreviations in doc
3703         * doc/lispref/tips.texi (Documentation Tips): Recommend to avoid
3704         unnecessary abbreviations.  (Bug#40011)
3706 2020-04-30  Eli Zaretskii  <eliz@gnu.org>
3708         Revert "Fix calculator division truncation (bug#40892)"
3710         This reverts commit 82140c510c4d27e639b4bca1e9bf158f0f66c375.
3711         (Bug#40892)
3713 2020-04-30  Mattias Engdegård  <mattiase@acm.org>
3715         Fix calculator division truncation (bug#40892)
3717         * lisp/calculator.el (calculator-string-to-number): Convert decimal
3718         numbers input to float, fixing a regression introduced in f248292ede.
3719         Reported by Aitor Soroa.
3721 2020-04-29  Dmitry Gutov  <dgutov@yandex.ru>
3723         Expand file name for remote dirs as well
3725         * lisp/progmodes/project.el (project--files-in-directory):
3726         Expand file name for remote dirs as well (bug#40940).
3728 2020-04-29  Eli Zaretskii  <eliz@gnu.org>
3730         Fix project.el commands in "transient" projects
3732         * lisp/progmodes/project.el (project--files-in-directory): Run
3733         local DIR directory names through 'expand-file-name', so that "~/"
3734         is expanded, in case the shell doesn't or the shell's notion of
3735         the home directory is different from that of Emacs.  (Bug#40940)
3737 2020-04-29  Eli Zaretskii  <eliz@gnu.org>
3739         Make sure alist-related functions say so in their doc
3741         * src/fns.c (Fassq, assq_no_quit, Fassoc, assoc_no_quit, Frassq)
3742         (Frassoc): Rename argument LIST to ALIST.  Doc strings updated.
3744 2020-04-29  Eli Zaretskii  <eliz@gnu.org>
3746         * lisp/env.el (substitute-env-vars): Doc fix.  (Bug#40948)
3748 2020-04-29  Juri Linkov  <juri@linkov.net>
3750         * lisp/isearch.el: Fix lazy-highlighting and lazy-counting of hidden matches
3752         * lisp/isearch.el (isearch-lazy-highlight-search): Let-bind
3753         search-invisible to t when search-invisible is 'open' or when both
3754         isearch-lazy-count and search-invisible are non-nil.  (Bug#40808)
3756 2020-04-28  Eli Zaretskii  <eliz@gnu.org>
3758         Fix error in ERC when 'erc-server-coding-system' is customized
3760         * lisp/erc/erc-backend.el (erc-split-line): Handle the case where
3761         'erc-coding-system-for-target' returns a coding-system's symbol.
3762         (Bug#40914)
3764 2020-04-28  Eli Zaretskii  <eliz@gnu.org>
3766         Avoid crashes on TTY frames with over-long compositions
3768         * src/term.c (encode_terminal_code): Each character from an
3769         automatic composition is a multibyte character, so its multibyte
3770         representation can take up to MAX_MULTIBYTE_LENGTH bytes.
3771         Account for that when allocating storage for characters to be
3772         encoded.  (Bug#40913)
3774 2020-04-27  Stefan Kangas  <stefankangas@gmail.com>
3776         Fix typo in custom.texi
3778         * doc/emacs/custom.texi (Variables): Fix typo.  Pointed out by
3779         ej32u@protonmail.com.  (Bug#40890)
3781 2020-04-27  Michael Albinus  <michael.albinus@gmx.de>
3783         * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
3785         Use `shell-quote-argument' instead of quoting 'like this'.
3787 2020-04-27  Juri Linkov  <juri@linkov.net>
3789         * lisp/image-mode.el (image-mode-map): Update menu items.
3791         * lisp/image-mode.el (image-mode-map): Move "Fit Image to Window (Best Fit)"
3792         higher.  Add "Zoom In" (image-increase-size), "Zoom Out" (image-decrease-size)
3793         and "Rotate Clockwise" (image-rotate).  Use name "Set Rotation..."
3794         for image-transform-set-rotation.  Swap "Next Image" and "Previous Image".
3795         Swap "Next Frame" and "Previous Frame".
3797 2020-04-27  Juri Linkov  <juri@linkov.net>
3799         Fix bugs in tab-bar and tab-line and mention remaining features in manual.
3801         * doc/emacs/frames.texi (Tab Bars): Mention tab-bar-new-tab-to,
3802         tab-bar-close-last-tab-choice, tab-bar-close-tab-select, tab-undo,
3803         tab-select, tab-bar-history-mode.
3805         * doc/emacs/windows.texi (Tab Line): Mention tab-line-tabs-function.
3807         * lisp/tab-bar.el (tab-bar-select-tab-modifiers): Mention
3808         tab-bar-tab-hints in docstring.
3809         (tab-bar-tab-hints): Mention tab-bar-select-tab-modifiers
3810         in docstring.
3811         (tab-bar-select-tab): Mention tab-bar-select-tab-modifiers
3812         in docstring.
3813         (tab-bar-switch-to-tab): Expand the docstring.
3814         (tab-bar-new-tab-to): Fix bug in handling 'left' value.
3815         (tab-bar-close-tab): Fix bug in handling 'left' value.
3816         (tab-bar-undo-close-tab): Use funcall tab-bar-tabs-function
3817         instead of direct call to tab-bar-tabs.
3818         (tab-bar-history-back, tab-bar-history-forward): Add docstrings.
3819         (tab-bar-history-mode): Expand docstring.
3821         * lisp/tab-line.el (tab-line-format): Fix bug for handling window
3822         switching that should set face 'tab-line-tab-current'.
3824 2020-04-26  Michael Albinus  <michael.albinus@gmx.de>
3826         Make shell-command tests fit for tcsh.
3828         * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
3829         Fix debug spec.  Format command to run also under tcsh.
3830         (simple-tests-shell-command-39067)
3831         (simple-tests-shell-command-dont-erase-buffer): Quote newline in string.
3833 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
3835         Remove doc duplication
3837         * doc/lispref/objects.texi (Constants and Mutability): Remove
3838         duplication.  From a suggestion by Andreas Schwab (Bug#40671#150).
3840 2020-04-25  Michael Albinus  <michael.albinus@gmx.de>
3842         * etc/NEWS: Fix inconsistencies.
3844 2020-04-25  Noam Postavsky  <npostavs@gmail.com>
3846         Clarify semantics of trace-function CONTEXT argument
3848         * lisp/emacs-lisp/trace.el (trace-function-foreground): Explain that
3849         CONTEXT should be a function, when called from Lisp.
3851 2020-04-25  Noam Postavsky  <npostavs@gmail.com>
3853         Don't let a code literal get modified in mml parsing (Bug#39884)
3855         * lisp/gnus/mml.el (mml-parse-1): Make a fresh cons for the tag type,
3856         because 'mml-generate-mime' destructively modifies it.
3858 2020-04-25  Eli Zaretskii  <eliz@gnu.org>
3860         * lisp/simple.el (kill-ring-save): Doc fix.  (Bug#40797)
3862 2020-04-25  Clément Pit-Claudel  <cpitclaudel@gmail.com>
3864         Minor doc clarification regarding fringe bitmaps
3866         * doc/lispref/display.texi (Customizing Bitmaps): Add a note
3867         regarding the order of bits being the opposite of that in
3868         XBM images.  (Bug#40784)
3870 2020-04-25  Eli Zaretskii  <eliz@gnu.org>
3872         Fix documentation of fringe bitmaps
3874         * doc/lispref/display.texi (Fringe Bitmaps): The 'empty-line'
3875         fringe indicator _is_ used.  (Bug#40799)
3877 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
3879         Tweak mutability doc a bit more
3881         Inspired by a comment from Michael Heerdegen (Bug#40671#114).
3882         * doc/lispref/objects.texi (Constants and Mutability): Tweak further.
3884 2020-04-24  Mattias Engdegård  <mattiase@acm.org>
3886         Calc: fix autoload errors (bug#40800)
3888         Reported by Hugo Daschbach.
3890         * lisp/calc/calc-ext.el (calc-init-extensions):
3891         Remove calc-kbd-report key binding and autoload; it was removed in 2005.
3892         calc-keypad-x-{left,right,middle}-click were renamed to
3893         calc-keypad-{left,right,middle}-click in 2001; fix the autoloads.
3894         calc-twos-complement-mode is a variable, not a function; remove the
3895         autoload.
3896         * lisp/calc/calc-prog.el: Remove commented-out calc-kbd-report.
3898 2020-04-24  Stefan Kangas  <stefankangas@gmail.com>
3900         Improve indexing of ELisp manual
3902         * doc/lispref/tips.texi (Tips): Add index entry 'best practices'.
3904 2020-04-24  Juri Linkov  <juri@linkov.net>
3906         * lisp/image-mode.el (image-transform-resize): Remove FIXME comment.
3908         The user customizable variable 'image-auto-resize' is documented now
3909         in the manual.
3911 2020-04-23  Tassilo Horn  <tsdh@gnu.org>
3913         Improve the default value of 'doc-view-ghostscript-program'.
3915         * lisp/doc-view.el (doc-view-ghostscript-program): Use plain command
3916         name instead of qualified name returned by executable-find (as
3917         suggested by Stefan Monnier).  (Bug#36357)
3919 2020-04-23  Juri Linkov  <juri@linkov.net>
3921         Change doc-view-mode-map prefix key 's' to 'c'.
3923         * doc/emacs/misc.texi (DocView Slicing): Change prefix key 's' to 'c'.
3925         * lisp/doc-view.el (doc-view-mode-map): Change prefix key 's' to 'c'.
3927         * lisp/image-mode.el (image-mode-map): Add image-transform-set-scale to menu.
3929         * doc/emacs/files.texi (Image Mode): Describe commands
3930         image-transform-fit-both, image-transform-set-scale, image-transform-reset.
3932         * etc/NEWS: Rearrange image sections.
3934         https://lists.gnu.org/r/emacs-devel/2020-04/msg01315.html
3936 2020-04-22  Paul Eggert  <eggert@cs.ucla.edu>
3938         Improve wording about constants
3940         Thanks to Štěpán Němec and Drew Adams for reviews of recent changes.
3941         * doc/lispref/eval.texi (Quoting): Give an example.
3942         * doc/lispref/lists.texi (Association Lists): Simplify example code.
3943         * doc/lispref/objects.texi (Lisp Data Types)
3944         (Constants and Mutability): Clarify wording.
3946 2020-04-22  Tassilo Horn  <tsdh@gnu.org>
3948         Improve the default value of 'doc-view-ghostscript-program'.
3950         * lisp/doc-view.el (doc-view-ghostscript-program): On Windows, try
3951         gswin64c, gswin32c, rungs, and mgs.  (Bug#36357)
3953 2020-04-21  Eli Zaretskii  <eliz@gnu.org>
3955         Minor improvements in documentation of the last change
3957         * etc/NEWS:
3958         * doc/emacs/files.texi (Image Mode): Minor copyedits of last change.
3960 2020-04-21  Juri Linkov  <juri@linkov.net>
3962         Add image-auto-resize defcustoms to image-mode.el
3964         * lisp/image-mode.el (image-auto-resize)
3965         (image-auto-resize-on-window-resize): New defcustoms.
3966         (image-mode-map): Bind "sb" to image-transform-fit-both.
3967         (image-mode): Set image-transform-resize to image-auto-resize initially.
3968         (image-mode--setup-mode): Add hook on image-auto-resize-on-window-resize.
3969         (image-toggle-display-image): Check if image-transform-resize is t.
3970         (image-transform-properties): Check image-transform-resize for nil and t.
3971         (image-transform-fit-both): New command.
3972         (image-transform-reset): Reset image-transform-resize to image-auto-resize.
3974         * doc/emacs/files.texi (Image Mode): Mention image-auto-resize and
3975         image-auto-resize-on-window-resize.
3977         https://lists.gnu.org/r/emacs-devel/2020-04/msg01160.html
3979 2020-04-21  Juri Linkov  <juri@linkov.net>
3981         Improve the documentation of tab-bar and tab-line
3983         * doc/emacs/frames.texi (Tab Bars): Add xref to "Tab Line".
3984         Document more commands.
3986         * doc/emacs/windows.texi (Windows):
3987         * doc/emacs/emacs.texi (Top): Add "Tab Line" menu.
3989         * doc/emacs/windows.texi (Window Convenience):
3990         Move tab-line documentation to new node "Tab Line".
3991         (Tab Line): New node.
3993         * doc/emacs/glossary.texi (Glossary):
3994         * doc/emacs/modes.texi (Minor Modes):
3995         * doc/emacs/display.texi (Standard Faces): Add xref to "Tab Line".
3997 2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>
3999         Tweak wording re constant variables
4001         * doc/lispref/objects.texi (Constants and Mutability): Tweak.
4002         Problem reported by Michael Heerdegen (Bug#40693#44).
4004 2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>
4006         Tweak setcar-related wording
4008         * doc/lispref/eval.texi (Self-Evaluating Forms):
4009         Change “primitives” to “operations”.
4010         Problem reported by Štěpán Němec in:
4011         https://lists.gnu.org/r/emacs-devel/2020-04/msg01146.html
4013 2020-04-20  Juri Linkov  <juri@linkov.net>
4015         * lisp/image-mode.el: Add prefix key 's' and reduce dependency on ImageMagick.
4017         * lisp/image-mode.el (image-mode-map): Regroup existing keybindings and
4018         add new ones with the prefix key 's'.
4019         Remove condition ":visible (eq image-type 'imagemagick)" from menu.
4020         (image-toggle-display-image): Don't rotate again after user rotated manually.
4021         (image-transform-check-size): Remove check for imagemagick.
4022         (image-transform-properties, image-transform-set-scale)
4023         (image-transform-fit-to-height, image-transform-fit-to-width)
4024         (image-transform-set-rotation, image-transform-reset):
4025         Remove mentions of ImageMagick from docstrings since these commands
4026         now work without ImageMagick.
4028 2020-04-20  Juri Linkov  <juri@linkov.net>
4030         * doc/emacs/windows.texi (Window Convenience): Describe more windmove features.
4032         * doc/emacs/windows.texi (Window Convenience): Add descriptions of
4033         windmove-display-default-keybindings,
4034         windmove-delete-default-keybindings,
4035         windmove-swap-states-in-direction.
4037         * etc/NEWS: Regroup to move some parts closer to related sections.
4039 2020-04-20  Paul Eggert  <eggert@cs.ucla.edu>
4041         Fix mutability glitches reported by Drew Adams
4043         See Bug#40693#32.
4044         * doc/lispref/eval.texi (Self-Evaluating Forms, Backquote):
4045         Say that these yield constant conses, vectors and strings,
4046         not constant symbols.
4047         * doc/lispref/objects.texi (Constants and Mutability): Say that an
4048         attempt to modify a constant variable signals an error, instead of
4049         saying that it has undefined behavior.
4051 2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4053         Improve mutability doc
4055         See Eli Zaretskii’s suggestions (Bug#40671#33).
4056         * doc/lispref/lists.texi (Setcar, Setcdr, Rearrangement):
4057         * doc/lispref/sequences.texi (Sequence Functions)
4058         (Array Functions):
4059         Add commentary to examples.
4060         * doc/lispref/lists.texi (Sets And Lists):
4061         Revert change to delq example.
4063 2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4065         Improve mutability documentation
4067         This change was inspired by comments from Štěpán Němec in:
4068         https://lists.gnu.org/r/emacs-devel/2020-04/msg01063.html
4069         * doc/lispref/objects.texi (Lisp Data Types): Mention mutability.
4070         (Constants and mutability): New section.
4071         * doc/lispintro/emacs-lisp-intro.texi (Lists diagrammed)
4072         (Indent Tabs Mode): Improve wording.
4073         * doc/lispref/eval.texi (Self-Evaluating Forms):
4074         Say that they return constants.
4075         * doc/lispref/lists.texi (Sets And Lists):
4076         Fix memql mistake/confusion that I recently introduced.
4078 2020-04-19  Paul Eggert  <eggert@cs.ucla.edu>
4080         Document that quoting yields constants
4082         * doc/lispref/eval.texi (Quoting, Backquote):
4083         Mention that quoted expressions yield a constant (Bug#40693).
4085 2020-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4087         * doc/lispref/keymaps.texi (Extended Menu Items, Easy Menu) <:key-sequence>:
4089         Clarify the documentation further
4091 2020-04-19  Mattias Engdegård  <mattiase@acm.org>
4093         Remove #' and function quoting from lambda forms in manual
4095         * doc/lispref/abbrevs.texi (Abbrev Expansion):
4096         * doc/lispref/backups.texi (Reverting):
4097         * doc/lispref/functions.texi (Mapping Functions):
4098         * doc/lispref/help.texi (Accessing Documentation):
4099         * doc/lispref/sequences.texi (Char-Tables):
4100         * doc/lispref/syntax.texi (Categories):
4101         * doc/lispref/text.texi (Sorting):
4102         Remove function quoting from lambda in examples where it still occurs,
4103         since examples should follow our best style and be consistent.
4105 2020-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4107         * src/regex-emacs.c (re_match_2_internal): Rework comment in last change
4109         Explain why we don't need to worry about Lisp modifying the buffer.
4111         * src/syntax.c (parse_sexp_propertize): Fix name in error message.
4113 2020-04-19  Juri Linkov  <juri@linkov.net>
4115         Add new node "Image Mode" to Emacs Manual.
4117         * doc/emacs/dired.texi (Image-Dired): Add xref to "Image Mode".
4119         * doc/emacs/emacs.texi (Top): Add new node "Image Mode" to menu.
4121         * doc/emacs/files.texi (Files): Add new node "Image Mode" to menu.
4122         (File Conveniences): Split part of node to new node "Image Mode".
4124         * doc/emacs/frames.texi (Mouse Commands): Add xref to "Image Mode".
4126         * doc/emacs/misc.texi (Embedded WebKit Widgets): Rename xref from
4127         "File Conveniences" to "Image Mode".
4129 2020-04-18  Paul Eggert  <eggert@cs.ucla.edu>
4131         * doc/lispref/display.texi (Customizing Bitmaps): Fix typo.
4133 2020-04-18  Paul Eggert  <eggert@cs.ucla.edu>
4135         Document constant vs mutable objects better
4137         This patch builds on a suggested patch by Mattias Engdegård
4138         and on further comments by Eli Zaretskii.
4139         Original bug report by Kevin Vigouroux (Bug#40671).
4140         * doc/lispintro/emacs-lisp-intro.texi (set & setq, Review)
4141         (setcar, Lists diagrammed, Mail Aliases, Indent Tabs Mode):
4142         setq is a special form, not a function or command.
4143         * doc/lispintro/emacs-lisp-intro.texi (setcar):
4144         * doc/lispref/lists.texi (Modifying Lists, Rearrangement):
4145         * doc/lispref/sequences.texi (Sequence Functions)
4146         (Array Functions, Vectors):
4147         * doc/lispref/strings.texi (String Basics, Modifying Strings):
4148         Mention mutable vs constant objects.
4149         * doc/lispintro/emacs-lisp-intro.texi (setcar, setcdr)
4150         (kill-new function, cons & search-fwd Review):
4151         * doc/lispref/edebug.texi (Printing in Edebug):
4152         * doc/lispref/keymaps.texi (Changing Key Bindings):
4153         * doc/lispref/lists.texi (Setcar, Setcdr, Rearrangement)
4154         (Sets And Lists, Association Lists, Plist Access):
4155         * doc/lispref/sequences.texi (Sequence Functions)
4156         (Array Functions):
4157         * doc/lispref/strings.texi (Text Comparison):
4158         Fix examples so that they do not try to change constants.
4160 2020-04-18  Eli Zaretskii  <eliz@gnu.org>
4162         Improve documentation of 'sort-lines'
4164         * lisp/sort.el (sort-lines): Clarify the interactive invocation.
4165         (Bug#40697)
4167 2020-04-18  Štěpán Němec  <stepnem@gmail.com>
4169         Mention 'spam-stat-process-directory-age' in the documentation
4171         I was at a loss as to why my attempt to set up spam-stat seemed to
4172         have no effect, only to find (digging in the code) that it was
4173         ignoring most of the sample files due to this undocumented variable.
4175         * doc/misc/gnus.texi (Creating a spam-stat dictionary): Document
4176         the variable 'spam-stat-process-directory-age'.  (bug#39780)
4178 2020-04-18  Eli Zaretskii  <eliz@gnu.org>
4180         Avoid crashes in regex-emacs.c due to GC
4182         * src/regex-emacs.c (re_match_2_internal): Prevent GC from
4183         invalidating C pointers to buffer text.  (Bug#40661)
4185 2020-04-18  Eli Zaretskii  <eliz@gnu.org>
4187         Fix "C-u M-!" when 'shell-command-dont-erase-buffer' is non-nil
4189         * lisp/simple.el (shell-command-dont-erase-buffer): Clarify the
4190         effect of the various values in the doc string.
4191         (shell-command-save-pos-or-erase, shell-command): Don't move or
4192         push point if the output will go to the current buffer.
4193         (Bug#40690)
4194         (shell-command): Mention 'shell-command-dont-erase-buffer' in the
4195         doc string.
4197         * test/lisp/simple-tests.el
4198         (with-shell-command-dont-erase-buffer): Don't is shell quoting
4199         'like this', as it doesn't work on MS-Windows; quote "like this"
4200         instead.
4201         (simple-tests-shell-command-dont-erase-buffer): Adapt the test to
4202         the new modus operandi.
4204         * doc/emacs/misc.texi (Single Shell): Document the effect of the
4205         various values of 'shell-command-dont-erase-buffer'.
4207         * etc/NEWS: Expand and reword the entry regarding changes in
4208         'shell-command-dont-erase-buffer'.
4210 2020-04-17  Paul Eggert  <eggert@cs.ucla.edu>
4212         Fix cl-most-positive-float doc typo
4214         * doc/misc/cl.texi (Implementation Parameters):
4215         Fix typo in documentation of cl-most-positive-float.
4217 2020-04-16  jakub-w  <jakub-w@riseup.net>  (tiny change)
4219         Fix a typo in calculator.el
4221         * lisp/calculator.el (calculator-expt): Overflowing exponentiation
4222         caused the function to return -1.0e+INF if the base was an odd,
4223         negative number, no matter what the exponent was.
4225 2020-04-16  Amin Bandali  <bandali@gnu.org>
4227         * lisp/erc/erc.el: Add URL to the new ERC page on the Emacs site
4229 2020-04-16  Nicolas Petton  <nicolas@petton.fr>
4231         Bump Emacs version to 27.0.91
4233         * README:
4234         * configure.ac:
4235         * msdos/sed2v2.inp:
4236         * nt/README.W32: Bump Emacs version.
4238 2020-04-16  João Távora  <joaotavora@gmail.com>
4240         Correct Fido-mode's backspacing of directories with spaces
4242         (Bug#40625)
4244         * lisp/icomplete.el (icomplete-fido-backward-updir): Use
4245         zap-up-to-char.
4247 2020-04-15  João Távora  <joaotavora@gmail.com>
4249         Default completion-flex-nospace to nil
4251         By default, the flex completion style _does_ match spaces.
4253         (Bug#40625)
4255         * lisp/icomplete.el (icomplete--fido-mode-setup): Force
4256         completion-flex-nospace to nil.
4258         * lisp/minibuffer.el (completion-flex-nospace): Default to nil.
4260 2020-04-15  Eli Zaretskii  <eliz@gnu.org>
4262         Improve an example in w32 FAQ
4264         * doc/misc/efaq-w32.texi (Font names): Modify the expression to
4265         insert a list of all installed fonts so as to avoid producing too
4266         long lines.  Suggested by ndame <ndame@protonmail.com>.
4268 2020-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4270         * lisp/htmlfontify.el (hfy-force-fontification): Fix bug#40642
4272         Don't presume that `jit-lock-mode` is enabled.
4273         Do not merge to `master`.
4275 2020-04-15  Nicolas Petton  <nicolas@petton.fr>
4277         * admin/authors.el: Add an author alias.
4279 2020-04-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4281         Limit RLIMIT_NOFILE to FD_SETSIZE on macOS
4283         * src/nsterm.m ([EmacsApp applicationDidFinishLaunching:]): Call
4284         CoreFoundation functions that increase RLIMIT_NOFILE behind our back
4285         during startup, and then set RLIMIT_NOFILE back to FD_SETSIZE to avoid
4286         crashes in setup_process_coding_system  (Bug#39164).
4288 2020-04-15  Martin Rudalics  <rudalics@gmx.at>
4290         Fix Elisp manual entry on 'set-window-configuration'
4292         * doc/lispref/windows.texi (Window Configurations): Fix
4293         description of 'set-window-configuration'.
4295 2020-04-14  Nicolas Petton  <nicolas@petton.fr>
4297         * admin/authors.el: Add missing author aliases.
4299 2020-04-14  Mattias Engdegård  <mattiase@acm.org>
4301         Fix edge case errors in filename-matching regexps
4303         These changes fix actual or latent bugs in regexps that match
4304         file names, such as PATTERN arguments to 'directory-files'.  See
4305         https://lists.gnu.org/r/emacs-devel/2020-04/msg00265.html
4307         * admin/authors.el (authors-obsolete-files-regexps)
4308         (authors-renamed-files-regexps):
4309         * lisp/auth-source-pass.el (auth-source-pass-entries):
4310         * lisp/calendar/todo-mode.el (todo-show, todo-find-filtered-items-file)
4311         (todo-filter-items, todo-reset-nondiary-marker, todo-reset-done-string)
4312         (todo-reset-comment-string, todo-reset-highlight-item):
4313         * lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches):
4314         * lisp/cedet/semantic/texi.el (semantic-texi-associated-files):
4315         * lisp/cedet/srecode/map.el (srecode-map-update-map):
4316         * lisp/dired.el (dired-re-no-dot):
4317         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
4318         * lisp/emacs-lisp/shadow.el (load-path-shadows-find):
4319         * lisp/files.el (auto-mode-alist, directory-files-no-dot-files-regexp):
4320         * lisp/finder.el (finder-compile-keywords):
4321         * lisp/generic-x.el (inetd-conf-generic-mode, named-boot-generic-mode)
4322         (resolve-conf-generic-mode, etc-modules-conf-generic-mode):
4323         * lisp/gnus/gnus-agent.el (gnus-agent-read-agentview)
4324         (gnus-agent-regenerate-group, gnus-agent-update-files-total-fetched-for):
4325         * lisp/gnus/gnus-cache.el (gnus-cache-articles-in-group):
4326         * lisp/gnus/gnus-score.el (gnus-score-search-global-directories):
4327         * lisp/gnus/gnus-util.el (gnus-delete-directory):
4328         * lisp/gnus/gnus-uu.el (gnus-uu-dir-files):
4329         * lisp/gnus/nndraft.el (nndraft-request-group):
4330         * lisp/gnus/nnmh.el (nnmh-request-group, nnmh-request-create-group):
4331         (nnmh-request-delete-group, nnmh-active-number, nnmh-update-gnus-unreads):
4332         * lisp/gnus/nnspool.el (nnspool-request-group):
4333         * lisp/gnus/spam-stat.el (spam-stat-process-directory)
4334         (spam-stat-test-directory):
4335         * lisp/help-fns.el (help-fns--first-release):
4336         * lisp/help.el (view-emacs-news):
4337         * lisp/international/quail.el (quail-update-leim-list-file):
4338         * lisp/international/titdic-cnv.el (batch-titdic-convert):
4339         * lisp/mail/mspools.el (mspools-set-vm-spool-files)
4340         (mspools-get-spool-files):
4341         * lisp/mail/rmail.el (rmail-secondary-file-regexp)
4342         (rmail-speedbar-match-folder-regexp):
4343         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
4344         * lisp/net/tramp.el (tramp-use-absolute-autoload-file-names):
4345         * lisp/obsolete/gulp.el (gulp-send-requests):
4346         * lisp/obsolete/vc-arch.el (vc-arch-trim-revlib):
4347         * lisp/org/ob-core.el (org-babel-remove-temporary-directory):
4348         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp, ebnf-style-database):
4349         * lisp/progmodes/executable.el (executable-command-find-posix-p):
4350         * lisp/startup.el (command-line):
4351         * lisp/textmodes/refer.el (refer-get-bib-files):
4352         * lisp/url/url-about.el (url-probe-protocols):
4353         * lisp/vc/vc-rcs.el (vc-rcs-register, vc-rcs-unregister):
4354         * test/lisp/net/tramp-archive-tests.el
4355         (tramp-archive-test19-directory-files-and-attributes):
4356         * test/lisp/net/tramp-tests.el (tramp-test19-directory-files-and-attributes):
4357         Replace ^ and $ with \` and \', respectively.
4358         Use (rx (or (not ".") "...")), translated into "[^.]\\|\\.\\.\\.",
4359         to match anything but "." and "..", instead of several incorrect
4360         regexps.
4362 2020-04-14  Eli Zaretskii  <eliz@gnu.org>
4364         Clarify the doc string of 'yank'
4366         * lisp/simple.el (yank): Mention 'current-kill' in the doc string,
4367         so that people could find all the gory details of what is "the most
4368         recent kill" for this purpose.  (Bug#40375)
4370 2020-04-14  Amin Bandali  <bandali@gnu.org>
4372         New function erc-track-switch-buffer-other-window
4374         * lisp/erc/erc-track.el (erc-track-switch-buffer): Factor out the
4375         implementation from here ...
4376         (erc-track--switch-buffer): ... to here.
4377         (erc-track-switch-buffer-other-window): New function, like
4378         `erc-track-switch-buffer', but uses `switch-to-buffer-other-window'
4379         instead, to open the buffer in another window.
4381 2020-04-14  Amin Bandali  <bandali@gnu.org>
4383         New function erc-switch-to-buffer-other-window
4385         * lisp/erc/erc.el (erc-switch-to-buffer): Factor out the buffer choice
4386         implementation from here ...
4387         (erc--switch-to-buffer): ... to here.
4388         (erc-switch-to-buffer-other-window): New function, like
4389         `erc-switch-to-buffer', but uses `switch-to-buffer-other-window'
4390         instead, to open the buffer in another window.
4392 2020-04-13  Štěpán Němec  <stepnem@gmail.com>
4394         Clarify documentation on inhibit-modification-hooks intended usage
4396         Cf. bug#40332 and the discussion at
4397         https://lists.gnu.org/r/emacs-devel/2020-03/msg00921.html
4399         * doc/lispref/text.texi (Change Hooks):
4400         * src/insdel.c (syms_of_insdel): Clarify the intended usage of
4401         'inhibit-modification-hooks'.
4403 2020-04-13  Štěpán Němec  <stepnem@gmail.com>
4405         gnus-shorten-url: Improve and avoid args-out-of-range error
4407         'gnus-shorten-url' (used by 'gnus-summary-browse-url') ignored
4408         fragment identifiers and didn't check substring bounds, in some cases
4409         leading to runtime errors, e.g.:
4411           (gnus-shorten-url "https://some.url.with/path/and#also_a_long_target" 40)
4412           ;; => Lisp error: (args-out-of-range "/path/and" -18 nil)
4414         This commit makes it account for #fragments and fixes faulty string
4415         computation.  (bug#39980)
4417         Do not merge to master, where the helper is put to subr-x.el.
4419         * lisp/gnus/gnus-sum.el (gnus--string-truncate-left): New helper
4420         function (copied from 'ediff-truncate-string-left').
4421         (gnus-shorten-url): Use it and don't drop #fragments.
4423 2020-04-13  Eli Zaretskii  <eliz@gnu.org>
4425         Minor wording change in Introduction to Programming in Emacs Lisp
4427         * doc/lispintro/emacs-lisp-intro.texi (Prevent confusion): Mention
4428         that dynamic scoping is only the default in Emacs Lisp, not the
4429         only scoping rule.  (Bug#40594)
4431 2020-04-13  Eli Zaretskii  <eliz@gnu.org>
4433         Fix 'flymake-show-diagnostics-buffer' when line numbers are displayed
4435         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
4436         Do nothing if 'flymake--diagnostics-buffer-source' is not a
4437         buffer.  (Bug#40529)
4439 2020-04-12  Eli Zaretskii  <eliz@gnu.org>
4441         Fix last changes describing mail commands
4443         * doc/emacs/sending.texi (Sending Mail): Fix the description of
4444         the behavior of 'C-x m' without prefix argument.  (Bug#40561)
4446 2020-04-12  João Távora  <joaotavora@gmail.com>
4448         Do setup Flymake in file-less Elisp buffers
4450         (Bug#40573)
4452         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Change
4453         condition for setting flymake-diagnostic-functions.
4455 2020-04-12  Philipp Stephani  <phst@google.com>
4457         Fix error message for ‘cl-struct-unknown-slot’ (bug#39995)
4459         * lisp/emacs-lisp/cl-macs.el (cl-struct-unknown-slot): Remove spurious
4460         format specifiers.
4462 2020-04-12  Eli Zaretskii  <eliz@gnu.org>
4464         Fix and improve documentation of mail-related features
4466         * lisp/simple.el (compose-mail): Clarify the effect of the
4467         CONTINUE argument.
4468         * lisp/mail/sendmail.el (mail-from-style): Update the RFC value in
4469         the obsolescence warning text.
4471         * doc/emacs/sending.texi (Sending Mail): Fix the description of
4472         the behavior of 'C-x m' wrt prefix argument.
4473         (Mail Headers): Remove the description of 'mail-from-style'.
4475         * etc/NEWS: Mention that 'mail-from-style' is obsolete.
4477         (Bug#40561)
4479 2020-04-12  Martin Rudalics  <rudalics@gmx.at>
4481         Fix build failure with Fx_gtk_debug
4483         * src/xfns.c (Fx_gtk_debug, Sx_gtk_debug): Define only for GTK
4484         versions >= 3.14.0 so gtk_window_set_interactive_debugging is
4485         defined.  Reported by Andreas Schwab  <schwab@linux-m68k.org>.
4487 2020-04-11  Alan Mackenzie  <acm@muc.de>
4489         Mention jit-lock deferred as an alternative to fast-but-imprecise-scrolling
4491         * doc/emacs/display.texi (Scrolling): Add a paragraph on using jit-lock
4492         deferred fontification as a way of obviating Emacs hanging after
4493         auto-repeated scrolling.
4495 2020-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4497         * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :key-sequence
4499         Don't make it sound like `:key-sequence nil` is any different than the
4500         absence of `:key-sequence`.  And the performance advantage of
4501         `:key-sequence` disappeared long ago.
4503 2020-04-10  Eli Zaretskii  <eliz@gnu.org>
4505         Fix redisplay when scrolling under redisplay-dont-pause
4507         * src/dispnew.c (update_window): Reset the window's
4508         'must_be_updated_p' flag if the window's update was completed
4509         without interruption.  This fixes redisplay glitches when
4510         'redisplay-dont-pause' is nil, at least on MS-Windows, because
4511         'expose_window' doesn't redraw the exposed rectangle when the
4512         window's 'must_be_updated_p' flag is set.
4514 2020-04-09  Eli Zaretskii  <eliz@gnu.org>
4516         Fix face extension in pulse.el
4518         * lisp/cedet/pulse.el (pulse-reset-face): Propagate the :extend
4519         attribute of FACE to the face used for displaying the pulse.
4520         Reported by Adam Porter <adam@alphapapa.net>.
4522 2020-04-09  Michael Albinus  <michael.albinus@gmx.de>
4524         * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in traces.
4526 2020-04-09  Eli Zaretskii  <eliz@gnu.org>
4528         Avoid assertion violation in intervals.c
4530         * src/intervals.c (delete_interval): Allow negative values of
4531         LENGTH (i).  This happens when delete_interval is called from
4532         set_intervals_multibyte_1, because the caller zeroes out the
4533         total_length field of the interval to be deleted.  See
4534         https://lists.gnu.org/r/emacs-devel/2020-04/msg00131.html
4535         for more details.  See also a related old discussion at
4536         https://lists.gnu.org/r/emacs-devel/2012-07/msg00399.html.
4538 2020-04-08  Eli Zaretskii  <eliz@gnu.org>
4540         Improve documentation of 'jit-lock-contextually'
4542         * lisp/jit-lock.el (jit-lock-contextually): Clarify the jit-lock
4543         operation when 'jit-lock-contextually' is non-nil and non-t.
4545         * doc/lispref/modes.texi (Syntactic Font Lock)
4546         (Other Font Lock Variables): Document the relation between
4547         'jit-lock-register', 'font-lock-keywords-only', and syntactic
4548         refontification.
4550 2020-04-08  Dmitry Gutov  <dgutov@yandex.ru>
4552         Speed up 'resize-mode' child frames a little
4554         * src/gtkutil.c (xg_frame_set_char_size): Skip resizing if the
4555         target dimensions are unchanged for child frames with
4556         'resize-mode' resize policy as well.
4558 2020-04-06  Martin Rudalics  <rudalics@gmx.at>
4560         Fix some problems with moving and resizing child frames
4562         (1) Provide new option 'x-gtk-resize-child-frames' which allows
4563         to either hide a child frame during resizing or asks GTK to
4564         resize it "immediately".  This is needed because desktops like
4565         GNOME shell otherwise won't allow resizing child frames at all.
4566         (2) Do not try to synchronize the position of a child frame
4567         after moving it.  Needed because the present implementation
4568         introduces a 0.5 secs delay which makes dragging child frames
4569         virtually impossible with Lucid and Motif toolkits on desktops
4570         like GNOME shell that use invisible outer frame borders.
4572         For further information see the thread starting with
4573         https://lists.gnu.org/r/emacs-devel/2020-01/msg00343.html
4575         * src/frame.c (syms_of_frame): New symbol Qxg_frame_set_char_size_4.
4576         * src/gtkutil.c (xg_frame_set_char_size): Hide child frame
4577         during resizing when 'x-gtk-resize-child-frames' equals 'hide'.
4578         * src/xfns.c (x_set_parent_frame, Fx_create_frame): Set
4579         gtk_container_resize_mode to GTK_RESIZE_IMMEDIATE for child
4580         frames when'x-gtk-resize-child-frames' equals 'resize-mode'.
4581         (Fx_gtk_debug): New function to toggle interactive GTK debugging
4582         from within Emacs.
4583         (syms_of_xfns): New symbols Qhide and Qresize_mode.
4584         (x-gtk-resize-child-frames): New option that allows to resize
4585         child frames on desktops like GNOME shell (with the mutter WM)
4586         that otherwise refuse to resize them.
4587         * src/xterm.c (x_set_offset): Don't x_sync_with_move for child
4588         frames, it makes moving child frames virtually impossible with
4589         the Lucid and Motif toolkits.
4591 2020-04-05  Philipp Stephani  <phst@google.com>
4593         Fix syntax error in man page.
4595         * doc/man/emacs.1.in: Fix syntax of --script argument.  The Info
4596         manual states that --script has to be followed by a space, and the
4597         syntax with the equals sign doesn't actually work.
4599 2020-04-05  Noam Postavsky  <npostavs@gmail.com>
4601         Handle filling of indented ChangeLog function entries
4603         * lisp/vc/log-edit.el (log-edit-fill-entry): Relax regexp a bit to
4604         recognize function entries with leading blanks.
4605         * test/lisp/vc/log-edit-tests.el: New test.
4607 2020-04-05  Noam Postavsky  <npostavs@gmail.com>
4609         Fix void-variable n-reb in re-builder (Bug#40409)
4611         * lisp/emacs-lisp/re-builder.el (reb-while): Take the current value of
4612         the counter instead of its name.
4613         (reb-mark-non-matching-parenthesis): Bind n-reb to 0 at the start and
4614         don't wrongly treat it as dynamically bound.
4616 2020-04-03  Philipp Stephani  <phst@google.com>
4618         Fix small bug in copy_string_contents.
4620         * src/emacs-module.c (module_copy_string_contents): Fix incorrect
4621         variable use.  In this branch 'lisp_str_utf8' is always nil, so it
4622         makes little sense to add it as error data.
4624 2020-04-03  Eli Zaretskii  <eliz@gnu.org>
4626         Fix invocations of gpg from Gnus
4628         * lisp/epg-config.el (epg-config--make-gpg-configuration): Bind
4629         coding-system-for-read/write to 'undecided', to countermand
4630         possible values of 'no-conversion' or somesuch by the callers.
4631         (Bug#40248)
4633 2020-04-03  Martin Rudalics  <rudalics@gmx.at>
4635         Don't draw GTK's internal border and tab bar on top of each other
4637         * src/xterm.c (x_clear_under_internal_border): For GTK builds
4638         have 'margin' count in the height of the tab bar to avoid that
4639         tab bar and internal border are drawn on top of each other.
4641 2020-04-03  Amin Bandali  <bandali@gnu.org>
4643         Tweak htmlfontify's generated output
4645         * lisp/htmlfontify.el (hfy-default-header): declare the character
4646         encoding for the generated HTML file.  This helps browsers display
4647         UTF-8 characters like the copyright symbol correctly.
4648         (hfy-sprintf-stylesheet): apply the default style to all of the text
4649         consistently, so that unstyled bits (which are not wrapped in span
4650         tags and are directly part of the surrounding pre tag's "innerHTML")
4651         have a look consistent with the rest of the document.
4653 2020-03-30  Dmitry Gutov  <dgutov@yandex.ru>
4655         Handle project--files-in-directory finding no files better
4657         * lisp/progmodes/project.el (project--find-regexp-in-files):
4658         Signal user-error when passed an empty list of files.
4660         * lisp/progmodes/xref.el (xref-matches-in-files):
4661         Make sure FILES is not empty.
4663 2020-03-30  Alan Mackenzie  <acm@muc.de>
4665         Let imenu to work on the menu bar when its list is a single non-nested member.
4667         * lisp/imenu.el (imenu-update-menubar): No longer accept a list of length 1 as
4668         being sufficient evidence for a nested list structure.  Instead, additionally
4669         check whether or not certain elements are atoms.
4671 2020-03-30  Juri Linkov  <juri@linkov.net>
4673         * lisp/image/image-converter.el: Fix customization of image-converter.
4675         * lisp/image/image-converter.el (image-convert-p): Update
4676         image-converter-regexp when image-converter was customized (bug#39994).
4678 2020-03-29  Andreas Schwab  <schwab@linux-m68k.org>
4680         Fix url-cookie.el for lexical binding
4682         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Use setq
4683         instead of set to modify lexical binding.
4685 2020-03-29  Noam Postavsky  <npostavs@gmail.com>
4687         Don't suggest setting face-remapping-alist to a literal (Bug#39812)
4689         * src/xfaces.c (syms_of_xfaces) <face-remapping-alist>: Use copy-tree
4690         in the costring example code, and note why.
4692 2020-03-27  Mattias Engdegård  <mattiase@acm.org>
4694         Calc: don't treat nil as an integer (bug#40155)
4696         Make Math-num-integerp return false for nil, following Math-integerp
4697         which was changed in the bignum reform.  This fixes a crash in
4698         calc-graph-fast.
4700         Reported by Narendra Joshi.
4702         * lisp/calc/calc-macs.el (Math-num-integerp): Not true for nil.
4703         * test/lisp/calc/calc-tests.el (calc-Math-integerp): New tests.
4705 2020-03-25  Eli Zaretskii  <eliz@gnu.org>
4707         * lisp/files.el (directory-files-recursively): Doc fix.  (Bug#40202)
4709 2020-03-25  Michael Albinus  <michael.albinus@gmx.de>
4711         Document how to disable Tramp file archives
4713         * doc/misc/tramp.texi (Archive file names): Explain how to disable
4714         file archives.
4716 2020-03-24  Lars Ingebrigtsen  <larsi@gnus.org>
4718         Don't add repeated xlmns:xlink declarations in svg-create
4720         * lisp/svg.el (svg-create): Fix previous unconditional addition of
4721         the xmlns:xlink declaration -- callers may already add one, and
4722         having it twice is something most svg libraries doesn't like.
4724 2020-03-23  Mattias Engdegård  <mattiase@acm.org>
4726         Calc: Declare dynamic variable bound in lexbind code (bug#40185)
4728         * lisp/calc/calc.el: Declare math-comp-selected as dynamic.
4730 2020-03-23  Eli Zaretskii  <eliz@gnu.org>
4732         Don't build the Gnulib 'utimens' module on MinGW
4734         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_utimens): Omit the
4735         'utimens' module in the MinGW build: 'utimens' is not used by
4736         Emacs, and 'fdutimens' is implemented in w32.c.
4738 2020-03-23  Phillip Lord  <phillip.lord@russet.org.uk>
4740         Add Harfbuzz dependency
4742         * admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as a dependency.
4744 2020-03-23  Noam Postavsky  <npostavs@gmail.com>
4746         Don't signal during backtrace unrewind (Bug#40088)
4748         backtrace_eval_unrewind is used to temporarily reverse
4749         let-bindings (it's called with a positive argument to reverse
4750         bindings, and then a negative argument to re-apply them) by
4751         backtrace--locals and backtrace-eval.  For the SPECPDL_LET_DEFAULT and
4752         SPECPDL_LET_LOCAL cases (which occur for let-bindings on buffer-local
4753         variables), the code calls Fdefault_value and Fbuffer_local_value on
4754         the symbol.
4756         For symbols which are unbound at top-level, the first (with positive
4757         argument) call to backtrace_eval_unrewind will set the symbol's value
4758         to unbound (putting the current value in the specpdl's "old value"
4759         slot).  On the second (with negative argument) call,
4760         backtrace_eval_unrewind attempts to retrieve the symbol's value with
4761         Fdefault_value or Fbuffer_local_value, but that raises a void-variable
4762         signal.  This interrupts the restoration of the let-bindings, so any
4763         other variables more recent on the stack will now have the wrong
4764         value.
4766         * src/data.c (default_value): Make non-static.
4767         * src/lisp.h: Declare it.
4768         * src/eval.c (backtrace_eval_unrewind): Replace the calls to
4769         Fdefault_value and Fbuffer_local_value with default_value and
4770         buffer_local_value, respectively.  The latter do exactly the same as
4771         the former, except if the symbol's value is Qunbound they just return
4772         it instead of signaling void-variable.
4774 2020-03-23  Noam Postavsky  <npostavs@gmail.com>
4776         Fix a couple of problems in changelog generating functions
4778         * lisp/vc/diff-mode.el (diff-add-log-current-defuns): If there is a
4779         scan-error when calling end-of-defun, go to end of hunk.  This can
4780         easily happen since we are calling end-of-defun on a partial code
4781         fragment from a diff.
4782         * lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): Bind
4783         display-buffer-overriding-action around the log-edit-show-diff call
4784         only.  Otherwise, it can affect, for example, debugger windows
4785         triggered by the diff-add-log-current-defuns call.
4787 2020-03-23  Noam Postavsky  <npostavs@gmail.com>
4789         Fix cl-concatenate (Bug#40180)
4791         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use apply, to avoid
4792         adding extra nesting of args.
4793         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-concatenate): New test.
4795 2020-03-21  Eli Zaretskii  <eliz@gnu.org>
4797         Improve documentation of project.el commands
4799         * lisp/progmodes/project.el (project-find-regexp): Require 'grep'
4800         to be able to call 'grep-read-files'.
4801         (project-search, project-query-replace-regexp): Doc fixes.
4803         * doc/emacs/maintaining.texi (Projects): New section.
4804         * doc/emacs/emacs.texi (Top): Add "Projects" to the detailed menu.
4806 2020-03-20  Zhu Zihao  <all_but_last@163.com>  (tiny change)
4808         Make svg images with links valid
4810         * lisp/svg.el (svg-create): Specify xlink namespace for svg images
4811         (bug#40010).
4813 2020-03-20  Juri Linkov  <juri@linkov.net>
4815         * lisp/tab-line.el (tab-line-new-button-show): New defcustom.
4817         * lisp/tab-line.el (tab-line-format-template): Use tab-line-new-button-show.
4818         (tab-line-new-tab-choice): Remove choice 'nil' with "No button".
4819         (tab-line-separator): Add docstring.
4821 2020-03-19  Lars Ingebrigtsen  <larsi@gnus.org>
4823         Don't have exif bugging out on short strings
4825         * lisp/image/exif.el (exif--direct-ascii-value): New function
4826         (bug#40127).
4827         (exif--parse-directory): Use it to get the correct values for
4828         in-directory (i.e., shorter than 4 octets) strings.
4830 2020-03-19  Robert Pluim  <rpluim@gmail.com>
4832         Use correct registry name for windows-1251 charset
4834         * src/ftfont.c (fc_charset_table): The registry to use to lookup
4835         windows-1251 charset is microsoft-cp1251, not windows-1251.
4836         (Bug#40097)
4838 2020-03-19  Amin Bandali  <bandali@gnu.org>
4840         ERC: Update maintainer address
4842 2020-03-18  Philipp Stephani  <phst@google.com>
4844         Remove raw carriage return characters from test file.
4846         This protects against tools that mangle newline characters in text
4847         files.
4849         * test/lisp/electric-tests.el (electric-pair-mode-newline-between-parens)
4850         (electric-layout-mode-newline-between-parens-without-e-p-m)
4851         (electric-layout-mode-newline-between-parens-without-e-p-m-2): Escape
4852         carriage return characters.
4854 2020-03-17  Robert Pluim  <rpluim@gmail.com>
4856         Recalculate default font when switching font backend
4858         This is an updated version of the patch by Dmitry Antipov
4859         <dmantipov@yandex.ru> in
4860         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23386#43>.
4862         Fixes Bug#23386
4864         * src/dispextern.h (struct redisplay_interface): New member
4865         default_font_parameter.
4866         * src/xterm.h: Add prototype for x_default_font_parameter.
4867         * src/xterm.c (x_redisplay_interface): Initialize
4868         default_font_parameter member.
4869         * src/xfns.c (x_default_font_parameter): Make non-static.
4870         * src/w32term.h: Add prototype for w32_default_font_parameter
4871         * src/w32fns.c (w32_default_font_parameter): Make non-static.
4872         * src/w32term.c (w32_redisplay_interface): Initialize
4873         default_font_parameter member.
4874         * src/nsterm.m (ns_redisplay_interface): Add dummy
4875         ns_default_font_parameter (there is currently only one possible font
4876         backend on macOS).  Initialize default_font_parameter member.
4877         * src/frame.c (gui_set_font_backend): Recalculate default font using
4878         RIF default_font_parameter to avoid crash when changing font backend.
4880 2020-03-17  Juri Linkov  <juri@linkov.net>
4882         * lisp/tab-line.el: Fix tab-line-format and tab-line-format-template.
4884         * lisp/tab-line.el (tab-line-format): Use buffer-name in the cache key
4885         instead of just buffer object to invalidate the cache on buffer renaming.
4886         (tab-line-format-template): Always leave the separator after the last tab
4887         like tab-bar.el already does.
4889 2020-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
4891         * etc/NEWS: Make the `--eval` example slightly more precise
4893 2020-03-15  Juri Linkov  <juri@linkov.net>
4895         * lisp/image/image-converter.el: Support more ImageMagick versions (bug#39994)
4897         * lisp/image/image-converter.el (image-converter--probe): Match
4898         a possible additional second column in some ImageMagick versions
4899         of "convert -list format".
4901 2020-03-14  Eli Zaretskii  <eliz@gnu.org>
4903         Support Unicode 13.0
4905         * admin/unidata/BidiBrackets.txt:
4906         * admin/unidata/BidiMirroring.txt:
4907         * admin/unidata/Blocks.txt:
4908         * admin/unidata/NormalizationTest.txt:
4909         * admin/unidata/SpecialCasing.txt:
4910         * admin/unidata/UnicodeData.txt:
4911         * admin/unidata/copyright.html:
4912         * test/manual/BidiCharacterTest.txt: Updated files imported from
4913         Unicode v13.0.
4915         * admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to
4916         known aliases.
4918         * lisp/international/fontset.el (script-representative-chars)
4919         (setup-default-fontset): Add new scripts.
4920         * lisp/international/characters.el: Set syntax for Symbols for
4921         Legacy Computing characters.  Update setting of char-width-table.
4922         * lisp/international/mule-cmds.el (ucs-names): Update ranges of
4923         characters for which we want names in 'ucs-names'.
4925         * test/lisp/international/ucs-normalize-tests.el
4926         (ucs-normalize-tests--failing-lines-part1)
4927         (ucs-normalize-tests--failing-lines-part2): Update according to
4928         'ucs-normalize-check-failing-lines'.
4930 2020-03-14  Lars Ingebrigtsen  <larsi@gnus.org>
4932         Fix regression in wisent-total-conflicts
4934         * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
4935         There may not be a current source file.  In that case, don't try
4936         to keep track of the number of expected conflicts (bug#39911).
4938 2020-03-14  Alan Mackenzie  <acm@muc.de>
4940         * lisp/progmodes/cc-defs.el (c-version): update to 5.34.1 for Emacs 27.1
4942         Don't merge to master.
4944 2020-03-14  Philipp Stephani  <phst@google.com>
4946         * lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.
4948 2020-03-14  Stefan Kangas  <stefankangas@gmail.com>
4950         Improve Package Menu hiding docstrings
4952         * lisp/emacs-lisp/package.el (package-menu-toggle-hiding): Add
4953         reference to 'package-menu-hidden-regexps'.
4954         * lisp/emacs-lisp/package.el (package-menu-hide-package): Improve
4955         docstring to say that hiding is saved in a user option.  Fix a
4956         typo.  (Bug#39436)
4958 2020-03-14  Eli Zaretskii  <eliz@gnu.org>
4960         Fix display of Big5 characters when using Fontconfig
4962         * src/ftfont.c (fc_charset_table): Fix the value of the big-5
4963         representative codepoint.  Reported by Brian Schack
4964         <bschack-cocoa@usa.net>.  (Bug#40057)
4966         * src/macfont.m (cf_charset_table): Adjust the comment.
4968 2020-03-13  Eli Zaretskii  <eliz@gnu.org>
4970         Fix a recent documentation change
4972         * doc/emacs/frames.texi (Mouse Commands): More detailed
4973         description of how tilting the mouse-wheel works.
4975         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
4976         (mouse-wheel-flip-direction): Fix the wording of doc strings.
4977         (Bug#39979)
4979 2020-03-13  Eli Zaretskii  <eliz@gnu.org>
4981         Fix last change
4983         * lisp/tab-bar.el (tab-bar-new-button-show): Fix wording of the
4984         doc string.
4986 2020-03-13  Juri Linkov  <juri@linkov.net>
4988         * lisp/tab-bar.el: Last-minute changes.
4990         * lisp/tab-bar.el (tab-bar-mode): Check for non-nil
4991         tab-bar-new-button and tab-bar-close-button.
4992         (tab-bar-new-button-show): New defcustom.
4993         (tab-bar-make-keymap-1): Check for tab-bar-new-button-show.
4994         (tab-bar-separator): Add docstring.
4996 2020-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
4998         * lisp/subr.el (cancel-change-group): Fix bug#39680
5000         Don't re-use an existing `pending-undo-list` even if (eq last-command 'undo)
5001         since there might have been changes to the buffer since that `undo` command
5002         and the `pending-undo-list` can hence be invalid for the current
5003         buffer contents.
5005 2020-03-12  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
5007         Improve docs for horizontal scrolling with mouse and touchpad (Bug#39979)
5009         * lisp/mwheel.el (mouse-wheel-tilt-scroll,
5010         mouse-wheel-flip-direction): Improve docstrings.
5011         * doc/emacs/frames.texi (Mouse Commands): Mention touchpads.
5013 2020-03-10  Juri Linkov  <juri@linkov.net>
5015         * lisp/emacs-lisp/package.el (package-install): Fix typo in docstring.
5017 2020-03-09  Paul Eggert  <eggert@cs.ucla.edu>
5019         Port .gdbinit to clang with -gdwarf-4
5021         * src/.gdbinit (xgetsym): Port to clang with -gdwarf-4, which
5022         doesn’t output the type of lispsym anywhere other than emacs.o
5023         (Bug#39962).
5025 2020-03-09  Mattias Engdegård  <mattiase@acm.org>
5027         Simplify rx example in manual
5029         * doc/lispref/searching.texi (Rx Notation):
5030         Use the 'not' shorthand introduced in Emacs 27.
5032 2020-03-09  Paul Eggert  <eggert@cs.ucla.edu>
5034         * src/timefns.c: Add comments.
5036 2020-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5038         * src/timefns.c: Add comments.
5040 2020-03-08  Andrew Eggenberger  <andrew.eggenberger@gmail.com>  (tiny change)
5042         Eliminate use of cl-concatenate in 'seq' package
5044         Fixes (Bug#39761) by making cl-extra dependent on seq rather than
5045         vice versa.
5046         * lisp/emacs-lisp/seq.el (seq-concatenate): Move cl-concatenate's
5047         code here instead of calling it.
5048         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use cl-concatenate.
5050 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
5052         Fix bug with JIT stealth timers
5054         * lisp/emacs-lisp/timer.el (run-at-time): Don’t assume that Lisp
5055         time values must be conses (Bug#39944).
5057 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
5059         * doc/lispref/os.texi (time-subtract): Doc fix.
5061 2020-03-07  Alan Third  <alan@idiocy.org>
5063         NS port documentation updates
5065         * doc/emacs/macos.texi (Mac / GNUstep Customization): Document some
5066         more of the ns- variables and remove incorrect font back-end
5067         information.
5068         * etc/NEWS: Update the documentation status of macOS news entries.
5070 2020-03-07  João Távora  <joaotavora@gmail.com>
5072         Let fido-mode users force a minibuffer-exit
5074         * lisp/icomplete.el (icomplete-fido-exit):
5075         Add FORCE arg.  Rewrite docstring. (bug#38992)
5077 2020-03-07  Dmitry Gutov  <dgutov@yandex.ru>
5079         icomplete-fido-exit: New command for the M-j binding
5081         * lisp/icomplete.el (icomplete-fido-exit): New command.
5082         (icomplete-fido-mode-map): Use it (bug#38992).
5084 2020-03-07  Dmitry Gutov  <dgutov@yandex.ru>
5086         minibuffer-force-complete-and-exit: Allow input with no matches
5088         * lisp/minibuffer.el (minibuffer--require-match): New variable.
5089         (completing-read-default): Bind it to the REQUIRE-MATCH value.
5090         (minibuffer-force-complete-and-exit): Consult it to allow input
5091         with no matches when a match is not required (bug#38992).
5093         * lisp/icomplete.el (icomplete-exhibit): Use it to render the
5094         correct parens around matches.
5096 2020-03-07  Eli Zaretskii  <eliz@gnu.org>
5098         Document that 'byte-compile-dynamic' is obsolete
5100         * doc/lispref/compile.texi (Dynamic Loading): Document that this
5101         is deprecated.
5103         * etc/NEWS: mark the 'byte-compile-dynamic' entry as documented.
5105 2020-03-07  Eli Zaretskii  <eliz@gnu.org>
5107         Document the changes in 'read-answer'
5109         * doc/lispref/minibuf.texi (Multiple Queries): Document the
5110         fact that 'read-answer' can now accept non-character input
5111         events.
5113 2020-03-07  Eli Zaretskii  <eliz@gnu.org>
5115         Document changes in lexical-binding
5117         * doc/lispref/variables.texi (Using Lexical Binding): Document
5118         that lexical-binding is now turned on by default in more cases.
5120         * etc/NEWS: Fix wording of the NEWS entry about the above, and mark it
5121         as fully documented.
5123 2020-03-06  Amin Bandali  <mab@gnu.org>
5125         Update ERC mailing list address
5127         * lisp/erc/erc.el (erc-official-location): As part of bringing ERC
5128         under the Emacs umbrella, erc-discuss has been renamed to emacs-erc,
5129         and will be *the* mailing list for discussions and announcements about
5130         ERC going forward.  The other two lists, erc-announce and erc-commit,
5131         are now retired.  For more details, see the announcement at
5132         <https://lists.gnu.org/r/emacs-erc/2020-03/msg00001.html>.
5134 2020-03-06  Roland Winkler  <winkler@gnu.org>
5136         Use regexp-opt to define bibtex-autokey-transcriptions.  (Bug#39686)
5138 2020-03-06  Eli Zaretskii  <eliz@gnu.org>
5140         Improve documentation of 'table-generate-source'
5142         * lisp/textmodes/table.el (table-generate-source): Doc fix.
5143         (Bug#39935)
5145         * etc/NEWS: Fix wording of the 'table-generate-source' entry and
5146         mark it as documented.
5148 2020-03-06  Eli Zaretskii  <eliz@gnu.org>
5150         Attempt to avoid rare segfaults in show_mouse_face
5152         * src/xdisp.c (show_mouse_face): Don't display the active region
5153         if called on a frame different from the one recorded in HLINFO.
5154         (Bug#37671)
5156 2020-03-05  Eli Zaretskii  <eliz@gnu.org>
5158         Avoid crashes when a fontset has strange entries
5160         * src/fontset.c (reorder_font_vector): Skip nil entries in the
5161         loop that assigns scores to rfont_def's.
5162         (fontset_compare_rfontdef): Cope with nil.  This has the effect of
5163         moving any nil entries to the end of the font-group, and avoids
5164         crashing if an element other than the last in the font-group is
5165         nil.  (Bug#39892)
5167 2020-03-05  Mattias Engdegård  <mattiase@acm.org>
5169         Fix rx error with ? and ??
5171         The ? and ?? rx operators are special in that they can be written as
5172         characters (space and '?' respectively).  This confused the definition
5173         look-up mechanism in rare cases.
5175         * lisp/emacs-lisp/rx.el (rx--expand-def): Don't look up non-symbols.
5176         * test/lisp/emacs-lisp/rx-tests.el (rx-charset-or): Test.
5178 2020-03-05  Mattias Engdegård  <mattiase@acm.org>
5180         * lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string.
5182 2020-03-05  Justin Burkett  <justin@burkett.cc>  (tiny change)
5184         Fix args in 'window-text-pixel-size' call in 'fit-window-to-buffer'
5186         * lisp/window.el (fit-window-to-buffer): Fix arguments in
5187         'window-text-pixel-size' call.
5189 2020-03-04  João Távora  <joaotavora@gmail.com>
5191         Have pulse.el preserve existing overlay priorities
5193         (Bug#39821)
5195         * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
5196         overlay priority.
5197         (pulse-momentary-unhighlight): Restore.
5199 2020-03-04  Alan Mackenzie  <acm@muc.de>
5201         CC Mode: Fix the handling of two adjacent after-change-functionses.
5203         The bug involved failing to set c-new-END correctly, which lead to an
5204         args-out-of-range error when after-change-functions was invoked twice without
5205         an intervening invocation of before-change-functions.
5207         * lisp/progmodes/cc-mode.el (c-after-change): Correct a coding error in the
5208         handling of c-just-done-before-change.
5210 2020-03-04  Alan Mackenzie  <acm@muc.de>
5212         Fix combine-change-calls-1 for when buffer-undo-list is t
5214         * lisp/subr.el (combine-change-calls-1): Bind before/after-change-functions to
5215         nil also when buffer-undo-list is t.
5217 2020-03-04  Mattias Engdegård  <mattiase@acm.org>
5219         Don't misinterpret doc string as initial value
5221         * lisp/loadhist.el (loadhist--restore-autoload):
5222         * lisp/progmodes/vhdl-mode.el (vhdl-font-lock-keywords-0):
5223         Prevent the doc string from being used as initial value.
5225 2020-03-04  Stefan Kangas  <stefankangas@gmail.com>
5227         Bump checkdoc-version to match library header
5229         * lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.
5231 2020-03-04  Noam Postavsky  <npostavs@gmail.com>
5233         Explain how to unset mode bindings (Bug#39802)
5235         * doc/emacs/custom.texi (Init Rebinding): Explain that passing nil to
5236         define-key will unbind keys, and extend the example accordingly.
5238 2020-03-04  Noam Postavsky  <npostavs@gmail.com>
5240         Fix describe-variable on values with circular syntax (Bug#39805)
5242         * lisp/help-fns.el (describe-variable): Set syntax tables before
5243         calling pp-buffer.
5245 2020-03-04  Juri Linkov  <juri@linkov.net>
5247         Improve documentation of next-error-highlight-no-select (bug#38778)
5249         * doc/emacs/building.texi (Compilation Mode):
5250         Mention next-error-highlight-no-select.
5252         * lisp/simple.el (next-error-highlight): Add reference to
5253         next-error-highlight-no-select.
5254         (next-error-highlight-no-select): Add reference to
5255         next-error-highlight.
5257 2020-03-03  Andreas Schwab  <schwab@linux-m68k.org>
5259         Fix implicit declaration of getenv and atol
5261         * src/gtkutil.c: Include <stdlib.h>.
5263 2020-03-03  Eli Zaretskii  <eliz@gnu.org>
5265         Fix handling MS-Windows keyboard input above the BMP
5267         * src/w32term.c (w32_read_socket): If we get a WM_UNICHAR message
5268         with a surrogate codepoint, assemble the corresponding character
5269         code above the BMP from its UTF-16 encoding, communicated in two
5270         consecutive WM_UNICHAR messages.
5272 2020-03-03  Mattias Engdegård  <mattiase@acm.org>
5274         * etc/NEWS: More complete description of rx 'not' changes.
5276 2020-03-02  Juri Linkov  <juri@linkov.net>
5278         * doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now uses the minibuffer.
5280 2020-03-02  Robert Pluim  <rpluim@gmail.com>
5282         Don't attempt to cache glyph metrics for FONT_INVALID_CODE
5284         This was causing massive slowdown in redisplay when eg #xfe0f
5285         (VARIATION SELECTOR-16) was present, as the cache ended up very large,
5286         unused, and being recreated on every call to font_fill_lglyph_metrics
5287         (Bug#39133).
5289         * src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out
5290         of loop.  Calculate glyph code and check for FONT_INVALID_CODE before
5291         calling font_fill_lglyph_metrics.  Pass glyph code to it.
5293         * src/font.c (font_fill_lglyph_metrics): Add code parameter, move
5294         glyph code calculation up the call stack into fill_gstring_body.
5296         * src/font.h: Adjust font_fill_lglyph_metrics prototype.
5298 2020-03-01  Sergey Trofimov  <sarg@sarg.org.ru>  (tiny change)
5300         Fix fit-frame-to-buffer for multi-monitor setup
5302         * lisp/window.el (fit-frame-to-buffer): Call
5303         'frame-monitor-attributes' instead of
5304         'display-monitor-attributes-list'.  Fix geometry calculations for
5305         multiple monitors.
5307 2020-03-01  Mattias Engdegård  <mattiase@acm.org>
5309         rx: Improve 'or' compositionality (bug#37659)
5311         Perform 'regexp-opt' on nested 'or' forms, and after expansion of
5312         user-defined and 'eval' forms.  Characters are now turned into strings
5313         for wider 'regexp-opt' scope.  This preserves the longest-match
5314         semantics for string in 'or' forms over composition.
5316         * doc/lispref/searching.texi (Rx Constructs): Document.
5317         * lisp/emacs-lisp/rx.el (rx--normalise-or-arg)
5318         (rx--all-string-or-args): New.
5319         (rx--translate-or): Normalize arguments first, and check for strings
5320         in subforms.
5321         (rx--expand-eval): Extracted from rx--translate-eval.
5322         (rx--translate-eval): Call rx--expand-eval.
5323         * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-def-in-or): Add tests.
5324         * etc/NEWS: Announce.
5326 2020-02-29  Juri Linkov  <juri@linkov.net>
5328         * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
5330         Distinguish offsets between manual-vs-automatic scrolling
5331         as integers-vs-floats instead of positive-vs-negative integers.
5333         * lisp/tab-line.el (tab-line-format-template): Use 'numberp'
5334         instead of 'integerp', and 'truncate' instead of 'abs'.
5335         (tab-line-format): When the window-buffer was updated, set window-parameter
5336         to float to enable auto-hscroll after it was disabled on manual scrolling.
5337         (tab-line-auto-hscroll-buffer): New variable with internal buffer.
5338         (tab-line-auto-hscroll): Erase in tab-line-auto-hscroll-buffer.
5339         Use 'numberp' instead of 'integerp', 'truncate' instead of 'abs',
5340         and 'float' instead of '-'.
5341         (tab-line-hscroll): Use 'numberp' instead of 'integerp',
5342         and 'truncate' instead of 'abs'.
5344 2020-02-29  Mattias Engdegård  <mattiase@acm.org>
5346         Fix rx charset generation
5348         * lisp/emacs-lisp/rx.el (rx--charset-p): Don't overquote.
5349         (rx--generate-alt): Generate '.' for negated newline.
5350         * test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-charset-or): Test.
5352 2020-02-28  Mattias Engdegård  <mattiase@acm.org>
5354         Fix overquoting in mule.el
5356         * lisp/international/mule.el (sgml-xml-auto-coding-function):
5357         Remove accidental quote.
5359 2020-02-28  Paul Eggert  <eggert@cs.ucla.edu>
5361         * src/timefns.c (time_arith): Omit incorrect comment.
5363 2020-02-28  Mattias Engdegård  <mattiase@acm.org>
5365         * lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string
5367 2020-02-28  Štěpán Němec  <stepnem@gmail.com>
5369         checkdoc: Don't mistake "cf." for sentence end
5371         * lisp/emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine):
5372         Recognize "cf." as an abbreviation, not a sentence end.
5374 2020-02-27  Nicolas Petton  <nicolas@petton.fr>
5376         Bump Emacs version to 27.0.90
5378         * README:
5379         * configure.ac:
5380         * msdos/sed2v2.inp:
5381         * nt/README.W32: Bump Emacs version.
5383 2020-02-27  Nicolas Petton  <nicolas@petton.fr>
5385         * etc/AUTHORS: Update.
5387 2020-02-27  Nicolas Petton  <nicolas@petton.fr>
5389         * admin/authors.el (authors-ignored-files): Fix entries.
5391 2020-02-26  Eric Abrahamsen  <eric@ericabrahamsen.net>
5393         Fix documented slot name of eieio-instance-tracker class
5395         * doc/misc/eieio.texi (eieio-instance-tracker): The code has the slot
5396           name as `tracking-symbol', not `tracker-symbol'.
5398 2020-02-26  Robert Pluim  <rpluim@gmail.com>
5400         Range-check width passed to define-fringe-bitmap
5402         This prevents a crash when attempting to create a zero-width bitmap.
5404         * src/fringe.c (Fdefine_fringe_bitmap): Check value of width,
5405         signal an error if outside documented range (Bug#39662).
5407 2020-02-26  Nicolas Petton  <nicolas@petton.fr>
5409         * admin/authors.el: Add missing entries
5411 2020-02-26  Noam Postavsky  <npostavs@gmail.com>
5413         Define libgnutls-version properly
5415         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: Define with
5416         DEFVAR_LISP and add docstring, so that this variable will accessible by
5417         help facilities.
5419 2020-02-25  Dmitry Gutov  <dgutov@yandex.ru>
5421         vc-dir-ignore: More accurately choose base directory
5423         * lisp/vc/vc-dir.el:
5424         (vc-dir-ignore): Use it (bug#37189).
5426         * lisp/vc/vc.el:
5427         (vc--ignore-base-dir): Extract from vc-ignore.
5429 2020-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5431         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Change last fix
5433         Make sure we always work in the selected-window's buffer.
5435 2020-02-23  Alan Mackenzie  <acm@muc.de>
5437         CC Mode: Protect against consecutive calls to before-change-functions ...
5439         without an intervening call to after-change-functions.  This would have been a
5440         workaround to bug #38691 had the causes of that bug not been removed.
5442         * lisp/progmodes/cc-mode.el (c-just-done-before-change): Add an extra value to
5443         this variable, 'whole-buffer, this being set by c-before-change as a signal to
5444         c-after-change that although c-before-change has run, it has assumed the
5445         entire buffer as the change region.
5446         (c-before-change, c-after-change): Adapt to the new meaning of the above.
5448 2020-02-23  Noam Postavsky  <npostavs@gmail.com>
5450         Shorten some ppss struct field names
5452         * lisp/emacs-lisp/syntax.el (ppss): Capitalize docstrings.
5453         (ppss-comment-depth): Renamed from ppss-comment-nesting.
5454         (ppss-quoted-p): Renamed from ppss-after-quote-p.
5455         (ppss-min-depth): Renamed from ppss-minimum-paren-depth.
5456         (ppss-open-parens): Renamed from ppss-open-paren-positions.
5457         * etc/NEWS: Announce the ppss-* accessors.
5459 2020-02-23  Alan Mackenzie  <acm@muc.de>
5461         Java Mode: Fix fontification of variable decl inside `for'
5463         * lisp/progmodes/cc-engine.el (c-forward-declarator): In place of a test for
5464         C++ Mode, test for either C++ Mode or Java Mode.
5466 2020-02-23  Alan Mackenzie  <acm@muc.de>
5468         CC Mode: Fontify foo in "const auto foo :" correctly
5470         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While attempting to
5471         find a declaration's identifier, recast the latest found id. as that
5472         identifier when there is no other type identifier and the result of the most
5473         recent c-forward-type call is 'maybe or 'found.  In the latter case, remove
5474         the id. from the found types list, too.
5476 2020-02-23  Juri Linkov  <juri@linkov.net>
5478         * lisp/replace.el (occur-engine-line): Revert part of fb16313025 (bug#39597)
5480 2020-02-23  Dmitry Gutov  <dgutov@yandex.ru>
5482         Move more logic to vc-ignore from vc-default-ignore
5484         * lisp/vc/vc-dir.el (vc-dir-ignore):
5485         Pass relative file names to vc-ignore.
5487         * lisp/vc/vc.el (vc-ignore): Move the responsibility of
5488         constructing the ignore pattern (right now, most often a relative
5489         file name) using a file name received from the user, here.
5490         (vc-default-ignore): ...from here (bug#37189, see discussion).
5491         Also clarify the docstring.
5493 2020-02-22  Eli Zaretskii  <eliz@gnu.org>
5495         Warn about the likes of "[:alnum:]" in regexps
5497         * doc/lispref/searching.texi (Char Classes): Warn about erroneous
5498         usage of named character classes.  Suggested by Stephen Leake
5499         <stephen_leake@stephe-leake.org>.
5501 2020-02-22  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
5503         Don't write absolute filenames and duplicate strings to CVS ignore files
5505         * lisp/vc/vc-cvs.el (vc-cvs-ignore): Expand filename correctly
5506         and pass on only the basename as the pattern.
5507         (vc-cvs-append-to-ignore) Do not write duplicate strings to
5508         .cvsignore.  New optional parameter SORT to more explicitly
5509         control sorting of the ignore entries.  (Bug#37215)
5510         * lisp/vc/pcvs.el (cvs-mode-ignore): Call 'vc-cvs-append-to-ignore'
5511         with SORT argument.
5513 2020-02-21  Federico Tedin  <federicotedin@gmail.com>
5515         Fix cursor-sensor--detect when current buf != selected window's buf
5517         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Avoid
5518         trying to read text properties from position taken from another
5519         buffer.  (Bug#38740)
5521 2020-02-21  Eli Zaretskii  <eliz@gnu.org>
5523         * doc/emacs/sending.texi (Mail Sending): Fix index entries.
5525 2020-02-21  Allen Li  <darkfeline@felesatra.moe>
5527         Document 'message-send-mail-function' in the Emacs manual
5529         Most of the manual here addresses Message mode, yet talks about
5530         'send-mail-function' which is used for Mail mode.
5531         Fixing this completely requires more involved work, but for now at
5532         least document the difference here.
5534         * doc/emacs/sending.texi (Mail Sending): Mention
5535         'message-send-mail-function'.  (Bug#39639)
5537 2020-02-21  Allen Li  <darkfeline@felesatra.moe>
5539         Fix reference to 'message-send-and-exit' in Emacs manual
5541         Most of the manual here addresses Message mode, and C-c C-c directly
5542         above cites the Message mode command, not the Mail mode command.
5544         * doc/emacs/sending.texi (Mail Sending): Fix reference.  (Bug#39639)
5546 2020-02-21  Steven Allen  <steven@stebalien.com>
5548         Skip shell prompt on current line in Eshell even if it's protected
5550         When the eshell prompt is protected (e.g., with rear non-sticky,
5551         inhibited movements, etc.), 'beginning-of-line' won't move to the
5552         actual beginning of the line and therefore won't skip over the
5553         prompt.
5554         * lisp/eshell/em-prompt.el (eshell-previous-prompt): Use
5555         'forward-line' to go to the beginning of the line, even if it's
5556         protected.  (Bug#39627)
5558 2020-02-20  Mattias Engdegård  <mattiase@acm.org>
5560         Fix broken regexps
5562         Incorrect escaping prevented these from working as intended.
5563         Found by relint.
5565         * lisp/progmodes/cc-defs.el (c-search-backward-char-property):
5566         Add missing backslash.
5567         * lisp/progmodes/simula.el (simula-mode):
5568         Remove one backslash too many.
5570 2020-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5572         * Makefile.in (PREFERRED_BRANCH): Now emacs-27.
5574 2020-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5576         Fix bug when visiting euc-jp-encoded directories
5578         Problem reported by Kan Sasaki (Bug#39672).
5579         * src/fileio.c (Ffile_directory_p):
5580         Encode filename before giving it to file_directory_p.
5581         This fixes a typo introduced in
5582         2019-09-18T02:18:14Z!eggert@cs.ucla.edu.
5584 2020-02-17  Paul Eggert  <eggert@cs.ucla.edu>
5586         Clarify when fixnums are used.
5588         * doc/lispref/numbers.texi (Integer Basics): Clarify.
5589         Based on a suggestion by Noam Postavsky (Bug#39557#32).
5591 2020-02-17  Paul Eggert  <eggert@cs.ucla.edu>
5593         Reorder discussion of integer basics
5595         * doc/lispref/numbers.texi (Integer Basics): Put the fixnum/bignum
5596         discussion at the end of the section, not at the start (Bug#39557).
5598 2020-02-17  Mattias Engdegård  <mattiase@acm.org>
5600         Make OMake support slightly less expensive (bug#39595)
5602         When run with -p or -P, OMake regurgitates error messages that
5603         prevented further progress, indented by 6 spaces.  Use that fact
5604         to ameliorate the modification done to other error message regexps.
5606         * lisp/progmodes/compile.el (compilation-parse-errors):
5607         When 'omake' is enabled, allow error messages to be indented by 0 or 6
5608         spaces instead of any number of spaces, to avoid pathological
5609         behaviour.
5610         (compilation-error-regexp-alist-alist): Anchor the 'omake' pattern to
5611         bol for performance.  Repair the 'ruby-Test::Unit' pattern, which
5612         relied on the previously over-generous 'omake' hack.
5613         * etc/compilation.txt (OMake): Add examples.
5614         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
5615         (compile-test-error-regexps): Add test for OMake (indented error).
5617 2020-02-17  Mattias Engdegård  <mattiase@acm.org>
5619         Speed up 'msft' and 'watcom' compilation error regexps
5621         They have similar structure, and both suffer from being able to
5622         match leading spaces in multiple ways which leads to bad performance
5623         when backtracking (bug#39595).
5625         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
5626         Improved 'msft' and 'watcom' regexps.
5628 2020-02-17  Mattias Engdegård  <mattiase@acm.org>
5630         Speed up 'maven' compilation error message regexp
5632         Anchor the regexp at line-start to prevent quadratic behaviour when
5633         it doesn't match (bug#39595).  It's unclear whether the type tag, like
5634         [ERROR], is always present; we keep it optional just in case.
5636         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
5637         Rewrite 'maven' regexp, using rx for clarity.
5638         * etc/compilation.txt (maven): More examples.
5639         * test/lisp/progmodes/compile-tests.el
5640         (compile-tests--test-regexps-data): No leading spaces; they seems to
5641         stem from a misunderstanding in bug#11517.
5643 2020-02-16  Alan Mackenzie  <acm@muc.de>
5645         Amend c-backward-sws better to handle multiline block comments
5647         In particular, multiline comments lacking escaped newlines.
5649         * lisp/progmodes/cc-engine.el (c-backward-sws): Whilst searching backward for
5650         a putative beginning of macro, move back over block comments whose innards
5651         lack escaped newlines.
5653 2020-02-16  Alan Mackenzie  <acm@muc.de>
5655         Reformulate c-end-of-macro, handling multiline block comments better
5657         * lisp/progmodes/cc-langs.el (c-last-open-c-comment-start-on-line-re): Comment
5658         out.
5659         (c-open-c-comment-on-logical-line-re): Remove.
5661         * lisp/progmodes/cc-engine.el (c-end-of-macro): Handle multiline block
5662         comments lacking escaped newlines using parse-partial-sexp rather than the
5663         former variables removed from cc-langs.el.
5665 2020-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5667         Fix unexec failure on macOS 10.15.4
5669         * src/unexmacosx.c (unexec_regions_merge): Align region start addresses to
5670         page boundaries and then merge regions.
5672 2020-02-15  Eli Zaretskii  <eliz@gnu.org>
5674         Fix 'reverse-region' when less than one line is in region
5676         * lisp/sort.el (reverse-region): Signal a user-error if the region
5677         includes less than one full line, thus avoiding an inadvertent
5678         deletion of text following the current line.  Fix the doc string.
5679         Fix comments to start with a capital letter.  (Bug#39376)
5681 2020-02-15  Pieter van Oostrum  <pieter@vanoostrum.org>
5683         Correct default regexp in 'package-menu-hide-package'
5685         * lisp/emacs-lisp/package.el (package-menu-mode-menu): Correct default
5686         regexp, so it only selects the package at point.
5687         (Bug#39436)
5689 2020-02-15  Pieter van Oostrum  <pieter@vanoostrum.org>
5691         Remove obsolete menu entry "Redisplay buffer"
5693         * lisp/emacs-lisp/package.el (package-menu-mode-menu): Remove obsolete
5694         menu entry "Redisplay buffer".
5695         (package-menu-mode-menu): Menu entry "Refresh Package List":
5696         make the doc string more accurate.
5697         (Bug#39436)
5699 2020-02-14  Mattias Engdegård  <mattiase@acm.org>
5701         Remove redundant 'msft' compilation error rule (bug#39595)
5703         When the 'msft' rule was moved and modified, the old copy was left
5704         in place by mistake.
5706         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
5707         Remove old rule.
5709 2020-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5711         * doc/lispref/variables.texi (special-variable-p): Clarify limits
5713 2020-02-13  Mattias Engdegård  <mattiase@acm.org>
5715         Remove the optional KEEP-ORDER argument to regexp-opt
5717         This argument was added for the 'or' clause in rx, but it turned out
5718         to be a bad idea (bug#37659), and there seems to be little other use
5719         for it.
5721         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Remove KEEP-ORDER.
5722         * doc/lispref/searching.texi (Regexp Functions):
5723         * etc/NEWS: Remove it from the documentation.
5724         * test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-test--match-all)
5725         (regexp-opt-test--check-perm, regexp-opt-test--explain-perm)
5726         (regexp-opt-keep-order, regexp-opt-longest-match): Simplify test.
5728 2020-02-13  Alan Mackenzie  <acm@muc.de>
5730         Make after-change-functions called from call-process get the correct BEG
5732         This fixes bug #39585.
5734         * src/callproc.c (call_process): Supply the correct CHARPOS to
5735         signal_after_change (twice).
5737 2020-02-13  Bastien  <bzg@gnu.org>
5739         doc/misc/org.texi: Fix @dircategory
5741         * doc/misc/org.texi: Fix @dircategory.
5743 2020-02-12  Eli Zaretskii  <eliz@gnu.org>
5745         Fix display of minibuffer prompt in ido.el
5747         * lisp/minibuffer.el (minibuffer--message-overlay-pos): New
5748         function.
5749         (set-minibuffer-message): Use it to determine where to show the
5750         overlay with the temporary message.
5751         * lisp/ido.el (ido-exhibit): Revert "Render Ido suggestions using
5752         an overlay"; this restores the original code which inserted the
5753         match-status information into the minibuffer, instead of
5754         displaying it in an overlay with an after-string.  Put the special
5755         'minibuffer-message' text property at the beginning of the
5756         inserted text.  (Bug#39379)
5758         * etc/NEWS:
5759         * doc/lispref/display.texi (Displaying Messages):
5760         * doc/lispref/text.texi (Special Properties): Document the
5761         'minibuffer-message' text property and its effect.
5763 2020-02-12  Mattias Engdegård  <mattiase@acm.org>
5765         rx: Use longest match for all-string 'or' forms (bug#37659)
5767         Revert to the Emacs 26 semantics that always gave the longest match
5768         for rx 'or' forms with only string arguments.  This guarantee was
5769         never well documented, but it is useful and people likely have come to
5770         rely on it.  For example, prior to this change,
5772          (rx (or ">" ">="))
5774         matched ">" even if the text contained ">=".
5776         * lisp/emacs-lisp/rx.el (rx--translate-or): Don't tell regexp-opt to
5777         preserve the matching order.
5778         * doc/lispref/searching.texi (Rx Constructs): Document the
5779         longest-match guarantee for all-string 'or' forms.
5780         * test/lisp/emacs-lisp/rx-tests.el (rx-or): Update test.
5782 2020-02-11  Wolfgang Scherer  <Wolfgang.Scherer@gmx.de>
5784         Make sure not to mark directories
5786         * lisp/vc/vc-dir.el (vc-dir-mark-all-files):
5787         Make sure not to mark directories (bug#37182).
5789 2020-02-11  Dmitry Gutov  <dgutov@yandex.ru>
5791         vc-hg-dir-status-files: Fix when DIR is not repository root
5793         * lisp/vc/vc-hg.el (vc-hg-dir-status-files):
5794         Make sure it works correctly in a subdirectory of the repo root.
5795         Bind default-directory to DIR and add 're: -I .' to the arguments
5796         (bug#39380).
5798 2020-02-11  Alan Third  <alan@idiocy.org>
5800         Revert "Fix display of working text on NS (Bug#23412, Bug#1453)"
5802         This reverts commit ba042176d8931cdf9441b3b4919ec74b75019494.
5804         Do not merge to master (bug#38851)
5806 2020-02-10  Alan Mackenzie  <acm@muc.de>
5808         c-end-of-macro: Handle block comment lines with unescaped NLs correctly
5810         * lisp/progmodes/cc-langs.el (c-last-open-c-comment-start-on-line-re): Make
5811         obsolete, and supersede by ...
5812         (c-open-c-comment-on-logical-line-re): New language variable.
5814         * lisp/progmodes/cc-engine.el (c-end-of-macro): Inside macros, handle
5815         multiline block comments whose line ends are not escaped correctly.
5817 2020-02-09  Eli Zaretskii  <eliz@gnu.org>
5819         Fix set-fontset-font with ADD arg non-nil
5821         * src/fontset.c (fontset_add): Fix off-by-one error at TO.
5822         (Bug#39482)
5824 2020-02-09  Alan Mackenzie  <acm@muc.de>
5826         Correct "different than" to "different from" where appropriate
5828         (doc/emacs/screen.texi)
5829         (doc/lispintro/emacs-lisp-intro.texi)
5830         (doc/misc/calc.texi)
5831         (doc/misc/gnus.texi)
5832         (doc/misc/sc.texi)
5833         (lisp/align.el)
5834         (lisp/allout-widgets.el)
5835         (lisp/allout.el)
5836         (lisp/emacs-lisp/gv.el)
5837         (lisp/font-lock.el)
5838         (lisp/gnus/mm-util.el)
5839         (lisp/mail/feedmail.el)
5840         (lisp/mail/sendmail.el)
5841         (lisp/mail/supercite.el)
5842         (lisp/org/org-attach.el)
5843         (lisp/progmodes/cc-langs.el)
5844         (lisp/progmodes/idlw-shell.el)
5845         (lisp/ps-print.el)
5846         (lisp/simple.el)
5847         (src/cmds.c)
5848         (src/editfns.c)
5849         (src/frame.h)
5850         (src/regex-emacs.c)
5851         (src/xfaces.c): Replace "different than" by "different from".
5853 2020-02-08  Eli Zaretskii  <eliz@gnu.org>
5855         More accurate documentation of 'package-menu-hide-package'
5857         * doc/emacs/package.texi (Package Menu): Improve the description
5858         of the 'H' command.
5860         * lisp/emacs-lisp/package.el (package-menu-mode-menu): More
5861         accurate wording of the help-echo string.
5862         (package-menu-hide-package): Make the doc string more accurate.
5863         (Bug#39436)
5865 2020-02-06  Stefan Kangas  <stefankangas@gmail.com>
5867         Revert "Signal user-error on duplicate package refresh"
5869         That commit caused errors when the connection was dropped in the
5870         middle of a package refresh.  To avoid any further issues this close
5871         to the pretest, we simply remove this feature.  (Bug#39187)
5873         Don't merge to master, where we will instead try to fix the bug.
5875 2020-02-05  Juri Linkov  <juri@linkov.net>
5877         Wrap some set-auto-mode calls with delay-mode-hooks (bug#39190)
5879         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
5880         * lisp/vc/diff-mode.el (diff-syntax-fontify-props):
5881         * lisp/vc/vc.el (vc-find-revision-no-save):
5882         Add delay-mode-hooks around set-auto-mode calls
5883         to not run hooks that might assume buffer-file-name
5884         really associates buffer with a file.
5886 2020-02-04  Dmitry Gutov  <dgutov@yandex.ru>
5888         Support ido-vertical-mode better
5890         * lisp/ido.el (ido-exhibit):
5891         Prepend a space to INF if it starts with a newline (bug#39379).
5893 2020-02-04  Juri Linkov  <juri@linkov.net>
5895         Fix faces tab-bar and tab-line.
5897         * lisp/tab-bar.el (tab-bar) <defface>:
5898         * lisp/tab-line.el (tab-line) <defface>:
5899         Check for min-colors 88 instead of type x.
5901 2020-02-03  Robert Pluim  <rpluim@gmail.com>
5903         Cater for 3-argument version of pthread_setname_np
5905         Fixes Bug#39363.
5907         * configure.ac: Add check for 3-argument version of
5908         pthread_setname_np.
5909         * src/systhread.c (sys_thread_set_name)
5910         [HAVE_PTHREAD_SETNAME_NP_3ARG]: Call pthread_setname_np with
5911         3 arguments.
5913 2020-02-02  Mattias Engdegård  <mattiase@acm.org>
5915         Clarify lexvar restrictions for add-to-ordered-list, add-to-history
5917         * lisp/subr.el (add-to-ordered-list, add-to-history):
5918         * doc/lispref/lists.texi (List Variables):
5919         * doc/lispref/minibuf.texi (Minibuffer History):
5920         Note in the doc string and manual that the variable arguments to
5921         add-to-ordered-list and add-to-history cannot refer to a lexical
5922         variable (bug#39373).
5924 2020-02-01  Mattias Engdegård  <mattiase@acm.org>
5926         Replace add-to-list to lexical variable with push (bug#39373)
5928         Since 'add-to-list', being a plain function, cannot access lexical
5929         variables, such use must be rewritten for correctness.
5930         (Some instances actually do work thanks to a compiler macro,
5931         but it's not something code should rely on.)
5933         * lisp/autoinsert.el (auto-insert-alist):
5934         * lisp/cedet/mode-local.el (mode-local-print-bindings):
5935         * lisp/net/tramp-cache.el (tramp-flush-connection-properties)
5936         (tramp-list-connections):
5937         * lisp/net/zeroconf.el (zeroconf-list-service-names)
5938         (zeroconf-list-service-types, zeroconf-list-services):
5939         * lisp/org/org.el (org-reload):
5940         * lisp/whitespace.el (whitespace-report-region):
5941         * test/lisp/emacs-lisp/map-tests.el (test-map-do):
5942         Replace add-to-list with push.
5944 2020-02-01  Mattias Engdegård  <mattiase@acm.org>
5946         Clarify add-to-list documentation (bug#39373)
5948         While add-to-list often works with lexical variables, this is a hack
5949         that isn't always effective; better tell the user not to try.
5951         * doc/lispref/lists.texi (List Variables): Add a note about lexical
5952         variables to the add-to-list description.  Fix the equivalent code.
5953         * lisp/subr.el (add-to-list): Amend doc string.
5955 2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>
5957         MH-E: alter content in mh-display-msg, not mh-show-mode
5959         * lisp/mh-e/mh-show.el (mh-display-msg, mh-show-mode):  buffer-altering
5960         code formerly in mh-show-mode is moved to the location in mh-display-msg
5961         where mh-show-mode used to be called before the fix to MH-E bug #470
5962         moved the call earlier.
5964 2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>
5966         Update documentation for mh-show-mode-hook
5968         * lisp/mh-e/mh-e.el, doc/misc/mh-e.texi (mh-show-mode-hook): Now that
5969         the fix for MH-E bug #470 calls mh-show-mode-hook earlier, update the
5970         documentation to no longer say that the message contents are available.
5972 2020-02-01  Stephen Gildea  <stepheng+emacs@gildea.com>
5974         Example goto-addr hook: MH-E already uses goto-address
5976         * lisp/net/goto-addr.el, doc/emacs/misc.texi: Do not use MH-E as the
5977         example of how to add a hook to goto-address, because MH-E calls
5978         goto-address internally.
5980 2020-01-31  Ken Brown  <kbrown@cornell.edu>
5982         Extend workaround for Cygwin O_PATH bug
5984         * configure.ac (HAVE_CYGWIN_O_PATH_BUG): Extend to Cygwin versions
5985         3.1.0 through 3.1.2.  (Bug#39371)
5987 2020-01-31  Paul Pogonyshev  <pogonyshev@gmail.com>
5989         * lisp/emacs-lisp/debug.el (debug): Merge the non-interactive cases
5991         bug#38927
5993         (cherry picked from commit 502059433ce0e9699eb73d21656ce6e9e127d63b)
5995 2020-01-31  Ansgar Burchardt  <ansgar@43-1.org>
5997         Add more blackboard bold characters to TeX input method
5999         This patch adds all capital blackboard bold letters and those for "1"
6000         and "2". Most characters are in common use in mathematics, but it does
6001         not seem useful to exclude the few not widely used.
6003         Reference: https://en.wikipedia.org/wiki/Blackboard_bold
6005         * lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Add all
6006         the blackboard bold commands from AMSTeX.  (Bug#21103)
6008 2020-01-31  Yuan Fu  <casouri@gmail.com>
6010         Protect against errors in gdb-mi.el handlers
6012         * lisp/progmodes/gdb-mi.el (gdb-handle-reply): Handle errors
6013         in 'handler-function' so the cleanup code after it runs
6014         safely.  (Bug#39178)
6016 2020-01-31  Eli Zaretskii  <eliz@gnu.org>
6018         Allow exiting the Python interpreter of a GDB session
6020         * lisp/progmodes/gdb-mi.el (gdb-delchar-or-quit): Send EOF to GDB
6021         if we are in an embedded interpreter.  This allows to exit from
6022         "pi" cleanly.  (Bug#39140)
6024 2020-01-31  Federico Tedin  <federicotedin@gmail.com>
6026         Ensure minibuffer input is added to history in read_minibuf
6028         * src/minibuf.c (read_minibuf): Parse input string after saving
6029         the string to the history list instead of before, in case parsing
6030         signals an error or is interrupted by C-g.  (Bug#39291)
6032 2020-01-29  Juri Linkov  <juri@linkov.net>
6034         Tab-bar related fixes.
6036         * lisp/cus-start.el (tab-bar-mode): Use dedicated group 'tab-bar'.
6038         * lisp/tab-bar.el (tab-bar-history-mode): Add :group 'tab-bar'.
6039         (tab-bar-get-buffer-tab): Add optional arg 'ignore-current-tab'.
6041         * lisp/desktop.el (desktop-buffers-not-to-save-function): Add docstring.
6043 2020-01-29  Nicolas Petton  <nicolas@petton.fr>
6045         * admin/authors.el: Add missing entries.
6047 2020-01-27  Stephen Gildea  <stepheng+emacs@gildea.com>
6049         dns-mode-soa-auto-increment-serial: safe if symbolp
6051         * lisp/textmodes/dns-mode.el (dns-mode-soa-auto-increment-serial):
6052         Mark variable as safe as a file local variable when symbolp.
6054 2020-01-27  Juri Linkov  <juri@linkov.net>
6056         * lisp/wdired.el: Clean out isearch-filter-predicate (bug#37496)
6058         * lisp/wdired.el (wdired-change-to-dired-mode): Use remove-function to
6059         remove wdired-isearch-filter-read-only (whose value was added in
6060         wdired-change-to-wdired-mode) from local value of isearch-filter-predicate.
6062 2020-01-27  Alan Mackenzie  <acm@muc.de>
6064         Finish the documentation for c-noise-macro-{,with-parens-}names.
6066         The doc strings and pertinent CC Mode manual page failed to mention that these
6067         variables could also be regular expressions.  Amend them.
6069         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
6070         (c-noise-macro-with-parens-names): Amend the doc strings.
6072         * doc/misc/cc-mode.texi (Noise Macros): Amend the descriptions of the two
6073         variables.
6075 2020-01-26  Mattias Engdegård  <mattiase@acm.org>
6077         Correct regexp for flags in `format' doc string
6079         * src/editfns.c (Fformat): Use the correct regexp for describing the
6080         flags in a %-sequence (place the hyphen last).
6082 2020-01-26  Mattias Engdegård  <mattiase@acm.org>
6084         Moderate recommendation to escape '(' in doc strings
6086         Thanks to 57e2ca5c50 and related changes, opening brackets at the
6087         leftmost column inside doc strings are no longer mistaken for the
6088         start of a defun.
6090         * doc/lispref/tips.texi (Documentation Tips): Clarify recommendation
6091         and move it down the list.
6092         * etc/NEWS: Announce.
6094 2020-01-26  Alan Mackenzie  <acm@muc.de>
6096         Objective C Mode: Make c-forward-type work with "unsigned long", etc.
6098         This allows the correct fontification of and correct functioning of C-c C-z
6099         (c-display-defun-name) in ns_get_pixel in Emacs's src/nsimage.m.
6101         * lisp/progmodes/cc-langs.el (c-primitive-type-prefix-kwds): For objc, use the
6102         same value as for c and c++ rather than the default nil.
6104 2020-01-26  Marco Wahl  <marcowahlsoft@gmail.com>
6106         Fix help text about configure module support
6108 2020-01-25  Stefan Kangas  <stefankangas@gmail.com>
6110         * doc/lispref/streams.texi (Output Functions): Improve indexing.
6112 2020-01-25  Stefan Kangas  <stefankangas@gmail.com>
6114         Improve doc string of 'newline'
6116         * lisp/simple.el (newline): Doc fix.  Move 'use-hard-newlines' down,
6117         since it's less important than the meaning of the prefix argument, and
6118         is less frequently used than 'electric-indent-mode' and
6119         'auto-fill-mode'.  Change the wording to no longer call it an
6120         option.
6122 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
6124         Improve doc of eq on bignums etc.
6126         * doc/lispref/numbers.texi (Integer Basics):
6127         * doc/lispref/objects.texi (Integer Type, Equality Predicates):
6128         Be clearer about eq vs eql vs = on bignums, floats, and strings.
6130 2020-01-24  Mario Lang  <mlang@blind.guru>
6132         Do not refer to obsolete alias
6134 2020-01-24  Alan Third  <alan@idiocy.org>
6136         Remove EmacsOpenPanel and EmacsSavePanel (bug#38031)
6138 2020-01-24  Eli Zaretskii  <eliz@gnu.org>
6140         * doc/emacs/files.texi (Auto Save Files): Improve indexing (bug#39259).
6142 2020-01-24  Eli Zaretskii  <eliz@gnu.org>
6144         Fix inaccurate wording in the Emacs manual
6146         * doc/emacs/custom.texi (Modifier Keys):
6147         * doc/emacs/basic.texi (Inserting Text): Fix minor inaccuracies in
6148         describing the 'Alt' modifier.  (Bug#39254)
6150 2020-01-23  Amin Bandali  <mab@gnu.org>
6152         Update ERC module URLs
6154         * lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el,
6155         lisp/erc/erc-compat.el, lisp/erc/erc-fill.el, lisp/erc/erc-imenu.el,
6156         lisp/erc/erc-join.el, lisp/erc/erc-lang.el, lisp/erc/erc-match.el,
6157         lisp/erc/erc-pcomplete.el, lisp/erc/erc-ring.el,
6158         lisp/erc/erc-spelling.el, lisp/erc/erc-stamp.el,
6159         lisp/erc/erc-track.el: Update URL to friendlier form, over https.
6160         * lisp/erc/erc-ibuffer.el: Remove URL to nonexistent page.
6161         * lisp/erc/erc-list.el, lisp/erc/erc-log.el, lisp/erc/erc-notify.el,
6162         lisp/erc/erc-replace.el, lisp/erc/erc-services.el,
6163         lisp/erc/erc-sound.el, lisp/erc/erc-speedbar.el,
6164         lisp/erc/erc-truncate.el: Add URL to corresponding EmacsWiki page.
6166 2020-01-23  Lars Ingebrigtsen  <larsi@gnus.org>
6168         Minor doc string clarification in use-hard-newlines
6170         * lisp/textmodes/paragraphs.el (use-hard-newlines): Clarify that
6171         this minor mode isn't global (bug#20461).
6173 2020-01-23  Tino Calancha  <tino.calancha@gmail.com>
6175         Backport: Fix bug 39218
6177         * lisp/simple.el (shell-command):
6178         Ensure a shell command ending with `&' is run asynchronously.
6180 2020-01-22  Stefan Kangas  <stefankangas@gmail.com>
6182         Prefer saying "Info manual" to "info page" in docs
6184         Pointed out by Eli Zaretskii in:
6185         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39215#14
6186         * doc/emacs/Makefile.in:
6187         * doc/lispintro/Makefile.in:
6188         * doc/lispref/Makefile.in:
6189         * doc/misc/Makefile.in:
6190         * lisp/dired-x.el (top-level):
6191         * lisp/gnus/gnus-sum.el (gnus-summary-mode):
6192         * lisp/progmodes/cperl-mode.el (cperl-info-page): Doc fix; prefer
6193         saying "Info manual" over "info page".
6195 2020-01-22  Juri Linkov  <juri@linkov.net>
6197         Tab-bar related finishing touches.
6199         * lisp/tab-bar.el (tab-bar-tab-name-ellipsis): Use shorter name
6200         instead of tab-bar-tab-name-truncated-ellipsis.
6201         (tab-bar-new-tab-to) <defcustom>: Add 'function' option.
6202         (tab-bar-new-tab-to) <function>: Use it.
6204         * lisp/tab-line.el (tab-line-close-tab): Add missing arg 'tab' to
6205         tab-line-close-tab-function funcall.
6207 2020-01-22  Alan Mackenzie  <acm@muc.de>
6209         Make call_process call signal_after_change.  This fixes bug #38691.
6211         Now, functions such as call-proess-region invoke after-change-functions
6212         correctly.
6214         * src/callproc.c (call_process): Call prepare_to_modify_buffer in a single
6215         place, no longer delegating the task to insert_1_both, etc.  Call
6216         signal_after_change in each of two code branches, such that
6217         before-change-functions and after-change-functions are always called in
6218         balanced pairs.
6220 2020-01-22  Paul Eggert  <eggert@cs.ucla.edu>
6222         * lisp/simple.el: Minor fixes to commentary.
6224 2020-01-22  Eli Zaretskii  <eliz@gnu.org>
6226         Fix a few typos
6228         * etc/NEWS: Fix a typo.
6230         * src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
6231         * src/dispnew.c (scrolling_window): Fix typos in comments.
6233 2020-01-22  Christophe Deleuze  <christophe.deleuze@free.fr>
6235         Fix doc strings for image-dired rotation commands
6237         * lisp/image-dired.el (image-dired-rotate-thumbnail-left)
6238         (image-dired-rotate-thumbnail-right)
6239         (image-dired-rotate-original-left)
6240         (image-dired-rotate-original-right): Move the text in the doc
6241         strings about rotating the originals to the correct commands
6242         (bug#38928).
6244 2020-01-22  Dmitry Gutov  <dgutov@yandex.ru>
6246         Render Ido suggestions using an overlay
6248         * lisp/ido.el (ido--overlay): New variable.
6249         (ido-exhibit): Render with 'after-string' on an overlay
6250         (bug#38457).
6252 2020-01-22  Michael Albinus  <michael.albinus@gmx.de>
6254         * doc/misc/tramp.texi (Bug Reports): Encourage use of "emacs -Q".
6256 2020-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
6258         * lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#38456
6260         This situation is not an internal error, but a perfectly normal occurrence,
6261         so a `cl-assert` is not right
6263 2020-01-21  Robert Pluim  <rpluim@gmail.com>
6265         Correct statement about ftcr and recommend HarfBuzz
6267         * doc/lispref/frames.texi (Font and Color Parameters): Correct
6268         statement about availability of ftcr in the presence of HarfBuzz.
6269         Recommend HarfBuzz.
6271 2020-01-21  Eli Zaretskii  <eliz@gnu.org>
6273         Avoid leaving artifacts when the system caret is used on w32
6275         * src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
6276         * src/dispnew.c (scrolling_window) [HAVE_NTGUI]: If
6277         w32-use-visible-system-caret is non-nil, disallow scrolling the
6278         display are in scroll_run_hook.  This avoids copying traces of the
6279         caret, about which Emacs knows nothing, and thus considers those
6280         pixels show the default background.  (Bug#39188)
6281         (gui_update_window_end): Block input only around part of the code,
6282         as we did before this code was extracted from backend-specific
6283         implementations.
6285         * src/w32term.c (w32_update_window_begin, w32_update_window_end):
6286         Only hide/show the caret when redisplaying the window where the
6287         caret is shown.
6289 2020-01-21  Eli Zaretskii  <eliz@gnu.org>
6291         Improve display of temporary echo messages
6293         * lisp/minibuffer.el (set-minibuffer-message): Fix cursor position
6294         for the temporary display of an echo-area message when minibuffer
6295         is active.  Ensure the message is visible even if the end of the
6296         completion candidates presented by the likes of Icomplete mode is
6297         not visible due to its length, under resize-mini-windows = nil.
6298         (Bug#38457)
6300 2020-01-20  Juri Linkov  <juri@linkov.net>
6302         * lisp/menu-bar.el: Remove desktop-save-mode from release branch (bug#37594)
6304 2020-01-20  Juri Linkov  <juri@linkov.net>
6306         Allow optional truncation of tab names in tab-bar and tab-line (bug#38693)
6308         * lisp/tab-line.el (tab-line-tab-name-truncated-max): New defcustom.
6309         (tab-line-tab-name-truncated-buffer): Use tab-line-tab-name-truncated-max
6310         consistently with similar options in tab-bar.el.
6311         (tab-line-tabs-limit): Remove variable.
6312         (tab-line-tabs-window-buffers): Remove use of tab-line-tabs-limit
6313         that was an experimental feature before horizontal scrolling was implemented.
6314         (tab-line-close-tab-function): Rename from tab-line-close-tab-action
6315         and allow a customizaed function as option.
6316         (tab-line-close-tab): Call function if tab-line-close-tab-function
6317         is customized to a function.
6319         * lisp/tab-bar.el (tab-bar-tab-name-function): Add option
6320         tab-bar-tab-name-truncated.
6321         (tab-bar-tab-name-truncated-max): New defcustom.
6322         (tab-bar-tab-name-truncated-ellipsis): New variable.
6323         (tab-bar-tab-name-truncated): New function.
6325 2020-01-20  Juri Linkov  <juri@linkov.net>
6327         Small fixes in documentation.
6329         * doc/emacs/dired.texi (Operating on Files): Fix name of dired-vc-rename-file.
6331         * doc/emacs/fixit.texi (Undo): Update new values of undo limits
6332         doubled in bug#31104.
6334 2020-01-20  Robert Pluim  <rpluim@gmail.com>
6336         Improve explanation of available font backends under X
6338         * doc/emacs/frames.texi (Font and Color Parameters): Clarify that you can't
6339         have HarfBuzz and non-HarfBuzz at the same time for xft and cairo
6340         font backends.
6342 2020-01-20  Pip Cet  <pipcet@gmail.com>
6344         Clear output data pointer on NS
6346         * src/nsterm.m (ns_free_frame_resources): Clear the output data
6347         pointer to prevent attempting to reuse freed resources (Bug#38748).
6349 2020-01-20  Michael Albinus  <michael.albinus@gmx.de>
6351         * admin/release-process: Adapt bug numbers for release critical bugs.
6353         Mention debbugs-gnu-emacs-release-blocking-reports.
6355 2020-01-20  Mattias Engdegård  <mattiase@acm.org>
6357         Fix shell-tests failures
6359         * test/lisp/shell-tests.el (shell-tests-completion-before-semi):
6360         Go back to actually testing completion before semicolon.
6361         (shell-tests-completion-after-semi): Test completion after semicolon,
6362         correctly (bug#39075).
6364 2020-01-20  Mattias Engdegård  <mattiase@acm.org>
6366         * test/lisp/simple-tests.el: Full path to Emacs binary (bug#39067).
6368 2020-01-19  Juri Linkov  <juri@linkov.net>
6370         * lisp/tab-line.el (tab-line-auto-hscroll): Fix for long tab names.
6372         Check for nil value returned by previous-single-property-change that
6373         happens when tab name is longer than window width.
6375 2020-01-19  Juri Linkov  <juri@linkov.net>
6377         * lisp/menu-bar.el (menu-bar-options-menu): Add desktop-save-mode (bug#37594)
6379 2020-01-19  Tino Calancha  <tino.calancha@gmail.com>
6381         Fix shell-command-dont-erase-buffer feature
6383         * lisp/simple.el (shell-command-dont-erase-buffer):
6384         The default, nil, is backward compatible, i.e. it erases the buffer
6385         only if the output buffer is not the current one; the new value 'erase
6386         always erases the output buffer.
6387         Update docstring.
6389         (shell-command-save-pos-or-erase):
6390         Add optional arg output-to-current-buffer.
6391         Rename it so that it's not internal.  All callers updated.
6393         (shell-command-set-point-after-cmd): Rename it so that it's not internal.
6394         All callers updated.
6395         Adjust it to cover a side case.
6397         (shell-command): Adjust logic to match the specification (Bug#39067).
6398         Enable the feature when the output buffer is the current one.
6400         (shell-command-on-region): Little tweak to follow
6401         `shell-command-dont-erase-buffer' specification.
6403         * test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
6404         Add helper macro.
6405         (simple-tests-shell-command-39067)
6406         (simple-tests-shell-command-dont-erase-buffer): Add tests.
6408         * doc/emacs/misc.texi (Single Shell): Update manual.
6410         * etc/NEWS (Single shell commands): Announce the change.
6412 2020-01-18  Stefan Kangas  <stefankangas@gmail.com>
6414         Remove reference to Emacs 19 from FAQ
6416         * doc/misc/efaq.texi (Emacs ignores X resources): Remove reference to
6417         Emacs 19.
6419 2020-01-18  Stefan Kangas  <stefankangas@gmail.com>
6421         Doc fixes in package.el
6423         * lisp/emacs-lisp/package.el (package-process-define-package)
6424         (package-generate-description-file): Doc fixes.
6425         (package-generate-autoloads, package--write-file-no-coding)
6426         (package--archive-file-exists-p, package-desc-status): Add doc
6427         strings.
6429 2020-01-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
6431         Ensure that gnus-summary-attach-article finds the right articles
6433         * lisp/gnus/gnus-msg.el (gnus-summary-attach-article): Before
6434         iterating over the articles to attach, first close any open
6435         article. Using `set-buffer' required `gnus-summary-select-article' to
6436         re-set the buffer every time, meaning we never got off the original
6437         article.
6439         (cherry picked from commit 447bb1313a6abc07776d93ee78cd976ab43856e5)
6441 2020-01-18  Stefan Kangas  <stefankangas@gmail.com>
6443         Remove some doc references to old Emacs versions
6445         * doc/misc/efaq.texi (Horizontal scrolling): Remove section
6446         only relevant to Emacs 21 or older.
6447         (Repeating commands, Editing MS-DOS files):
6448         * lisp/progmodes/gdb-mi.el:
6449         * lisp/woman.el: Doc fix - remove some references to Emacs 20 and older.
6451 2020-01-18  Pieter van Oostrum  <pieter-l@vanoostrum.org>  (tiny change)
6453         Fix infloop in shell.el
6455         * test/lisp/shell-tests.el (shell-tests-completion-before-semi):
6456         Amend the shell.el tests to catch errors such as bug#39057.
6458         * lisp/shell.el (shell--parse-pcomplete-arguments): Skip the
6459         semi-colon as well.  This avoids inflooping when a semi-colon is
6460         typed by the user.  (Bug#39057)
6462 2020-01-17  Amin Bandali  <mab@gnu.org>
6464         Fix erc-notifications-notify for non-PRIVMSGs, broken in last commit
6466         * lisp/erc/erc-desktop-notifications.el (erc-notifications-notify):
6467         Take optional argument `privp', to be non-nil when notifying for a
6468         PRIVMSG.  This is to work around bug introduced in last commit, as
6469         `erc-get-buffer' may return nil for non-PRIVMSG cases.
6470         (erc-notifications-PRIVMSG): Call erc-notifications-notify with
6471         non-nil `privp', as described above.
6473 2020-01-17  Amin Bandali  <mab@gnu.org>
6475         Fix the notification action for PRIVMSG in erc-notifications-notify
6477         * lisp/erc/erc-desktop-notifications.el (erc-notifications-notify):
6478         explicitly request the buffer for `nick', rather than relying on
6479         (current-buffer) returning it.  That works fine for the very first
6480         PRIVMSG sent by `nick', but ERC seems to handle subsequent PRIVMSGs
6481         differently, where (current-buffer) would return the server buffer
6482         rather than the existing buffer for PRIVMSGs from `nick'.
6484 2020-01-17  Amin Bandali  <mab@gnu.org>
6486         ERC: New maintainer.
6488         * admin/MAINTAINERS: Add entries for Amin Bandali, new maintainer for
6489         ERC, and interested in maintaining Eshell.
6490         * lisp/erc/*: New maintainer.
6492 2020-01-17  Dmitry Gutov  <dgutov@yandex.ru>
6494         Honor tags-case-fold-search during xref identifier completion
6496         * etc/NEWS: New entry.
6498         * lisp/progmodes/etags.el (tags-case-fold-search):
6499         Mark as safe-local.
6500         (find-tag--completion-ignore-case):
6501         Extract from tags-completion-at-point-function, find-tag-tag and
6502         etags--xref-find-definitions.
6503         (xref-backend-identifier-completion-ignore-case):
6504         New method. Use it here as well.
6506         * lisp/progmodes/xref.el
6507         (xref-backend-identifier-completion-ignore-case): New generic.
6508         (xref--read-identifier): Use it here.
6510 2020-01-17  Eli Zaretskii  <eliz@gnu.org>
6512         Fix wording and punctuation of a recent commit
6514         * lisp/textmodes/ispell.el (ispell-correct-p): Doc fix.
6515         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Fix
6516         capitalization and punctuation of comments.
6518 2020-01-17  Damien Cassou  <damien@cassou.me>
6520         Add unattended spell-checking to checkdoc
6522         This commit makes checkdoc capable of spell-checking even when the
6523         user isn't using it interactively.  When TAKE-NOTES is non-nil,
6524         checkdoc will run spell-checking (with ispell) and report spelling
6525         mistakes.
6527         Fixes: (bug#38583).
6529         * lisp/textmodes/ispell.el (ispell-word): Extract part of it to
6530         `ispell--run-on-word`.
6531         (ispell--run-on-word): New function, extracted from `ispell-word`.
6532         (ispell-error-checking-word): New function.
6533         (ispell-correct-p): New function.  Use `ispell--run-on-word` and
6534         `ispell-error-checking-word`.
6535         * lisp/emacs-lisp/checkdoc.el (checkdoc-current-buffer): Pass
6536         TAKE-NOTES to `checkdoc-start`.
6537         (checkdoc-continue): Pass TAKE-NOTES to `checkdoc-this-string-valid`.
6538         (checkdoc-this-string-valid): Add optional argument TAKE-NOTES and
6539         pass it to `checkdoc-this-string-valid-engine`.
6540         (checkdoc-this-string-valid-engine): Add optional argument TAKE-NOTES
6541         and pass it to `checkdoc-ispell-docstring-engine`.
6542         (checkdoc-ispell-init): Call `ispell-set-spellchecker-params` and
6543         `ispell-accept-buffer-local-defs`.  These calls are required to
6544         properly use ispell.  The problem went unnoticed until now because
6545         checkdoc was only using ispell through the high-level command
6546         `ispell-word` which takes care of all the initialization for the user.
6547         (checkdoc-ispell-docstring-engine): Add optional argument TAKE-NOTES
6548         to force reporting of spell-checking errors.  Throw error
6549         when (checkdoc-ispell-init) fails configuring ispell.  Replace a
6550         few (if cond nil body) with (unless cond body). Replace (let ((var
6551         nil))) with (let (var)).  Replace (if (not (eq checkdoc-autofix-flag
6552         'never)) body) with just body because `checkdoc-autofix-flag` is
6553         checked at the beginning of the function.
6555         (cherry picked from commit 25adbc4a5ecc3e16625c0171607e3153bbdf7ab1)
6557 2020-01-17  Lin Sun  <lin.sun@zoom.us>
6559         Fix the error message from makefile-move-to-macro
6561         * lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list):
6562         regexp-quote the param in makefile-move-to-macro (Bug#39094).
6564         (cherry picked from commit a36495da1ec1419998c17fd64fb7439eaf940f36)
6566 2020-01-16  Stefan Kangas  <stefankangas@gmail.com>
6568         Document feature requests in the Emacs manual
6570         * doc/emacs/trouble.texi (Contributing): Document how to send feature
6571         requests.  (Bug20697)
6573 2020-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
6575         * lisp/minibuffer.el (read-file-name-default): Fix bug#39057
6577 2020-01-16  Robert Pluim  <rpluim@gmail.com>
6579         Make emacs prefer an existing ~/.emacs.d to an existing XDG location
6581         * doc/emacs/custom.texi (Find Init): Update description of how Emacs
6582         finds its init file directory and the interaction with
6583         $XDG_CONFIG_HOME
6584         (Early Init File): Correct XDG location of early-init.el
6586         * etc/NEWS: Update description to make it clear the ~/.emacs.d is
6587         preferred, even if the XDG location exists.
6589         * lisp/startup.el: Prefer ~/.emacs.d even if the XDG location exists.
6591         * lib-src/emacsclient.c (open_config): Prefer home directory the XDG
6592         location.
6594 2020-01-16  Robert Pluim  <rpluim@gmail.com>
6596         Describe --with-cairo non-support for bitmapped fonts.
6598         * etc/NEWS: Mention Pango's removal of support for bitmapped fonts.
6600 2020-01-16  Robert Pluim  <rpluim@gmail.com>
6602         Mention GTK font chooser changes in NEWS
6604         * etc/NEWS: Mention GTK font chooser changes.
6606 2020-01-15  Glenn Morris  <rgm@gnu.org>
6608         f90: handle F2008 module function
6610         * lisp/progmodes/f90.el (f90-font-lock-keywords-1)
6611         (f90-looking-at-program-block-start):
6612         Handle F2008 "module function" and subroutine.  (Bug#38415)
6613         * test/lisp/progmodes/f90-tests.el (f90-test-bug38415): New test.
6615 2020-01-15  Juri Linkov  <juri@linkov.net>
6617         Move shell-related menu items to "Shell Commands" submenu (bug#37594)
6619         * lisp/menu-bar.el (menu-bar-shell-commands-menu): New variable.
6620         (menu-bar-tools-menu): Move shell-related menu items to
6621         'menu-bar-shell-commands-menu' and add menu items for
6622         'async-shell-command' and 'shell'.
6624 2020-01-15  Stefan Kangas  <stefankangas@gmail.com>
6626         * admin/notes/font-backend: Remove outdated file. (Bug#34663)
6628 2020-01-15  Stefan Kangas  <stefankangas@gmail.com>
6630         Declare the ftx font backend driver obsolete
6632         * etc/NEWS: Document that the ftx font driver is now
6633         obsolete and will be removed in Emacs 28.  (Bug#34663)
6635 2020-01-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6637         Fix build failure with --with-cairo --without-png
6639         * src/image.c: Don't enable PNG section only by USE_CAIRO.
6641 2020-01-14  Stefan Kangas  <stefankangas@gmail.com>
6643         Add new node "Package Statuses" to manual
6645         * doc/emacs/emacs.texi (Top):
6646         * doc/emacs/package.texi (Package Menu): New node "Package
6647         Statuses".  (Bug#29420)
6649 2020-01-14  Juri Linkov  <juri@linkov.net>
6651         * lisp/isearch.el: Fix corner cases of isearch-lazy-count.
6653         * lisp/isearch.el (isearch-mode): Reset isearch-lazy-count-current
6654         and isearch-lazy-count-total to nil, so when isearch-mode is started,
6655         there should be no counts from previous Isearch.
6656         (isearch-lazy-highlight-new-loop): Call isearch-message after resetting
6657         lazy-count variables only when isearch-mode is started.  This avoids
6658         the problem of inappropriate calls of isearch-message-function
6659         when query-replace in the minibuffer performs lazy-highlighting that
6660         used to call minibuffer-history-isearch-message unnecessarily.
6662 2020-01-14  Robert Pluim  <rpluim@gmail.com>
6664         Document spacing issues with Xft for some fonts
6666         * etc/PROBLEMS: Document issues with Xft and some recent fonts (Bug#39082).
6668 2020-01-13  Mattias Engdegård  <mattiase@acm.org>
6670         Always use lexical-binding in lisp-interaction-mode (bug#38835)
6672         * lisp/progmodes/elisp-mode.el (lisp-interaction-mode):
6673         Set lexical-binding.
6674         * lisp/startup.el (command-line, startup--get-buffer-create-scratch):
6675         Don't set lexical-binding here.
6676         * doc/lispref/variables.texi:
6677         * etc/NEWS:
6678         Make it clear that lisp-interaction-mode uses lexical-binding.
6680 2020-01-13  Robert Pluim  <rpluim@gmail.com>
6682         vc-dir: ensure we don't use a pager with git
6684         * lisp/vc/vc-git.el (vc-git--call): Call git with '--no-pager' to
6685         avoid hangs caused by remote pager settings (Bug#38688).
6687 2020-01-12  Amin Bandali  <bandali@gnu.org>
6689         Improve ERC's matching of nicks and URLs (bug#38257)
6691         * lisp/erc/erc-{button,match}.el (erc-{button,match}-syntax-table):
6692         Omit (, ), and '; as they're not valid nick characters, per RFC 2812
6693         section 2.3.1.  This enables correct matching/highlighting of nicks
6694         when they're surrounded by parens, like (nick), and when adjacent to
6695         an apostrophe, like nick's.
6696         * lisp/erc/erc-button.el (erc-button-url-regexp): Use the regexp from
6697         browse-url-button-regexp, which among other things, seems to handle
6698         surrounding pair of parens better.
6700 2020-01-12  Juri Linkov  <juri@linkov.net>
6702         Handle tab-bar clicks on a GPM-capable console.
6704         * src/term.c (handle_one_term_event): Call tty_handle_tab_bar_click.
6706         * src/xdisp.c (tty_handle_tab_bar_click): Force reset of up_modifier bit
6707         from the event modifiers.
6709         * lisp/tab-line.el (tab-line-tab-current): No need to use inverse-video
6710         on console/xterm because the selected tab already uses inverse-video.
6712 2020-01-12  Alan Third  <alan@idiocy.org>
6714         ;* etc/TODO: Update.
6716 2020-01-11  Eli Zaretskii  <eliz@gnu.org>
6718         Update Acknowledgments sections
6720         * doc/emacs/ack.texi (Acknowledgments):
6721         * doc/emacs/emacs.texi (Acknowledgments): Update for Emacs 27.
6723 2020-01-11  Eli Zaretskii  <eliz@gnu.org>
6725         Update Antinews in ELisp manual
6727         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 27.
6728         * doc/lispref/elisp.texi (Top): Update the top-level menu item for
6729         Antinews.
6731 2020-01-11  Richard Stallman  <rms@gnu.org>
6733         Improve wording in the ELisp manual
6735         * doc/lispref/modes.texi (Setting Hooks): Improve and clarify
6736         wording.  (Bug#38818)
6738 2020-01-11  Mauro Aranda  <maurooaranda@gmail.com>
6740         Reset to the standard value when reverting session's customizations
6742         * lisp/cus-edit.el (custom-variable-reset-saved): When there is no
6743         previous saved value, reset to the standard value.  (Bug#15214)
6745 2020-01-11  Mauro Aranda  <maurooaranda@gmail.com>
6747         Fix saving multiple themes
6749         * lisp/custom.el (enable-theme): Be side-effect free when modifying
6750         custom-enabled-themes.  (Bug#19999)
6752 2020-01-10  Mattias Engdegård  <mattiase@acm.org>
6754         Calc: fix interval entry (bug#39040)
6756         * lisp/calc/calc.el (calcDigit-start): Initialise calc-prev-char to
6757         something more reasonable, so that non-algebraic entry of intervals
6758         whose start is a single digit, like (1..10), works properly.
6759         Reported by Michel Schinz.
6761 2020-01-10  Eli Zaretskii  <eliz@gnu.org>
6763         Fix horizontal line display in Custom buffers
6765         * lisp/cus-edit.el (custom-group-value-create): Insert a newline
6766         before calling 'custom-group--draw-horizontal-line'.  (Bug#39074)
6768 2020-01-10  Mattias Engdegård  <mattiase@acm.org>
6770         flymake: fix typo in variable binding (bug#38752)
6772         This mistake was found by an experimental elisp optimiser.
6774         * lisp/progmodes/flymake-proc.el (flymake-proc-stop-all-syntax-checks):
6775         Add missing brackets.
6777 2020-01-10  Eli Zaretskii  <eliz@gnu.org>
6779         Update Antinews in the Emacs manual
6781         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 27.
6782         * doc/emacs/emacs.texi (Top): Update the "Antiniews" item of the
6783         top-level menu.
6785 2020-01-09  Väinö Järvelä  <vaino@jarve.la>  (tiny change)
6787         Use NSNumber instead of BOOL (bug#39047)
6789         * src/nsfns.m (ns_set_represented_filename): Use correct type.
6791 2020-01-09  João Távora  <joaotavora@gmail.com>
6793         Add comment on fido-mode's file-sorting semantics
6795         * lisp/icomplete.el (icomplete--sorted-completions): Add comment.
6797 2020-01-09  João Távora  <joaotavora@gmail.com>
6799         Consider non-string minibuffer-default in icomplete
6801         (Bug#38992)
6803         * lisp/icomplete.el (icomplete--sorted-completions): Consider
6804         non-string minibuffer-default.
6806 2020-01-08  Eli Zaretskii  <eliz@gnu.org>
6808         Fix another compilation problem in a build without threads
6810         * src/systhread.c (sys_thread_set_name) [!THREADS_ENABLED]: Add
6811         a trivial implementation.
6813 2020-01-08  Eli Zaretskii  <eliz@gnu.org>
6815         Fix build without threads
6817         * src/systhread.c (sys_thread_create) [!THREADS_ENABLED]: Update
6818         the function's signature to match prototype.  Reported by Glenn
6819         Morris <rgm@gnu.org>.  (Bug#38632)
6821 2020-01-08  Eli Zaretskii  <eliz@gnu.org>
6823         Fix compression of directories in Dired
6825         This fixes comporession and uncompression of directories on
6826         MS-Windows, but also on other systems.  The original code used
6827         ":" as the REGEXP of the directory entry in
6828         dired-compress-file-suffixes, which on Windows always matched any
6829         absolute file name, and can also match unusual file names on Posix
6830         hosts.  This false match would cause dired-compress-file to act as
6831         if we are decompressing a directory, but use a command suitable
6832         for compression, which would fail in interesting ways.
6833         We now use a REGEXP that can never match any valid file name.
6835         * lisp/dired-aux.el (dired-compress-file-suffixes): Make the
6836         "compress directory" entry's REGEXP really fail to match any valid
6837         file name.
6838         (dired-compress-file): Adapt to the change in
6839         dired-compress-file-suffixes.  (Bug#39024)
6840         (dired-compress): If the current file is a directory, or if the
6841         uncompressed file is a directory, don't remove the original from
6842         the listing, since it is left in the filesystem.
6844 2020-01-08  Michael Albinus  <michael.albinus@gmx.de>
6846         Further enhancement on `tramp-file-local-name'
6848         * lisp/net/tramp.el (tramp-file-local-name): Call `file-local-name'
6849         if NAME is not a Tramp file name.
6851 2020-01-07  Alan Mackenzie  <acm@muc.de>
6853         Objective C Mode imenu: cease recognizing "functions" within comments, etc.
6855         This fixes bug #38749.
6857         * lisp/progmodes/cc-menus.el (cc-imenu-objc-function): Put a c-literal-limits
6858         test around the innards of the main re-search-backward loop.
6860 2020-01-07  Mattias Engdegård  <mattiase@acm.org>
6862         Fix BSD and macOS builds w.r.t. pthread_setname_np (bug#38632)
6864         pthread_setname_np takes only a single argument on BSD and macOS,
6865         and affects the current thread only.
6867         * configure.ac: Add check for single-argument pthread_setname_np
6868         * src/systhread.c (sys_thread_set_name): New (w32 and pthread versions).
6869         (sys_thread_create): Remove name argument and name-setting.
6870         (w32_beginthread_wrapper): Remove name-setting.
6871         * src/systhread.h (sys_thread_create, sys_thread_set_name):
6872         Update prototypes.
6873         * src/thread.c (run_thread): Call sys_thread_set_name.
6874         (Fmake_thread): Adapt call to sys_thread_create.
6875         * src/thread.h (struct thread_state): Adjust comment.
6877 2020-01-07  Robert Pluim  <rpluim@gmail.com>
6879         Scale top-left coordinates in display-monitor-attributes-list
6881         When using multiple monitors, and HiDPI, the top-left coordinates of
6882         the monitors need to be adjusted, not just the width and height
6883         (Bug#31223).
6885         * src/xfns.c (Fx_display_monitor_attributes_list): Scale top-left
6886         coordinates.
6888 2020-01-07  Dmitry Gutov  <dgutov@yandex.ru>
6890         xref-matches-in-files: Big Tramp speed-up
6892         * lisp/progmodes/xref.el (xref-matches-in-files):
6893         Greatly improve performance with remote files using Tramp
6894         (bug#34343).
6896 2020-01-07  Michael Albinus  <michael.albinus@gmx.de>
6898         * lisp/net/tramp.el (tramp-file-local-name): Remove `save-match-data'.
6900 2020-01-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6902         Fix rendering bug due to unsynchronized cairo surface size (Bug#38497)
6904         * src/xterm.c (handle_one_xevent) <ConfigureNotify> [USE_CAIRO && !USE_GTK]:
6905         Call x_cr_update_surface_desired_size for a related frame as a fallback.
6907 2020-01-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6909         Avoid crash by access to cleared img->pixmap->data/img->mask->data (Bug#38774)
6911         * src/image.c (prepare_image_for_display) [USE_CAIRO]: Call IMAGE_BACKGROUND
6912         and IMAGE_BACKGROUND_TRANSPARENT.
6914 2020-01-06  Eli Zaretskii  <eliz@gnu.org>
6916         Avoid assertion violations in very small-height windows
6918         * src/xdisp.c (try_cursor_movement, redisplay_window)
6919         (row_containing_pos): Skip tab-line glyph rows in addition to
6920         header-line rows, when working on the top-most glyph row of a
6921         window.  This avoids assertion violations in set_cursor_from_row.
6922         (Bug#38966)
6924 2020-01-06  Robert Pluim  <rpluim@gmail.com>
6926         Use pthread_setname_np to set thread name
6928         * configure.ac: Remove check for sys/prctl.h and prctl, check for
6929         pthread_setname_np instead.
6931         * src/systhread.c: Remove sys/prctl.h include.
6932         (sys_thread_create) [HAVE_PTHREAD_SETNAME_NP]: Use pthread_setname_np
6933         to set the name of the newly created thread (Bug#38632).
6935         * src/thread.c (Fmake_thread): Use ENCODE_SYSTEM instead of
6936         ENCODE_UTF_8 on the thread name.
6938 2020-01-05  Paul Eggert  <eggert@cs.ucla.edu>
6940         Move “Fix some broken conditional forms” to master
6942         Revert 2020-01-04T19:17:12Z!eggert@cs.ucla.edu
6943         which recently I installed into the emacs-27 branch by mistake.
6944         These patches are now on master instead (via merging).
6945         Do not merge to master.
6947 2020-01-05  Martin Rudalics  <rudalics@gmx.at>
6949         Improve doc-strings of 'quit-window' and 'quit-restore-window' (Bug#38819)
6951         * lisp/window.el (quit-restore-window, quit-window): Make
6952         doc-strings more consistent; add references to corresponding
6953         section of the Elisp manual (Bug#38819).
6955 2020-01-04  Stephen Gildea  <stepheng+emacs@gildea.com>
6957         Fix MH-E bug #470: Show buffer discards text properties
6959         * lisp/mh-e/mh-show.el (mh-display-msg): reset font lock and set
6960         major mode *before* formatting message content.  This changes lets
6961         fonts work when the Show buffer is reused for a new message.
6962         (mh-show-mode): no longer set buffer-read-only; that is better done
6963         by mh-display-msg after setting all content.
6965 2020-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6967         Fix some broken conditional forms
6969         Problem reported by Mattias Engdegård in:
6970         https://lists.gnu.org/r/emacs-devel/2020-01/msg00088.html
6971         * lisp/cedet/ede/cpp-root.el (ede-create-lots-of-projects-under-dir):
6972         Remove this quick hack, which didn’t do anything anyway.
6973         * lisp/cedet/ede/pconf.el (ede-proj-configure-test-required-file):
6974         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col):
6975         * lisp/net/nsm.el (nsm-check-tls-connection):
6976         Use ‘when’ rather than bypassing it.  This doesn’t affect behavior
6977         and is better style.
6978         * lisp/cedet/srecode/semantic.el (srecode-semantic-handle-:tag):
6979         Fix typo that suppressed an error.
6980         * lisp/filesets.el (filesets-run-cmd): Fix typo that mishandled spacing.
6981         * lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data):
6982         Fix typo that caused “GROUP has older different info in the cloud
6983         as of DATE, update it here?” prompt result to always be treated as
6984         “yes”.
6985         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Simplify,
6986         since smime-encrypt-buffer signals error on failure.
6987         * lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify.
6988         The conversion of this file to utf-8-emacs in
6989         2019-01-08T02:18:40Z!monnier@iro.umontreal.ca removed the
6990         distinction between Big5 and CNS fulltitles in the generated docstring.
6991         * lisp/org/org-agenda.el (org-agenda-show-and-scroll-up):
6992         * lisp/textmodes/table.el (table--generate-source-cell-contents):
6993         Simplify by removing useless code.
6994         * lisp/org/ox-odt.el (org-odt--format-timestamp): Fix typo that
6995         always output time-of-day even when the timestamp lacked it.
6997 2020-01-04  Michael Albinus  <michael.albinus@gmx.de>
6999         Fix a scoping error in tramp-sudoedit.el
7001         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-system-info):
7002         Fix a scoping error.
7004 2020-01-04  Mattias Engdegård  <mattiase@acm.org>
7006         * lisp/autorevert.el (auto-revert-notify-handler): Fix bracketing.
7008 2020-01-04  Martin Rudalics  <rudalics@gmx.at>
7010         Fix typo in 'window_box_height'
7012         * src/xdisp.c (window_box_height): Add missing 'else'.
7014 2020-01-03  Mattias Engdegård  <mattiase@acm.org>
7016         Install g++ for CEDET tests
7018         * .gitlab-ci.yml (before_script): Add g++.
7019         Backport from master.
7021 2020-01-03  Michael Albinus  <michael.albinus@gmx.de>
7023         * lisp/net/tramp.el: Fix typos.
7025         * lisp/net/tramp.el (tramp-file-local-name): New defun.  (Bug#34343)
7027 2020-01-03  Michael Albinus  <michael.albinus@gmx.de>
7029         Adapt commentary in Tramp persistency file
7031         * lisp/net/tramp-cache.el (tramp-dump-connection-properties):
7032         Adapt commentary in `tramp-persistency-file-name'.
7034 2020-01-03  Michael Albinus  <michael.albinus@gmx.de>
7036         Change Tramp version to 2.4.3.27.1
7038         * doc/misc/trampver.texi:
7039         * lisp/net/trampver.el: Change version to "2.4.3.27.1".
7040         (customize-package-emacs-version-alist): Add Tramp version
7041         integrated in Emacs 27.1.
7043 2020-01-02  Eli Zaretskii  <eliz@gnu.org>
7045         Fix redisplay when mode-line-format changes mode-line's height
7047         * lisp/frame.el (top-level): Add mode-line-format,
7048         tab-line-format, and header-line-format to the list of variables
7049         that should trigger an immediate redisplay of the buffer's
7050         window.  This fixes redisplay of windows when the mode line
7051         changes its height.
7053         * src/xdisp.c (window_box_height): Use the window's
7054         mode_line_height, tab_line_height, and header_line_height fields
7055         in preference to CURRENT_MODE_LINE_HEIGHT,
7056         CURRENT_TAB_LINE_HEIGHT, and CURRENT_HEADER_LINE_HEIGHT,
7057         respectively.  This fixes display of vertical scroll bar when the
7058         height of the window's mode line changes.
7059         * src/dispnew.c (adjust_glyph_matrix): When resizing a window's
7060         matrix, reset the mode_line_p flag of the previous mode-line row,
7061         so that the window_box_height, CURRENT_MODE_LINE_HEIGHT, and their
7062         ilk won't use stale info.  (Bug#38828)
7064 2020-01-02  Eli Zaretskii  <eliz@gnu.org>
7066         * src/fileio.c (Fwrite_region): Improve the doc string.
7068 2020-01-02  Martin Rudalics  <rudalics@gmx.at>
7070         Fix removal of frame decorations on Windows (Bug#38705)
7072         * src/w32fns.c (w32_set_undecorated): Actualize
7073         f->output_data.w32->dwStyle for subsequent calls of
7074         AdjustWindowRect (Bug#38705).
7075         * src/w32term.h (struct w32_output): Add comment for
7076         dwstyle slot.
7078 2020-01-01  Eli Zaretskii  <eliz@gnu.org>
7080         Fix compilation with GTK versions older than 3
7082         * src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
7083         so that GTK builds which need this function will compile it.
7084         Reported by John <jpff@codemist.co.uk>.
7086         (cherry picked from commit d36adb544d984b91c70f6194da01344e4b2b6fc9)
7088 2020-01-01  Eli Zaretskii  <eliz@gnu.org>
7090         Fix reverting customizations
7092         * lisp/custom.el (custom-push-theme): Don't use setcar to modify
7093         the recorded value of PROP; instead, cons a new property list by
7094         deleting the old value and adding the new one.  (Bug#38812)
7096 2020-01-01  Mattias Engdegård  <mattiase@acm.org>
7098         * lisp/loadup.el: Set max-specpdl-size to 1800 when loading cl-generic.el.
7100 2020-01-01  Mattias Engdegård  <mattiase@acm.org>
7102         Revert "Raise default max-specpdl-size value"
7104         This reverts commit bb9402e6e9c12938aee31b81e25511eb1f6335d2.
7106 2020-01-01  Mattias Engdegård  <mattiase@acm.org>
7108         Raise default max-specpdl-size value
7110         Occasionally, loading cl-generic.el from source requires
7111         max_specpdl_size > 1600 when bootstrapping, and thus fails.
7112         In any case we are very close to the limit.
7114         * src/eval.c (init_eval_once): Raise max_specpdl_size to 1800.
7115         * doc/lispref/variables.texi (Local Variables): Update docs.
7117 2020-01-01  Phillip Lord  <phillip.lord@russet.org.uk>
7119         Update distribution documentation
7121         * admin/nt/README-ftp-server: Remove as obsolete
7122         * admin/nt/dist-build/README-windows-binaries: Add information
7123           about installer
7125 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
7127         Pacify gcc -Wunused-function on Ubuntu 18.04.3
7129         This improves on 2019-12-25T20:01:07Z!eggert@cs.ucla.edu,
7130         by fixing a GCC warning on Ubuntu 18.04.3
7131         “‘x_get_net_workarea’ defined but not used”.
7132         * src/xfns.c (x_get_net_workarea) [!USE_GTK]: Do not define.
7134 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
7136         Fix copyright years by hand
7138         These are dates that admin/update-copyright did not update.
7140 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
7142         Update copyright year to 2020
7144         Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
7146 2019-12-31  João Távora  <joaotavora@gmail.com>
7148         Don't always resort in recently introduced icomplete--sorted-completions
7150         Doing so breaks icomplete-forward-completions and
7151         icomplete-backward-completions.
7153         * lisp/icomplete.el (icomplete--sorted-completions): Don't always
7154         resort.
7156         (cherry picked from commit 639fb50ed4c622f99dfbde32fbdbca42ce36d385)
7158 2019-12-31  João Távora  <joaotavora@gmail.com>
7160         Don't force completion recalculation in icomplete-fido-ret
7162         Besides the adverse effect of delaying completions, it tripped up the
7163         useful logic of icomplete-force-complete-and-exit in the case where a
7164         default was available, but no completions calculated yet.
7166         * lisp/icomplete.el (icomplete-fido-ret): Don't force calculation
7167         of completions.
7169         (cherry picked from commit 13778aa5be7bf028893672d84c2a291f491d8216)
7171 2019-12-31  João Távora  <joaotavora@gmail.com>
7173         Correctly cache sorted completions in icomplete--sorted-completions
7175         * lisp/icomplete.el (icomplete--sorted-completions): Use
7176         completion--cache-all-sorted-completions.
7178         (cherry picked from commit 83587bb68830bd91124f99ddf8590d1d5f63869f)
7180 2019-12-31  João Távora  <joaotavora@gmail.com>
7182         Move flex style's minibuffer-default-aware sorting to lisp/icomplete.el
7184         This moves the logic from the series of commits starting in the commit named:
7186           Improve sorting of flex completion style with non-nil minibuffer-default
7188         to lisp/icomplete.el, so far the only confirmed beneficiary of that
7189         functionality.
7191         * lisp/icomplete.el (icomplete--sorted-completions): Consider
7192         minibuffer-default here.
7194         * lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.
7196         (cherry picked from commit 0d2a711dc9a65dc8eb6e995369e70cddbcd7d9a4)
7198 2019-12-31  João Távora  <joaotavora@gmail.com>
7200         Make fido-mode behave more like ido-mode when finding directories
7202         Notably C-x d (M-x dired) and C-x v d (M-x vc-dir) behaved quite
7203         differently, having regular files as the default instead of ido's
7204         usual "./".
7206         * lisp/icomplete.el (icomplete--sorted-completions): New helper.
7207         (icomplete-completions): Use it.
7209         (cherry picked from commit ee914051fbb4fbff9073a23b5ea7668bf48b5c6a)
7211 2019-12-31  João Távora  <joaotavora@gmail.com>
7213         Slightly simplify lisp/icomplete.el with new icomplete--category helper
7215         * lisp/icomplete.el (icomplete-fido-kill)
7216         (icomplete-fido-delete-char, icomplete-fido-ret)
7217         (icomplete-fido-backward-updir, icomplete-exhibit): Use
7218         icomplete--category.
7219         (icomplete--category): New helper.
7221         (cherry picked from commit 24a1f520f91c278cb8cc57325ea80285a3b252cf)
7223 2019-12-31  João Távora  <joaotavora@gmail.com>
7225         Another adjustment to flex completion style's sorting function
7227         * lisp/minibuffer.el (completion--flex-adjust-metadata): Adjust
7228         case when minibuffer-default is non-nil.
7230         (cherry picked from commit 9c912049927cfb18b9c8b37039b38ddf51f2fe81)
7232 2019-12-30  Mattias Engdegård  <mattiase@acm.org>
7234         Make minibuffer-tests work in out-of-tree builds (bug#38816)
7236         * test/lisp/minibuffer-tests.el (completion-table-test-quoting):
7237         Set default-directory.
7239 2019-12-30  Mattias Engdegård  <mattiase@acm.org>
7241         Make comint-tests more robust (bug#38813)
7243         * test/lisp/comint-tests.el (comint-test-no-password-function)
7244         (comint-test-password-function-with-value)
7245         (comint-test-password-function-with-nil):
7246         Call accept-process-output as many times as needed, with a slightly
7247         more generous timeout (100 ms), after sending the Password: prompt to
7248         the process, since there must be time for some back-and-forth
7249         communication.  Also clear the process-query-on-exit flag, since it
7250         doesn't go well with noninteractive tests.
7252 2019-12-30  Eli Zaretskii  <eliz@gnu.org>
7254         Fix tar-mode reading the oldgnu Tar format
7256         This makes sure an entry for a long file name will not
7257         accidentally appear as a directory, and thus its size will be
7258         disregarded, causing corrupted file headers for all the subsequent
7259         entries.  The original problem happened because the long file name
7260         truncated to 99 bytes happened to end in a slash, which tar-mode
7261         takes to be the indication of a directory.
7262         * lisp/tar-mode.el (tar-header-block-tokenize): Accept an
7263         additional argument DISABLE-SLASH; if non-nil, don't set the
7264         link-type field of the descriptor to 5 (meaning a directory) just
7265         because the name ends in a slash.  Use this argument when calling
7266         itself recursively, to read the entry of the file with a long
7267         name.  Set the link-type to 5 if the long name ends in a slash.
7268         (Bug#38777)
7270 2019-12-30  Eli Zaretskii  <eliz@gnu.org>
7272         Ensure mini-window is resized to show active minibuffer contents
7274         * src/keyboard.c (read_char, command_loop_1): Resize the
7275         mini-window after clearing the echo area while minibuffer is
7276         active.  (Bug#38645)
7278 2019-12-30  Eli Zaretskii  <eliz@gnu.org>
7280         Fix mini-window resizing under resize-mini-windows = t
7282         * src/window.c (grow_mini_window): Fix resizing of mini-window
7283         when the echo area is cleared, and the caller asks for the
7284         mini-window to have zero lines.  (Bug#38791)
7286 2019-12-29  Glenn Morris  <rgm@gnu.org>
7288         Fixes for makeinfo 4.13
7290         * doc/lispref/customize.texi (Variable Definitions): Fix xref.
7291         * doc/lispref/internals.texi (Writing Emacs Primitives)
7292         (Module Values): Follow xref with comma.
7294 2019-12-29  Robert Pluim  <rpluim@gmail.com>
7296         Fix crash under -nw on macOS properly this time
7298         * src/dispextern.h (FACE_COLOR_TO_PIXEL): Only use
7299         ns_color_index_to_rgba when we're running under the NS gui
7300         (Bug#38564).
7302 2019-12-29  Robert Pluim  <rpluim@gmail.com>
7304         Revert "Check for GUI frame in ns_color_index_to_rgba"
7306         This reverts commit ea84a95bd8d43612b4a424fb93de25a68ac31d05.
7308 2019-12-29  Robert Pluim  <rpluim@gmail.com>
7310         Ignore all color fonts when using XFT
7312         * etc/NEWS: Announce change to matching color fonts when using XFT.
7314         * src/ftfont.c (ftfont_list) [HAVE_XFT && FC_COLOR]: Query for the
7315         color attribute of the matched font, and skip it if it is not
7316         FcFalse (Bug#37786).
7318 2019-12-29  Mattias Engdegård  <mattiase@acm.org>
7320         Avoid unbounded growth of cl-random-state components (bug#38753)
7322         * lisp/emacs-lisp/cl-extra.el (cl-random):
7323         Perform the modulo 2**23 operation before updating the state instead
7324         of after.  The result is always the same, but it prevents the state
7325         from growing into arbitrary large bignums.
7327         Patch from Christopher Wellons.
7329 2019-12-29  Michael Albinus  <michael.albinus@gmx.de>
7331         Sync with Tramp 2.4.3
7333         * doc/misc/trampver.texi:
7334         * lisp/net/trampver.el: Change version to "2.4.3".
7336         * lisp/net/tramp.el: Bump version.
7337         (tramp-handle-shell-command): The temp file for error-buffer is remote.
7339         * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
7340         Simplify buffer generation.
7341         (tramp-test32-shell-command): Extend test.
7343 2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>
7345         Fix up requires
7347         * lisp/progmodes/project.el (project-files):
7348         Remove (require 'xref).
7349         (project--files-in-directory): Add it here instead.
7350         (project-find-regexp, project-or-external-find-regexp): And here.
7351         For 'xref--show-xrefs'.
7353 2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>
7355         Extract xref-matches-in-files from project--find-regexp-in-files
7357         * lisp/progmodes/xref.el (xref-matches-in-files): Extract from
7358         project--find-regexp-in-files.
7360         * lisp/dired-aux.el (dired-do-find-regexp): Also use it here.
7362 2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>
7364         Rename xref-collect-references and xref-collect-matches
7366         * lisp/progmodes/xref.el (xref-references-in-directory): Rename
7367         from xref-collect-references.  Update the sole caller.
7368         (xref-matches-in-directory): Rename from xref-collect-matches.
7369         Update all callers (all of them are in the /tests/ dir).
7371         * test/lisp/progmodes/xref-tests.el (xref-tests-data-dir):
7372         Don't use the EMACS_TEST_DIRECTORY env var. It doesn't work when
7373         running interactively.
7375 2019-12-29  Dmitry Gutov  <dgutov@yandex.ru>
7377         Improve docstrings
7379         * lisp/progmodes/xref.el (xref-collect-matches)
7380         (xref-collect-references): Improve docstrings.
7382 2019-12-29  Alan Third  <alan@idiocy.org>
7384         Fix when expose draws partially visible first glyph (bug#38731)
7386         * src/xdisp.c (expose_area): When the face extends to the end of the
7387         line draw text from the correct x coordinate.
7389 2019-12-28  Dmitry Gutov  <dgutov@yandex.ru>
7391         Don't require semantic/fw
7393         * lisp/progmodes/xref.el (xref-collect-matches): Don't require
7394         semantic/fw, we haven't been using semantic-find-file-noselect
7395         here for a while.
7397 2019-12-28  Dmitry Gutov  <dgutov@yandex.ru>
7399         Do some renames for clarity
7401         * lisp/progmodes/xref.el (xref--last-file-buffer):
7402         Rename from xref--last-visiting-buffer.  Update users.
7403         (xref--find-file-buffer): Rename from xref--find-buffer-visiting
7404         to match the standard function that gets called inside.  Ditto.
7406 2019-12-28  Eli Zaretskii  <eliz@gnu.org>
7408         Rearrange NEWS, add missing documentation
7410         * etc/NEWS: Rearrange and mark entries whether documented or not.
7412         * doc/lispref/streams.texi (Output Variables): Document the new
7413         default of 'print-quoted'.
7414         * doc/lispref/keymaps.texi (Functions for Key Lookup): Document
7415         that KEYMAP arg to 'lookup-key' can also be a list.
7416         * doc/lispref/customize.texi (Variable Definitions): Document the
7417         :local keyword of 'defcustom'.
7418         * doc/lispref/numbers.texi (Float Basics): Document changes in
7419         'logb'.
7420         * doc/lispref/hooks.texi (Standard Hooks): Document
7421         'comint-password-function'.
7423         * doc/emacs/display.texi (Text Scale): Document text-size
7424         adjustment using the mouse wheel.
7425         * doc/emacs/frames.texi (Mouse Commands): Document image scaling
7426         with the mouse wheel.
7427         * doc/emacs/windows.texi (Window Convenience): Document
7428         'global-tab-line-mode'.
7429         * doc/emacs/search.texi (Repeat Isearch, Symbol Search)
7430         (Isearch Yank): Document the new support for numeric arguments in
7431         Isearch commands.
7432         (Special Isearch): Document 'M-s M->' and 'M-s M-<'.
7433         (Search Customizations): Document 'isearch-lazy-count'.  Improve
7434         indexing.
7435         (Not Exiting Isearch): Document the new value of
7436         'isearch-allow-scroll'.
7437         * doc/emacs/maintaining.texi (Xref Commands): Document the new 'g'
7438         key binding.
7439         * doc/emacs/package.texi (Package Installation): Document changes
7440         in 'package-check-signature'.
7441         * doc/emacs/maintaining.texi (VC Change Log): Document
7442         'vc-log-search'.
7443         * doc/emacs/dired.texi (Operating on Files): Document
7444         'dired-vc-rename'.
7446 2019-12-28  Xu Chunyang  <xuchunyang56@gmail.com>
7448         Fix interactive spec in netrc-parse
7450         * lisp/net/netrc.el (netrc-parse): Fix placement of interactive
7451         spec (bug#38773).
7453 2019-12-28  Eli Zaretskii  <eliz@gnu.org>
7455         Fix documentation of define-obsolete-* functions
7457         * doc/lispref/functions.texi (Obsolete Functions): Make
7458         documentation of functions that obsolete symbols match the
7459         advertised calling conventions.
7461         * lisp/emacs-lisp/byte-run.el (define-obsolete-function-alias)
7462         (define-obsolete-variable-alias, define-obsolete-face-alias):
7463         State in the doc strings that WHEN is a mandatory argument, to be
7464         consistent with the advertised calling convention.  (Bug#38675)
7466 2019-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
7468         Fix recent gnus-start.el breakage
7470         * lisp/gnus/gnus-start.el (gnus-group-change-level): Fix previous
7471         patch that made info nil when adding new groups (thereby making
7472         gnus-newsrc-alist invalid).
7474 2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>
7476         (xref--find-buffer-visiting): Speed up by using get-file-buffer
7478         * lisp/progmodes/xref.el (xref--find-buffer-visiting):
7479         Speed up by using get-file-buffer.
7480         (xref--collect-matches): Remove the condition on remote-id.
7481         (https://lists.gnu.org/r/emacs-devel/2019-12/msg00753.html)
7483 2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>
7485         project--vc-list-files: Recurse into submodules
7487         * lisp/progmodes/project.el (project-try-vc): Do not treat a Git
7488         submodule as a project root, go up to the parent repo.
7489         (project--git-submodules): New function.
7490         (project--vc-list-files): Use it.  Recurse into submodules.
7492 2019-12-27  Eli Zaretskii  <eliz@gnu.org>
7494         Minor improvements of buffer documentation
7496         * doc/emacs/buffers.texi (Buffers): Say that buffers are killed
7497         when no longer needed.  Suggested by Jean-Christophe Helary
7498         <jean.christophe.helary@traduction-libre.org>.
7500 2019-12-27  Dmitry Gutov  <dgutov@yandex.ru>
7502         xref--collect-matches: Speed up on remote
7504         * lisp/progmodes/xref.el (xref--collect-matches):
7505         Don't call find-buffer-visiting on remote file names, it's pretty
7506         slow (bug#34343).
7508 2019-12-26  Phillip Lord  <phillip.lord@russet.org.uk>
7510         Fix installer build
7512         * admin/nt/dist-build/build-zips.sh: Ensure that NSIS build always
7513           uses the actual build number to locate its files.
7515 2019-12-26  Phillip Lord  <phillip.lord@russet.org.uk>
7517         Update Windows build documentation
7519         * admin/nt/dist-build/README-scripts: Update with branch and snapshot
7520           information.
7522 2019-12-26  Mattias Engdegård  <mattiase@acm.org>
7524         Calc: add missing dynamic variable declarations
7526         * lisp/calc/calc-alg.el (math-simplify-only, calc-simplify-mode)
7527         (math-expand-formulas, calc-poly-div-remainder)
7528         (math-living-dangerously, math-simplifying, calc-angle-mode)
7529         (calc-prefer-frac, math-poly-base-variable):
7530         Declare dynamic variables.
7531         * test/lisp/calc/calc-tests.el (calc-poly-div):
7532         Add test for at least one bug caused by missing declarations.
7534 2019-12-26  Eli Zaretskii  <eliz@gnu.org>
7536         * doc/emacs/buffers.texi (Kill Buffer): Improve indexing.
7538 2019-12-26  Dmitry Gutov  <dgutov@yandex.ru>
7540         Speed up dired-do-find-regexp
7542         * lisp/dired-aux.el (dired-do-find-regexp): Speed up (bug#36857).
7543         Previously, 'find' was called for every marked file (for plain
7544         files and directories both).  Now 'find' is only called for
7545         directories.
7547 2019-12-26  Dmitry Gutov  <dgutov@yandex.ru>
7549         project--find-regexp-in-files: Support remote files
7551         * lisp/progmodes/project.el (project--find-regexp-in-files):
7552         Support remote files (bug#34343).
7554 2019-12-26  Philipp Stephani  <phst@google.com>
7556         Document some restrictions for module functions.
7558         * doc/lispref/internals.texi (Module Functions): Document some
7559         restrictions for module functions.
7561 2019-12-26  Philipp Stephani  <phst@google.com>
7563         Don't recommend using 'module-load' for loading modules.
7565         'module-load' most likely doesn't do what users expect.  Users should
7566         use 'load' and its wrappers, which do the right thing.
7568         * doc/lispref/loading.texi (Dynamic Modules): Document
7569         disadvantages of 'module-load' and recommend normal 'load' and
7570         its wrappers instead.
7572         * doc/lispref/internals.texi (Module Functions): Recommend
7573         'load' over 'module-load'.
7575 2019-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7577         Port x_get_monitor_attributes_fallback to !HAVE_GTK3
7579         * src/xfns.c (x_get_net_workarea) [!HAVE_GTK3]:
7580         Define in this case too, since x_get_monitor_attributes_fallback
7581         contains a call to it regardless whether HAVE_GTK3 is defined.
7583 2019-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
7585         Fix compilation warning in gnus-start.el
7587         * lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): Fix
7588         compilation warning by not binding XEmacs-only variable.
7590         * lisp/gnus/gnus-util.el (gnus-bind-print-variables): Ditto.
7591         (gnus-prin1, gnus-prin1-to-string, gnus-pp, gnus-pp-to-string):
7592         Adjust doc string.
7594 2019-12-25  Eli Zaretskii  <eliz@gnu.org>
7596         Improve doc string of 'files--message'
7598         * lisp/files.el (files--message): Improve the wording of doc
7599         string.  (Bug#38737)
7601 2019-12-24  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
7603         Improve vc--add-line, vc--remove-regexp
7605         * lisp/vc/vc.el (vc--add-line): Create file if it does not exist.
7606         Use existing buffer to avoid discrepancies with filesystem.  Make sure
7607         that the file ends with a newline.
7608         (vc--remove-line): Do not create file if it does not exist.  Use
7609         existing buffer to avoid discrepancies with filesystem. (bug#37185)
7611 2019-12-24  Dmitry Gutov  <dgutov@yandex.ru>
7613         Apply the 'xref-group' property properly
7615         * lisp/progmodes/xref.el (xref--insert-xrefs):
7616         Apply the 'xref-group' property properly (bug#36974).
7618 2019-12-24  Philipp Stephani  <phst@google.com>
7620         * src/pdumper.c (Fdump_emacs_portable): Reword error message.
7622         (cherry picked from commit ac7b2607735a64e657d65c87d8c9f73755ff3efa)
7624 2019-12-24  Philipp Stephani  <phst@google.com>
7626         Don’t allow portable dumping in interactive mode (Bug#38453).
7628         * src/pdumper.c (Fdump_emacs_portable): Don’t allow dumping in
7629         interactive mode.
7631         (cherry picked from commit e7edba42c8a525722cbd40f782b0df68e4976a62)
7633 2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
7635         Don't default to showing X-Faces externally in Gnus
7637         * lisp/gnus/gnus-art.el (gnus-article-x-face-command): It's seldom
7638         useful to display the face in an external command, so don't ever
7639         default to that.  This also fixes the problem of Emacs running as
7640         a server in mixed graphical/non-graphical environments.
7642 2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
7644         Fix manual typo in Special Read Syntax
7646         * doc/lispref/objects.texi (Special Read Syntax): Fix typo.
7648 2019-12-24  Robert Pluim  <rpluim@gmail.com>
7650         Fix problem with emacs -nw / eww / svg
7652         * lisp/net/shr.el (shr-parse-image-data): Don't bug out on
7653         non-visual Emacs versions on SVG images (bug#38507).
7655 2019-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
7657         Clarify base64 requirements and say what {en,de}code_coding_region does
7659         * src/coding.c (Fencode_coding_region): Clarify what this does.
7660         (Fdecode_coding_region): Ditto.
7662         * src/fns.c (Fbase64_decode_region): Clarify that this function
7663         returns bytes, not text (bug#38587).
7664         (Fbase64_encode_region): Clarify that this function takes bytes,
7665         not text.
7667 2019-12-24  Philipp Stephani  <phst@google.com>
7669         * src/emacs-module.h.in: Add reference to manual.
7671 2019-12-23  Juanma Barranquero  <lekktu@gmail.com>
7673         Trivial docstring fixes
7675         * ChangeLog.3:
7676         * lisp/emacs-lisp/cl-macs.el (cl-flet):
7677         * lisp/filesets.el (filesets-menu-ensure-use-cached):
7678         * lisp/progmodes/compile.el (compilation-context-lines):
7679         * lisp/progmodes/prolog.el (prolog-paren-indent):
7680         * lisp/progmodes/sql.el (sql-password-search-wallet-function):
7681         Fix typos in docstrings.
7683         * lisp/cedet/semantic/analyze.el (semantic-analyze-push-error):
7684         Doc fix.
7686         * lisp/emacs-lisp/map.el (map-put, map-info): Refill docstring.
7687         (map-contains-key): Fix typo.
7688         (map-every-p): Doc fix.
7690 2019-12-23  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
7692         imagemagick-types needs to initialize ImageMagick
7694         * src/image.c (imagemagick_initialize): New function,
7695         with body taken from imagemagick_load_image.
7696         (imagemagick_load_image, Fimagemagick_types): Use it.
7698 2019-12-23  Eli Zaretskii  <eliz@gnu.org>
7700         Cut the emacs-27 release branch
7702         * lisp/cus-edit.el (customize-changed-options-previous-release):
7703         Change the value to 26.3.
7705         * README:
7706         * configure.ac:
7707         * nt/README.W32:
7708         * msdos/sed2v2.inp: Bump Emacs version to 27.0.60.
7710 2019-12-23  Philipp Stephani  <phst@google.com>
7712         Document and verify that emacs_limb_t doesn’t have padding bits.
7714         This is a useful property when doing further bit-twiddling with the
7715         magnitude array before/after calling extract_big_integer or
7716         make_big_integer.  For example, constructing an emacs_limb_t object
7717         using repeated shift-and-add should work as expected, but relies on
7718         the type not having padding bits.  Since the C standard already
7719         guarantees that unsigned integers use a pure binary representation,
7720         not having padding bits is enough to guarantee that the type has
7721         unique object representations in the sense of C++’s
7722         std::has_unique_object_representations.
7724         * doc/lispref/internals.texi (Module Values): Document that
7725         emacs_limb_t doesn’t have padding bits.
7727         * src/emacs-module.c: Verify that emacs_limb_t doesn’t have padding
7728         bits.
7730 2019-12-23  Jimmy Aguilar Mena  <spacibba@aol.com>
7732         Fix extension of underline, overline, and strike-through attributes
7734         * src/xdisp.c (extend_face_to_end_of_line): Don't return early
7735         if face attributes beyond background color and box are set,
7736         since that means these attributes need to be extended past the
7737         EOL.
7739 2019-12-23  João Távora  <joaotavora@gmail.com>
7741         Comment on limitation of flex completion style's sorting function
7743         * lisp/minibuffer.el (completion--flex-adjust-metadata): Add
7744         comment.
7746 2019-12-23  João Távora  <joaotavora@gmail.com>
7748         Fix a bug in completion--flex-adjust-metadata
7750         If minibuffer-default coincided with the first of completions, the
7751         empty list would be returned.
7753         * lisp/minibuffer.el (completion--flex-adjust-metadata): Make sure
7754         to never return empty list.
7756 2019-12-23  Martin Rudalics  <rudalics@gmx.at>
7758         Fix documentation of implied frame resizing (Bug#38684)
7760         * src/frame.c (frame_inhibit_implied_resize): Fix doc-string.
7761         * doc/lispref/frames.texi (Implied Frame Resizing): Update and
7762         rewrite section.
7764 2019-12-22  Michael R. Mauger  <michael@mauger.com>
7766         Added `comint-password-function' hook
7768         * etc/NEWS:
7769         * lisp/comint.el (comint-password-function): New variable.
7770           (comint-send-invisible): Use it.
7771         * test/lisp/comint-tests.el (comint-test-no-password-function,
7772           comint-test-password-function-with-value,
7773           comint-test-password-function-with-nil): Test new variable.
7775 2019-12-22  Juri Linkov  <juri@linkov.net>
7777         * lisp/files.el (save-buffers-kill-emacs): Mark "*Process List*" as dedicated.
7779         Using the 'dedicated' prop for display-buffer--maybe-at-bottom marks the
7780         window of the buffer "*Process List*" as dedicated, so it won't be replaced
7781         by another buffer that might be visited following links to process buffers
7782         from the buffer "*Process List*".
7784 2019-12-22  Juri Linkov  <juri@linkov.net>
7786         * lisp/tab-bar.el: Use alist-get instead of (cdr (assq ...))
7788         * lisp/tab-bar.el (tab-bar-mode): Bind s-0 to tab-bar-switch-to-recent-tab.
7790 2019-12-22  Juri Linkov  <juri@linkov.net>
7792         * lisp/proced.el (proced-signal-list): Add more POSIX 1003.1-2001 signals.
7794 2019-12-22  João Távora  <joaotavora@gmail.com>
7796         Fix bug in flex completion style's sorting and simplify
7798         This previous commit targeting this function introduced a bug whereby
7799         the completion table's sorting function wouldn't be called.  That is
7800         fixed by this commit, which also simplifies the function further: it
7801         now skips re-sorting the completions completely if there is no
7802         minibuffer input at all (in other words, when flex isn't doing
7803         anything useful).
7805         * lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.
7807 2019-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
7809         * lisp/gnus/gnus-start.el: Use lexical-binding
7811         (gnus-group-change-level, gnus-make-hashtable-from-newsrc-alist):
7812         Use gnus-info-make.
7813         (gnus-make-hashtable-from-newsrc-alist): Prefer `gnus-info-group`
7814         to `car` when applied to a `gnus-info` object.
7815         (gnus-make-hashtable-from-killed): Remove unused vars `lists` and `list`.
7816         (gnus-gnus-to-quick-newsrc-format): Extract common code from if branches.
7818         * lisp/gnus/gnus.el (gnus-info-make): New constructor.
7820 2019-12-22  Eli Zaretskii  <eliz@gnu.org>
7822         Fix wording of recent documentation changes
7824         * src/xdisp.c (syms_of_xdisp):
7825         * lisp/minibuffer.el (minibuffer-message-clear-timeout):
7826         * etc/NEWS:
7827         * doc/lispref/display.texi (Displaying Messages): Minor
7828         changes of wording of a recent commit.  (Bug#38457)
7830 2019-12-22  Michael Albinus  <michael.albinus@gmx.de>
7832         Extend tramp-tests.el for other host name syntax and file name syntax
7834         * test/lisp/net/tramp-tests.el (inhibit-message)
7835         (connection-local-criteria-alist)
7836         (connection-local-profile-alist, async-shell-command-width): Declare.
7837         (tramp-test01-file-name-syntax)
7838         (tramp-test02-file-name-dissect): Set syntax to `default'.
7839         (tramp-test03-file-name-defaults)
7840         (tramp-test03-file-name-host-rules)
7841         (tramp-test03-file-name-method-rules)
7842         (tramp-test04-substitute-in-file-name)
7843         (tramp-test05-expand-file-name)
7844         (tramp-test06-directory-file-name, tramp-test44-auto-load):
7845         Skip unless syntax is `default'.
7846         (tramp-test06-directory-file-name, tramp-test10-write-region)
7847         (tramp-test17-dired-with-wildcards)
7848         (tramp-test26-file-name-completion): Handle IPv6 host names.
7849         (tramp-test21-file-links): Support all syntaxes.
7850         (tramp-test30-make-process, tramp-test45-unload):
7851         Suppress compiler warnings.
7852         (tramp-test37-make-auto-save-file-name): Skip for `separate' syntax.
7854 2019-12-22  Michael Albinus  <michael.albinus@gmx.de>
7856         * lisp/net/trampver.el (inhibit-message): Declare.
7858 2019-12-22  Michael Albinus  <michael.albinus@gmx.de>
7860         Add item to Frequently Asked Questions of Tramp manual
7862         * doc/misc/tramp.texi (Frequently Asked Questions): Add item for
7863         ControlMaster option on proxy hosts.  Explain changing syntax to
7864         Ange FTP.
7866 2019-12-22  Alan Third  <alan@idiocy.org>
7868         * lisp/term/ns-win.el (ns-insert-working-text): Comment is obsolete.
7870 2019-12-22  João Távora  <joaotavora@gmail.com>
7872         Improve sorting of flex completion style with non-nil minibuffer-default
7874         This affects the behaviour of flex completion when there is a default
7875         completion and the user hasn't entered any input pattern to flex-match
7876         against.  It is most visible when icomplete-mode or fido-mode are
7877         being used in conjunctio.
7879         When using M-x man, for instance, the default completion is picked
7880         from text around point.  Say it is "emacs" (for Emacs's man page).  It
7881         will not match the intended completion, "emacs(1)", exactly.  If the
7882         user hasn't yet given any input to the completion prompt, that
7883         completion should bubble to top so that
7884         icomplete-force-complete-and-exit will select it, but it didn't.
7886         This new approach uses 'string-prefix-p' instead of 'equal' to find
7887         the default to bubble to the top.  This strategy could eventually be
7888         improved, most naturally by flex-matching the default string to all
7889         the candidates and picking the highest scoring one.
7891         Additionally, the new strategy only considers minibuffer-default if
7892         there is no input in the minibuffer, which seems sensible and produces
7893         a small but noticeable speedup.
7895         * lisp/minibuffer.el (completion--flex-adjust-metadata):
7896         Reformulate sorting strategy.
7898 2019-12-22  Masahiro Nakamura  <tsuucat@icloud.com>  (tiny change)
7900         Fix display of working text on NS (Bug#23412, Bug#1453)
7902         * lisp/term/ns-win.el (ns-insert-working-text):
7903         (ns-delete-working-text): Change how working text is deleted to handle
7904         changed order of operations.
7905         * src/nsterm.m ([EmacsView insertText:]): Move deletion of working
7906         text until after insertion of new text.
7908 2019-12-22  Alan Third  <alan@idiocy.org>
7910         Check if file is in iCloud drive (bug#38618)
7912         * src/nsfns.m (ns_set_represented_filename): Check whether the file is
7913         a `ubiquitous item', and if so don't display a proxy icon.
7915 2019-12-21  Juri Linkov  <juri@linkov.net>
7917         * lisp/tab-bar.el: Rename tab-bar-list to tab-switcher (bug#38624)
7919 2019-12-21  Juri Linkov  <juri@linkov.net>
7921         New variable set-message-function to show message at the end of the minibuffer
7923         * doc/lispref/display.texi (Displaying Messages): Document
7924         set-message-function and clear-message-function.
7926         * lisp/minibuffer.el (minibuffer-message-clear-timeout): New defcustom.
7927         (minibuffer-message-timer, minibuffer-message-overlay): New variables.
7928         (set-minibuffer-message, clear-minibuffer-message): New functions.
7929         (set-message-function, clear-message-function): Set variables to
7930         set-minibuffer-message and clear-minibuffer-message respectively.
7932         * src/keyboard.c (read_char): Call clear_message when
7933         Vclear_message_function is a function.
7935         * src/xdisp.c (set_message): Call Vset_message_function when it's a function.
7936         (clear_message): Call Vclear_message_function when it's a function.
7937         (syms_of_xdisp): New variables set-message-function and clear-message-function
7938         (bug#38457).
7940 2019-12-21  Stephen Gildea  <stepheng+emacs@gildea.com>
7942         backup-by-copying-when-privileged-mismatch applies to file gid, too.
7944         * lisp/files.el (backup-by-copying-when-privileged-mismatch):  In addition
7945         to checking the file uid, a second test is added: if the file gid is not
7946         greater than backup-by-copying-when-privileged-mismatch,
7947         backup-by-copying-when-mismatch will also be forced on.
7949         * doc/emacs/files.texi, doc/lispref/backups.texi: Updated documentation.
7951         Also fixed a typo in the Emacs reference manual, changing "higher" to
7952         "no greater" so that the limit is no longer documented reversed.
7954 2019-12-21  Eli Zaretskii  <eliz@gnu.org>
7956         ;* src/process.c (read_process_output): Fix last change.
7958 2019-12-21  lin.sun  <lin.sun@zoom.us>
7960         Add new function `python-shell-send-statement'
7962         * lisp/progmodes/python.el (python-shell-send-statement): New function.
7963         (python-mode-map): Bind it to key "C-c C-e", and define a python-menu
7964         item for it.  (Bug#38426)
7966 2019-12-21  Eli Zaretskii  <eliz@gnu.org>
7968         Allow control of data amount read from subprocess in one chunk
7970         * src/process.c (syms_of_process) <read-process-output-max>:
7971         New variable.
7972         (read_process_output): Use it instead of the hard-coded
7973         constant 4096.  (Bug#38561)
7974         Use SAFE_ALLOCA to support large buffers for reading process
7975         output.
7977         * etc/NEWS: Mention 'read-process-output-max'.
7979 2019-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7981         * lisp/international/mule-cmds.el: Fix bug#38642
7983         (universal-coding-system-argument): Adjust the code to the way
7984         `universal-argument` works nowadays.  Handle `prefix-arg` a bit more
7985         like `command_loop` does.
7987         * test/lisp/international/mule-tests.el
7988         (mule-cmds--test-universal-coding-system-argument): New test.
7990 2019-12-20  Dmitry Gutov  <dgutov@yandex.ru>
7992         Speed up vc-dir-update
7994         * lisp/vc/vc-dir.el (vc-dir-update): Speed up.
7995         (https://lists.gnu.org/r/emacs-devel/2019-12/msg00568.html)
7997 2019-12-20  Alan Mackenzie  <acm@muc.de>
7999         Elisp manual: mention parse-partial-sexp as the source of a parser state, etc
8001         * doc/lispref/syntax.texi (Parser State): mention parse-partial-sexp as a
8002         function returning a parser state, and the function to which one supplies a
8003         parser state as an argument for continued parsing.
8004         Refine the documentation of syntax-ppss-context, and correct the text
8005         introducing it and another function.
8007 2019-12-20  Eli Zaretskii  <eliz@gnu.org>
8009         Support setting OS names of threads on MS-Windows
8011         * src/w32fns.c (setup_w32_kbdhook): Don't initialize
8012         is_debugger_present here...
8013         (globals_of_w32fns): ...initialize it here.  Also initialize
8014         the new global variable set_thread_description.
8015         * src/systhread.c: [WINDOWSNT] Include mbctype.h
8016         (w32_set_thread_name): New function.
8017         (MS_VC_EXCEPTION): New macro.
8018         (THREADNAME_INFO, IsDebuggerPresent_Proc)
8019         (SetThreadDescription_Proc): New typedefs.
8020         (w32_beginthread_wrapper): Call w32_set_thread_name to set the
8021         name of the new thread.
8022         * src/thread.h (struct thread_state): New member thread_name.
8023         * src/thread.c (Fmake_thread): Set the thread_name field of
8024         the new thread object.
8025         (run_thread): Free the thread_name member after the thread
8026         exits.
8028 2019-12-20  Michael Albinus  <michael.albinus@gmx.de>
8030         Fix error in tramp-process-sentinel
8032         * lisp/net/tramp.el (tramp-process-sentinel): Check, that process
8033         buffer is alive.
8035 2019-12-19  Juri Linkov  <juri@linkov.net>
8037         * lisp/tab-bar.el: Sort tab names by recency for tab switching (bug#38624)
8039         * lisp/tab-bar.el (tab-bar--tabs-recent): New function with code
8040         extracted from tab-bar--tab-index-recent.
8041         (tab-bar-switch-to-tab): Use tab-bar--tabs-recent in interactive spec
8042         to sort names of tabs by recency for default values of completing-read.
8043         (tab-prefix-map): Bind RET to tab-bar-select-tab-by-name, and 'm' to tab-move.
8045 2019-12-18  Mattias Engdegård  <mattiase@acm.org>
8047         More precise 'regexp-opt' documentation
8049         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
8050         * doc/lispref/searching.texi (Regexp Functions):
8051         Be more specific about how the KEEP-ORDER argument actually works.
8052         If nil, the regexp guarantees a longest match; this is the behaviour
8053         that many callers implicitly rely on.
8055 2019-12-18  Michael Albinus  <michael.albinus@gmx.de>
8057         Fix an error with remote file name in compile.el
8059         * lisp/progmodes/compile.el (compilation-get-file-structure):
8060         Compute proper remote file name.  (Bug#38648)
8062 2019-12-17  Wilson Snyder  <wsnyder@wsnyder.org>
8064         Verilog-Mode collected updates.
8066         * lisp/progmodes/verilog-mode.el (verilog-compiler-directives): Support
8067         indenting `uselib.
8068         (verilog-read-decls): Fix AUTO* to ignore `protected regions.
8069         (verilog-read-auto-template-middle): Fix AUTO_TEMPLATEs with multiple
8070         module templates and at-REGEXPs, msg3183.  Reported by Berk Akinci.
8072 2019-12-17  Michael Albinus  <michael.albinus@gmx.de>
8074         Improve Tramp's file-name-completion
8076         * lisp/net/tramp.el (tramp-handle-file-name-completion):
8077         Filter out "./" and "../", if there's only one other result.
8079 2019-12-17  Mattias Engdegård  <mattiase@acm.org>
8081         Adjust cursor column when auto-scrolling during rectangle selection
8083         * lisp/mouse.el (mouse-drag-region-rectangle):
8084         Move cursor to the correct column during auto-scrolling both when
8085         crutches are used and not (bug#38641).  Reported by Konrad Podczeck.
8087 2019-12-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>
8089         Make ls-files-unknown only return proper files, not directories
8091         * lisp/vc/vc-git.el (vc-git-dir-status-goto-stage):
8092         Make ls-files-unknown only return proper files, not directories
8093         (bug#38615).
8095 2019-12-16  Dmitry Gutov  <dgutov@yandex.ru>
8097         vc-git-after-dir-status-stage: Avoid erroneous up-to-date status
8099         * lisp/vc/vc-git.el (vc-git-after-dir-status-stage):
8100         Don't set `up-to-date' status if the previous stage (`diff-index')
8101         has assigned some other status to the file (bug#38615).
8103 2019-12-16  Eli Zaretskii  <eliz@gnu.org>
8105         Fix face merging for display strings broken by a recent commit
8107         * src/xfaces.c (face_at_string_position): Revert the last
8108         change, as it cannot possibly solve bug#38563.
8109         * src/xdisp.c (face_at_pos): Fix a typo made during last
8110         change here, which broke face merging for display strings.
8111         (Bug#38633)
8113 2019-12-15  Juri Linkov  <juri@linkov.net>
8115         * lisp/isearch.el (isearch-xterm-paste): Use code like in 'xterm-paste'.
8117         Add arg 'event' and use it to get pasted text.
8118         This allows pasting text on terminals to the
8119         search string (bug#18727, bug#36950).
8121 2019-12-15  Juri Linkov  <juri@linkov.net>
8123         Revert aa89c84e00d8dc85100e6fedab7631c415e6364d (bug#38457)
8125         * src/editfns.c (Fmessage): Don't use minibuffer-message.
8126         (Fmessage_in_echo_area): Remove function message-in-echo-area.
8127         (syms_of_editfns): Remove variable message-in-echo-area.
8129         * lisp/isearch.el (isearch--momentary-message): Remove message-in-echo-area.
8130         * lisp/minibuffer.el (minibuffer-message): Don't record message
8131         in the *Messages* buffer.
8132         (minibuffer-completion-help): Remove message-in-echo-area.
8134         * lisp/subr.el (do-after-load-evaluation): Remove discard-input (bug#38560)
8136 2019-12-15  Juri Linkov  <juri@linkov.net>
8138         * lisp/tab-line.el (tab-line-auto-hscroll): Improve.
8140         Better handling of tabs scrolled to the left.
8141         Don't scroll tabs that are already visible.
8143         Remove setq of buffer-undo-list because undo is disabled
8144         anyway in internal buffers with name " *temp*".
8146 2019-12-15  Juri Linkov  <juri@linkov.net>
8148         * lisp/tab-bar.el (tab-bar-handle-mouse): Handle close button.
8150         * lisp/tab-bar.el (tab-bar-select-tab): Message about selected tab (bug#38624)
8152 2019-12-15  Robert Cochran  <robert-git@cochranmail.com>
8154         * lisp/tab-bar.el (tab-bar-close-other-tabs): Use tab close customs
8156 2019-12-15  Robert Cochran  <robert-git@cochranmail.com>
8158         Document variables that affect tabs in function docstrings
8160         * lisp/tab-bar.el (tab-bar-new-tab-to): Mention
8161         tab-bar-post-open-functions in docstring.
8162         (tab-bar-close-tab): Mention tab-bar-prevent-tab-functions,
8163         tab-bar-tab-pre-close-functions, and tab-bar-close-last-tab-choice.
8165 2019-12-15  Phil Sainty  <psainty@orcon.net.nz>
8167         New command 'diff-buffers'
8169         * lisp/vc/diff.el (diff-buffers): New command.
8170         (diff, diff-no-select, diff-file-local-copy): Improve docstrings.
8171         * doc/emacs/files.texi:
8172         * etc/NEWS: Document new command, and the previously-undocumented
8173         ability for 'diff' to compare buffers.
8175 2019-12-14  Paul Eggert  <eggert@cs.ucla.edu>
8177         Adjust intptr_t advice
8179         * doc/lispref/internals.texi (C Integer Types): Say to prefer
8180         uintptr_t when pointer arithmetic might overflow intptr_t.
8182 2019-12-14  Paul Eggert  <eggert@cs.ucla.edu>
8184         Remove nothing from union output_data
8186         * src/frame.h (union output_data): Remove ‘nothing’ member.
8187         It has had no effect for quite some time.
8188         All uses removed.
8190 2019-12-14  Eli Zaretskii  <eliz@gnu.org>
8192         Update documentation of pure-space overflow
8194         * doc/lispref/internals.texi (Garbage Collection)
8195         (Pure Storage):
8196         * src/alloc.c (Fgarbage_collect): Update the documentation of
8197         pure-space overflow for when pdumper is used.  (Bug#38492)
8199 2019-12-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8201         * lisp/minibuffer.el (completion-pcm--find-all-completions): Simplify a bit
8203 2019-12-14  Michael Albinus  <michael.albinus@gmx.de>
8205         * lisp/net/tramp.el (tramp-initial-file-name-regexp): Make it more precise.
8207 2019-12-14  Eli Zaretskii  <eliz@gnu.org>
8209         Fix cross-references in ELisp manual
8211         * doc/lispref/commands.texi (Misc Events, Special Events): Fix
8212         cross-references.  (Bug#38520)
8214 2019-12-14  Eli Zaretskii  <eliz@gnu.org>
8216         Don't warn about pure-space overflow
8218         * lisp/startup.el (command-line-1): Don't warn about
8219         pure-space overflow if we were dumped with pdumper.
8220         (Bug#38492)
8222 2019-12-13  Paul Eggert  <eggert@cs.ucla.edu>
8224         Fix typo that broke GNU/Linux unexec build
8226         * src/emacs.c (Fdump_emacs): Remove stray closing brace that
8227         breaks the build when configured with --with-dumping=unexec on
8228         GNU/Linux.  (Apparently everybody is using pdumper now.)
8229         I introduced the bug in 2019-07-09T00:50:39Z!eggert@cs.ucla.edu.
8231 2019-12-13  Juanma Barranquero  <lekktu@gmail.com>
8233         xfaces.c: Silence spurious maybe-uninitialized compiler warning
8235         * src/xfaces.c (face_inherited_attr): Initialize 'ok' to false.
8237 2019-12-13  João Távora  <joaotavora@gmail.com>
8239         Disable undo in the process buffers of a JSONRPC connection
8241         * lisp/jsonrpc.el (initialize-instance jsonrpc-process-connection):
8242         Use buffer-disable-undo in stdout and stderr buffers.
8244         * lisp/jsonrpc.el (Version): Bump to 1.0.9
8246 2019-12-13  Michael Albinus  <michael.albinus@gmx.de>
8248         * lisp/net/tramp.el (tramp-unload-tramp): Autoload function body.
8250 2019-12-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>
8252         python-shell-completion-at-point: respect simple-operator (Bug#37808)
8254         * lisp/progmodes/python.el (python-shell-completion-at-point): Also
8255         stop on simple-operator while parsing input.
8257 2019-12-13  Mattias Engdegård  <mattiase@acm.org>
8259         Allow characters and single-char strings in rx charsets
8261         The `not' and `intersection' forms, and `or' inside these forms,
8262         now accept characters and single-character strings as arguments.
8263         Previously, they had to be wrapped in `any' forms.
8264         This does not add expressive power but is a convenience and is easily
8265         understood.
8267         * doc/lispref/searching.texi (Rx Constructs): Amend the documentation.
8268         * etc/NEWS: Announce the change.
8269         * lisp/emacs-lisp/rx.el (rx--charset-p, rx--translate-not)
8270         (rx--charset-intervals, rx): Accept characters and 1-char strings in
8271         more places.
8272         * test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-charset-or)
8273         (rx-def-in-charset-or, rx-intersection): Test the change.
8275 2019-12-13  Noam Postavsky  <npostavs@gmail.com>
8277         Add prefix to help.el uni-confusable* vars
8279         * lisp/help.el (help-uni-confusables, help-uni-confusables-regexp):
8280         Rename from uni-confusable and uni-confusables-regexp, respectively.
8281         (help-uni-confusable-suggestions): Use ngettext.  Use new variable
8282         name.
8283         * lisp/emacs-lisp/lisp-mode.el (lisp--match-confusable-symbol-character):
8284         Use new variable name.
8286 2019-12-13  Eli Zaretskii  <eliz@gnu.org>
8288         A better fix for extension of overlay string's faces
8290         * src/xdisp.c (face_at_pos): Revert previous change that
8291         rejected the underlying face if it failed the filtering
8292         criteria.
8293         * src/xfaces.c (face_at_string_position): Reset the base face's
8294         attribute used for filtering faces if the attribute is t.
8295         (Bug#38563)
8297 2019-12-12  Juri Linkov  <juri@linkov.net>
8299         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): Use 'user-error'.
8301         * lisp/wid-edit.el (widget-field): Add ':extend t' to defface (bug#37774)
8303 2019-12-12  Mattias Engdegård  <mattiase@acm.org>
8305         Use `or' instead of `union' for charset union in rx
8307         Design change suggested by Stefan Monnier.
8309         * doc/lispref/searching.texi (Rx Constructs):
8310         * etc/NEWS: Document.
8311         * lisp/emacs-lisp/rx.el (rx--translate-or): Detect charset arguments.
8312         (rx--charset-p): New.
8313         (rx--translate-not, rx--charset-intervals, rx--translate-union):
8314         Change from `union' to `or'.
8315         (rx--translate-form, rx--builtin-forms, rx): Remove `union'.
8316         * test/lisp/emacs-lisp/rx-tests.el (rx-union, rx-def-in-union)
8317         (rx-intersection): Rename tests and change `union' to `or' and `|'.
8319 2019-12-12  Michael Albinus  <michael.albinus@gmx.de>
8321         Optimize prompt search in Tramp
8323         * lisp/net/tramp.el (tramp-search-regexp): New defun.
8324         (tramp-check-for-regexp, tramp-process-sentinel):
8325         * lisp/net/tramp-adb.el (tramp-adb-send-command-and-check)
8326         (tramp-adb-wait-for-output):
8327         * lisp/net/tramp-sh.el (tramp-wait-for-output)
8328         (tramp-send-command-and-check):
8329         * lisp/net/tramp-smb.el (tramp-smb-handle-set-file-acl):
8330         Bind search length.
8332 2019-12-12  Juanma Barranquero  <lekktu@gmail.com>
8334         Avoid spurious warning about maybe-uninitialized variable
8336         * src/xdisp.c (face_at_pos): Initialize base_face_id to 0
8337         to silence the compiler.
8339 2019-12-12  Eli Zaretskii  <eliz@gnu.org>
8341         Fix face extension of overlay strings on buffer text with faces
8343         * src/xdisp.c (face_at_pos): Reject the face returned by
8344         'underlying_face_id' when we are filtering by face attribute,
8345         and that attribute's value fails the filter test.  (Bug#38563)
8347 2019-12-11  Robert Pluim  <rpluim@gmail.com>
8349         Treat passed strings as raw-text when percent-escaping in epg
8351         The strings contained in gpg keys can contain UTF-8 data, but can also
8352         use percent-escapes to encode non-ASCII chars.  When converting those
8353         escapes, use 'raw-text' coding system rather than 'string-to-unibyte',
8354         since the latter signals an error for non-ASCII characters.
8356         * lisp/epg.el (epg--decode-percent-escape): Convert the passed
8357         string to raw-text before treating percent escapes (Bug#38512).
8359 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8361         * lisp/emacs-lisp/debug.el (debug-on-entry): Allow undefined functions
8363         Allow placing debug-on-entry on a function not-yet-defined, which
8364         is convenient when the problem you're investigating happens while
8365         the relevant files are loaded.
8367 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8369         * lisp/font-lock.el (font-lock-fontify-region): Widen here (bug#38049)
8371         (font-lock-default-fontify-region): Instead of here.
8373 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8375         * lisp/calculator.el (cl-lib): Require at run-time as well.
8377         Needed since we pass the `cl-flet` macro to `eval` in `calculator-funcall`.
8379 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8381         * lisp/gnus/message.el (message-expand-name-standard-ui): New option
8383         (message--old-style-completion-functions): New var.
8384         (message-completion-function): Allow functions on
8385         `message-completion-alist` to follow the capf protocol.
8386         (message-completion-alist): Adjust docstring accordingly.
8387         Simplify regexps and make them apply more liberally.
8388         (message-expand-group): Use the capf protocol.
8389         (completion-category-defaults): Use 'substring' completion style by
8390         default for email addresses.
8391         (message--bbdb-query-with-words, message--name-table): New functions.
8392         (message-expand-name): Use them to obey `message-expand-name-standard-ui`.
8394 2019-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8396         * lisp/net/eudc.el (eudc-query-with-words): New function
8398         Extracted from eudc-expand-inline.
8399         (eudc-expand-inline): Use it.
8401 2019-12-11  Eli Zaretskii  <eliz@gnu.org>
8403         Avoid infloop in face merging due to bad face spec
8405         * src/xfaces.c (face_inherited_attr): Don't infloop if
8406         get_lface_attributes fails in the inner loop.  Reported by
8407         Yuri D'Elia <wavexx@thregr.org>.
8409 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
8411         * src/xterm.c: Remove long-obsolete comments.
8413 2019-12-11  Robert Pluim  <rpluim@gmail.com>
8415         Check for GUI frame in ns_color_index_to_rgba
8417         * src/nsterm.m (ns_color_index_to_rgba): Check that we're using a GUI
8418         frame before converting color (Bug#38564).
8420 2019-12-11  Michael Albinus  <michael.albinus@gmx.de>
8422         Don't spam the echo area and the *Messages* buffer in Tramp
8424         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered):
8425         When called during `revert-buffer', don't spam the echo area and
8426         the *Messages* buffer.
8428 2019-12-10  Paul Eggert  <eggert@cs.ucla.edu>
8430         Improve tv_nsec doc
8432         * doc/lispref/internals.texi (Module Values):
8433         Document tv_nsec more accurately.
8435 2019-12-10  Paul Eggert  <eggert@cs.ucla.edu>
8437         Just use size_t for emacs_limb_t
8439         * src/emacs-module.h.in: Do not include limits.h; no longer needed.
8440         (emacs_limb_t, EMACS_LIMB_MAX): Now size_t and SIZE_MAX.
8442 2019-12-10  Mattias Engdegård  <mattiase@acm.org>
8444         Add `union' and `intersection' to rx (bug#37849)
8446         These character set operations, together with `not' for set
8447         complement, improve the compositionality of rx, and reduce duplication
8448         in complicated cases.  Named character classes are not permitted in
8449         set operations.
8451         * lisp/emacs-lisp/rx.el (rx--translate-any): Split into multiple
8452         functions.
8453         (rx--foldl, rx--parse-any, rx--generate-alt, rx--intervals-to-alt)
8454         (rx--complement-intervals, rx--intersect-intervals)
8455         (rx--union-intervals, rx--charset-intervals, rx--charset-union)
8456         (rx--charset-all, rx--charset-intersection, rx--translate-union)
8457         (rx--translate-intersection): New.
8458         (rx--translate-not, rx--translate-form, rx--builtin-forms, rx):
8459         Add `union' and `intersection'.
8460         * test/lisp/emacs-lisp/rx-tests.el (rx-union ,rx-def-in-union)
8461         (rx-intersection, rx-def-in-intersection): New tests.
8462         * doc/lispref/searching.texi (Rx Constructs):
8463         * etc/NEWS:
8464         Document `union' and `intersection'.
8466 2019-12-10  Alan Third  <alan@idiocy.org>
8468         Fix XBM files on NS (bug#26133)
8470         Reinstate some of the functionality removed in commit
8471         67a878f78f879ce534232408c34dd11f42dd802b.
8473         * src/nsimage.m (ns_image_from_XBM): Use new reverseBytes argument.
8474         ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Add
8475         ability to reverse the contents of each byte for use with XBMs, while
8476         still working with fringe bitmaps.
8477         * src/nsterm.h
8478         ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Modified
8479         function definition.
8480         * src/nsterm.m (ns_draw_fringe_bitmap): Use new reverseBytes argument.
8482 2019-12-10  Alan Third  <alan@idiocy.org>
8484         Fix dabbrev-completion (bug#17899)
8486         * lisp/dabbrev.el (dabbrev--check-all-buffers): Add new variable.
8487         (dabbrev-completion): Lexical scoping means we can't use let to
8488         override global variables, so use setq.
8489         (dabbrev--reset-global-variables): Reset new variable.
8490         (dabbrev--make-friend-buffer-list): Use new variable.
8491         * test/lisp/dabbrev-tests.el (dabbrev-completion-test):
8492         (dabbrev-completion-test-with-argument): New tests.
8494 2019-12-10  Alan Third  <alan@idiocy.org>
8496         Fix mouse-position on macOS (bug#4892)
8498         * src/nsterm.m (ns_mouse_position): Implement a search for the frame
8499         under the mouse pointer.
8501 2019-12-10  Federico Tedin  <federicotedin@gmail.com>
8503         Simplify call to add-to-history in read_minibuf
8505         * src/minibuf.c (read_minibuf): Avoid restoring the previous buffer,
8506         as this is already done at the end of the function; call
8507         `add-to-history' after that point.
8509 2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>
8511         Spelling fixes
8513 2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>
8515         Prefer static to extern in ebrowse
8517         * lib-src/ebrowse.c (info_where, info_cls, info_member)
8518         (info_position, options, yyival, yytext, yytext_end, yyout)
8519         (yyline, filename, is_ident, is_digit, is_white, f_append)
8520         (f_verbose, f_very_verbose, f_structs, f_regexps)
8521         (f_nested_classes, min_regexp, max_regexp, inbuffer, in)
8522         (inbuffer_size, string_start, class_table, member_table)
8523         (namespace_alias_table, global_symbols, current_namespace)
8524         (all_namespaces, namespace_stack, namespace_stack_size)
8525         (namespace_sp, tk, keyword_table, search_path)
8526         (search_path_tail, scope_buffer, scope_buffer_size)
8527         (scope_buffer_len): Now static.
8528         (options): Now const.
8530 2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>
8532         * lib-src/etags.c (pot_etags_version): Remove; unused.
8534         * lib-src/etags.c (Forth_suffixes): Now static.
8536 2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>
8538         Rename faces used in faces-tests.el
8540         * test/data/themes/faces-test-light-theme.el:
8541         * test/data/themes/faces-test-dark-theme.el: Update accordingly.
8543         * test/lisp/faces-tests.el (faces--test-extend-with-themes):
8544         Don't use the diff-mode faces.  Rename the definitions.
8546 2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>
8548         Make ':extend' inherited from default spec unless overridden
8550         * lisp/faces.el (face-spec-recalc): Handle the :extend attribute
8551         specially and always inherit it from the default spec unless
8552         overwritten in a theme (bug#37774).
8554         * test/lisp/faces-tests.el (faces--test-data-dir): New variable.
8555         (faces--test-extend-with-themes): Use test themes instead of ones
8556         from etc/themes.  Update expected values.
8558         * test/data/themes/faces-test-dark-theme.el: New file.
8560         * test/data/themes/faces-test-light-theme.el: New file.
8562         * doc/lispref/display.texi (Face Attributes):
8563         Update the description of ':extend'.
8565         * etc/NEWS: Update the entry for ':extend'.
8567         * etc/themes/adwaita-theme.el:
8568         * etc/themes/deeper-blue-theme.el:
8569         * etc/themes/dichromacy-theme.el:
8570         * etc/themes/leuven-theme.el:
8571         * etc/themes/light-blue-theme.el:
8572         * etc/themes/manoj-dark-theme.el:
8573         * etc/themes/misterioso-theme.el:
8574         * etc/themes/tango-dark-theme.el:
8575         * etc/themes/tango-theme.el:
8576         * etc/themes/tsdh-dark-theme.el:
8577         * etc/themes/tsdh-light-theme.el:
8578         * etc/themes/wheatgrass-theme.el:
8579         * etc/themes/wombat-theme.el: Remove the now-redundant ':extend'
8580         attribute in all the themes.
8582 2019-12-09  Juri Linkov  <juri@linkov.net>
8584         * lisp/emacs-lisp/map-ynp.el (read-answer): Use [remap self-insert-command]
8586         This reverts the last change that replaced [remap self-insert-command]
8587         with [t].  The user should have freedom of using any command
8588         in the minibuffer.  (bug#32738)
8590 2019-12-09  Paul Eggert  <eggert@cs.ucla.edu>
8592         Improve module bignum doc
8594         * doc/lispref/internals.texi (Module Values): Tighten up
8595         wording and code, and make the long example self-contained.
8596         Fit things in margins.
8598 2019-12-09  Dmitry Gutov  <dgutov@yandex.ru>
8600         project-find-regexp: Default to symbol at point
8602         * lisp/progmodes/project.el (project--read-regexp):
8603         Don't rely on the Xref backend to provide the default value.
8605 2019-12-09  Eli Zaretskii  <eliz@gnu.org>
8607         Add more tests for face :extend attribute
8609         * test/lisp/faces-tests.el (faces--test-extend-with-themes):
8610         New set of tests for verifying the :extend attribute across
8611         theme loading and unloading, and also via face inheritance.
8612         (Bug#37774)
8614 2019-12-08  Juri Linkov  <juri@linkov.net>
8616         * lisp/emacs-lisp/map-ynp.el (read-answer): Allow more SHORT-ANSWER types.
8618         Treat SHORT-ANSWER as a character is characterp returns non-nil.
8619         Otherwise, use key-description to print it.
8620         Use catch-all [t] in keymap instead of [remap self-insert-command].
8621         (bug#32738)
8623 2019-12-08  Juri Linkov  <juri@linkov.net>
8625         * doc/emacs/mini.texi (Minibuffer Edit): Add minibuffer-depth-indicate-mode.
8627         * doc/emacs/search.texi (Regexp Backslash): Change xref from
8628         "(elisp) Syntax Tables" to "(elisp) Syntax Class Table".
8630         * doc/lispref/display.texi (Other Display Specs): Change xref from
8631         "Images" to "Image Descriptors".
8633         (bug#38519)
8635 2019-12-08  Juri Linkov  <juri@linkov.net>
8637         * lisp/simple.el (shell-command-on-region): Use set-buffer-major-mode.
8639         This enables globalized minor modes explicitly after get-buffer-create
8640         creates "*Shell Command Output*" buffer (bug#38111).
8642 2019-12-08  Juri Linkov  <juri@linkov.net>
8644         Move recenter/scroll keybindings from minibuffer-local-map to read-char map
8646         * lisp/minibuffer.el (minibuffer-local-map): Move remap of
8647         recenter/scroll keybindings to read-char-from-minibuffer-map.
8649         * lisp/subr.el (read-char-from-minibuffer-map): Move remap of
8650         recenter/scroll keybindings here from minibuffer-local-map.
8651         (bug#38502)
8653 2019-12-08  Juri Linkov  <juri@linkov.net>
8655         * lisp/tab-line.el (tab-line-format): Use composite cache key (bug#38522)
8657 2019-12-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
8659         Continued fixes to gnus registry loading
8661         * lisp/gnus/gnus-registry.el (gnus-registry-db): Do not initialize
8662         this variable to an empty database, that should only be done for new
8663         databases.
8664         (gnus-registry-load): Remove "force" argument, don't check if the
8665         database is already loaded, as we're only going to load it once.
8666         (gnus-registry-initialize): Either load the db directly, or set up a
8667         hook to do it later.
8668         (gnus-registry-install-hooks): Don't load on
8669         gnus-read-newsrc-el-hook.
8671 2019-12-07  Juri Linkov  <juri@linkov.net>
8673         * lisp/man.el (Man-width-max): New defcustom (bug#32536, bug#9385)
8675         (Man-columns): New buffer-local variable.
8676         (Man-columns): New function.
8677         (Man-start-calling): Call Man-columns and set buffer-local Man-columns.
8678         (Man--window-state-change-timer): New internal variable.
8679         (Man--window-state-change): New internal function.
8680         (Man-fit-to-window): New function.
8681         (Man-mode): Add Man--window-state-change to local hook
8682         window-state-change-functions.
8684         * lisp/image-mode.el (image-fit-to-window): Add window arg to
8685         window-buffer call.
8687 2019-12-07  Robert Cochran  <robert-git@cochranmail.com>
8689         Add hooks for after tab open, before close, and to prevent closing
8691         * lisp/tab-bar.el (tab-bar-tab-post-open-functions,
8692         tab-bar-tab-prevent-close-functions, tab-bar-tab-pre-close-functions):
8693         New defcustoms
8694         (tab-bar-new-tab-to, tab-bar-close-tab): Use new defcustoms
8696 2019-12-07  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
8698         Ignore comments and strings when matching JSX
8700         * lisp/progmodes/js.el (js-jsx--matching-close-tag-pos): Ignore
8701         comments and strings.
8702         * test/manual/indent/jsx-comment-string.jsx: New test.
8704 2019-12-07  Alan Mackenzie  <acm@muc.de>
8706         CC Mode: Allow most functions on post-self-insert-hook to be called
8708         This contrasts with the previous state where no such functions got called.
8709         This fixes bug #38406.
8711         * lisp/progmodes/cc-cmds.el (c--unsafe-post-self-insert-hook-functions): New
8712         variable.
8713         (c--call-post-self-insert-hook-more-safely-1): New function.
8714         (c--call-post-self-insert-hook-more-safely): New macro.
8715         (c-electric-pound, c-electric-brace, c-electric-slash, c-electric-star)
8716         (c-electric-semi&comma, c-electric-colon, c-electric-lt-gt, c-electric-paren):
8717         Invoke c--call-post-self-insert-hook-more-safely (which calls most of the hook
8718         post-self-insert-hook) at the end of each of the commands.
8720 2019-12-07  Michael Albinus  <michael.albinus@gmx.de>
8722         Add unload code to tramp-integration.el
8724         * lisp/net/tramp-integration.el (info-lookup->mode-cache)
8725         (info-lookup->topic-cache, info-lookup-alist): Declare.
8726         (ido, ivy, info-look): Adapt `tramp-integration-unload-hook'.
8728 2019-12-07  Eli Zaretskii  <eliz@gnu.org>
8730         Corrections in semantic.texi
8732         * doc/misc/semantic.texi (Parser code, Tag handling)
8733         (Semanticdb Internals, Analyzer Internals, Tools): Fix file
8734         names according to what was actually imported from the
8735         original CEDET.  (Bug#38451)
8737 2019-12-07  Eli Zaretskii  <eliz@gnu.org>
8739         Fix documentation of '-position' server command
8741         * lisp/server.el (server-process-filter): Fix the description
8742         of "-position" command to match the reality.  (Bug#38443)
8744 2019-12-07  Andrii Kolomoiets  <andreyk.mad@gmail.com>
8746         Ensure buffer is alive in python-pdbtrack-unset-tracked-buffer
8748         * lisp/progmodes/python.el (python-pdbtrack-unset-tracked-buffer):
8749         Check if buffer `python-pdbtrack-tracked-buffer' is alive.
8750         (Bug#38413)
8752 2019-12-07  Eli Zaretskii  <eliz@gnu.org>
8754         Fix fallout from fixing bug#37782
8756         * src/keyboard.c (read_key_sequence): Modify the fix for
8757         bug#37782 so that it applies only to keyboard keys, not to
8758         other events, such as a new buffer.  (Bug#38132)
8760 2019-12-07  Eli Zaretskii  <eliz@gnu.org>
8762         Minor fix in the ELisp manual
8764         * doc/lispref/files.texi (Saving Buffers): Remove the
8765         reference to the obsolete Fast Lock mode.  (Bug#37956)
8767 2019-12-06  Eli Zaretskii  <eliz@gnu.org>
8769         Remove duplicate macros from ses.el
8771         * lisp/ses.el (1value, noreturn): Macros deleted, as we
8772         nowadays have them in subr.el.  (Bug#38514)
8774 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
8776         Test format-time-string padding
8778         Adapted from tests written by Stephen Gildea.
8779         * test/src/timefns-tests.el:
8780         (format-time-string-padding-minimal-deletes-unneeded-zeros)
8781         (format-time-string-padding-minimal-retains-needed-zeros)
8782         (format-time-string-padding-spaces)
8783         (format-time-string-padding-zeros-adds-on-insignificant-side):
8784         New tests.
8786 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
8788         Update from Gnulib
8790         This incorporates:
8791         2019-12-06 nstrftime: better width support for %N, %z
8792         2019-12-03 Avoid hassles caused by [[noreturn]] in C++
8793         2019-12-02 Fix mistakes in --enable-threads=isoc fixes from 2019-12-01
8794         * admin/merge-gnulib (AVOIDED_MODULES): Avoid pthread-h.
8795         * lib/_Noreturn.h, lib/nstrftime.c, m4/gnulib-common.m4:
8796         * m4/timer_time.m4:
8797         Copy from Gnulib.
8798         * lib/gnulib.mk.in: Regenerate.
8800 2019-12-06  Michael Albinus  <michael.albinus@gmx.de>
8802         Configure info-look.el to recognize Tramp symbols
8804         * lisp/net/tramp-integration.el (info-lookup->cache)
8805         (info-lookup->mode-value, info-lookup->other-modes)
8806         (info-lookup->topic-value, info-lookup-maybe-add-help)
8807         (info-lookup-cache): Declare.
8808         (info-look): Configure info-look.el to recognize Tramp symbols.
8810 2019-12-06  Eli Zaretskii  <eliz@gnu.org>
8812         Clarify documentation of functions that use the default face
8814         * lisp/simple.el (default-font-height, default-font-width)
8815         (default-line-height): Say in the doc strings that the default
8816         face these functions use is for the currently selected frame.
8818         * doc/lispref/display.texi (Attribute Functions)
8819         (Low-Level Font): Document more clearly the dependence of the
8820         results of 'face-font', 'default-font-width', and
8821         'default-font-height' on the frame's definition of the default
8822         face.
8824 2019-12-06  Eli Zaretskii  <eliz@gnu.org>
8826         Fix set-marker when the position is larger than the largest buffer
8828         * src/marker.c (set_marker_internal): Handle the case where
8829         POSITION is beyond PTRDIFF_MAX, which can happen if Emacs was
8830         built --with-wide-int.  Bug uncovered by the recently added
8831         overlay tests.
8833 2019-12-05  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
8835         Merge branch 'completion-first-difference_face'
8837 2019-12-05  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
8839         Fix setting completions* faces in
8841         `completion-pcm--hilit-commonality` so that these faces doesn't
8842         override possible already existing faces in other UIs.
8844         * lisp/minibuffer.el (completion-pcm--hilit-commonality): Use
8845         `add-face-text-property` instead of `put-text-property`.
8847 2019-12-05  Andreas Politz  <politza@hochschule-trier.de>
8849         * test/src/buffer-tests.el: Add loads of overlay tests
8851         Taken from the `feature/noverlay` branch.
8852         Suggested by Vladimir Kazanov <vekazanov@gmail.com>.
8854 2019-12-05  Paul Eggert  <eggert@cs.ucla.edu>
8856         2019-12-05 regexp lint fixes
8858         * lisp/org/org-agenda.el (org-agenda-filter):
8859         Fix unescaped literal ‘+’ in regexp.  Reported by Mattias Engdegård in:
8860         https://lists.gnu.org/r/emacs-devel/2019-12/msg00215.html
8861         * lisp/org/org.el (org-clone-subtree-with-time-shift):
8862         Fix a regexp typo that mishandled strings like ‘\1d’,
8863         reported by the same emaikl.
8864         * lisp/progmodes/verilog-mode.el (verilog-inject-inst):
8865         Omit unnecessary ‘?’ in regexp.  Reported by Mattias Engdegård in:
8866         https://lists.gnu.org/r/emacs-devel/2019-12/msg00217.html
8868 2019-12-05  Eli Zaretskii  <eliz@gnu.org>
8870         Another fix for :extend when :inherit is used
8872         * src/xfaces.c (face_inherited_attr): Support also values of
8873         :inherit which are lists.  (Bug#37774)
8875 2019-12-05  Eli Zaretskii  <eliz@gnu.org>
8877         Minor copyedits of 'jit-lock-antiblink-grace's docs
8879         * lisp/jit-lock.el (jit-lock-antiblink-grace):
8880         * etc/NEWS (value): Reword the NEWS entry and the doc string.
8882 2019-12-05  Eli Zaretskii  <eliz@gnu.org>
8884         Fix recent modifications in emacs-module-tests
8886         * test/data/emacs-module/mod-test.c (extract_big_integer): Fix
8887         calculation of size of 'magnitude' when 'emacs_limb_t' is wider
8888         than 'unsigned long'.
8890         * test/src/emacs-module-tests.el
8891         (module--test-assertions--load-non-live-object)
8892         (module--test-assertions--call-emacs-from-gc): On MS-Windows,
8893         check also mod-test-emacs with ".exe" appended, before
8894         skipping the tests.
8896 2019-12-05  Federico Tedin  <federicotedin@gmail.com>
8898         Make HIST arg of read-from-minibuffer work with buffer-local vars
8900         * lisp/simple.el (minibuffer-history-values): New function, should be
8901         used to access the minibuffer input history variable when the
8902         minibuffer might be active.  If the variable is buffer-local, the
8903         previous buffer's value will be used.
8904         (goto-history-element): Use the new function to access the minibuffer
8905         history.
8906         (minibuffer-history-isearch-wrap): Use the new function to access the
8907         minibuffer history.
8908         * src/minibuf.c (read_minibuf): Switch to previous buffer temporarily
8909         before updating history list (Bug#38317).
8910         (read-from-minibuffer): Extend documentation to mention that the
8911         result of using the command will be added to the history list by
8912         default.
8913         * doc/lispref/minibuf.texi (Minibuffer History): Mention the
8914         possibility of using a buffer-local variable as history.
8915         * etc/NEWS: Announce changes.
8917 2019-12-04  Paul Eggert  <eggert@cs.ucla.edu>
8919         Pacify GCC 9.2.1 with recent module changes
8921         * src/emacs-module.c (module_encode): Remove unused decl.
8922         (module_extract_big_integer): Pacify gcc -Wenum-compare.
8924 2019-12-04  Paul Eggert  <eggert@cs.ucla.edu>
8926         Fix regex repetition of repetitions
8928         Problems reported by Mattias Engdegård in:
8929         https://lists.gnu.org/r/emacs-devel/2019-12/msg00066.html
8930         * lisp/gnus/gnus-util.el (gnus-emacs-version):
8931         * lisp/mail/rfc2368.el (rfc2368-mailto-regexp):
8932         * lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
8933         * lisp/obsolete/terminal.el (te-parse-program-and-args):
8934         * lisp/org/org-table.el (org-table-wrap-region):
8935         * lisp/progmodes/verilog-mode.el (verilog-inject-inst):
8936         Avoid repetition-of-repetition in regexp.
8938 2019-12-04  Philipp Stephani  <phst@google.com>
8940         Fix small bugs introduced in commit 096be9c454
8942         * src/module-env-27.h:
8943         * src/emacs-module.c (module_make_big_integer): Use 'emacs_limb_t'
8944         instead of 'unsigned long' consistently
8946 2019-12-04  Juri Linkov  <juri@linkov.net>
8948         * lisp/tab-line.el: Cache the tab-line-format template.
8950         (tab-line-format): Cache the result of tab-line-format-template in window.
8951         (tab-line-format-template): New function that returns the value to cache.
8953 2019-12-04  Juri Linkov  <juri@linkov.net>
8955         * lisp/windmove.el (windmove-display-new-tab): New command.
8957         (windmove-display-default-keybindings): Bind it to '?t'.
8958         (windmove-display-in-direction): Call tab-bar-new-tab when 'dir' is 'new-tab'.
8960 2019-12-04  Juri Linkov  <juri@linkov.net>
8962         * lisp/tab-bar.el (tab-bar-get-buffer-tab): Move code closer to its use.
8964 2019-12-04  Juri Linkov  <juri@linkov.net>
8966         * lisp/tab-bar.el (switch-to-buffer-other-tab): Use display-buffer-in-tab.
8968         (tab-bar--tab): Use float-time instead of integer.
8969         This improves correct detection of recent tabs switched within 1 sec.
8970         (tab-bar--current-tab, tab-bar--current-tab-index)
8971         (tab-bar--tab-index, tab-bar--tab-index-by-name)
8972         (tab-bar--tab-index-recent): Add optional arg FRAME.
8973         (tab-bar-move-tab-to-frame): Add with-selected-frame for tab-bar-close-tab.
8974         (tab-bar--reusable-frames): New function.
8975         (tab-bar-get-buffer-tab): Add index to the found tab.
8976         (display-buffer-in-tab): Use `tab-name' entry instead of `name'.
8977         Add `reusable-frames' entry.  (bug#38354)
8979 2019-12-04  João Távora  <joaotavora@gmail.com>
8981         New jit-lock-antiblink-grace feature
8983         * lisp/jit-lock.el (jit-lock-antiblink-grace): New defcustom.
8984         (jit-lock--antiblink-line-beginning-position)
8985         (jit-lock--antiblink-string-or-comment): New variables
8986         (jit-lock--antiblink-post-command): New helper.
8987         (jit-lock-mode): Tweak post-command-hook and
8988         jit-lock-context-timer.
8990         * etc/NEWS: Mention jit-lock-antiblink-grace
8992 2019-12-04  Philipp Stephani  <phst@google.com>
8994         Use new function encode_string_utf_8 for the module API, too
8996         * src/emacs-module.c (module_encode): Remove.
8997         (module_copy_string_contents): Use encode_string_utf_8.
8998         (syms_of_module): Define symbol 'unicode-string-p'.
9000 2019-12-04  Philipp Stephani  <phst@google.com>
9002         * src/emacs-module.c: Add a few more restrictions for emacs-module.h
9004 2019-12-04  Philipp Stephani  <phst@google.com>
9006         Change module interface to no longer use GMP objects directly.
9008         As described in the new comment added to emacs-module.c, using GMP
9009         directly in the module interface has significant downsides: it couples
9010         the module interface directly to the implementation and requires
9011         module authors to link their module against the same GMP library as
9012         Emacs itself, which is often difficult and an unnecessary burden.  By
9013         picking a representation for the magnitude that often matches the one
9014         used by GMP, we can avoid overhead when converting from and to GMP in
9015         most cases.
9017         Loading the test module in test/data/emacs-module and evaluating
9019         (dotimes (_ 10000)
9020           (mod-test-double (* 2 most-negative-fixnum)))
9022         under Callgrind shows that on my (GNU/Linux) machine Emacs only spends
9023         10% of the CPU time of mod-test-double in mpz_import and mpz_export
9024         combined, even though that function does little else.  (By contrast,
9025         30% is spent in allocate_pseudovector.)
9027         * src/emacs-module.h.in: Don't check EMACS_MODULE_GMP.  Don't include
9028         gmp.h.  Remove emacs_mpz structure.  Instead, define type alias
9029         emacs_limb_t and macro EMACS_LIMB_MAX.
9031         * src/module-env-27.h: Change interface of extract_big_integer and
9032         make_big_integer to take a sign-magnitude representation instead of
9033         mpz_t.
9035         * src/emacs-module.c: Don't check EMACS_MODULE_GMP or
9036         EMACS_MODULE_HAVE_MPZ_T.  Add a comment about the chosen
9037         implementation.
9038         (module_extract_big_integer, module_make_big_integer): Reimplement
9039         without using mpz_t in the interface.
9041         * doc/lispref/internals.texi (Module Values): Adapt function
9042         documentation and example.  Stop mentioning GMP and EMACS_MODULE_GMP.
9044         * test/data/emacs-module/mod-test.c: Don't define EMACS_MODULE_GMP or
9045         EMACS_MODULE_HAVE_MPZ_T.
9046         (memory_full, extract_big_integer, make_big_integer): New helper
9047         functions, identical to example in the Info documentation.
9048         (Fmod_test_nanoseconds, Fmod_test_double): Adapt to new interface.
9050 2019-12-04  Bastien  <bzg@gnu.org>
9052         etc/ORG-NEWS: Fix contents
9054 2019-12-04  Juanma Barranquero  <lekktu@gmail.com>
9056         * lisp/doc-view.el (doc-view-doc-type): Doc fix.
9058 2019-12-04  Mattias Engdegård  <mattiase@acm.org>
9060         Don't use the return value of 'push'
9062         Although 'push' returns the modified list, it isn't actually
9063         documented to do so, so don't rely on it.
9065         * lisp/emacs-lisp/rx.el (rx--translate-any): Add progn.
9067 2019-12-03  Juanma Barranquero  <lekktu@gmail.com>
9069         Silence warnings in Org 9.3
9071         * lisp/org/ob-eshell.el (eshell-send-input): Declare.
9072         (eshell-last-output-start, eshell-last-output-end)
9073         (eshell-last-input-end): Defvar.
9075         * lisp/org/org-keys.el (cl-lib): Require.
9076         (org-CUA-compatible): Move up defvaralias.
9078 2019-12-03  Juri Linkov  <juri@linkov.net>
9080         * lisp/tab-bar.el (tab-bar-move-tab-to-frame): New command (bug#38354)
9082         (tab-bar-tabs, tab-bar--tab): Add optional arg FRAME.
9083         (tab-bar-get-buffer-tab): Funcall tab-bar-tabs-function with arg FRAME
9084         instead of using with-selected-frame.
9086 2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
9088         * lisp/gnus/message.el (message-sendmail-envelope-from): Fix typo
9090         Reported by David Edmondson <dme@dme.org>.
9092 2019-12-03  Bastien  <bzg@gnu.org>
9094         Update Org to 9.3
9096 2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
9098         (message-sendmail-envelope-from): Obey `mail-envelope-from` even if set later
9100         * lisp/gnus/message.el (message-sendmail-envelope-from): Change default.
9101         (message--sendmail-envelope-from): New function.
9102         (message-sendmail-envelope-from): Use it.
9103         * lisp/mail/emacsbug.el (report-emacs-bug): Use it.
9105 2019-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
9107         * lisp/minibuffer.el (completion-pcm--optimize-pattern): New function
9109         This fixes bug#38458 where a final `point` in the pattern prevented
9110         the expected normal behavior of point moving after the completion
9111         of the final implicit `any`.
9113         (completion-pcm--find-all-completions)
9114         (completion-substring--all-completions): Use it.
9115         (completion-basic--pattern): Don't both removing "" any more.
9116         (completion-basic-try-completion): Use it as well as
9117         `completion-basic--pattern`.
9119 2019-12-03  Mattias Engdegård  <mattiase@acm.org>
9121         Avoid duplicated character classes in rx
9123         For example, (any digit digit) should produce "[[:digit:]]",
9124         not "[[:digit:][:digit:]]".
9126         * lisp/emacs-lisp/rx.el (rx--translate-any): Deduplicate character classes.
9127         * test/lisp/emacs-lisp/rx-tests.el (rx-any): Add test case.
9129 2019-12-02  Tobias Bading  <tbading@web.de>  (tiny change)
9131         Fix incorrect GTK menus on HiDPI monitors with scaling factor > 1
9133         This should fix Bug#31223, Bug#28106, Bug#23672 as well as Ubuntu bug
9134         https://bugs.launchpad.net/ubuntu/+source/emacs25/+bug/1695228
9136         Also fixes the formerly unscaled Y value returned by
9137         frame-monitor-workarea (and display-monitor-attributes-list).
9139         For details on why some GTK menus were empty please see thread
9140         https://lists.gnu.org/r/emacs-devel/2019-11/msg01061.html
9142         * src/gtkutil.c (menubar_map_cb, xg_update_frame_menubar): Scale up
9143         req.height so that the menu bar's height is in device pixels as
9144         expected.
9145         (xg_event_is_for_menubar): Scale down rec.x and rec.y so that
9146         gtk_widget_intersect() works as intended.
9147         * src/xfns.c (Fx_display_monitor_attributes_list): Scale work.x and
9148         work.y up to be in device pixels.
9150 2019-12-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9152         Fix typo in populating otf_capability method for HarfBuzz
9154         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]:
9155         * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
9156         * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]:
9157         * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Fix typos.
9159 2019-12-02  Juri Linkov  <juri@linkov.net>
9161         New functions window-state-buffers and tab-bar-get-buffer-tab (bug#38354)
9163         * lisp/window.el (window-state-buffers): New function.
9164         * lisp/tab-bar.el (tab-bar-get-buffer-tab): New function.
9166         * lisp/emacs-lisp/seq.el (seq-some): Add autoload cookie.
9168         * lisp/desktop.el (desktop-buffers-not-to-save-function): New variable.
9169         (desktop-save-buffer-p): Use it.
9171 2019-12-02  Juanma Barranquero  <lekktu@gmail.com>
9173         Don't save/restore font-backend in framesets (bug#38442)
9175         * lisp/frameset.el (frameset-persistent-filter-alist):
9176         Add :never filter for `font-backend'.
9178 2019-12-01  Juanma Barranquero  <lekktu@gmail.com>
9180         ibuf-ext.el: Fix previous change
9182         * lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Use
9183         `cl-destructuring-bind' instead of `cl-multiple-value-bind', as we
9184         don't want to assume how multiple-values are implemented, and we
9185         know a list is being returned anyway.  Suggested by Stefan Monnier.
9187 2019-12-01  Dmitry Gutov  <dgutov@yandex.ru>
9189         * lisp/vc/diff-mode.el (diff-context): Set 'extend t' (bug#37774).
9191 2019-12-01  Mattias Engdegård  <mattiase@acm.org>
9193         Temporary enable transient-mark-mode for rectangle selection
9195         * lisp/mouse.el (mouse-drag-region-rectangle):
9196         Enable transient-mark-mode during selection (bug#38431).
9198 2019-12-01  Michael Albinus  <michael.albinus@gmx.de>
9200         Suppress superfluous messages in tramp-tests
9202         * test/lisp/net/tramp-tests.el (tramp-test10-write-region)
9203         (tramp-test10-write-region-file-precious-flag)
9204         (tramp-test34-connection-local-variables)
9205         (tramp-test36-vc-registered): Let-bind `inhibit-message'.
9207 2019-12-01  Juanma Barranquero  <lekktu@gmail.com>
9209         ibuffer-mark-by-content-regexp: don't depend on `cl-some'
9211         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): Use `cl-dolist'
9212         instead of `cl-some' to avoid a run-time dependency on cl-lib that
9213         triggers an unreported bug similar to bug#38430.
9215 2019-12-01  Juanma Barranquero  <lekktu@gmail.com>
9217         ibuffer-do-isearch: don't depend on `cl-values-list' (bug#38430)
9219         * lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Don't call
9220         `cl-values-list'.  Our implementation of that function just
9221         checks that its argument is a list, and then returns it.  In
9222         this specific case, the argument is guaranteed to be a list.
9224 2019-11-30  Mattias Engdegård  <mattiase@acm.org>
9226         Improved mouse rectangle selection robustness (bug#38013)
9228         Make the rectangular selection work better with
9229         display-line-numbers-mode and side-by-side windows.
9230         Also make the mouse track the text cursor in a consistent way.
9232         * lisp/mouse.el (mouse--rectangle-track-cursor): Added constant.
9233         (mouse-drag-region-rectangle): Take the line-number width into
9234         account, and use window-relative columns.  Track either the cursor or
9235         rectangle corner with more care.
9237 2019-11-30  Juri Linkov  <juri@linkov.net>
9239         * lisp/tab-line.el (tab-line-auto-hscroll): Don't let-bind buffer-local values
9241         Use setq to set buffer-local values of truncate-lines and buffer-undo-list.
9242         This will prevent leaking of let-bound values to buffer-local values
9243         of the minibuffer.
9245 2019-11-30  Juri Linkov  <juri@linkov.net>
9247         * lisp/gnus/gnus-win.el (gnus-configure-frame): Check for window-live-p.
9249         * doc/misc/gnus.texi (Tabbed Interface): New node.  (bug#37998)
9251 2019-11-30  Juri Linkov  <juri@linkov.net>
9253         * lisp/subr.el: Add discard-input to more functions.
9255         * lisp/subr.el (read-char-from-minibuffer-insert-other)
9256         (y-or-n-p-insert-other): Use discard-input in case of user mistake.
9257         (do-after-load-evaluation): Add discard-input before calling 'message',
9258         so in case of the active minibuffer, calling minibuffer-message will allow
9259         sit-for to wait the complete timeout, because discard-input will discard
9260         all initial events that prevent sit-for from waiting during startup.
9261         https://lists.gnu.org/r/emacs-devel/2019-11/msg00581.html
9263 2019-11-30  Alan Mackenzie  <acm@muc.de>
9265         CC Mode.  Fix fontification bug with unterminated quotes on adjacent lines
9267         In particular, with these unterminated quotes on each of two adjacent lines,
9268         the following text was spuriously fontified with string face.
9270         * lisp/progmodes/cc-defs.el
9271         (c-search-backward-char-property-with-value-on-char): New macro.
9273         * lisp/progmodes/cc-mode.el (c-clear-string-fences): Check whether there is an
9274         unmatched quote at a lower buffer position which should match the current
9275         quote, rather than wrongly assuming the latter is unmatched and marking it
9276         with a punctuation syntax.
9277         (c-font-lock-fontify-region): Ensure all pertinent parts of the buffer have
9278         string fence properties applied before performing any syntactic operations on
9279         it; in particular, this applies to a quote at an earlier buffer position which
9280         "matches" one inside the region about to be fontified.
9282 2019-11-30  Juri Linkov  <juri@linkov.net>
9284         * lisp/image.el: Support image scaling with mouse in other buffer.
9286         * lisp/image.el (image-increase-size, image-decrease-size):
9287         Add optional arg position.
9288         (image-mouse-increase-size, image-mouse-decrease-size):
9289         Use '(point-marker)' for arg position.
9290         (image--get-image): Use get-char-property from position if non-nil,
9291         and its buffer.
9292         (image--get-imagemagick-and-warn, image--change-size):
9293         Add optional arg position.
9295 2019-11-30  Juri Linkov  <juri@linkov.net>
9297         Use run-with-idle-timer instead of debounce for responsive image scaling.
9299         * lisp/emacs-lisp/timer.el (debounce, debounce-reduce): Revert macro addition.
9300         https://lists.gnu.org/r/emacs-devel/2019-11/msg01133.html
9302         * lisp/image.el (image-increase-size, image-decrease-size):
9303         Use run-with-idle-timer.
9304         (image--change-size): Rename back from image--change-size-function.
9306         * lisp/image-mode.el (image-mode--setup-mode): Remove hooks
9307         window-size-change-functions and window-selection-change-functions (bug#32672)
9308         (image-fit-to-window): Rename from image--window-change-function.
9309         (image--window-state-change): Rename from image--window-change.
9310         Use run-with-idle-timer.
9312 2019-11-30  Juanma Barranquero  <lekktu@gmail.com>
9314         Fix compilation warning in vc-hg.el
9316         * lisp/vc/vc-hg.el (vc-read-revision): Declare.
9318 2019-11-30  Eli Zaretskii  <eliz@gnu.org>
9320         Minor fixes in last change
9322         * doc/emacs/maintaining.texi (Switching Branches)
9323         (Pulling / Pushing, Merging): Fix markup of shell commands.
9325 2019-11-30  Andrii Kolomoiets  <andreyk.mad@gmail.com>
9327         vc-hg: prompt for branch to merge
9329         * lisp/vc/vc-hg.el (vc-hg-merge-branch): Prompt for revision to merge.
9330         (vc-hg-revision-table): Use branches, tags and bookmarks as competion
9331         candidates.
9333         * etc/NEWS: Mention changes of vc-hg.el
9335         * doc/emacs/maintaining.texi (Switching Branches): Mention 'hg update'
9336         command.
9337         (Merging): Mention 'hg merge' command.
9339         This fixes bug#22860
9341 2019-11-30  Michal Sojka  <sojkam1@fel.cvut.cz>
9343         Fix preserving cell boundaries in table.el after <delete>
9345         * lisp/textmodes/table.el (table-command-remap-alist): Add
9346         entry for 'delete-forward-char'.  (Bug#38353)
9348 2019-11-30  Eli Zaretskii  <eliz@gnu.org>
9350         Add ':extend' attribute to faces and themes
9352         * etc/themes/wombat-theme.el:
9353         * etc/themes/wheatgrass-theme.el:
9354         * etc/themes/tsdh-light-theme.el:
9355         * etc/themes/tsdh-dark-theme.el:
9356         * etc/themes/tango-theme.el:
9357         * etc/themes/tango-dark-theme.el:
9358         * etc/themes/misterioso-theme.el:
9359         * etc/themes/manoj-dark-theme.el:
9360         * etc/themes/light-blue-theme.el:
9361         * etc/themes/leuven-theme.el:
9362         * etc/themes/dichromacy-theme.el:
9363         * etc/themes/deeper-blue-theme.el:
9364         * etc/themes/adwaita-theme.el: Add ':extend' attribute to all
9365         faces that are by default defined with it.
9367         * lisp/vc/smerge-mode.el (smerge-upper, smerge-lower)
9368         (smerge-base):
9369         * lisp/vc/log-view.el (log-view-file, log-view-message):
9370         * lisp/vc/ediff-init.el (ediff-current-diff-A)
9371         (ediff-current-diff-B, ediff-current-diff-C)
9372         (ediff-current-diff-Ancestor, ediff-even-diff-A)
9373         (ediff-even-diff-B, ediff-even-diff-C)
9374         (ediff-even-diff-Ancestor, ediff-odd-diff-A)
9375         (ediff-odd-diff-B, ediff-odd-diff-C)
9376         (ediff-odd-diff-Ancestor):
9377         * lisp/vc/diff-mode.el (diff-header, diff-file-header)
9378         (diff-removed, diff-added): Make sure all definitions of faces
9379         have the same value of the ':extend' property, otherwise
9380         customizing background color or underline etc. attributes of
9381         these faces on some displays will produce effects different
9382         from other displays.
9384 2019-11-30  Juanma Barranquero  <lekktu@gmail.com>
9386         * src/lread.c (syms_of_lread): Doc fix.
9388 2019-11-29  Alan Third  <alan@idiocy.org>
9390         Fix image scaling with masks (bug#38109)
9392         * src/image.c (lookup_image): Move call to image_set_transform after
9393         postprocess_image.
9394         (image_create_x_image_and_pixmap_1): Use new function.
9395         (image_set_transform): Apply the transform to the mask too.
9396         (x_create_xrender_picture): New function.
9397         (Create_Pixmap_From_Bitmap_Data):
9398         (xpm_load): Use new function.
9399         * src/xterm.c (x_composite_image): Use PictOpOver when there is a mask
9400         so the transparency is honoured.
9401         (x_draw_image_foreground_1): Use x_composite_image.
9403 2019-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9405         * lisp/gnus/gnus.el (gnus-info): Define with `cl-defstruct`
9407         This makes the accessors into (inlined) functions (instead of macros),
9408         which simplifies some uses, and it makes the gnus-info-set-<foo>
9409         macros redundant since we can use `setf` instead.  Remove them and
9410         update all users.
9412         (gnus-info-group, gnus-info-rank, gnus-info-read, gnus-info-marks)
9413         (gnus-info-method, gnus-info-params): Auto-defined by defstruct.
9414         (gnus-info-level, gnus-info-score): Define as a function.  Add gv-setter.
9415         (gnus-info-set-group, gnus-info-set-rank, gnus-info-set-read): Remove,
9416         use `setf` instead.
9417         (gnus-info-set-marks, gnus-info-set-method, gnus-info-set-params):
9418         Define as a function.
9419         (gnus-info-set-entry): Delete function.
9420         (gnus-info--grow-entry): New function, extracted from it.
9421         (gnus-info--set-level, gnus-info--set-score): New functions, extracted
9422         from the `gnus-info-set-level` and `gnus-info-set-score` which they replace.
9423         (gnus-get-info): Define as a function.
9425         * lisp/gnus/gnus-group.el (gnus-group-edit-group-done):
9426         Use the `extend` arg of `gnus-info-set-method`.
9427         (gnus-group-sort-selected-flat): eta-reduce.
9429 2019-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9431         * lisp/textmodes/mhtml-mode.el: Fix bug#38372
9433         The `sgml-syntax-propertize-rules` rely on the `sgml--syntax-propertize-ppss`
9434         setup by `sgml-syntax-propertize` so it is not correct/safe to use
9435         them directly like html used to do.
9437         Change `sgml-syntax-propertize` so it can be used by mhtml,
9438         and then adjust mhtml-mode accordingly.
9440         * lisp/textmodes/mhtml-mode.el: Remove redundant `eval-and-compile`.
9441         Only require cl-lib at compile-time.
9442         (mhtml--syntax-propertize): New const, extracted from mhtml-syntax-propertize.
9443         (mhtml-syntax-propertize): Use `sgml-syntax-propertize`.
9445         * lisp/textmodes/sgml-mode.el (sgml--syntax-propertize): New const,
9446         extracted from sgml-syntax-propertize.
9447         (sgml-syntax-propertize): Add optional `rules-function` arg.
9449 2019-11-29  Robert Pluim  <rpluim@gmail.com>
9451         Add nsm-should-check IPv6 local subnet tests
9453         * test/lisp/net/nsm-tests.el (nsm-check-local-subnet-ipv6): Now
9454         that IPv6 addresses are returned from network-interface-list, test
9455         nsm-should check and nsm-network-same-subnet for IPv6 as well.
9457 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
9459         Support showing one revision with Mercurial
9461         * lisp/vc/vc-hg.el (vc-hg-print-log): Support 'with-diff'
9462         invocation of "C-1 C-x v L".
9464 2019-11-29  Phil Sainty  <psainty@orcon.net.nz>
9466         * lisp/so-long.el (so-long-variable-overrides): Set bidi-inhibit-bpa
9468         (Bug#38407)
9470 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
9472         Document 'zap-up-to-char'
9474         * doc/emacs/killing.texi (Other Kill Commands): Document
9475         'zap-up-to-char'.
9477         * lisp/simple.el (zap-to-char): Mention 'zap-up-to-char' in
9478         the doc string.  (Bug#38392)
9480 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
9482         Support showing one revision with Subversion
9484         * lisp/vc/vc-svn.el (vc-svn-print-log): Support 'with-diff'
9485         invocation of "C-1 C-x v L".
9487 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
9489         Minor fix in 'vc-print-root-log's prompt for revision ID
9491         * lisp/vc/vc.el (vc-print-root-log): Remove text properties
9492         from the default revision suggestion.
9494 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
9496         Support showing one revision with Bazaar
9498         * lisp/vc/vc-bzr.el (vc-bzr-print-log): Support 'with-diff'
9499         invocation of "C-1 C-x v L".
9501 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
9503         Improve indexing of VC log commands
9505         * doc/emacs/maintaining.texi (VC Change Log): Add missing
9506         index entries.
9508 2019-11-29  Eli Zaretskii  <eliz@gnu.org>
9510         Improve documentation and UI of 'C-x v L'
9512         * lisp/vc/vc.el (vc-print-root-log): Improve the wording of
9513         the doc string and of the prompt for the root directory.
9515         * etc/NEWS: Improve and expand the wording of the changes in
9516         'C-x v L'.
9518         * doc/emacs/maintaining.texi (VC Change Log): Improve and
9519         clarify wording of the 'C-x v L' description.
9521 2019-11-28  Noam Postavsky  <npostavs@gmail.com>
9523         Improve errors & warnings due to fancy quoted vars (Bug#32939)
9525         Add some hints to the message for byte compiler free & unused variable
9526         warnings, and 'void-variable' errors where the variable has confusable
9527         quote characters in it.
9528         * lisp/help.el (uni-confusables), uni-confusables-regexp): New
9529         constants.
9530         (help-command-error-confusable-suggestions): New function, added to
9531         `command-error-function'.
9532         (help-uni-confusable-suggestions): New function.
9533         * lisp/emacs-lisp/bytecomp.el (byte-compile-variable-ref):
9534         * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Use it.
9536         * lisp/emacs-lisp/lisp-mode.el
9537         (lisp--match-confusable-symbol-character): New function.
9538         (lisp-fdefs): Use it to fontify confusable characters with
9539         font-lock-warning-face when they occur in symbol names.
9540         * doc/lispref/modes.texi (Faces for Font Lock):
9541         * doc/lispref/objects.texi (Basic Char Syntax): Recommend backslash
9542         escaping of confusable characters, and mention new fontification.
9543         * etc/NEWS: Announce the new fontification behavior.
9544         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-fontify-confusables):
9545         New test.
9547 2019-11-28  Noam Postavsky  <npostavs@gmail.com>
9549         Stop signaling an error when reading "smart quotes" in symbols
9551         Revert commits from 2018-01-28 "Fix round tripping of read->print for
9552         symbols with strange quotes", and 2017-07-22 "Signal error for symbol
9553         names with strange quotes (Bug#2967)".
9554         * etc/NEWS: Remove corresponding entries.
9555         * src/character.c (confusable_symbol_character_p):
9556         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Remove.
9557         * src/lread.c (read1): Don't signal error on confusable character.
9558         * src/print.c (print_object): Don't escape confusable characters.
9560 2019-11-28  Filipp Gunbin  <fgunbin@fastmail.fm>
9562         Do not call custom-reevaluate-setting in dired-isearch-filenames-end
9564           * lisp/dired-aux.el (dired-isearch-filenames-end)
9565           (dired-isearch-filenames, dired-isearch-filenames-regexp): Use
9566           temporary local variable for dired-isearch-filenames instead of
9567           custom-reevaluate-setting (Bug#30187).  Without this fix, the value
9568           set in .emacs with plain setq would be lost after one isearch.
9570 2019-11-28  Eli Zaretskii  <eliz@gnu.org>
9572         Improve PY-b5 input methods
9574         * leim/leim-ext.el ("quail/PY-b5"): Assign key sequence for
9575         U+25CB (WHITE CIRCLE).  (Bug#3179)
9577 2019-11-28  Eli Zaretskii  <eliz@gnu.org>
9579         Allow disabling the BPA part of bidi reordering
9581         * src/xdisp.c (syms_of_xdisp): New variable 'bidi-inhibit-bpa'.
9582         * src/bidi.c (bidi_paired_bracket_type): If 'bidi-inhibit-bpa'
9583         is non-nil, return BIDI_BRACKET_NONE for all characters.
9585         * lisp/frame.el: Add 'bidi-inhibit-bpa' to the list of
9586         variables whose changes require redisplay.  (Bug#38407)
9588 2019-11-28  Robert Pluim  <rpluim@gmail.com>
9590         Support wlan in network-interface-list on pre-Vista Windows
9592         * src/w32.c (network_interface_list): Check for 'Wireless' in
9593         adapter description to support pre-Vista Windows.
9595 2019-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9597         * lisp/subr.el (do-after-load-evaluation): Fix thinko
9599 2019-11-27  Juri Linkov  <juri@linkov.net>
9601         Menu bar rearrangements, move Print menu items to submenu, etc. (bug#37594)
9603         * lisp/menu-bar.el (menu-bar-print-menu): New defvar.
9604         (menu-bar-file-menu): Move print entries to submenu.
9605         Add menu entries for tab-new, tab-close, make-frame-on-monitor.
9606         (menu-bar-showhide-menu): Add menu entry for global-tab-line-mode.
9607         Don't add toggle-tab-bar-mode-from-frame on ns where it's unavailable.
9608         (menu-bar-tools-menu): Add rgrep.
9610         * lisp/bindings.el (next-buffer, previous-buffer): Advertise bindings
9611         'C-x right' and 'C-x left' instead of 'XF86Forward' and 'XF86Back'.
9613 2019-11-27  Juri Linkov  <juri@linkov.net>
9615         'C-1 C-x v L' asks for revision and shows its log entry with diff (bug#38044)
9617         * doc/emacs/maintaining.texi (VC Change Log): Explain the numeric prefix arg
9618         of 'C-x v L' (vc-print-root-log).
9620         * lisp/vc/vc-git.el (vc-git-print-log): Add command line option "-p"
9621         when vc-log-view-type is 'with-diff'.
9622         (vc-git-log-view-mode): Use long style when vc-log-view-type is 'with-diff'.
9624         * lisp/vc/vc.el (vc-print-log-internal): Add optional arg 'type'.
9625         (vc-log-internal-common): Use 'region-history-mode' when type is
9626         'with-diff' and backend supports 'region-history-mode'.
9627         (vc-print-root-log): Add optional arg 'revision'.  In interactive spec
9628         read a revision when current-prefix-arg is 1.  Use current-prefix-arg
9629         "as is" when it is a number.  Show revision in long style with diff
9630         when limit is 1 and revision is non-nil.
9632 2019-11-27  Juri Linkov  <juri@linkov.net>
9634         * lisp/image-mode.el: Resize image on window resizing (bug#32672)
9636         * lisp/image-mode.el (image--window-change): New function.
9637         (image--window-change-function): New variable.
9638         (image-mode--setup-mode): Add buffer-local hook image--window-change
9639         to window-size-change-functions, window-state-change-functions,
9640         window-selection-change-functions.
9642 2019-11-27  Eli Zaretskii  <eliz@gnu.org>
9644         Make some anonymous faces extend to EOL
9646         * lisp/vc/log-edit.el (log-edit-font-lock-keywords):
9647         * lisp/mpc.el (mpc-separator):
9648         * lisp/help.el (describe-key):
9649         * lisp/help-fns.el (describe-symbol): Make the anonymous faces
9650         extend to EOL.
9652 2019-11-27  Mattias Engdegård  <mattiase@acm.org>
9654         Mouse rectangular region selection (bug#38013)
9656         Make it possible to select a rectangular region using the mouse.
9657         The standard binding is C-M-mouse-1.
9659         * lisp/mouse.el (mouse-scroll-subr): Add ADJUST argument.
9660         (mouse-drag-region-rectangle): New.
9661         * lisp/rect.el (rectangle--reset-point-crutches): New.
9662         (rectangle--reset-crutches): Use 'rectangle--reset-point-crutches'.
9663         * src/xdisp.c (remember_mouse_glyph, syms_of_xdisp):
9664         Add 'mouse-fine-grained-tracking'.
9665         * doc/lispref/commands.texi (Motion Events):
9666         Document 'mouse-fine-grained-tracking'.
9667         * doc/emacs/frames.texi (Mouse Commands):
9668         * doc/emacs/killing.texi (Rectangles):
9669         * etc/NEWS: Document rectangular selection with the mouse.
9671 2019-11-27  Andrii Kolomoiets  <andreyk.mad@gmail.com>
9673         Call vc-setup-buffer in vc-hg-log-incoming and vc-hg-log-outgoing
9675         * lisp/vc/vc-hg.el (vc-hg-log-incoming, vc-hg-log-outgoing):
9676         Call vc-setup-buffer.
9678 2019-11-27  Lars Ingebrigtsen  <larsi@gnus.org>
9680         Fix documentation of eieio-class-name
9682         * doc/misc/eieio.texi (Predicates): Update the documentation of
9683         eieio-class-name to say what it really returns (bug#38365).
9685 2019-11-27  Lars Ingebrigtsen  <larsi@gnus.org>
9687         Make message-allow-no-recipients 'always work
9689         * lisp/gnus/message.el (message-send): Make
9690         message-allow-no-recipients 'always work.
9692 2019-11-27  Mattias Engdegård  <mattiase@acm.org>
9694         Fine-grained NS modifier key settings (bug#38296)
9696         For the ns-KEY-modifier and ns-right-KEY-modifier variables, KEY
9697         being 'control', 'command', 'alternate' and 'function', allow
9698         values on the form (:ordinary SYMBOL :function :SYMBOL :mouse SYMBOL),
9699         so that the key can be used for different modifiers (or none) in
9700         different contexts.  This is particularly useful for using the macOS
9701         Option key for extended character entry while still using it as an
9702         Emacs modifier for function keys and mouse clicks.
9704         * src/nsterm.m (mod_of_kind, right_mod, nil_or_none): Helper functions.
9705         (EV_MODIFIERS2): Add KIND argument.
9706         (EV_MODIFIERS): Adapt call to EV_MODIFIERS2.
9707         (ns_get_shifted_character): Use correct event kind for modifiers.
9708         (ns-alternate-modifier, ns-right-alternate-modifier)
9709         (ns-command-modifier, ns-right-command-modifier)
9710         (ns-control-modifier, ns-right-control-modifier)
9711         (ns-function-modifier): Rewrite doc strings for new data format.
9712         (QCordinary, QCfunction, QCmouse): Define symbols.
9713         * lisp/cus-start.el: Conform to new data types.
9714         * doc/emacs/macos.texi (Mac / GNUstep Basics)
9715         (Mac / GNUstep Customization): Improved documentation.
9716         * etc/NEWS: Mention the change.
9718 2019-11-26  Juri Linkov  <juri@linkov.net>
9720         message uses minibuffer-message in the active minibuffer (bug#17272 bug#19064)
9722         * doc/lispref/display.texi (Displaying Messages): Explain the
9723         behavior of using minibuffer-message if the minibuffer is active.
9725         * src/editfns.c (Fmessage_in_echo_area): New function with body
9726         copied from Fmessage.
9727         (Fmessage): Call minibuffer-message in the active minibuffer,
9728         otherwise call Fmessage_in_echo_area.
9729         (message-in-echo-area): New variable.
9731         * lisp/isearch.el (isearch--momentary-message, isearch-message):
9732         * lisp/minibuffer.el (minibuffer-message, minibuffer-completion-help):
9733         Use 'message-in-echo-area' instead of 'message' where necessary.
9735         * lisp/autorevert.el (auto-revert-handler):
9736         * lisp/man.el (Man-bgproc-sentinel):
9737         * lisp/subr.el (do-after-load-evaluation):
9738         Revert recent changes that replaced 'message' with 'minibuffer-message'.
9739         This is not needed anymore since 'message' uses 'minibuffer-message'
9740         in the active minibuffer.
9742 2019-11-26  Juri Linkov  <juri@linkov.net>
9744         Allow recursive minibuffers for yes-or-no-p and y-or-n-p (bug#17272 bug#19064)
9746         * lisp/subr.el (y-or-n-p): Let-bind enable-recursive-minibuffers to t.
9748         * src/fns.c (Fyes_or_no_p): Specbind Qenable_recursive_minibuffers to Qt.
9750 2019-11-26  Juri Linkov  <juri@linkov.net>
9752         * lisp/tab-bar.el (display-buffer-in-tab): New function (bug#38354)
9754 2019-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9756         etags: remove some arbitrary limits
9758         etags had undefined behavior if input files, lines, tags, etc.,
9759         had more than INT_MAX bytes.  Clean up the usage of integer types
9760         to fix the overflow errors I found.
9761         * admin/merge-gnulib (GNULIB_MODULES): Add mempcpy.
9762         * lib-src/etags.c: Include inttypes.h, intprops.h.
9763         (memcpyz): New function.  Use it to simplify several occurrences
9764         of memcpy followed by storing a trailing '\0'.
9765         (xnew): Use xnmalloc, to catch overflow on integer multiplication.
9766         (xrnew): Change last arg to multiplier.  The type is not needed.
9767         All callers changed.
9768         (node, lineno, charno, linecharno, invalidcharno, make_tag):
9769         (pfnote, add_node, number_len, C_symtype, lbz, Makefile_targets)
9770         (readline):
9771         Use intmax_t for line numbers and character positions, instead of
9772         int or long.
9773         (linebuffer, make_tag, pfnote, total_size_of_entries, put_entry)
9774         (in_word_set, C_symtype, token, cstack, pushclass_above):
9775         (popclass_above, write_classname, consider_token, C_entries)
9776         (Ruby_functions, Makefile_targets, Lua_functions, TeX_commands)
9777         (TeX_decode_env, erlang_func, erlang_attribute, erlang_atom)
9778         (substitute, regex_tag_multiline, nocase_tail, readline_interval)
9779         (readline, savenstr, concat, etags_getcwd, relative_filename)
9780         (linebuffer_setlen):
9781         Use ptrdiff_t for object sizes, instead of int or long or unsigned
9782         or size_t.
9783         (write_classname, C_entries):
9784         Avoid sprintf, as the result could exceed INT_MAX bytes
9785         and then behavior goes haywire.
9786         (main): Use int, instead of unsigned, for argv counts.
9787         (get_language_from_filename): Use bool for boolean.
9788         (Ruby_functions): Prefer strcpy to memcpy when copying "=".
9789         (linebuffer_setlen): Use ‘if’ instead of ‘while’.
9790         (memory_full, xnmalloc, xnrealloc): New functions.
9791         (xmalloc): Use memory_full, and take a ptrdiff_t instead of a size_t.
9792         (xrealloc): Remove; no longer needed.
9793         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
9794         * lib/mempcpy.c, m4/mempcpy.m4: New files, copied from Gnulib.
9796 2019-11-26  Juanma Barranquero  <lekktu@gmail.com>
9798         Fix previous change to (next|previous)-buffer
9800         * lisp/window.el (next-buffer, previous-buffer): If no other
9801         buffer is available, signal 'user-error' only when called
9802         interactively.
9804 2019-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9806         Update from Gnulib
9808         This incorporates:
9809         2019-11-24 Fix errors in C++ mode on mingw
9810         2019-11-24 time_r: Fix for mingw (regression from 2019-11-16)
9811         2019-11-24 sys_time: Fix errors in C++ mode on mingw
9812         2019-11-22 intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
9813         2019-11-21 Disable many _GL_CXXALIASWARN on non-glibc
9814         2019-11-21 Fix various errors in _GL_CXXALIAS_SYS invocations
9815         2019-11-19 intprops: INT_MULTIPLY_WRAPV speedup for GCC 9.3+
9816         2019-11-18 stdint: Define [u]intptr_t correctly on 64-bit native Windows
9817         2019-11-18 stdint: Fix value of WINT_MAX when we override wint_t
9818         2019-11-18 stdint: Avoid "conflicting types" error on mingw 5.22
9819         2019-11-16 time_r: Fix for mingw
9820         2019-11-06 regex: now back in sync with glibc
9821         * lib/intprops.h, lib/regexec.c, lib/signal.in.h:
9822         * lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h:
9823         * lib/string.in.h, lib/sys_select.in.h, lib/sys_time.in.h:
9824         * lib/time.in.h, lib/unistd.in.h, m4/time_r.m4:
9825         Copy from Gnulib.
9827 2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
9829         * lisp/subr.el (do-after-load-evaluation): Handle batch mode as well
9831 2019-11-26  Robert Pluim  <rpluim@gmail.com>
9833         Use 127.0.0.1 in nsm-tests
9835         Winsock doesn't like "127.1"
9837         * test/lisp/net/nsm-tests.el (nsm-check-local-subnet-ipv4): Spell
9838         numeric localhost as "127.0.0.1" instead of "127.1".
9840 2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
9842         * test/lisp/minibuffer-tests.el (completion-table-test-quoting): New test
9844         * test/data/minibuffer-test-cttq$tion: New file-name test data.
9846 2019-11-26  Eli Zaretskii  <eliz@gnu.org>
9848         Support ':extend' in faces defined by list of key/value pairs
9850         * src/xfaces.c: Update and improve commentary at the beginning
9851         of the file.
9852         (face_attr_sym): New static array.
9853         (init_xfaces): Initialize 'face_attr_sym'.
9854         (merge_face_ref): Handle the :extend attribute in faces
9855         specified as lists of key/value pairs.  (Bug#37774)
9857 2019-11-26  Eli Zaretskii  <eliz@gnu.org>
9859         Fix MS-Windows build with mingw.org's MinGW
9861         mingw.org's MinGW by default targets Windows 9X, so
9862         _WIN32_WINNT is set to a value that bypasses declarations
9863         in system headers we need to compile network_interface_list.
9864         Also, the code needed a workaround for Windows XP, where
9865         some functionality is missing from the GetAdaptersAddresses
9866         API.
9868         * src/w32.c (_WIN32_WINNT): Define to 0x0501, if the value is
9869         lower, temporarily while processing iphlpapi.h.
9870         (address_prefix_match): New helper function.
9871         (network_interface_list): Work around the fact that the
9872         OnLinkPrefixLength member of IP_ADAPTER_UNICAST_ADDRESS is not
9873         available when _WIN32_WINNT < 0x0600.  On Windows XP use
9874         special code that calls address_prefix_match to compute the
9875         network prefix length.
9877 2019-11-26  Stefan Monnier  <monnier@iro.umontreal.ca>
9879         * lisp/progmodes/asm-mode.el (asm-mode-map): Obey electric-indent-mode
9881 2019-11-26  Juanma Barranquero  <lekktu@gmail.com>
9883         (next|previous)-buffer no longer fail silently (bug#38384)
9885         * lisp/window.el (next-buffer, previous-buffer):
9886         Signal 'user-error' if there is no buffer to switch to.
9888         * etc/NEWS: Document it.
9890 2019-11-26  Juanma Barranquero  <lekktu@gmail.com>
9892         lisp/auth-source.el: Depend on cl-lib unconditionally
9894         A change in 2016-04-24 introduced a run-time dependency on cl-subseq.
9896 2019-11-26  Juanma Barranquero  <lekktu@gmail.com>
9898         lisp/auth-source-pass.el: Require cl-lib unconditionally
9900         Changes in 2019-05-05 and 2019-05-14 introduced run-time dependencies
9901         on cl-maplist and cl-remove-if-not.
9903 2019-11-26  Martin Rudalics  <rudalics@gmx.at>
9905         2019-11-26  Martin Rudalics  <rudalics@gmx.at>
9907         * lisp/window.el (switch-to-visible-buffer): Declare obsolete.
9908         (switch-to-prev-buffer-skip): New option.
9909         (switch-to-prev-buffer, switch-to-next-buffer): Obey
9910         'switch-to-prev-buffer-skip'.
9911         * doc/lispref/windows.texi (Window History): Remove
9912         description of 'switch-to-visible-buffer'.  Describe new
9913         option 'switch-to-prev-buffer-skip'
9914         * etc/NEWS: Mention switch from 'switch-to-visible-buffer' to
9915         'switch-to-prev-buffer-skip'.
9917 2019-11-26  Alex Murray  <alex.murray@canonical.com>  (tiny change)
9919         Fix auth-source password lookup
9921         * lisp/net/network-stream.el
9922         (network-stream-certificate): Ensure :port is specified as a string to
9923         'auth-source-search' (Bug#38371).
9925 2019-11-25  Robert Pluim  <rpluim@gmail.com>
9927         Extend network-interface-list to return IPv6 and network info
9929         Bug#38218
9931         * src/process.c (Fnetwork_interface_list): Extend argument list to
9932         allow requesting full network info and/or IPv4/IPv6 info.
9933         (network_interface_list) [HAVE_GETIFADDRS]: Use getifaddrs to retrieve
9934         interface IP addresses.
9936         * src/process.h: Update prototype of network_interface_list.
9938         * src/w32.c (g_b_init_get_adapters_addresses): New init flag.
9939         (globals_of_w32): Initialize it.
9940         (GetAdaptersAddresses_Proc): New function typedef.
9941         (get_adapters_addresses): New wrapper function.
9942         (init_winsock): Load htonl and ntohl.
9943         (sys_htonl, sys_ntohl): New wrapper functions.
9944         (network_interface_list): Implement in terms of
9945         get_adapters_addresses.
9947         * nt/inc/sys/socket.h: Add sys_htonl and sys_ntohl prototypes.
9949         * etc/NEWS: Announce IPv4/IPv6 changes in network-interface-list.
9951         * doc/lispref/processes.texi (Misc Network): Document updated arglist
9952         and return values for network-interface-list.
9954 2019-11-25  Lars Ingebrigtsen  <larsi@gnus.org>
9956         Fix previous message.el point-restoring fix
9958         * lisp/gnus/message.el (message-send-and-exit): Restore window
9959         point before burying buffer so we actually bury the buffer.
9961 2019-11-25  Lars Ingebrigtsen  <larsi@gnus.org>
9963         Remove outdated documentation
9965         * doc/misc/eieio.texi (Predicates): Remove documentation of
9966         same-class-fast-p, which was removed some years back (bug#38362).
9968 2019-11-25  João Távora  <joaotavora@gmail.com>
9970         Fix test failures of test/lisp/auth-source-pass-tests.el
9972         Failures introduced by recent "Make auth-source-pass-search understand
9973         port lists", commit 92fda5a7f92162d610d57df14372bcfcee1f01b6.
9975         * lisp/auth-source-pass.el
9976         (auth-source-pass--generate-entry-suffixes): Fix test failures.
9978 2019-11-25  Filipp Gunbin  <fgunbin@fastmail.fm>
9980         Correct small misprint in defcustom's docstring
9982         * lisp/custom.el (defcustom): Correct misprint in docstring.
9984 2019-11-25  Eli Zaretskii  <eliz@gnu.org>
9986         Fix face merging when some have :extend non-nil and some are inherited
9988         * src/xfaces.c (face_inherited_attr): New function.
9989         (merge_named_face): Call 'face_inherited_attr' when testing
9990         whether a face that inherits from another fits the filtering
9991         criteria specified by ATTR_FILTER.
9992         (merge_face_vectors): Revert the changes made in this function
9993         for filtering by ATTR_FILTER, and remove that argument as
9994         well.  These tests are now completely done by the caller, see
9995         'merge_named_face'.  (Bug#37774)
9997 2019-11-25  Robert Pluim  <rpluim@gmail.com>
9999         Handle auth-source-search failures in open-network-stream
10001         If the user cancels the gpg decryption pop-up, auth-source-search
10002         fails *and* epa pops up an error buffer.  Fix epa to allow suppressing
10003         that, and ignore errors returned from auth-source-search.
10005         * lisp/epa.el (epa-suppress-error-buffer): New defvar.  Bind non-nil
10006         to stop epa popping up an error buffer.
10008         * lisp/net/network-stream.el: require epa when byte-compiling.
10009         (network-stream-certificate): ignore errors when calling
10010         auth-source-search, and suppress the epa error buffer.
10012 2019-11-23  Paul Eggert  <eggert@cs.ucla.edu>
10014         Add eassert check for bad default face
10016         * src/xdisp.c (append_space_for_newline): Add an eassert check
10017         that default_face is not null, by calling FACE_FROM_ID instead of
10018         FACE_FROM_ID_OR_NULL.  Initialize a local only if needed.
10020 2019-11-23  Paul Eggert  <eggert@cs.ucla.edu>
10022         Port gnutls.c to --enable-gcc-warnings --without-gnutls
10024         * src/gnutls.c: Move the "#ifdef HAVE_GNUTLS" earlier, so
10025         that "./configure --enable-gcc-warnings --without-gnutls"
10026         does not complain about macros being defined but never used.
10027         Indent "#" directives more consistently.
10029 2019-11-23  Juanma Barranquero  <lekktu@gmail.com>
10031         Rework previous fix to bug#38222
10033         * lisp/help.el (help--doc-without-fn): Remove.
10034         (describe-mode): Use help-split-fundoc instead.
10036 2019-11-23  Juanma Barranquero  <lekktu@gmail.com>
10038         Make help-split-fundoc more flexible about what returns
10040         * lisp/help.el (help-split-fundoc): New arg SECTION to return
10041         only the usage or doc parts of the docstring, or both even if
10042         there is no usage.
10044         * test/lisp/help-tests.el: New file.
10046 2019-11-23  Juri Linkov  <juri@linkov.net>
10048         Use new macro debounce-reduce to make mouse scaling of images more responsive
10050         * lisp/emacs-lisp/timer.el (debounce, debounce-reduce): New macros.
10052         * lisp/image.el (image-increase-size, image-decrease-size):
10053         Use funcall to call image--change-size-function.
10054         (image--change-size-function): Move code from defun of
10055         image--change-size to defvar that has the value of lambda
10056         returned from debounce-reduce.  (Bug#38187)
10058 2019-11-23  Robert Pluim  <rpluim@gmail.com>
10060         Default network-stream-use-client-certificates to nil
10062         * lisp/net/network-stream.el (network-stream-use-client-certificates):
10063         Default to nil.
10064         (open-network-stream): Adapt description to new default of
10065         network-stream-use-client-certificates.
10067         * etc/NEWS: network-stream-use-client-certificates defaults to nil
10068         now.
10070         * doc/lispref/processes.texi (Network): Flip
10071         network-stream-use-client-certificates description.
10073         * doc/misc/auth.texi (Help for users): Mention
10074         network-stream-use-client-certificates.
10076 2019-11-23  Robert Pluim  <rpluim@gmail.com>
10078         Have what-cursor-position optionally show character name
10080         * lisp/simple.el (what-cursor-show-names): New defcustom, default nil.
10081         (what-cursor-position): Show character names if what-cursor-show-names
10082         is non-nil.
10084         * doc/emacs/basic.texi (Position Info): Add what-cursor-show-names
10085         description.
10087         * etc/NEWS: Announce what-cursor-show-names.
10089 2019-11-23  Christopher Schmidt  <christopher@ch.ristopher.com>
10091         Always expand "total" in dired
10093         * lisp/files.el (insert-directory): Always replace "total" with
10094         "total used in directory", even when we don't have free disk space
10095         (bug#13191).  This makes the display more consistent.
10097 2019-11-23  Michael Heerdegen  <michael_heerdegen@web.de>
10099         Fix edebug instrumentation removing from advised functions
10101         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): Handle
10102         advised functions correctly.
10104 2019-11-23  Eli Zaretskii  <eliz@gnu.org>
10106         Improve indexing of modifier keys
10108         * doc/emacs/commands.texi (User Input): Add index entry for
10109         the Alt key serving as Meta.
10110         * doc/emacs/custom.texi (Modifier Keys): Add index entries for
10111         Alt, Super, and Hyper modifier keys.  (Bug#38315)
10113 2019-11-23  Eli Zaretskii  <eliz@gnu.org>
10115         Fix cursor display at EOL before extended face
10117         * src/xdisp.c (extend_face_to_end_of_line): Make sure the
10118         character position of the stretch glyph inserted to extend the
10119         face is zero, as various other parts of the display code rely
10120         on that.  (Bug#38330)
10122 2019-11-23  Eli Zaretskii  <eliz@gnu.org>
10124         Fix and speed up en/decoding of UTF-8 strings
10126         * src/coding.c (get_char_bytes, encode_string_utf_8)
10127         (decode_string_utf_8): Fix commentary.
10128         (encode_string_utf_8): Return the original ASCII string only
10129         if NOCOPY is non-zero.
10130         (decode_string_utf_8): Accept 2 additional arguments STR and
10131         STR_LEN, which allow to pass the input text as a C string.
10132         (make_string_from_utf8): Delegate the job to decode_string_utf_8.
10133         * src/coding.h: Update the prototype of decode_string_utf_8.
10134         * src/json.c (json_encode): Call encode_string_utf_8.
10136 2019-11-22  João Távora  <joaotavora@gmail.com>
10138         * lisp/minibuffer.el (completion-flex-nospace): Default to t.
10140 2019-11-22  Juanma Barranquero  <lekktu@gmail.com>
10142         help-follow-symbol now complains if no symbol found (bug#38248)
10144         * lisp/help-mode.el (help-follow-symbol): Signal 'user-error' if
10145         there's no symbol at POS.
10147         * etc/NEWS: Document it.
10149 2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>
10151         Check gnus-mailing-list-groups in turn-on-gnus-mailing-list-mode
10153         * lisp/gnus/gnus-ml.el (turn-on-gnus-mailing-list-mode): Check also
10154         gnus-mailing-list-groups variable.
10156 2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>
10158         Make gnus-mailing-list-archive recognize https
10160         * lisp/gnus/gnus-ml.el (gnus-mailing-list-archive): Accept https in
10161         regexp.
10163 2019-11-22  Filipp Gunbin  <fgunbin@fastmail.fm>
10165         Unify docstrings of Gnus summary's copy/move/crosspost article functions
10167         * lisp/gnus/gnus-sum.el (gnus-summary-copy-article)
10168         (gnus-summary-crosspost-article): Make docstrings refer to
10169         gnus-summary-move-article.
10171 2019-11-22  dickmao  <none>
10173         Refix conditional step clauses in cl-loop
10175         * lisp/emacs-lisp/cl-macs.el
10176         (cl--loop-bindings, cl--loop-symbol-macs, cl-loop):
10177         Add cl--loop-conditions, remove cl--loop-guard-cond.
10178         (cl--push-clause-loop-body): Apply clause to both cl--loop-conditions
10179         and cl--loop-body
10180         (cl--parse-loop-clause): Use cl--push-clause-loop-body.
10181         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-assignment):
10182         Use docstring.
10183         (cl-macs-loop-for-as-arith): Removed expected failure.
10184         (cl-macs-loop-conditional-step-clauses): Add some tests (bug#29799).
10186 2019-11-22  Eli Zaretskii  <eliz@gnu.org>
10188         Fix uses of inhibit-message in package.el
10190         * lisp/emacs-lisp/package.el (package-generate-autoloads)
10191         (package--compile, package--save-selected-packages): Don't use
10192         'inhibit-message' to bind 'noninteractive' and 'save-silently',
10193         since 'inhibit-message' already disables all messages.
10194         (Bug#38264)
10196 2019-11-22  Hong Xu  <hong@topbug.net>
10198         font-lock special attributes in python-mode
10200         * lisp/progmodes/python.el (python-font-lock-keywords-level-2): Add
10201         special attributes (bug#38318).
10203 2019-11-22  Lars Ingebrigtsen  <larsi@gnus.org>
10205         Give better error messages in image-convert
10207         * lisp/image/image-converter.el (image-convert): Make
10208         image-convert bug out earlier on a wrong IMAGE-FORMAT value
10209         (bug#38310).
10211 2019-11-22  João Távora  <joaotavora@gmail.com>
10213         Make auth-source-pass-search understand port lists
10215         For cases such as a typical IMAP Gnus setup, auto-source-pass-search
10216         is passed a list of "port aliases" like (993 "imaps" "imap" "993"
10217         "143") in hopes of finding a matching ~/.password-store entry.
10219         This modification makes this library understand and unroll the port
10220         list so that, i.e. "domain:993", "domain:imaps"", "domain:imap",
10221         etc. are computed as potential suffixes.  Previously a nonsensical
10222         string "domain:(993 imaps imap ...)" was returned.
10224         * lisp/auth-source-pass.el
10225         (auth-source-pass--generate-entry-suffixes): Allow PORT to be a list
10226         of ports.
10228 2019-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
10230         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix bug#38255
10232         Handle the case where the token is not in `smie-grammar`, either because
10233         the caller is making an error, or because it's a paren-like token that's
10234         not handled in the grammar but directly via the syntax tables.
10236 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
10238         Make `C-c C-w' insert a signature even when overridden
10240         * lisp/gnus/message.el (message-insert-signature): When called
10241         interactively, look harder for a signature to insert (bug#38289).
10243 2019-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
10245         * lisp/minibuffer.el (completions-common-part): Make it blue when possible
10247         * lisp/files.el (locate-file-completion-table): Fix typo
10249 2019-11-21  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
10251         Add new variable to prevent flex completion style
10253         matching spaces.  This allows flex style working smoothly with other
10254         styles like helm using spaces.
10256         * lisp/minibuffer.el (completion-flex-nospace): New user var.
10257         (completion-flex-try-completion): Use it.
10258         (completion-flex-all-completions): Same.
10260 2019-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
10262         When verilog-auto-ignore-concat is true, also ignore parenthesized signals.
10264         * lisp/progmodes/verilog-mode.el (verilog-auto-ignore-concat): When
10265         `verilog-auto-ignore-concat' is true, also ignore parenthesized
10266         signals.
10268 2019-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
10270         Fix Gnus summary backtab keybindings to use button-based functions
10272         * lisp/gnus/gnus-sum.el (gnus-summary-mode-map,
10273           gnus-summary-article-map): Backtab should call
10274           gnus-summary-button-backward, not gnus-summary-widget-backward.
10276 2019-11-21  Eli Zaretskii  <eliz@gnu.org>
10278         Fix file notifications on macOS
10280         * src/kqueue.c (Fkqueue_add_watch): Don't use encoded file
10281         names in objects and APIs that expect decoded multibyte
10282         strings.  (Bug#38287)
10284 2019-11-21  Eli Zaretskii  <eliz@gnu.org>
10286         Fix a recent change in ELisp manual
10288         * doc/lispref/objects.texi (Special Read Syntax): Fix wording
10289         of the last change: don't document #' twice.  (Bug#38278)
10291 2019-11-21  Eli Zaretskii  <eliz@gnu.org>
10293         Support 'vc-region-history' for Mercurial
10295         * lisp/vc/vc-hg.el (vc-hg-region-history)
10296         (vc-hg-region-history-font-lock, vc-hg-region-history-mode):
10297         New functions.
10298         (vc-hg-region-history-mode-map)
10299         (vc-hg--log-view-long-font-lock-keywords)
10300         (vc-hg-region-history-font-lock-keywords): New variables.
10301         * lisp/vc/vc-git.el (vc-git-region-history): Update commentary.
10303         * doc/emacs/maintaining.texi (VC Change Log): Add
10304         'vc-region-history' to the table at beginning of node.  Update
10305         the VCSes that support 'vc-region-history'.
10307         * etc/NEWS: Mention the new feature of vc-hg.el.
10309 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
10311         Fix up previous #' documentation addition
10313         * doc/lispref/objects.texi (Special Read Syntax): Add an xref for
10314         the #' (bug#38278).
10316 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
10318         Document the #' syntax
10320         * doc/lispref/objects.texi (Special Read Syntax): Document the #'
10321         syntax (bug#38278).
10323 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
10325         Restore point after sending a message
10327         * lisp/gnus/message.el (message-send-and-exit): Restore point
10328         after sending (bug#38303).
10330 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
10332         Make pp-buffer into a command
10334         * lisp/emacs-lisp/pp.el (pp-buffer): Make into a command (bug#38306).
10336 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
10338         Fix loading image-converter in the case where the type is passed in
10340         * lisp/image.el (create-image): Load image-converter when
10341         converting images (bug#38310).
10343 2019-11-21  Lars Ingebrigtsen  <larsi@gnus.org>
10345         Rewrite the image-convert doc string
10347         * lisp/image/image-converter.el (image-convert): Clarify the
10348         calling convention (bug#38310).
10350 2019-11-21  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>
10352         Hide quoted passwords with spaces in Authinfo
10354         * lisp/auth-source.el (auth-source-netrc-looking-at-one): New
10355         function, extracted from auth-source-netrc-parse-one.
10356         (auth-source-netrc-parse-one, authinfo--hide-passwords): Use
10357         auth-source-netrc-looking-at-one (bug#38311).
10359 2019-11-21  Michael Albinus  <michael.albinus@gmx.de>
10361         * lisp/net/tramp.el (tramp-unload-tramp): Do not enable ange-ftp.  (Bug#38025)
10363 2019-11-20  Juri Linkov  <juri@linkov.net>
10365         * lisp/image.el: Mouse-wheel scaling on images (bug#38187)
10367         * lisp/image.el (image-mouse-increase-size)
10368         (image-mouse-decrease-size): New commands.
10369         (image-map): Bind C-wheel-down and C-mouse-5 to
10370         image-mouse-decrease-size, C-wheel-up and C-mouse-4 to
10371         image-mouse-increase-size.
10373 2019-11-20  Paul Eggert  <eggert@cs.ucla.edu>
10375         * src/sysdep.c: Improve comment wording.
10377         * etc/NEWS: Improve XDG_RUNTIME_DIR doc.
10379 2019-11-20  Michael Albinus  <michael.albinus@gmx.de>
10381         Add renaming of remote buffer file names to Tramp
10383         * doc/misc/tramp.texi (Default User): Fix typo.
10384         (Cleanup remote connections): Adapt arguments of
10385         `tramp-cleanup-connection'.
10386         (Renaming remote files): New node.
10387         (Frequently Asked Questions): New item "How to save files when a
10388         remote host isn't reachable anymore?".
10390         * etc/NEWS: Add `tramp-rename-files' and `tramp-rename-these-files'.
10392         * lisp/net/tramp-cmds.el (tramp-default-rename-alist)
10393         (tramp-confirm-rename-file-names): New defcustoms.
10394         (tramp-rename-read-file-name-dir)
10395         (tramp-rename-read-file-name-init): New defsubsts.
10396         (tramp-default-rename-file, tramp-rename-files)
10397         (tramp-rename-these-files): New defuns.
10399         * lisp/net/tramp-integration.el (ido, ivy): Integrate with them.
10401 2019-11-20  Lars Ingebrigtsen  <larsi@gnus.org>
10403         Make with-suppressed-warnings work for macros, too
10405         * lisp/emacs-lisp/macroexp.el (macroexp-macroexpand): Pass the
10406         macro/alias symbol on to byte-compile-warning-enabled-p so that
10407         with-suppressed-warnings works for macros, too.
10409 2019-11-20  Robert Pluim  <rpluim@gmail.com>
10411         Remove info references to gmane web search
10413         * doc/misc/gnus.texi (Foreign Groups, Web Searches, What is nnir?):
10414         (Setting up nnir, Associating Engines, The imap Engine):
10415         (Customizations): Remove references to gmane web search.
10417 2019-11-19  Stephen Gildea  <stepheng+emacs@gildea.com>
10419         Expand coverage of unit tests for time-stamp
10421         * test/lisp/time-stamp-tests.el: Remove redundant word "test"
10422         from the names of all the tests.
10423         (time-stamp-custom-time-zone, time-stamp-custom-pattern,
10424         time-stamp-custom-inserts-lines, time-stamp-custom-count,
10425         time-stamp-helper-safe-locals): New tests
10427 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
10429         Make .pdmp file more reproducible
10431         Problem reported by Ulrich Müller
10432         <https://lists.gnu.org/r/emacs-devel/2019-11/msg00757.html>
10433         and diagnosed by Andreas Schwab
10434         <https://lists.gnu.org/r/emacs-devel/2019-11/msg00774.html>.
10435         * src/sysdep.c (maybe_disable_address_randomization):
10436         Disable ASLR if any kind of dumping, instead of merely if
10437         unexec dumping.  Omit first arg for simplicity; all uses changed.
10439 2019-11-19  João Távora  <joaotavora@gmail.com>
10441         * lisp/icomplete.el (icomplete-fido-kill): Unbreak yes-or-no-p usage
10443         Discussed in the context of bug#19064, bug#17272.
10445 2019-11-19  Eli Zaretskii  <eliz@gnu.org>
10447         Ensure Rmail summary is updated after editing a message
10449         * lisp/mail/rmailedit.el (rmail-cease-edit): If this mbox file
10450         has a summary, update the summary after editing.  (Bug#38193)
10452 2019-11-19  Eli Zaretskii  <eliz@gnu.org>
10454         Fix updating members of zip archives
10456         * lisp/arc-mode.el (archive-zip-case-fiddle): Change the
10457         default to nil except on MS-DOS.  Update the doc string to
10458         make clear that a non-nil value also affects updating the
10459         archive.  (Bug#38260)
10461 2019-11-19  Robert Pluim  <rpluim@gmail.com>
10463         Remember the full GTK font description
10465         Remember the full font description instead of just the family so that
10466         size/style/weight settings are preserved.
10468         * src/gtkutil.c (xg_get_font) [HAVE_GTK3]: Use the pango font
10469         description to set/get the current font (Bug#28901).
10471 2019-11-19  Robert Pluim  <rpluim@gmail.com>
10473         Don't error when comparing IPv4 and IPv6 addresses
10475         * lisp/net/nsm.el (nsm-network-same-subnet): Compare lengths of
10476         local-ip and ip; different lengths can never match.
10477         (nsm-should-check): Chop port off end of address.
10479 2019-11-19  Lars Ingebrigtsen  <larsi@gnus.org>
10481         Allow eww to display exotic images like webp
10483         * lisp/image.el (image-type): Allow passing in the image type.
10484         (create-image): Make conversion work with data in addition to files.
10486         * lisp/image/image-converter.el (image-convert-p): Allow taking
10487         working on data in addition to files (bug#38036).
10488         (image-convert): Ditto.
10489         (image-converter--convert): Extend signature to say whether we're
10490         getting a file or data.
10491         (image-converter--convert-magick): Convert data.
10492         (image-converter--convert): Ditto.
10494 2019-11-19  Juanma Barranquero  <lekktu@gmail.com>
10496         Strip "(fn...)" from output of `describe-mode' (bug#38222)
10498         * lisp/help.el (help--doc-without-fn): New function.
10499         (describe-mode): Use it.
10501 2019-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
10503         * lisp/org/org.el (org-mode): Add pcomplete-completions-at-point to capf.
10505         This lets the normal `completion-at-point` and `complete-symbol`
10506         use `pcomplete` for completion.
10508         (org-mode-map): Leave M-TAB bound to the global default since
10509         `pcomplete` is now obsolete.
10511 2019-11-18  Juri Linkov  <juri@linkov.net>
10513         * lisp/tab-line.el (tab-line-auto-hscroll): New defcustom (bug#37667)
10515         (tab-line-auto-hscroll): Use this option in the function.
10517 2019-11-18  Juri Linkov  <juri@linkov.net>
10519         * lisp/vc/ediff-util.el: Set this-command to ediff-quit (bug#38219)
10521         * lisp/vc/ediff-util.el (ediff-toggle-read-only, ediff-quit):
10522         Set this-command to the same command after using y-or-n-p
10523         that doesn't guarantee to keep this-command unchanged
10524         to check it later for some contrived logic.
10526 2019-11-18  Robert Pluim  <rpluim@gmail.com>
10528         Check for HAVE_GTK3 instead of a specific version
10530         Our minimum GTK3 version is 3.10, the font filter functions appeared
10531         in 3.2.
10533         * src/gtkutil.c (xg_font_filter) [HAVE_GTK3]: Just check for HAVE_GTK3.
10534         (xg_get_font) [HAVE_GTK3]: Same here.
10536 2019-11-18  Michael Albinus  <michael.albinus@gmx.de>
10538         * lisp/net/tramp.el (tramp-handle-file-regular-p): Improve error handling.
10540 2019-11-18  Lars Ingebrigtsen  <larsi@gnus.org>
10542         Fix cl-prettyexpand in the non-FULL case
10544         * lisp/emacs-lisp/cl-extra.el (cl-prettyexpand): This function has
10545         apparently not worked for at least a couple of decades
10546         (bug#38206) unless supplied with a FULL parameter.  Make the FULL
10547         parameter obsolete and make the function always work as it did
10548         with a non-nil FULL.
10550 2019-11-18  Phil Sainty  <psainty@orcon.net.nz>
10552         Merge branch 'scratch/so-long-updates'
10554 2019-11-18  Phil Sainty  <psainty@orcon.net.nz>
10556         lisp/so-long.el: Refactor menu action commands
10558         * lisp/so-long.el (so-long-menu): Call `so-long' with an ACTION
10559         argument instead of using `so-long-menu-item-replace-action'.
10560         (so-long-menu-item-replace-action): Remove the deprecated function.
10562         * test/lisp/so-long-tests/so-long-tests.el
10563         (so-long-tests-so-long-menu-item-replace-action): Update the test.
10565 2019-11-18  Phil Sainty  <psainty@orcon.net.nz>
10567         * lisp/so-long.el (so-long): Firstly revert the existing action, if any
10569         This makes `so-long' consistent with the action commands in the menu.
10571         If multiple actions were to be layered on top of one another, we would
10572         lose the ability to revert to the normal state.  Custom actions
10573         combining multiple other actions can be defined if necessary.
10575 2019-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
10576             Phil Sainty  <psainty@orcon.net.nz>
10578         lisp/so-long.el: Use (interactive "@") for menu commands
10580         * lisp/so-long.el (so-long-menu, so-long-menu-item-replace-action)
10581         (so-long-revert): Use interactive code "@", replacing all uses of
10582         `so-long-menu-click-window'.  This approach leaves the window selected
10583         afterwards, whereas the old code did not; but that is not a problem.
10584         (so-long-menu-click-window, so-long-menu-item-revert): Remove the
10585         deprecated functions.
10587         * test/lisp/so-long-tests/so-long-tests.el
10588         (so-long-tests-so-long-menu-item-replace-action): Update the test.
10590 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
10592         Remove the error-out test for with_harfbuzz
10594         * configure.ac (HAVE_HARFBUZZ): Remove the check for explicit
10595         harfbuzz -- have_harfbuzz defaults to "yes", so we have no way of
10596         checking whether the user really asked for it, apparently.
10598 2019-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10600         * lisp/simple.el (process-file): Clarify doc string.
10602 2019-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
10604         * lisp/tmm.el (tmm-add-one-shortcut): Use dolist
10606 2019-11-17  Juri Linkov  <juri@linkov.net>
10608         * lisp/subr.el (read-char-from-minibuffer, y-or-n-p): Remove discard-input.
10610         (do-after-load-evaluation): Replace run-with-timer with run-with-idle-timer
10611         to give a chance for the minibuffer to handle initial events before sit-for.
10612         https://lists.gnu.org/r/emacs-devel/2019-11/msg00581.html
10614 2019-11-17  Juri Linkov  <juri@linkov.net>
10616         Auto-scrolling in tab-line (bug#37667)
10618         * lisp/tab-line.el (tab-line-auto-hscroll): New function.
10619         (tab-line-format): Use tab-line-auto-hscroll.
10621 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
10623         Error out on --with-harfbuzz without HarfBuzz support
10625         * configure.ac: Error out if the user says --with-harfbuzz, but
10626         HarfBuzz isn't available.
10628 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
10630         Handle FC_CHARCELL in xftfont_open
10632         * src/xftfont.c (xftfont_open): FC_CHARCELL is apparently an alias
10633         for FC_DUAL used in some east Asian fonts (bug#35079).  Modelled
10634         after a patch suggested by Kenichi Handa.
10636 2019-11-17  Eli Zaretskii  <eliz@gnu.org>
10638         Support more font weight values on MS-Windows
10640         * src/w32font.c (w32_to_fc_weight): Support a few more weight
10641         values, for compatibility with the GTK font selection widget
10642         (see gtkutil.c:XG_WEIGHT_TO_SYMBOL).  (Bug#24226)
10644 2019-11-17  Alan Mackenzie  <acm@muc.de>
10646         Compilation Mode: Fix arrow handling when compilation-context-lines is t
10648         In particular, fix some exception occurrences, fix handling of a Compilation
10649         Mode buffer being displayed in several windows, and fix the margin when
10650         temporarily displaying a different buffer in a window, then returning to the
10651         compilation mode buffer.  The fix is relevant for frames without fringes,
10652         e.g. tty frames.
10654         * lisp/progmodes/compile.el: (compilation-set-window): Always set point to
10655         (parameter) MK.
10656         (compilation--set-up-margin, compilation--tear-down-margin): New functions.
10657         (compilation--set-up-arrow-spec-in-margins)
10658         (compilation--tear-down-arrow-spec-in-margins): Renamed by introducing -- and
10659         pluralising margin to margins.  Handle the margins in _all_ windows displaying
10660         the pertinent buffer by using get-buffer-window-list.  In ...--set-up-... add
10661         compilation--set-up-margin to window-buffer-change-functions.  In
10662         ...--tear-down-... remove the hook functions added in ...--set-up-....
10664 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
10666         Make ido-read-file-name respect ido-read-file-name-non-ido more
10668         * lisp/ido.el (ido-read-file-name): Respect
10669         ido-read-file-name-non-ido in the file-directory-p case, too
10670         (bug#38231).
10672 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
10674         Make tables more resistant to major mode changes
10676         * lisp/textmodes/table.el (table--put-cell-face-property)
10677         (table--remove-cell-properties): Ensure that we don't lose the
10678         table face when switching from buffers with font locking to ones
10679         without (or vice versa) (bug#35481).
10681 2019-11-17  Lars Ingebrigtsen  <larsi@gnus.org>
10683         Make bibtex-parse-keys more robust
10685         * lisp/textmodes/bibtex.el (bibtex-parse-keys): Protect against
10686         bugging out just when starting almost-empty bibtex files
10687         (bug#30112).
10689 2019-11-16  Juri Linkov  <juri@linkov.net>
10691         * lisp/tab-bar.el: Add missing arg.
10693         * lisp/tab-bar.el (tab-bar-list-next-line)
10694         (tab-bar-list-prev-line): Add missing interactive spec for prefix arg.
10696         * lisp/mouse.el (mouse-buffer-menu-mode-groups): Add "Git" regexp
10697         to match "Git-Region-History" mode name for "Version Control" group.
10699 2019-11-16  Juri Linkov  <juri@linkov.net>
10701         * lisp/simple.el (eval-expression-print-maximum-character): Use choice type.
10703         https://lists.gnu.org/r/emacs-devel/2019-11/msg00433.html
10705 2019-11-16  Juri Linkov  <juri@linkov.net>
10707         * lisp/dired.el (dired-dwim-target): Add choice dired-dwim-target-next-visible
10709         * lisp/dired-aux.el (dired-dwim-target-next): Add arg ALL-FRAMES.
10710         (dired-dwim-target-next-visible): New function.
10712         * doc/emacs/dired.texi (Operating on Files): Describe function value
10713         of dired-dwim-target.  (Bug#35385)
10715 2019-11-16  Eli Zaretskii  <eliz@gnu.org>
10717         Fix display of R2L text
10719         * src/xdisp.c (extend_face_to_end_of_line): Fix padding of R2L
10720         screen lines with stretch glyph on the left.  (Bug#38233)
10722 2019-11-16  Shingo Tanaka  <shingo.fg8@gmail.com>
10724         Fix moving files with duplicate names to trash-can
10726         * lisp/files.el (move-file-to-trash): Fix file name in
10727         trash-can when another deleted file under the same name is
10728         already stored there.  (Bug#37922)
10730 2019-11-16  Martin Rudalics  <rudalics@gmx.at>
10732         Do not report move frame events for tooltip frames (Bug#38213)
10734         * src/w32term.c (w32_read_socket):
10735         * src/xterm.c (handle_one_xevent): Do not report move frame events
10736         for tooltip frames (Bug#38213).
10738 2019-11-15  Michael Orlitzky  <michael@orlitzky.com>  (tiny change)
10740         tex-mode: paragraph separator groups text and comments
10742         * lisp/textmodes/tex-mode.el (latex-mode): Don't wrap text with
10743         leading spaces into preceding comments (bug#38152).
10745 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
10747         Don't move point on undefined keystrokes in the article buffer
10749         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Don't
10750         move point on undefined commands (bug#38227).
10752 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
10754         Make button-1 work on all Gnus buttons
10756         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button):
10757         * lisp/gnus/gnus-art.el (gnus-insert-mime-button)
10758         (gnus-mime-display-alternative, gnus-insert-prev-page-button)
10759         (gnus-insert-next-page-button)
10760         (gnus-insert-mime-security-button): Make button-1 work on all the
10761         Gnus buttons (bug#38144).
10763 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
10765         Make it clear what edebug-remove-instrumentation offers
10767         * doc/lispref/edebug.texi (Instrumenting): Reword the description
10768         of the edebug-remove-instrumentation command.
10770 2019-11-15  Paul Eggert  <eggert@cs.ucla.edu>
10772         Port new float-scaling code to Solaris
10774         * src/floatfns.c (double_integer_scale): Simplify, so that the
10775         function works when (FP_ILOGBNAN == INT_MAX && FP_ILOGB0 == INT_MIN),
10776         as on Solaris.
10778 2019-11-15  João Távora  <joaotavora@gmail.com>
10780         Make icomplete-tidy-shadowed-file-names less aggressive
10782         When using this option and editing input, some transient situations
10783         may arise that lead to file-name shadowing, but that shouldn't
10784         necessarily lead to auto-delete behaviour, which will be surprising.
10786         In '/foo/x/bar', if the user deletes the 'x', shadowing occurs, but
10787         probably shouldn't.  So, somewhat like ido-mode, only auto-tidy
10788         shadowed file names if the user is inserting text at end of input.
10790         * lisp/icomplete.el (icomplete-exhibit): Check this-command.
10791         (icomplete-tidy-shadowed-file-names): Tweak docstring.
10793 2019-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
10795         * lisp/progmodes/perl-mode.el (perl-calculate-indent): Indent qw(...)
10797         Fix initialization of `state`.
10798         Special-case `qw(...)` because we do want to indent its contents.
10800 2019-11-15  Robert Pluim  <rpluim@gmail.com>
10802         Used magic-fallback-mode-alist to detect .doc files (Bug#20891)
10804         This avoids running doc-view-mode on files that are actually text
10805         files.
10807         * lisp/files.el (auto-mode-alist): Don't use doc-view-mode-maybe
10808         for .doc (but continue to do so for .docx).
10809         (magic-fallback-mode-alist): Add signature for .doc files.
10811 2019-11-15  Eli Zaretskii  <eliz@gnu.org>
10813         Improve indexing of function doc string conventions
10815         * doc/lispref/functions.texi (Function Documentation): Improve
10816         indexing (bug#38158).
10818 2019-11-15  Paul Eggert  <eggert@cs.ucla.edu>
10820         Port hexdigit init to non-GCC + pdumper
10822         The old code assumed that hexdigit initialization (needed by
10823         non-GCC) could be done in syms_of_character, but that is no longer
10824         true with pdumper.  Instead, simplify hexdigit init so that it can
10825         be done statically on all C99 platforms.  Problem discovered on
10826         Solaris 10 sparc + Oracle Solaris Studio 12.6.
10827         * src/character.c (hexdigit): Add 1 to every value; all uses
10828         changed.  This simplifies the initialization so that it can be
10829         done statically on any C99 compiler.  hexdigit is now always const.
10830         (syms_of_character): Omit no-longer-necessary initialization.
10831         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST):
10832         Remove.  All uses removed.
10834 2019-11-15  Eli Zaretskii  <eliz@gnu.org>
10836         Improve documentation of 'add-variable-watcher'
10838         * doc/lispref/variables.texi (Watching Variables): Clarify the
10839         documentation of 'add-variable-watcher' and fix markup.
10841         * src/data.c (Fadd_variable_watcher): Clarify the doc string.
10842         (Bug#38205)
10844 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
10846         Avoid using subr-x function
10848         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Avoid using subr-x
10849         function (bug#38216).
10851 2019-11-15  Martin Rudalics  <rudalics@gmx.at>
10853         In 'dframe-frame-mode' avoid 'switch-to-buffer' (Bug#37840)
10855         * lisp/dframe.el (dframe-frame-mode): Use 'set-window-buffer'
10856         instead of 'switch-to-buffer’ to avoid that
10857         'switch-to-buffer-obey-display-actions' butts in (Bug#37840).
10859 2019-11-15  Andrii Kolomoiets  <andreyk.mad@gmail.com>
10861         lisp/vc/vc-hg.el: Don't pass empty string to hg update
10863         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Don't pass empty name to
10864         `hg update` (bug#38216).
10866 2019-11-15  Lele Gaifax  <lele@metapensiero.it>
10868         Fix minor formatting issue in isearch-forward documentation
10870         * lisp/isearch.el (isearch-forward): Doc string formatting fix
10871         (bug#38207).
10873 2019-11-15  Lars Ingebrigtsen  <larsi@gnus.org>
10875         Make edebug-remove-instrumentation remove macro instrumentation
10877         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation):
10878         Macros can also have edebug instrumentation, so remove that as
10879         well (bug#38195).
10881 2019-11-14  Robert Pluim  <rpluim@gmail.com>
10883         Update nnir-method-default-engines version tag
10885         * lisp/gnus/nnir.el (nnir-method-default-engines): Update version tag.
10887 2019-11-14  Eli Zaretskii  <eliz@gnu.org>
10889         Fix a recent change in xdisp.c
10891         * src/xdisp.c (tty_handle_tab_bar_click): Revert the last
10892         change which made this work only in the HAVE_NTGUI build.
10893         This function is needed by any build which supports a  mouse
10894         on TTY frames.
10896 2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>
10898         Handle weird cases like (ceil 0 0.0)
10900         * src/floatfns.c (double_integer_scale): Distinguish Inf from NaN.
10901         (rounding_driver): Handle (ceil 0 0.0) and (ceil 0 1.0e+INF).
10902         * test/src/floatfns-tests.el (special-round): Add tests for
10903         weird cases like this.
10905         Avoid crash with (floor 0 0.0)
10906         * src/floatfns.c (rounding_driver): Signal an arithmetic
10907         error if divisor is 0.0 or -0.0, instead of crashing.
10909 2019-11-14  Stefan Monnier  <monnier@iro.umontreal.ca>
10911         * lisp/cedet/semantic/db.el: Use lexical-binding
10913         Also prefer setf over oset.
10914         (semanticdb-abstract-table-list): Always define.
10915         (semanticdb--inhibit-make-directory): Fix name of declaration to match
10916         name of variable actually used.
10917         (semanticdb-with-match-any-mode): Use `declare`.  Add Edebug spec.
10918         (semanticdb-project-roots): Remove redundant :group.
10920 2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>
10922         Fix byte-counting error in ‘format’
10924         Problem reported by Paul Pogonyshev (Bug#38191).
10925         * src/editfns.c (styled_format): When checking for adjacent
10926         %-sequences, use byte position rather than character position.
10927         * test/src/editfns-tests.el (format-properties): Test for fix.
10929 2019-11-14  Paul Eggert  <eggert@cs.ucla.edu>
10931         In Cairo builds, omit some unnecessary functions
10933         * src/font.c (fset_font_data, font_put_frame_data)
10934         (font_get_frame_data):
10935         * src/ftfont.c (ftfont_open, ftfont_close)
10936         (ftfont_encode_char, ftfont_glyph_metrics)
10937         (ftfont_text_extents, ftfont_driver):
10938         Define only if USE_CAIRO.
10939         * src/xdisp.c (tty_handle_tab_bar_click):
10940         Define only if HAVE_NTGUI && !CYGWIN.
10942 2019-11-14  Dmitry Gutov  <dgutov@yandex.ru>
10944         (repos-count-screen-lines): Narrow without changing point-min
10946         * lisp/reposition.el (repos-count-screen-lines): Narrow without
10947         changing point-min.  It wasn't necessary for vertical-motion to
10948         work, and it had some adverse effects on how font-lock rules were
10949         applied
10950         (https://lists.gnu.org/r/emacs-devel/2019-11/msg00522.html).
10951         This can also be an alternative fix for bug#38049.
10953 2019-11-14  Alan Mackenzie  <acm@muc.de>
10955         CC Mode: Fix two bugs in the "state cache".
10957         This (along with a suggestion to the OP to set
10958         open-paren-in-column-0-is-defun-start to nil) fixes bug #37910.  It may also
10959         have fixed bug #5490 and bug #18072.
10961         * lisp/progmodes/cc-engine.el (c-state-cache-non-literal-place): Remove thi
10962         non-sensical function, replacing it with ....
10963         (c-state-cache-lower-good-pos): New function.
10964         (c-renarrow-state-cache, c-append-lower-brace-pair-to-state-cache)
10965         (c-remove-stale-state-cache, c-remove-stale-state-cache-backwards): Instead of
10966         altering the state-cache list structure with setcar and setcdr, use setq and
10967         consing.
10968         (c-parse-state-1): Call c-state-cache-lower-good-pos rather than
10969         c-state-cache-non-literal-place.
10971 2019-11-14  Robert Pluim  <rpluim@gmail.com>
10973         Remove unneeded font_is_ignored prototype
10975         * src/gtkutil.h: Remove unneeded prototype for font_is_ignored,
10976         it's in font.h now.
10978 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
10980         Merge branch 'scratch/so-long-updates'
10982 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
10984         Make so-long disable flymake, flyspell, flycheck
10986         * lisp/so-long.el (so-long-minor-modes): Add flymake-mode, flyspell-mode,
10987         and flycheck-mode.
10989 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
10991         Support loading so-long.el on top of an earlier version
10993         * lisp/so-long.el (so-long-version, so-long--latest-version): New variables.
10995         This enables users to safely load version 1.0 of so-long.el on top of
10996         an earlier version, as well as making provisions for doing likewise
10997         following any incompatible changes arising in future versions.
10999 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
11001         Backwards-compatibility function definitions for so-long.el
11003         * lisp/so-long.el (so-long-inhibit-whitespace-mode)
11004         (so-long-make-buffer-read-only, so-long-revert-buffer-read-only)
11005         (so-long-inhibit-global-hl-line-mode): Restore dummy definitions of
11006         now-obsolete hook functions used by earlier versions of so-long.el,
11007         to support users who have saved these symbols in their customized
11008         values for the hooks in question.
11010 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
11012         * lisp/so-long.el (so-long-unload-function): Improved feature unload
11014 2019-11-14  Phil Sainty  <psainty@orcon.net.nz>
11016         Defer triggering `so-long' until the buffer is displayed
11018         * lisp/so-long.el (so-long-invisible-buffer-function): New user option.
11019         (so-long--set-auto-mode): Use so-long-invisible-buffer-function.
11020         (so-long-deferred): New function/value for so-long-invisible-buffer-function.
11021         (so-long, so-long--disable): Support for so-long-deferred.
11023         * test/lisp/so-long-tests/autoload-longlines-mode-tests.el
11024         * test/lisp/so-long-tests/autoload-major-mode-tests.el
11025         * test/lisp/so-long-tests/autoload-minor-mode-tests.el
11026         * test/lisp/so-long-tests/so-long-tests.el:
11027         Support for so-long-deferred.
11029         Pre-existing tests have been updated to ensure the buffer is already
11030         displayed in cases where a call to `normal-mode' is the (potential)
11031         trigger for `so-long'.
11033 2019-11-14  Eli Zaretskii  <eliz@gnu.org>
11035         Fix recent documentation changes
11037         * doc/lispref/minibuf.texi (Multiple Queries): Move the
11038         reference to 'read-char-from-minibuffer' from here...
11039         * doc/lispref/commands.texi (Reading One Event): ...to here.
11040         Fix the wording of the description of
11041         'read-char-from-minibuffer'.
11043 2019-11-14  Robert Pluim  <rpluim@gmail.com>
11045         Make GTK font chooser respect face-ignored-fonts
11047         * src/font.c (font_delete_unmatched): Move Vface_ignored_fonts
11048         matching to...
11049         (font_is_ignored): ..Here.  New function.
11050         * src/gtkutil.c (xg_font_filter): New function, uses font_is_ignored
11051         to filter fonts.
11052         (xg_get_font): Set GTK font chooser filter to xg_font_filter.
11053         * src/gtkutil.h: Add prototype for font_is_ignored.
11055 2019-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
11057         Obsolete rfc2047-quote-special-characters-in-quoted-strings (bug#38200)
11059         * lisp/mail/rfc2047.el
11060         (rfc2047-quote-special-characters-in-quoted-strings): Make obsolete
11061         instead of removing it.
11063 2019-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
11065         Remove rfc2047-quote-special-characters-in-quoted-strings (bug#38200)
11067         * lisp/mail/rfc2047.el
11068         (rfc2047-quote-special-characters-in-quoted-strings): Remove function.
11069         (rfc2047-encode-message-header, rfc2047-encode-region): Don't use it.
11071 2019-11-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>
11073         (vc-default-update-on-retrieve-tag): Accept backend argument
11075         * lisp/vc/vc.el (vc-default-update-on-retrieve-tag): Accept
11076         backend argument (bug#38156).  This fixes a bug introduced in the
11077         previous patch.
11079 2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>
11081         Fix mouse-1 on Gnus article buffer buttons
11083         * lisp/gnus/gnus-art.el (gnus-article-add-button): Make mouse-1
11084         work as required by mouse-1-click-follows-link (bug#38144).
11086 2019-11-13  Andrii Kolomoiets  <andreyk.mad@gmail.com>
11088         VC: ability to skip update buffers prompt
11090         * lisp/vc/vc.el (vc-default-update-on-retrieve-tag): New function.
11091         (vc-retrieve-tag): Call `update-on-retrieve-tag' backend function
11092         to determine if prompt for update buffers is needed; Include tag
11093         name into the "Retrieving tag" message.
11094         * lisp/vc/vc-git.el (vc-git-update-on-retrieve-tag):
11095         * lisp/vc/vc-hg.el (vc-hg-update-on-retrieve-tag):
11096         * lisp/vc/vc-svn.el (vc-svn-udate-on-retrieve-tag): New functions.
11097         Buffers update prompt on `vc-retrieve-tag' is omitted (bug#38156).
11099 2019-11-13  Braun Gábor  <braungb88@gmail.com>  (tiny change)
11101         Make clone-buffer not unbind global variable
11103         * lisp/simple.el (clone-buffer): Make clone-buffer not globally
11104         unset locally void variable (bug#38179).
11106 2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>
11108         Update signature in etc/DISTRIB
11110         * etc/DISTRIB: Update signature (bug#38188).
11112 2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>
11114         Make dired-do-compress-to require format-spec
11116         * lisp/dired-aux.el (dired-do-compress-to): Require format-spec
11117         runtime (bug#38189).
11119 2019-11-13  Lars Ingebrigtsen  <larsi@gnus.org>
11121         Allow using edebug-remove-instrumentation more fine-grained
11123         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation):
11124         Prompt the user for what functions to remove instrumentation from
11125         a la cancel-edebug-on-entry (bug#38195).
11127 2019-11-13  Stephen Gildea  <stepheng+emacs@gildea.com>
11129         time-stamp: update support for time zone numeric offset
11131         * lisp/time-stamp.el (time-stamp-string-preprocess): Change new format for
11132         numeric time zone from %:z to %5z to match format-time-string better.
11133         (time-stamp-format): Document support for numeric time zone.
11134         See discussion in bug#32931.
11136         * NEWS: Mention time-stamp-format %5z.
11138 2019-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
11140         Don't show Attachment(s) header in html article viewed with browse-url
11142         * lisp/gnus/gnus-art.el (gnus-article-browse-html-article):
11143         Bind gnus-mime-display-attachment-buttons-in-header to nil.
11145 2019-11-13  Juri Linkov  <juri@linkov.net>
11147         * lisp/tab-line.el (tab-line-tabs-buffer-list): Use window-prev-buffers too.
11149         * lisp/tab-line.el (tab-line-tabs-buffer-list): Move window-prev-buffers here
11150         from tab-line-tabs-buffer-groups.
11152 2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11154         Fix double-rounding bug in ceiling etc.
11156         This is doable now that we have bignums.
11157         * src/floatfns.c (integer_value): Remove; no longer used.
11158         (rescale_for_division): New function.
11159         (rounding_driver): Use it to divide properly (by using bignums)
11160         even when arguments are float, fixing a double-rounding FIXME.
11161         * src/lisp.h (LOG2_FLT_RADIX): Move here ...
11162         * src/timefns.c (frac_to_double): ... from here.
11163         * test/src/floatfns-tests.el (big-round):
11164         Add a test to catch the double-rounding bug.
11166 2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11168         Refactor bignum multiplication, exponentiation
11170         This doesn’t alter behavior, and simplifies the next commit.
11171         * src/bignum.c (GMP_NLIMBS_MAX, NLIMBS_LIMIT, emacs_mpz_size)
11172         (emacs_mpz_mul, emacs_mpz_mul_2exp, emacs_mpz_pow_ui): Move here ...
11173         * src/data.c: ... from here.
11175 2019-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11177         Refactor double integer scaling
11179         This doesn’t alter behavior, and simplifies a future commit.
11180         * src/floatfns.c (double_integer_scale): New function,
11181         with body adapted from the old timefns.c.
11182         * src/timefns.c (decode_float_time): Use it.
11184 2019-11-13  Michael Albinus  <michael.albinus@gmx.de>
11186         Finish last Tramp patch
11188         * lisp/net/tramp.el (outline-regexp): Remove declaration.
11189         (tramp-debug-outline-regexp): Add thread regexp.
11190         (tramp-debug-font-lock-keywords): New defconst.
11191         (tramp-debug-outline-level): Adapt to changed
11192         `tramp-debug-outline-regexp'.
11193         (tramp-get-debug-buffer): Use `tramp-debug-font-lock-keywords'.
11195 2019-11-13  Robert Pluim  <rpluim@gmail.com>
11197         Add "Noto Color Emoji" to face-ignored-fonts
11199         * src/xfaces.c (syms_of_xfaces) [HAVE_XFT]: Add "Noto Color Emoji" to
11200         face-ignored-fonts (Bug#37786).
11202 2019-11-13  Michael Albinus  <michael.albinus@gmx.de>
11204         Some refinement in Tramp debug buffer.
11206         * lisp/net/tramp.el (outline-regexp): Remove declaration.
11207         (tramp-debug-font-lock-keywords): New defconst.
11208         (tramp-get-debug-buffer): Use it.
11210 2019-11-13  Michael Albinus  <michael.albinus@gmx.de>
11212         Adapt Tramp docstrings according to checkdoc
11214         * lisp/net/tramp.el (tramp-backup-directory-alist)
11215         (tramp-echoed-echo-mark-regexp, tramp-syntax-values)
11216         (tramp-lookup-syntax, tramp-build-prefix-format)
11217         (tramp-build-prefix-regexp, tramp-build-method-regexp)
11218         (tramp-build-postfix-method-format)
11219         (tramp-build-postfix-method-regexp)
11220         (tramp-build-prefix-ipv6-format, tramp-build-prefix-ipv6-regexp)
11221         (tramp-build-postfix-ipv6-format)
11222         (tramp-build-postfix-ipv6-regexp)
11223         (tramp-build-postfix-host-format)
11224         (tramp-build-postfix-host-regexp, tramp-unknown-id-string)
11225         (tramp-unknown-id-integer, tramp-build-file-name-regexp)
11226         (tramp-build-completion-file-name-regexp, tramp-chunksize)
11227         (tramp-find-method, tramp-find-user, tramp-find-host)
11228         (tramp-dissect-file-name, tramp-get-buffer)
11229         (tramp-get-connection-buffer, tramp-debug-message, tramp-error)
11230         (with-tramp-connection-property, tramp-run-real-handler)
11231         (tramp-file-name-for-operation, tramp-file-name-handler)
11232         (tramp-completion-file-name-handler)
11233         (tramp-completion-handle-file-name-completion)
11234         (tramp-completion-dissect-file-name)
11235         (tramp-completion-dissect-file-name1)
11236         (tramp-handle-file-name-as-directory)
11237         (tramp-handle-file-name-directory)
11238         (tramp-handle-file-name-nondirectory, tramp-mode-string-to-int)
11239         (tramp-file-mode-from-int):
11240         * lisp/net/tramp-adb.el (tramp-adb-file-name-p):
11241         * lisp/net/tramp-archive.el (tramp-archive-run-real-handler)
11242         (tramp-archive-file-name-handler)
11243         (tramp-archive-dissect-file-name)
11244         (with-parsed-tramp-archive-file-name)
11245         (tramp-archive-gvfs-file-name, tramp-archive-handle-access-file):
11246         * lisp/net/tramp-cmds.el (tramp-list-remote-buffers):
11247         * lisp/net/tramp-compat.el (tramp-unload-file-name-handlers)
11248         (tramp-compat-funcall, tramp-compat-tramp-file-name-slots):
11249         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler)
11250         (tramp-ftp-file-name-p):
11251         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-p)
11252         (tramp-gvfs-file-name-handler)
11253         (tramp-gvfs-stringify-dbus-message)
11254         (tramp-gvfs-monitor-process-filter)
11255         (tramp-gvfs-handler-mounted-unmounted):
11256         * lisp/net/tramp-integration.el
11257         (tramp-rfn-eshadow-update-overlay-regexp):
11258         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-p)
11259         (tramp-rclone-file-name-handler, tramp-rclone-send-command):
11260         * lisp/net/tramp-sh.el (tramp-sh--quoting-style-options)
11261         (tramp-sh-gio-monitor-process-filter)
11262         (tramp-sh-gvfs-monitor-dir-process-filter)
11263         (tramp-sh-inotifywait-process-filter, tramp-find-executable)
11264         (tramp-set-remote-path, tramp-open-shell, tramp-find-shell)
11265         (tramp-send-command-and-check, tramp-shell-case-fold)
11266         (tramp-get-remote-path):
11267         * lisp/net/tramp-smb.el (tramp-smb-file-name-p)
11268         (tramp-smb-file-name-handler)
11269         (tramp-smb-do-file-attributes-with-stat)
11270         (tramp-smb-handle-substitute-in-file-name)
11271         (tramp-smb-get-stat-capability, tramp-smb-shell-quote-argument):
11272         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-p)
11273         (tramp-sudoedit-file-name-handler)
11274         (tramp-sudoedit-send-command-string):
11275         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test-all):
11276         * test/lisp/net/tramp-tests.el (tramp--test-gvfs-p)
11277         (tramp--test-with-proper-process-name-and-buffer)
11278         (tramp-test-all): Adapt docstrings according to `checkdoc'.
11280 2019-11-13  João Távora  <joaotavora@gmail.com>
11282         Avoid fido-mode's setup on non-icomplete minibuffers
11284         Otherwise we would lose things like C-r (isearch-backward) when doing
11285         simple stuff like non-icomplete pp-eval-expression.
11287         * lisp/icomplete.el (icomplete--fido-mode-setup): Restrict setup
11288         to when icomplete-mode really kicks in.
11290 2019-11-12  Juri Linkov  <juri@linkov.net>
11292         * lisp/tab-line.el (tab-line-tabs-buffer-list-function): New variable.
11294         (tab-line-tabs-buffer-list): New function.
11295         (tab-line-tabs-mode-buffers, tab-line-tabs-buffer-groups):
11296         Call tab-line-tabs-mode-buffers.
11297         (tab-line-tabs-buffer-groups): Add 'close' function that uses
11298         kill-buffer instead of bury-buffer that makes no sense here.
11299         (tab-line-format): Don't show the close button when a tab
11300         has no 'close' function or buffer.
11301         (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab):
11302         Support tabs with 'buffer' properties.
11303         (tab-line-close-tab): Call 'close' function when defined.
11305 2019-11-12  Juri Linkov  <juri@linkov.net>
11307         * lisp/dired.el (dired-dwim-target): Add new choices (bug#35385)
11309         * lisp/dired.el (dired-dwim-target): Add choices
11310         dired-dwim-target-next and dired-dwim-target-recent.
11312         * lisp/dired-aux.el (dired-dwim-target-next)
11313         (dired-dwim-target-recent): New functions.
11314         (dired-dwim-target-directories): Call either of them.
11316         * doc/emacs/dired.texi (Operating on Files): Mention new
11317         preferences in dired-dwim-target.
11319 2019-11-12  Paul Eggert  <eggert@cs.ucla.edu>
11321         Conditionally omit edition numbers, dates in doc
11323         This redoes the 2019-11-02T00:24:02!eggert@cs.ucla.edu patch,
11324         updated after consultation with John Sullivan.
11325         Omit printed edition numbers in online manuals while keeping
11326         them in printed manuals.  In online manuals the edition
11327         numbers seem to cause more confusion than they cure; e.g.,
11328         https://shop.fsf.org/books/gnu-emacs-manual-18th-edition-v-261
11329         currently advertises "18th edition" even as it points to
11330         https://www.gnu.org/software/emacs/manual/pdf/emacs.pdf which
11331         says "Seventeenth Edition".  It is simpler and less confusing
11332         to stick to one version number like "27.0" in online manuals.
11333         For printed manuals people can run, e.g., "texi2any -D
11334         'EDITION Nineteenth'" when generating the 19th printed edition
11335         of the Emacs manual.
11336         * doc/emacs/emacs.texi (EDITION):
11337         * doc/lispintro/emacs-lisp-intro.texi (edition-number, update-date):
11338         * doc/lispref/elisp.texi (VERSION, DATE):
11339         Remove definitions.  Instead, let the person printing the book
11340         specify these values, with the default being the online version
11341         which does not have printed edition numbers.
11342         * doc/lispintro/emacs-lisp-intro.texi (titlepage-edition-number):
11343         New flag, for the edition number as it appears on the title page.
11345 2019-11-12  Martin Rudalics  <rudalics@gmx.at>
11347         Make sure buffer is live before retrieving underline properties (Bug#38038)
11349         * src/window.h (WINDOW_BUFFER_LOCAL_VALUE): New macro.
11350         * src/nsterm.m (ns_draw_text_decoration):
11351         * src/w32term.c (w32_draw_glyph_string):
11352         * src/xterm.c (x_draw_glyph_string): Make sure buffer is live
11353         before retrieving underline properties from it (Bug#38038).
11355 2019-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
11357         * lisp/emacs-lisp/easymenu.el (easy-menu-make-symbol): Fix last change
11359 2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11361         Fix a few more minor quoting problems.
11363 2019-11-11  Lars Ingebrigtsen  <larsi@gnus.org>
11365         Rename font-log-refontify
11367         * lisp/font-lock.el (font-lock-debug-fontify): Rename to make it
11368         clearer what the function is for.
11369         * doc/lispref/modes.texi (Font Lock Basics): Ditto.
11371 2019-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
11373         * lisp/startup.el (command-line): Fix last change in package--activated
11375 2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11377         Fix some quoting glitches in doc strings
11379 2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11381         Fix quoting glitch in formatting Gnus messages
11383         * lisp/gnus/gnus-util.el (defmacro, gnus-message): Use
11384         ‘format-message’, not ‘format’, to be compatible with ‘message’.
11386 2019-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11388         Fix glitch in generating cxterm doc strings
11390         * lisp/international/titdic-cnv.el (tit-process-header):
11391         In generated doc strings, escape \, ", ', and ` properly.
11392         Currently only ' appears but we might as well future-proof this.
11394 2019-11-11  Wilson Snyder  <wsnyder@wsnyder.org>
11396         Verilog-Mode collected updates.
11398         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix to skip
11399         over base64-encoded protected data while reading AUTO declarations.
11400         Reported by Berend Ozceri.
11401         (verilog-auto-inst-port, verilog-auto-inst-vector): Support 'unsigned'
11402         in `verilog-auto-inst-vector'. Reported by Jeff Riley.
11403         (verilog-read-decls): Fix to ignore `line in AUTOINST, git
11404         bug18. Reported by Berend Ozceri.
11405         (verilog-library-extensions): Support .va /.vah/.sva/.svah file
11406         extensions to load verilog-mode for Verilog-AMS.  Reported by Shareef
11407         Jalloq.
11408         (verilog-read-sub-decls-expr): Fix AUTOOUTPUT etc misparsing Verilog
11409         casts, bug1526.  Reported by Udi Finkelstein.
11411 2019-11-11  Stefan Kangas  <stefankangas@gmail.com>
11413         Add several configuration files to auto-mode-alist
11415         * lisp/files.el (auto-mode-alist): Use conf-mode for .asoundrc,
11416         .mairixrc, .mbsyncr, .msmtprc, .nvidia-settings-rc, .offlineimaprc,
11417         .reportbugrc, .rtorrent.rc, .screenrc, .mpdconf, .notmuch-config.  Use
11418         conf-windows-mode for .redshift.conf.  (Bug#38065)
11420 2019-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11422         Document Lisp floats a bit better
11424         * doc/lispref/numbers.texi (Float Basics):
11425         * doc/misc/cl.texi (Implementation Parameters):
11426         * lisp/emacs-lisp/cl-lib.el (cl-most-positive-float)
11427         (cl-least-positive-float)
11428         (cl-least-positive-normalized-float, cl-float-epsilon)
11429         (cl-float-negative-epsilon):
11430         Document IEEE floating point better.  Don’t suggest that Emacs
11431         might use some floating-point format other than IEEE format, as
11432         Emacs currently assumes IEEE in several places and there seems
11433         little point in removing those assumptions.
11435 2019-11-10  Juri Linkov  <juri@linkov.net>
11437         * lisp/tab-bar.el: Better handling of closed-tabs in tab-bar-list.
11439         * lisp/tab-bar.el (tab-bar-list-delete-from-list): Add closed tab to
11440         tab-bar-closed-tabs.
11441         (tab-bar-list-select): Don't add the closed intermediate tab to
11442         tab-bar-closed-tabs.
11444 2019-11-10  Juri Linkov  <juri@linkov.net>
11446         * lisp/autorevert.el: Use 'minibuffer-message' to not obscure the prompt.
11448         * lisp/autorevert.el (auto-revert-handler): Use 'minibuffer-message'
11449         instead of 'message'.  Call it from the original window's buffer
11450         that in case of the minibuffer should be current, so
11451         minibuffer-message could add a message to it.  (Bug#34614)
11453         * lisp/emacs-lisp/ert-x.el (ert--make-message-advice): Add nil to
11454         the list of values to not use for format-message, because
11455         minibuffer-message calls 'message' with nil argument, and tests fail.
11457 2019-11-10  Stefan Kangas  <stefankangas@gmail.com>
11458             Drew Adams  <drew.adams@oracle.com>
11460         Make dired-get-subdir-min obsolete
11462         * lisp/dired.el (dired-get-subdir-min): Redefine as obsolete function
11463         alias for 'cdr'.  (Bug#11571)
11464         (dired-get-subdir, dired-get-subdir-max, dired-clear-alist)
11465         (dired-next-subdir, dired-current-directory):
11466         * lisp/dired-aux.el (dired-rename-subdir-2)
11467         (dired-alist-sort, dired-insert-subdir-del)
11468         (dired-insert-subdir-doupdate, dired-goto-subdir)
11469         (dired-hide-subdir, dired-hide-all): Use 'cdr' instead of
11470         the above obsolete function.
11471         (dired-subdir-alist): Doc fix.
11473 2019-11-10  Juri Linkov  <juri@linkov.net>
11475         Move read-char-from-minibuffer from simple.el to subr.el and document it.
11477         * doc/lispref/minibuf.texi (Multiple Queries):
11478         Document read-char-from-minibuffer (bug#10477, bug#38076).
11480         * lisp/subr.el (read-char-history)
11481         (read-char-from-minibuffer-map)
11482         (read-char-from-minibuffer-map-hash)
11483         (read-char-from-minibuffer-insert-char)
11484         (read-char-from-minibuffer-insert-other, empty-history)
11485         (read-char-from-minibuffer): Move from simple.el to subr.el.
11487 2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11489         * lisp/cedet/semantic/wisent/comp.el (wisent-struct): Remove
11491         (core, shifts, reductions, errs): Use cl-defstruct instead.
11492         Adjust all users of the set-<struct>-<field> setters to use
11493         `setf` instead.
11495 2019-11-09  Jimmy Aguilar Mena  <spacibba@aol.com>
11497         Add extra bindings to fido-mode.
11499         * lisp/icomplete.el (icomplete-fido-mode-map) : Add arrows and other
11500         bindings to reproduce ido behaviour.
11502 2019-11-09  Glenn Morris  <rgm@gnu.org>
11504         Disable a portion of one doc-test
11506         * test/src/doc-tests.el (doc-test-substitute-command-keys):
11507         Disable component that fails twice in the past 5 weeks
11508         due to changes in the minibuffer map.
11510 2019-11-09  Juri Linkov  <juri@linkov.net>
11512         Don't overwrite y-or-n-p prompt by message from asynchronous man (bug#19064)
11514         * lisp/man.el (Man-bgproc-sentinel): Postpone displaying the message
11515         and deleting the buffer until exiting the code block with
11516         with-current-buffer.  Use minibuffer-message to display message
11517         to handle possibly active minibuffer.
11519 2019-11-09  Juri Linkov  <juri@linkov.net>
11521         Don't obscure the minibuffer by message (bug#17272)
11523         * lisp/subr.el (do-after-load-evaluation): Use minibuffer-message
11524         to not obscure a possibly active minibuffer.
11526         * lisp/minibuffer.el (minibuffer-message):
11527         Record message in the *Messages* buffer.
11529 2019-11-09  Juri Linkov  <juri@linkov.net>
11531         Use the minibuffer to read answer in userlock.el (bug#38076)
11533         * lisp/userlock.el: Rename 'fn' to 'filename'.
11534         (ask-user-about-supersession-threat): Use read-char-from-minibuffer
11535         instead of read-char-choice.
11537 2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11539         * lisp/startup.el (package--activated): Fix redundant definition
11541 2019-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11543         * lisp/ffap.el (ffap-read-file-or-url): Don't use url-file-handler
11545         Simplify accordingly (and don't call substitute-in-file-name redundantly).
11547 2019-11-09  Juri Linkov  <juri@linkov.net>
11549         hack-local-variables-confirm uses the minibuffer to read answer (bug#38076)
11551         * lisp/files.el (hack-local-variables-confirm):
11552         Use read-char-from-minibuffer instead of read-char-choice.
11553         Remove special handling of original window scrolling
11554         that is now supported in the minibuffer.  This fixes
11555         https://lists.gnu.org/r/emacs-devel/2019-10/msg01020.html
11556         (files--ask-user-about-large-file): Use read-char-from-minibuffer
11557         instead of read-char-choice.
11559 2019-11-09  Juri Linkov  <juri@linkov.net>
11561         Add CHARS arg to read-char-from-minibuffer compatible with read-char-choice.
11563         * lisp/simple.el (read-char-history):
11564         Rename from read-char-from-minibuffer-history.  (Bug#38076)
11565         (read-char-from-minibuffer-insert-char):
11566         Rename from read-char-from-minibuffer-self-insert.
11567         (read-char-from-minibuffer-map-hash): New defconst.
11568         (read-char-from-minibuffer-insert-other): New command.
11569         (read-char-from-minibuffer): Add optional args CHARS and HISTORY.
11570         (zap-to-char): Use 'read-char-history as HISTORY arg of
11571         read-char-from-minibuffer.
11573         * lisp/emacs-lisp/map-ynp.el (read-answer): Use sit-for instead of sleep-for.
11574         Replace short answer history yes-or-no-p-history with read-char-history.
11576 2019-11-09  Juri Linkov  <juri@linkov.net>
11578         'y-or-n-p' now uses the minibuffer to read 'y' or 'n' answer (bug#38076)
11580         * doc/lispref/minibuf.texi (Yes-or-No Queries): Update the fact
11581         that y-or-n-p uses the minibuffer.
11583         * lisp/subr.el (y-or-n-p-history-variable): New variable.
11584         (y-or-n-p-map): New keymap.
11585         (y-or-n-p-insert-y, y-or-n-p-insert-n, y-or-n-p-insert-other):
11586         New commands.
11587         (y-or-n-p): Rewrite to use read-from-minibuffer and make-composed-keymap
11588         with y-or-n-p-map and query-replace-map.
11590 2019-11-09  Juri Linkov  <juri@linkov.net>
11592         Run scroll/recenter commands from minibuffer in original window (bug#38076)
11594         * lisp/minibuffer.el (with-minibuffer-selected-window): New macro.
11595         (minibuffer-recenter-top-bottom, minibuffer-scroll-up-command)
11596         (minibuffer-scroll-down-command, minibuffer-scroll-other-window):
11597         (minibuffer-scroll-other-window-down): New commands.
11598         (minibuffer-local-map): Remap recenter/scroll symbols to their
11599         minibuffer wrappers: recenter-top-bottom to minibuffer-recenter-top-bottom.
11601         * src/window.c (Fother_window_for_scrolling): Use 'lambda' value for
11602         MINIBUF arg of Fnext_window, so minibuffer-scroll-other-window and
11603         minibuffer-scroll-other-window-down doesn't try to scroll the
11604         minibuffer window.
11606 2019-11-09  Karl Fogel  <kfogel@red-bean.com>
11608         Improve an error about the message signer
11610         * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Don't suggest setting
11611           `mml-secure-smime-sign-with-sender' if it's already non-nil.
11613 2019-11-09  Lars Ingebrigtsen  <larsi@gnus.org>
11615         Fix font-lock-keywords slightly
11617         * lisp/font-lock.el (font-lock-keywords): Tweak doc string
11618         slightly (bug#35005).
11620 2019-11-09  Eli Zaretskii  <eliz@gnu.org>
11622         Fix case-insensitive completion of buffer names
11624         * test/src/minibuf-tests.el (test-try-completion-ignore-case):
11625         New test, suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
11627         * src/minibuf.c (Ftry_completion): Don't treat strings that
11628         are identical but for the case as if they were identical for
11629         the purposes of not counting the same string twice.  This
11630         fixes case-insensitive completion when all the candidates are
11631         identical but for the letter-case.  (Bug#11339)
11633 2019-11-09  Eli Zaretskii  <eliz@gnu.org>
11635         Fix an error in selecting encoding when writing zip files
11637         * lisp/international/mule-cmds.el (select-safe-coding-system):
11638         Treat no-conversion-multibyte that came from find-auto-coding
11639         the same as no-conversion for the purposes of encoding.  The
11640         same logic that considers no-conversion always safe should do
11641         the same with no-conversion-multibyte.  (Bug#38155)
11643 2019-11-09  Glenn Morris  <rgm@gnu.org>
11645         * lisp/progmodes/cc-vars.el (c-mark-wrong-style-of-comment):
11646         Fix version.
11648 2019-11-09  João Távora  <joaotavora@gmail.com>
11650         Revert "Nudge icomplete-mode a little closer to fido-mode"
11652         Fixes bug#38131.
11654         This is not the best way to have fido-mdoe emulate that particular bit
11655         of ido-mode.
11657         This reverts commit 5761a1a3939e23d8e8c725241dd9398a12f191b0.
11659 2019-11-09  João Távora  <joaotavora@gmail.com>
11661         Rename some commands to reflect they are fido-mode specific
11663         * lisp/icomplete.el (icomplete-fido-kill)
11664         (icomplete-fido-delete-char, icomplete-fido-ret)
11665         (icomplete-fido-backward-updir): Rename from icomplete-magic-ido-*
11666         versions.
11667         (icomplete-fido-mode-map): Use new command names.
11669 2019-11-09  João Távora  <joaotavora@gmail.com>
11671         Protect flex's display-sort-function against 0-length candidates
11673         * lisp/minibuffer.el (completion--flex-adjust-metadata): Assume a
11674         candidate missing a score has a score of 0.
11676 2019-11-09  Alan Mackenzie  <acm@muc.de>
11678         Widen around c-font-lock-fontify-region.  This fixes bug #38049.
11680         * lisp/progmodes/cc-mode.el (c-font-lock-fontify-region): Widen in this function,
11681         to ensure that the CC Mode font locking mechanism can examine characters
11682         outside the given region.
11684 2019-11-09  Alan Mackenzie  <acm@muc.de>
11686         CC Mode.  Allow fontification of "wrong" style comments with warning face.
11688         This fixes bug #4192.
11690         * etc/NEWS: Add a new entry.
11692         * lisp/progmodes/cc-defs.el (c-font-lock-flush): New macro.
11694         * lisp/progmodes/cc-cmds.el (c-toggle-comment-style): On toggling the comment
11695         style, invoke c-font-lock-flush when c-mark-wrong-style-of-comment is non-nil,
11696         to cause that marking to be done instead on the other style of comment.
11698         * lisp/progmodes/cc-fonts.el (c-maybe-font-lock-wrong-style-comments): New
11699         function.
11700         (c-cpp-matchers): Call c-maybe-font-lock-wrong-style-comments when
11701         appropriate.
11703         * lisp/progmodes/cc-vars.el (c-mark-wrong-style-of-comment): New customizable
11704         option.
11706         * doc/misc/cc-mode.texi (top level, Indentation Commands, Guessing the Style,
11707         Custom Macros): For some opening quote marks, correct '' to ``.
11708         (Minor Modes): Add an xref to the new page "Wrong Comment Style" in a
11709         footnote.
11710         (Wrong Comment Style): New page.
11712 2019-11-09  Nick Helm  <nick@tenpoint.co.nz>
11714         Fix unresponsive Help menu in macOS
11716         * src/nsterm.m (ns_check_menu_open): Don't postpone mouse drag and
11717         non-user-generated mouse down events (Bug#31371).
11719 2019-11-09  Eli Zaretskii  <eliz@gnu.org>
11721         Avoid compiler warnings in addpm.c and ddeclient.c
11723         * nt/ddeclient.c (DdeCallback):
11724         * nt/addpm.c (DdeCallback): Modify types of the last 2
11725         arguments to avoid compiler warnings in 64-bit builds.
11726         (Bug#38040)
11728 2019-11-09  Eli Zaretskii  <eliz@gnu.org>
11730         Fix last change
11732         * lisp/simple.el (goto-history-element)
11733         (next-history-element): Fix quoting of "future history".
11735         * doc/lispref/minibuf.texi (Minibuffer Commands)
11736         (Text from Minibuffer): Add index entry and cross-reference
11737         for "future history".  (Bug#38026)
11739 2019-11-09  Hong Xu  <hong@topbug.net>
11741         Mention future history in history-related minibuffer commands
11743         * lisp/simple.el (goto-history-element):
11744         * doc/lispref/minibuf.texi (Minibuffer Commands): Explain
11745         negative NABS.
11746         * lisp/simple.el (next-history-element):
11747         * doc/lispref/minibuf.texi (Minibuffer Commands): Mention
11748         "future history."  (Bug#38026)
11750 2019-11-08  Paul Eggert  <eggert@cs.ucla.edu>
11752         Fix some quoting glitches in doc strings
11754         This also fixes a misplaced "only".
11756 2019-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
11758         * lisp/ffap.el (ffap-read-file-or-url): Fix some URL cases
11760         * lisp/ffap.el (ffap-read-file-or-url): Simplify further
11762 2019-11-08  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
11764         * lisp/ffap.el (ffap-read-file-or-url): Use `read-file-name`
11766         Since we use `url-handler-mode` to deal with URLs, `read-file-name`
11767         works just as well, with the added benefit that it interacts correctly
11768         with packages that rebind `read-file-name-function`, such as Helm.
11770         (ffap-read-url-internal, ffap-read-file-or-url-internal): Remove, unused.
11772 2019-11-08  Eli Zaretskii  <eliz@gnu.org>
11774         Fix MS-Windows version reference in FAQ
11776         * doc/misc/efaq-w32.texi (Which versions of Windows): Clarify that we
11777         support all recent versions of MS-Windows.  (Bug#38023)
11779 2019-11-08  João Távora  <joaotavora@gmail.com>
11781         Nudge icomplete-mode a little closer to fido-mode
11783         * lisp/icomplete.el (icomplete-completions): Don't use ellipsis when
11784         truncating determ in fido-mode.  Highlight the center part of
11785         determ with icomplete-first-match.
11787 2019-11-08  João Távora  <joaotavora@gmail.com>
11789         Have pcm styles apply faces to face prop, not font-lock-face
11791         This is the way the basic completion styles work.  This fixes
11792         candidate highlighting in icomplete.
11794         * lisp/minibuffer.el (completion-pcm--hilit-commonality): Apply
11795         faces to 'face property, not font-lock-face.
11797 2019-11-08  Eli Zaretskii  <eliz@gnu.org>
11799         Minor copyedits in ELisp manual
11801         * doc/lispref/lists.texi (Sets And Lists): Minor rewording of
11802         the "Common Lisp note".  (Bug#37811)
11804 2019-11-08  Robert Pluim  <rpluim@gmail.com>
11806         Ensure building and running on non-IPv6 capable hosts works
11808         * src/process.c (Fmake_network_process) [AF_INET6]: Only build ::1
11809         localhost when IPv6 is supported.
11810         (Fnetwork_lookup_address_info) [AF_INET6]: Move check for Qipv6 inside
11811         ifdef, since its definition depends on AF_INET6.  Don't return IPv6
11812         addresses when they're not supported.
11814         * test/src/process-tests.el (lookup-family-specification,
11815         lookup-google): Only do IPv6 lookup if IPv6 is supported.
11817 2019-11-08  Jimmy Aguilar Mena  <spacibba@aol.com>
11819         Handle case where a face's :extend attribute is unspecified (Bug#37774)
11821         * src/xfaces.c (merge_face_vectors, merge_named_face): Handle case
11822         where the :extend attribute's value is 'unspecified' (Bug#37774).
11824 2019-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
11826         * lisp/emacs-lisp/easymenu.el: Don't quote lambdas
11828         (easy-menu-do-define, easy-menu-make-symbol): Replace `(lambda ..)
11829         with a closure.
11831 2019-11-07  Michael Albinus  <michael.albinus@gmx.de>
11833         Handle different system names of w32 in Tramp (Bug#38079)
11835         * lisp/net/tramp.el (tramp-restricted-shell-hosts-alist):
11836         Initialize with `system-name' in small and capital chars.
11838 2019-11-07  Robert Pluim  <rpluim@gmail.com>
11840         Describe IPv6 format in docstring for 'make-network-process'
11842         * src/process.c (Fmake_network_process): Add description of IPv6
11843         address format.
11845 2019-11-07  Eli Zaretskii  <eliz@gnu.org>
11847         Revert "Don't flash previous buffer when connecting with emacsclient"
11849         This reverts commit 49fc040077b33bd1e78ee425575e76329b772a41.
11850         It turns out that the fix for a minor aesthetical annoyance
11851         caused much more serious bugs: bug#31038, bug#35726, Bug#37097,
11853 2019-11-07  Andrii Kolomoiets  <andreyk.mad@gmail.com>
11855         python.el: Pdbtracking improvements
11857         Allow not to kill buffers when pdbtracking session is finished.
11858         Pdbtracking session considered finished judging from the user input.
11860         * lisp/progmodes/python.el (python-pdbtrack-kill-buffers): New
11861         customizable variable.
11862         (python-pdbtrack-set-tracked-buffer): Use it.
11863         (python-pdbtrack-unset-tracked-buffer)
11864         (python-pdbtrack-tracking-finish): New functions.
11865         (python-pdbtrack-continue-command, python-pdbtrack-exit-command):
11866         New customizable variables.
11867         (python-pdbtrack-process-sentinel): New function.  Finish
11868         pdbtracking session when process is killed.
11869         (python-pdbtrack-prev-command-continue): New variable.
11870         (python-pdbtrack-comint-input-filter-function): New function.
11871         Finish pdbtracking session based on commands sent to pdb.
11872         (python-pdbtrack-comint-output-filter-function): Unset/set
11873         tracking buffer if looking at pdb prompt; finish pdbtracking
11874         session if filename of current stack frame starts with
11875         "<" e.g. "<stdin>".
11876         (python-pdbtrack-comint-output-filter-function): Don't override
11877         overlay-arrow-string.
11878         (python-pdbtrack-setup-tracking): New function.
11879         (inferior-python-mode): Use it.
11880         (python-pdbtrack-stacktrace-info-regexp): Default value is changed.
11881         Must also match lines with filename like "<stdin>" and "<string>".
11882         * etc/NEWS: Mention python-pdbtrack-kill-buffers
11884 2019-11-07  Michael Albinus  <michael.albinus@gmx.de>
11886         Make ange-ftp fit for tramp-tests
11888         * lisp/net/ange-ftp.el (ange-ftp-repaint-minibuffer): Use empty message.
11889         (ange-ftp-quote-string): Unquote the string.
11890         (ange-ftp-substitute-in-file-name, ange-ftp-access-file)
11891         (ange-ftp-copy-directory, ange-ftp-make-symbolic-link)
11892         (ange-ftp-add-name-to-file): New defuns.  Set 'ange-ftp property.
11893         (ange-ftp-real-substitute-in-file-name)
11894         (ange-ftp-real-copy-directory): New defuns.
11895         (ange-ftp-file-name-as-directory): Care about `non-essential'.
11896         (ange-ftp-file-attributes): Handle ID-STRING.
11897         (ange-ftp-copy-file-internal, ange-ftp-rename-file)
11898         (ange-ftp-make-directory): Improve error handling.
11899         (ange-ftp-insert-directory): Initialize SWITCHES if they are nil.
11901         * test/lisp/net/tramp-tests.el (ange-ftp-make-backup-files): Declare.
11902         (tramp-test39-make-nearby-temp-file, tramp--test-ange-ftp-p): New defun.
11903         (tramp-test05-expand-file-name-relative)
11904         (tramp-test06-directory-file-name, tramp-test10-write-region)
11905         (tramp-test11-copy-file, tramp-test12-rename-file)
11906         (tramp-test17-insert-directory)
11907         (tramp-test26-file-name-completion)
11908         (tramp-test37-make-auto-save-file-name)
11909         (tramp-test38-find-backup-file-name)
11910         (tramp--test-special-characters): Use it.
11912 2019-11-06  Stefan Kangas  <stefankangas@gmail.com>
11914         Clean up major mode check in package-menu-mode
11916         * lisp/emacs-lisp/package.el (package--ensure-package-menu-mode):
11917         Extract function to warn about incorrect major mode...
11918         (package-menu-toggle-hiding, package-menu-refresh)
11919         (package-menu-execute): ...from here.
11920         (package-menu--mark-upgrades-1): And here, but move call...
11921         (package-menu-mark-upgrades): ...here instead.
11922         (package-menu-hide-package, package-menu-mark-delete)
11923         (package-menu-mark-install, package-menu-mark-unmark)
11924         (package-menu-quick-help, package-menu-get-status)
11925         (package-menu-filter-by-keyword, package-menu-filter-by-name)
11926         (package-menu-clear-filter): Add call to new function.  (Bug#37891)
11928 2019-11-06  Stefan Kangas  <stefankangas@gmail.com>
11930         Test that comint-password-prompt-regexp matches "git push"
11932         * test/lisp/comint-tests.el (comint-testsuite-password-strings): Test
11933         that 'comint-password-prompt-regexp' matches 'git push'
11934         output.  (Bug#20910)
11936 2019-11-06  Juri Linkov  <juri@linkov.net>
11938         * lisp/dired-aux.el (dired-vc-rename-file): New defcustom.
11940         (dired-rename-file): Call vc-rename-file when dired-vc-rename-file is non-nil.
11942         * lisp/vc/vc.el (vc-rename-file): Allow renaming added files.
11943         Call vc-file-clearprops on new file too for the case when
11944         old and new files were renamed to each other back and forth.
11946         https://lists.gnu.org/r/emacs-devel/2019-11/msg00069.html
11948 2019-11-06  Juri Linkov  <juri@linkov.net>
11950         * lisp/tab-bar.el (tab-bar-history-old): Rename from tab-bar-history-current.
11952         (tab-bar-history-old-minibuffer-depth):
11953         Rename from tab-bar-history--minibuffer-depth.
11955 2019-11-06  Juri Linkov  <juri@linkov.net>
11957         * lisp/tab-line.el: More configurability for tab buffer groups.
11959         * lisp/tab-line.el (tab-line-tabs-buffer-group-function)
11960         (tab-line-tabs-buffer-group-sort-function)
11961         (tab-line-tabs-buffer-groups-sort-function): New defvars.
11962         (tab-line-tabs-buffer-group-name): Rename from
11963         tab-line-tabs-buffer-groups--name and use tab-line-tabs-buffer-group-function.
11964         (tab-line-tabs-buffer-groups): Use tab-line-tabs-buffer-groups-sort-function
11965         and tab-line-tabs-buffer-group-sort-function.
11966         (tab-line-new-tab): Let bind tab-line-tabs-buffer-groups to
11967         mouse-buffer-menu-mode-groups.
11969 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11971         Simplify fixnum division slightly
11973         * src/data.c (arith_driver): Streamline fixnum division a bit
11974         more, and add a comment about why overflow is impossible.
11975         This responds to a private comment by Stefan Monnier.
11977 2019-11-06  Alan Mackenzie  <acm@muc.de>
11979         Add a full set of CC Mode language variables to js.el.
11981         This will allow js.el to work after maintenance changes in CC Mode, e.g. the
11982         fix to bug #11165.
11984         * lisp/progmodes/js.el (top level): Create a CC Mode derived language called
11985         js-mode and based on Java Mode.
11986         (js-mode): call c-init-language-vars for js-mode.  Remove the direct settings
11987         of several CC Mode language variables which are now defined through the
11988         derived language mechanism.  Call c-set-style and set up the needed style
11989         variables c-block-comment-prefix and c-comment-prefix-regexp.
11991 2019-11-06  Eli Zaretskii  <eliz@gnu.org>
11993         Minor fix in the Emacs manual
11995         * doc/emacs/msdos.texi (ls in Lisp): Fix the description of
11996         'ls-lisp-verbosity'.  (Bug#38077)
11998 2019-11-06  Stephen Gildea  <stepheng+emacs@gildea.com>
12000         time-stamp: add support for time zone numeric offset
12002         * lisp/time-stamp.el: Implement %:z as expanding to the numeric time zone
12003         offset, to address the feature request of bug#32931.  Do not document it
12004         yet, to discourage compatibility problems in mixed Emacs 26 and Emacs 27
12005         environments.  Documentation will be added in a subsequent release at
12006         least two years later.  (We cannot yet use %z for numeric time zone
12007         because in Emacs 26 it was documented to do something else.)
12009         * test/lisp/time-stamp-tests.el (time-stamp-test-format-time-zone): expand this
12010         test and break it into two tests, time-stamp-test-format-time-zone-name
12011         and time-stamp-test-format-time-zone-offset.
12013 2019-11-06  Michael Albinus  <michael.albinus@gmx.de>
12015         More error checks in Tramp's make-directory
12017         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
12018         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
12019         * lisp/net/tramp-sh.el (tramp-sh-handle-make-directory):
12020         * lisp/net/tramp-smb.el (tramp-smb-handle-make-directory):
12021         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-directory):
12022         Signal `file-already-exists' if DIR exists.
12024         * test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
12025         Fix thinko.
12026         (tramp-test13-make-directory, tramp-test14-delete-directory)
12027         (tramp-test15-copy-directory): Extend tests.
12029 2019-11-06  Stefan Kangas  <stefankangas@gmail.com>
12031         Fix problem with my last commit in package.el
12033         * lisp/emacs-lisp/package.el (package-menu--refresh-archives): Rename
12034         from duplicated name package-menu--refresh.  (Bug#38084)
12035         (package-menu-mode, list-packages): Use new name.
12037 2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>
12039         Update from Gnulib
12041         This incorporates:
12042         2019-10-24 timespec-add, timespec-sub: simplify
12043         * lib/timespec-add.c, lib/timespec-sub.c:
12044         Copy from Gnulib.
12046 2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>
12048         Remove unneeded overflow check in integer division
12050         * src/data.c (arith_driver): Remove unnecessary runtime test,
12051         since integer overflow is impossible on division of fixnums,
12052         given that the worst case is MOST_NEGATIVE_FIXNUM / -1 which is
12053         representable as an EMACS_INT (albeit not as a fixnum).
12055 2019-11-05  Stefan Kangas  <stefankangas@gmail.com>
12057         Avoid changing value of defcustom package-enable-at-startup
12059         * lisp/emacs-lisp/package.el (package--activated): New variable to
12060         avoid changing value of defcustom 'package-enable-at-startup'.
12061         (package-initialize): Don't set 'package-enable-at-startup'.
12062         (package-initialize, package-activate-all): Set 'package--activated'
12063         instead of 'package-enable-at-startup'.
12064         (package--initialized): Add doc string.
12066         * lisp/startup.el (command-line): Check if 'package--activated' is
12067         non-nil before activating packages.
12069         * doc/lispref/package.texi (Packaging Basics): Update docs.
12071 2019-11-05  Stefan Kangas  <stefankangas@gmail.com>
12073         Make 'g' refresh package data in package menu
12075         * lisp/emacs-lisp/package.el (package-menu--refresh): Rename from
12076         'package-menu-refresh', make internal and non-interactive.
12077         (package-menu-mode-map, package-menu-mode-menu, package-menu-mode)
12078         (list-packages): Use the above.  (Bug#35504)
12079         (package-menu-refresh): Redefine as obsolete function alias for
12080         'revert-buffer'.
12081         * doc/emacs/package.texi (Package Menu): Document it.
12082         * etc/NEWS: Announce it.
12084 2019-11-05  Stefan Kangas  <stefankangas@gmail.com>
12086         Rename *-multiframe-window to *-window-any-frame
12088         Suggested by Drew Adams.
12090         * lisp/frame.el
12091         (next-multiframe-window): Define as obsolete alias for...
12092         (next-window-any-frame): ...new function name.
12093         (previous-multiframe-window): Define as obsolete alias for...
12094         (previous-window-any-frame): ...new function name.  (Bug#12436)
12096         * lisp/term/ns-win.el (global-map): Use new command name.
12097         * doc/emacs/windows.texi (Other Window): Document it.
12098         * etc/NEWS: Announce it.
12100 2019-11-05  João Távora  <joaotavora@gmail.com>
12102         Follow JSONRPC spec by not sending :result field on errors
12104         Also don't send :error field on non-errors.
12106         * lisp/jsonrpc.el (jsonrpc--reply): Don't send :result and :error
12107         if none supplied.
12108         (Version): Bump to 1.0.8
12110 2019-11-05  Juri Linkov  <juri@linkov.net>
12112         Add prefix arg to more isearch commands (bug#14563)
12114         * lisp/isearch.el (isearch--yank-char-or-syntax)
12115         (isearch-yank-word-or-char, isearch-yank-symbol-or-char)
12116         (isearch-yank-until-char): Add optional prefix arg.
12118 2019-11-05  Juri Linkov  <juri@linkov.net>
12120         * lisp/tab-line.el: New option for tabs where buffers are grouped by mode.
12122         * lisp/tab-line.el (tab-line-tabs-function): Add option
12123         tab-line-tabs-buffer-groups.
12124         (tab-line-tabs-buffer-groups): New defvar defaulted to
12125         mouse-buffer-menu-mode-groups.
12126         (tab-line-tabs-buffer-groups--name, tab-line-tabs-buffer-groups):
12127         New functions.
12128         (tab-line-format): Support tabs in the format '(tab (name . "name") ...)'.
12129         (tab-line-select-tab): Move part of code to tab-line-select-tab-buffer.
12130         (tab-line-select-tab-buffer): New function.
12131         (tab-line-tab-current): Rename from tab-line-tab-selected.
12133 2019-11-05  João Távora  <joaotavora@gmail.com>
12135         Document fido-mode
12137         * doc/emacs/buffers.texi (Icomplete): Document Fido Mode.
12139         * etc/NEWS: Mention Fido Mode.
12141         * lisp/icomplete.el (icomplete-mode): Ensure fido-mode is off.
12142         (fido-mode): Ensure icomplete-mode is off.
12143         (icomplete-magic-ido-ret): Don't force completions if no
12144         completions.
12146 2019-11-05  João Távora  <joaotavora@gmail.com>
12148         New fido-mode, emulates ido-mode with icomplete-mode
12150         * lisp/icomplete.el (icomplete-fido-mode-map): New variable.
12151         (icomplete--fido-mode-setup): New function.
12152         (fido-mode): New global minor mode.
12154 2019-11-05  Paul Eggert  <eggert@cs.ucla.edu>
12156         Pacify byte-compiler in calculator.el
12158         * lisp/calculator.el (calculator-expt): Open-code cl-evenp to
12159         pacify warning “the function ‘cl-evenp’ might not be defined”.
12160         Problem reported by Juanma Barranquero in:
12161         https://lists.gnu.org/r/emacs-devel/2019-11/msg00118.html
12163 2019-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>
12165         * admin/unidata/uvs.el: Use lexical-binding
12167         * lisp/doc-view.el (doc-view--revert-buffer): Fix last change
12169 2019-11-05  Stefan Kangas  <stefankangas@gmail.com>
12171         Declare unused macro package--push obsolete
12173         * lisp/emacs-lisp/package.el (package--push): Declare obsolete.
12175 2019-11-05  Michael Albinus  <michael.albinus@gmx.de>
12177         Improve Tramp's copy-directory
12179         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
12180         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
12181         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
12182         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
12183         Add `copy-directory'.
12185         * lisp/net/tramp.el (tramp-handle-copy-directory): New defun.
12187 2019-11-05  Robert Pluim  <rpluim@gmail.com>
12189         Always check for client-certificates
12191         * lisp/net/network-stream.el
12192         (network-stream-use-client-certificates): New user option.
12193         (open-network-stream): If 'network-stream-use-client-certificates'
12194         is t, and the user hasn't specified :client-certificate, do
12195         certificate lookups via 'auth-source'.
12196         (network-stream-certificate): Only return key and certificate
12197         files that exist.
12199         * doc/lispref/processes.texi (Network): Document new
12200         client-certificate behavior.
12202         * etc/NEWS: Document 'network-stream-use-client-certificates'.
12204 2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12206         Simplify calculator-expt
12208         * lisp/calculator.el (calculator-expt): Simplify, now that
12209         expt does the right thing if the first arg is -1, 0, or 1.
12211 2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12213         Overflow errors are range errors
12215         * etc/NEWS: Mention this.
12216         * doc/lispref/errors.texi (Standard Errors):
12217         Document overflow-error, which was formerly undocumented.
12218         It is a range error, not a domain error.
12219         * src/data.c (syms_of_data): overflow-error and (undocumented)
12220         underflow-error are subtypes range-error, not domain-error.
12221         This fixes bugs in timezone-time-from-absolute and in
12222         erc-ctcp-reply-PING.
12224 2019-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12226         Don’t signal overflow for (expt 1 bignum)
12228         Similarly for (expt 0 bignum) and (expt -1 bignum).
12229         The result is always a -1, 0 or 1, so do not signal overflow.
12230         * src/data.c (expt_integer): Do not signal an overflow if
12231         -1 <= X <= 1.  Be clearer about when overflow is signaled.
12232         * test/src/floatfns-tests.el (bignum-expt): Test this.
12234 2019-11-04  Ronnie Schnell  <ronnie@driver-aces.com>
12236         Fixes bug where restoring game saved in an endgame question room would show 'nil' as the question.
12238 2019-11-04  Michael Albinus  <michael.albinus@gmx.de>
12240         Improve Tramp error handling
12242         * lisp/net/tramp.el (tramp-set-syntax): Add missing argument.
12243         (tramp-signal-hook-function): Make it more robust.
12244         (tramp-handle-directory-files):
12245         * lisp/net/tramp-adb.el
12246         (tramp-adb-handle-directory-files-and-attributes)
12247         (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file):
12248         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
12249         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
12250         (tramp-rclone-handle-directory-files):
12251         * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes)
12252         (tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file):
12253         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
12254         (tramp-smb-handle-copy-file, tramp-smb-handle-directory-files)
12255         (tramp-smb-handle-rename-file):
12256         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
12257         Improve error handling.
12259         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
12260         (tramp-test12-rename-file, tramp-test14-delete-directory)
12261         (tramp-test15-copy-directory, tramp-test16-directory-files)
12262         (tramp-test19-directory-files-and-attributes): Extend tests.
12264 2019-11-04  Eli Zaretskii  <eliz@gnu.org>
12266         Fix last change in dired.c
12268         * src/dired.c (file_name_completion): Fix arguments to
12269         Fcompare_strings.  (Bug#38056)
12271 2019-11-03  Stephen Gildea  <stepheng+emacs@gildea.com>
12273         Fix English grammar in some doc strings and comments
12275         (files.el subr.el): Fix some grammar errors in doc strings and comments.
12276         (frame.c fringe.c image.c xfns.c xterm.c): Fix some English grammar
12277         errors in doc strings.
12279 2019-11-03  Paul Eggert  <eggert@cs.ucla.edu>
12281         Improve time documentation a bit more
12283         * doc/lispref/os.texi (Time of Day, Time Conversion)
12284         (Time Parsing, Time Calculations): Improve doc.
12286 2019-11-03  Juri Linkov  <juri@linkov.net>
12288         * lisp/help-fns.el (describe-variable): Add quotes to symbol value of origval.
12290 2019-11-03  Juri Linkov  <juri@linkov.net>
12292         * lisp/tab-bar.el: Better handling of tab-bar-history.
12294         * lisp/tab-bar.el (tab-bar-history-limit): Increase to 10 since wc
12295         is not saved to the desktop file anymore, so doesn't affect its size.
12296         (tab-bar-history--pre-change, tab-bar--history-change):
12297         Store wc before possibly entering the minibuffer.
12299 2019-11-03  Juri Linkov  <juri@linkov.net>
12301         * lisp/tab-bar.el: Filter out non-persistent tab parameters from frameset.
12303         * lisp/tab-bar.el (frameset-filter-tabs): New function
12304         added to 'frameset-filter-alist' for frame parameter 'tabs'.
12305         (tab-bar--tab): Remove ws-bl/ws-bbl that are not needed because
12306         frameset doesn't save frame buffer-list to desktop anyway.
12307         (tab-bar-select-tab): Remove ws-bl/ws-bbl related code.
12309         * lisp/emacs-lisp/seq.el (seq-reduce): Add autoload cookie.
12311 2019-11-03  Stefan Kangas  <stefankangas@gmail.com>
12312             Jonas Bernoulli  <jonas@bernoul.li>
12314         Handle truncate-lines in customize-group
12316         * lisp/cus-edit.el (custom-group--draw-horizontal-line): New
12317         function to draw horizontal lines which handles a non-nil value of
12318         'truncate-lines'.  (Bug#25308)
12319         (custom-group-value-create): Use it.
12321 2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>
12323         Fix doc of font-lock-syntactic-face-function
12325         * doc/lispref/modes.texi (Syntactic Font Lock): Don't refer to
12326         no-longer-existing OTHER-VARS (bug#17730) and include an example.
12328 2019-11-03  Eli Zaretskii  <eliz@gnu.org>
12330         Fix file-tests.el on MS-Windows
12332         * test/lisp/files-tests.el
12333         (files-tests-file-name-non-special-start-file-process): On
12334         MS-Windows, wait till the process dies before returning from
12335         the files-tests--with-temp-non-special macro, to ensure the
12336         temporary directory is successfully deleted.
12338 2019-11-03  Eli Zaretskii  <eliz@gnu.org>
12340         Fix case-insensitive completion of non-ASCII file names
12342         * src/dired.c (scmp): Comment on (non)applicability to
12343         comparisons of  non-ASCII strings case-insensitively.
12344         (file_name_completion): Decode early the file names read from
12345         the directory, and use the decoded names for comparison when
12346         letter-case should be ignored.  (Bug#11339)
12348 2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>
12350         describe-font/font-info works with unloaded fonts
12352         * lisp/international/mule-diag.el (describe-font): This function
12353         can be used on unloaded fonts, so remove that restriction from the
12354         doc string (bug#16815).  Also allow completion over all fonts on
12355         the system.
12357         * src/font.c (Ffont_info): Ditto for the doc string.
12359 2019-11-03  Lars Ingebrigtsen  <larsi@gnus.org>
12361         Add a <a id=...> skeleton to html-mode
12363         * lisp/textmodes/sgml-mode.el (html-id-anchor): New skeleton
12364         and keystroke (bug#37651).
12366 2019-11-03  Juanma Barranquero  <lekktu@gmail.com>
12368         * lisp/bs.el (bs-mode): Improve mode docstring.
12370 2019-11-02  Juri Linkov  <juri@linkov.net>
12372         * lisp/tab-line.el (tab-line-tab-selected): New face.
12374         (tab-line-format): Use new face tab-line-tab-selected.
12375         ([tab-line]): Move tab-switching mouse wheel commands to S-keys.
12377 2019-11-02  Óscar Fuentes  <ofv@wanadoo.es>
12379         Fix data-directory when executing from an out-of-source build
12381         Fixes #36828.
12383         * src/callproc.c (init_callproc): detect out-of-source build.
12385 2019-11-02  João Távora  <joaotavora@gmail.com>
12387         Allow flymake diagnostic types to have shorter names
12389         Eglot, a third-party package which uses Flymake, has its own
12390         diagnostic types such as 'eglot-error', 'eglot-warning', etc...  While
12391         not being too long, they will not fit in the type column of the "list
12392         all diagnostics" buffer.  This commit allows diagnostic types to have
12393         user-defined names and also assigns names to the default categories.
12395         * doc/misc/flymake.texi (Flymake error types): Describe
12396         flymake-type-name prop.
12398         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
12399         Use type names.
12400         (flymake-error, flymake-warning, flymake-note): Give these
12401         diagnostic categories default type names.
12403 2019-11-02  João Távora  <joaotavora@gmail.com>
12405         Avoid face clashes between Flymake and region highlighting
12407         Fix bug#34022.
12409         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
12410         (PRIMARY . SECONDARY) priority value.
12412 2019-11-02  João Távora  <joaotavora@gmail.com>
12414         Clarify consequences of mismatching Flymake diagnostic buffers
12416         Fix bug#34418.
12418         * doc/misc/flymake.texi (Flymake utility functions): Add note to
12419         flymake-make-diagnostic.
12421         * lisp/progmodes/flymake.el (flymake--handle-report): Discard
12422         diagnostics from other buffers.
12424 2019-11-02  Lars Ingebrigtsen  <larsi@gnus.org>
12426         Further fixup of the previous doc fix in the Faces node
12428         * doc/lispref/display.texi (Faces): Improve wording from previous
12429         change.
12431 2019-11-02  Lars Ingebrigtsen  <larsi@gnus.org>
12433         Revert "Make the debbugs groups also include robot messages"
12435         This reverts commit 682eae776efa9d57842345de67becf5c56cafc91.
12437         The change made the bug# disappear from the Subject lines.
12439 2019-11-02  Alan Mackenzie  <acm@muc.de>
12441         CC Mode.  Fix slow scrolling by adding a search limit.
12443         This fixes bug #10149.
12445         * lisp/progmodes/cc-fonts.el (c-font-lock-single-decl) Limit the search by
12446         c-go-up-list-backwards to 500 non-literal characters.
12448 2019-11-02  João Távora  <joaotavora@gmail.com>
12450         Correct merge blunder in last icomplete commit
12452         * lisp/icomplete.el (icomplete-exhibit): Use
12453         while-no-input-ignore-events.
12455 2019-11-02  Eli Zaretskii  <eliz@gnu.org>
12457         Document Windows font selection quirks
12459         * doc/emacs/msdos.texi (Windows Fonts): Document
12460         'w32-use-w32-font-dialog' and 'w32-fixed-font-alist'.
12462 2019-11-02  Eli Zaretskii  <eliz@gnu.org>
12464         Improve documentation of 'set-face-font'
12466         * lisp/faces.el (set-face-font):
12467         * doc/emacs/frames.texi (Fonts):
12468         * doc/lispref/display.texi (Face Attributes)
12469         (Attribute Functions): Clarify and correct the documentation
12470         of set-face-font and related descriptions of font
12471         specifications.  (Bug#14647)
12473 2019-11-02  Eli Zaretskii  <eliz@gnu.org>
12475         Revert "Omit edition numbers and dates in manuals"
12477         This reverts commit 2f42832895942fdeaa0c500511aa19860fa806cd.
12478         Editions of Emacs manuals must be coordinated with the FSF
12479         publishing staff, as they appear on the printed books.
12481 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
12483         * .dir-locals.el: Add explanatory header.
12485 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
12487         Add auto-insert skeleton for ".dir-locals.el"
12489         * lisp/autoinsert.el (auto-insert-alist): Add auto-insert skeleton for
12490         ".dir-locals.el".
12492 2019-11-01  João Távora  <joaotavora@gmail.com>
12494         New icomplete-tidy-shadowed-file-names variable
12496         * lisp/icomplete.el (rfn-eshadow): Require it.
12497         (icomplete-tidy-shadowed-file-names): New variable.
12498         (icomplete-exhibit): Use icomplete-tidy-shadowed-file-names.
12500 2019-11-01  João Távora  <joaotavora@gmail.com>
12502         Fix icomplete-force-complete-and-exit for no-input situations
12504         If there is no minibuffer input, but the user has already cycled some
12505         pre-calculated completions, we should be calling
12506         minibuffer-force-complete-and-exit instead of
12507         minibuffer-complete-and-exit.  The former is guaranteed to be fast in
12508         this situation and yields the desired "selected" completion, while the
12509         latter will just give us the default, ignoring all the cycling of
12510         icomplete-{forward|backward}-completions.
12512         * lisp/icomplete.el (icomplete-force-complete-and-exit): Add
12513         comments and fix for empty input but some completions calculated.
12515 2019-11-01  João Távora  <joaotavora@gmail.com>
12516             Stefan Monnier  <j.schmoe@example.org>
12518         Improve fix for icomplete's backward-kill-word bug#38024
12520         * lisp/icomplete.el (icomplete-exhibit): Use
12521         while-no-input-ignore-events, not redisplay.
12523 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
12525         * doc/emacs/package.texi (Package Menu): Add index items.
12527 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
12529         Use PASSWORD_STORE_DIR in auth-source-pass when set
12531         * lisp/auth-source-pass.el (auth-source-pass-filename): Initialize to
12532         PASSWORD_STORE_DIR environment variable when set.  (Bug#29663)
12534 2019-11-01  Stefan Kangas  <stefankangas@gmail.com>
12536         Don't refuse to install packages without a "footer line"
12538         * lisp/emacs-lisp/package.el (package-buffer-info): Don't signal an
12539         error when the "footer line" is missing.  Warn only.  (Bug#26490)
12540         * etc/NEWS: Announce it.
12542 2019-11-01  Paul Eggert  <eggert@cs.ucla.edu>
12544         Omit edition numbers and dates in manuals
12546         These seem to cause more confusion than they cure; e.g.,
12547         https://shop.fsf.org/books/gnu-emacs-manual-18th-edition-v-261
12548         currently advertises "18th edition" even as it points to
12549         https://www.gnu.org/software/emacs/manual/pdf/emacs.pdf
12550         which says "Seventeenth Edition".  It is simpler and less
12551         confusing to stick to one version number like "26.3".  If we
12552         need a separate edition number for each printed manual for
12553         some reason (marketing?) we can put “@ifset printed-edition”
12554         around anything specific to the printed editions.
12555         (as opposed to online PDF copies).
12556         * doc/emacs/emacs.texi (EDITION):
12557         * doc/lispintro/emacs-lisp-intro.texi (edition-number, update-date):
12558         * doc/lispref/elisp.texi (VERSION, DATE):
12559         Remove, and remove uses.
12561 2019-11-01  Paul Eggert  <eggert@cs.ucla.edu>
12563         Document limits on some time-conversion functions
12565         * doc/lispref/os.texi (Time of Day, Time Zone Rules)
12566         (Time Conversion, Time Parsing, Time Calculations):
12567         Document functions that limit the range of time values
12568         due to OS limits (Bug#37974).
12570 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
12572         set-face-font doc string update
12574         * lisp/faces.el (set-face-font): Mention what the string formats
12575         are (bug#14647).
12577 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
12579         Fix documentation of set-face-font in the manual
12581         * doc/lispref/display.texi (Attribute Functions): Describe more
12582         precisely what set-face-font does (bug#14647).
12584 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
12586         Low-Level Font documentation fix
12588         * doc/lispref/display.texi (Low-Level Font): Mention what the data
12589         types the font attributes are (bug#14634).
12591 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
12593         Really enable setting a breakpoint without instrumenting first
12595         * lisp/emacs-lisp/edebug.el (edebug-set-breakpoint): Really enable
12596         setting a breakpoint without instrumenting first (bug#23469).
12598 2019-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
12600         Don't claim that anonymous face can't be used in font-lock
12602         * doc/lispref/display.texi (Faces): Anonymous functions can be
12603         used when font locking, so adjust the injunction against them
12604         (bug#35005).
12606 2019-11-01  Cecilio Pardo  <cpardo@imayhem.com>  (tiny change)
12608         Remove an unfunny joke from DEVEL.HUMOR
12610         * etc/DEVEL.HUMOR: Remove unfunny joke (bug#38002).
12612 2019-11-01  Filipp Gunbin  <fgunbin@fastmail.fm>
12614         Make ant regexp in compilation-error-regexp-alist-alist more lax
12616         * lisp/progmodes/compile.el: Make ant regexp accept filenames that may
12617         occur on Cygwin (like c:/test) and optional additional severity level
12618         after task name.
12619         * etc/compilation.txt: Add sample.
12621 2019-11-01  Richard Stallman  <rms@gnu.org>
12623         Minor wording change in ELisp manual
12625         * doc/lispref/functions.texi (Advising Named Functions):
12626         Improve and clarify wording of the advice to avoid advising
12627         functions in released code.
12629 2019-10-31  Paul Eggert  <eggert@cs.ucla.edu>
12631         Fix insert-file-contents file error regression
12633         Problem reported for dired-view-file (Bug#37950).
12634         * src/fileio.c (Finsert_file_contents): When visiting,
12635         signal an error if the file could not be opened for any reason,
12636         rather than signaling an error only for nonexistent files, fixing
12637         a bug introduced in 2019-09-16T03:17:43!eggert@cs.ucla.edu.
12639 2019-10-31  Eric Ludlam  <ericludlam@gmail.com>
12641         * lisp/cedet/ (semantic-analyze-possible-completions): Add `flags` arg
12643         * lisp/cedet/semantic/texi.el (semantic-analyze-possible-completions),
12644         lisp/cedet/srecode/srt-mode.el (semantic-analyze-possible-completions),
12645         lisp/cedet/semantic/bovine/make.el (semantic-analyze-possible-completions):
12646         Add `flags` arg.
12647         * lisp/cedet/semantic/grammar.el (semantic-analyze-possible-completions):
12648         Add `flags` arg.  Reverse the found prefix.
12649         (semantic-ctxt-current-class-list): Include token tags as things to
12650         appear in non-lisp context.
12652 2019-10-31  Eric Ludlam  <zappo@gnu.org>
12654         * test/lisp/cedet/semantic-utest-ia.el: Update from upstream
12656         Merge content from CEDET on SF to bring in additional test points
12657         and support more types of languages.
12658         (semantic-utest-ia-struct.cpp, semantic-utest-ia-templates.cpp)
12659         (semantic-utest-ia-using.cpp, semantic-utest-ia-nsp.cpp)
12660         (semantic-utest-ia-localvars.cpp, semantic-utest-ia-varnamse.java)
12661         (semantic-utest-ia-wisent.wy, semantic-utest-ia-texi)
12662         (semantic-utest-ia-make, semantic-utest-ia-srecoder): New test points
12663         (semantic-ia-utest-buffer): Use comment-start-skip when looking
12664         for test point tokens.
12665         Capture errors ignoring debugger to enable test for empty results.
12666         Improve output from test diagnostics.
12667         (semantic-ia-utest-buffer-refs): Use comment-start-skip to find
12668         test point tokens.
12669         Author: Eric Ludlam <zappo@gnu.org>
12671 2019-10-31  Eric Ludlam  <zappo@gnu.org>
12673         * test/manual/cedet/tests/test*: More updates from upstream
12675         * test/manual/cedet/tests/testjavacomp.java,
12676         test/manual/cedet/tests/testnsp.cpp,
12677         test/manual/cedet/tests/testsppcomplete.c,
12678         test/manual/cedet/tests/testtypedefs.cpp,
12679         test/manual/cedet/tests/testvarnames.c:
12680         Merge content from CEDET on SF with extended test points for use with
12681         test/lisp/cedet/semantic-utest-ia.el
12682         Author: Eric Ludlam <zappo@gnu.org>
12684 2019-10-31  Eric Ludlam  <zappo@gnu.org>
12686         * test/manual/cedet/tests/testdoublens.cpp: Update from upstream
12688         * test/manual/cedet/tests/testdoublens.hpp:
12689         Merge content from CEDET on SF with extended test points for use with
12690         test/lisp/cedet/semantic-utest-ia.el
12691         Author: Eric Ludlam <zappo@gnu.org>
12693 2019-10-31  Eric Ludlam  <zappo@gnu.org>
12695         * test/manual/cedet/tests/: New files for semantic-utest-ia.el
12697         * test/manual/cedet/tests/test.mk,
12698         test/manual/cedet/tests/test.srt, test/manual/cedet/tests/test.texi,
12699         test/manual/cedet/tests/testlocalvars.cpp,
12700         test/manual/cedet/tests/teststruct.cpp,
12701         test/manual/cedet/tests/testtemplates.cpp,
12702         test/manual/cedet/tests/testusing.cpp,
12703         test/manual/cedet/tests/testusing.hh,
12704         test/manual/cedet/tests/testvarnames.java.
12705         test/manual/cedet/tests/testwisent.wy:
12706         New files to be used by test/lisp/cedet/semantic-utest-ia.el.
12707         Author: Eric Ludlam <zappo@gnu.org>
12709 2019-10-31  Alan Third  <alan@idiocy.org>
12711         Prevent text flicker with macOS input methods (bug#23412)
12713         * src/nsterm.m ([EmacsView setMarkedText:selectedRange:]): Don't
12714         always delete the working text as ns-put-working-text does that.
12716 2019-10-31  Mattias Engdegård  <mattiase@acm.org>
12718         Inhibit undo-in-region for mouse-drag-region (bug#37700)
12720         'mouse-drag-region' leaves the region active around the dragged text,
12721         so a straight undo did not revert the entire operation.  To remedy
12722         this, inhibit undo-in-region when the last command was
12723         mouse-drag-region.  (Method suggested by Stefan Monnier.)
12725         * lisp/mouse.el (undo-drag-region): Set the undo-inhibit-region property.
12726         * lisp/simple.el (undo): Inhibit undo-in-region if the last command
12727         had the undo-inhibit-region property set.
12728         * doc/lispref/symbols.texi (Standard Properties):
12729         * doc/lispref/text.texi (Undo): Document undo-inhibit-region.
12730         * etc/NEWS: Announce the property.
12732 2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>
12734         Ensure that font-local variables are buffer-local
12736         * lisp/font-lock.el (font-lock-set-defaults): Ensure that the font
12737         lock variables are buffer-local even when nil, so that they're
12738         copied correctly by mhtml mode when changing sub-modes (bug#33937).
12740 2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>
12742         Clean up font-lock-refontify slightly
12744         * lisp/font-lock.el (font-lock-refontify): Use
12745         syntax-ppss-flush-cache instead of internal variable.
12747 2019-10-31  Lars Ingebrigtsen  <larsi@gnus.org>
12749         Further tweaks to sh-script \ #foo font locking
12751         * lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
12752         Tweak previous \ #foo change to work on all quoted characters, but
12753         check that the backslash itself is not backslashed.  Regexp from
12754         Stefan Monnier.
12756 2019-10-31  Michael Albinus  <michael.albinus@gmx.de>
12758         Fix some minor Tramp problems
12760         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
12761         Check, that `tramp-password-save-function' is a function.
12763         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info):
12764         Check, that there is a share.
12766         * lisp/net/tramp.el (outline-regexp): Declare.
12767         (tramp-get-debug-buffer): Let-bind `signal-hook-function'.
12769         * test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
12770         Skip some tests for Emacs 24 and 25; they let Emacs crash.
12772 2019-10-31  Robert Pluim  <rpluim@gmail.com>
12774         Rework vc stash bindings
12776         This adds create/snapshot bindings to the stash button even when there
12777         are no stashes, and extends the stash menu bindings.
12779         * etc/NEWS: Announce the bindings.
12781         * lisp/vc/vc-git.el (vc-git-stash-shared-map): New keymap.  Holds
12782         shared bindings between stash button and stash list.
12783         (vc-git-stash-map): Inherit from vc-git-stash-shared-map.
12784         (vc-git-stash-button-map): New keymap.  Holds button bindings,
12785         inherit from vc-git-stash-shared-map.
12786         (vc-git-stash-shared-help, vc-git-stash-list-help): New
12787         defconsts.  Abstract out list/button help texts.
12788         (vc-git--make-button-text): Set keymap property to
12789         vc-git-stash-button-map.
12790         (vc-git-make-stash-button): Use vc-git-stash-shared-help.
12791         (vc-git-stash-menu-map): Add items for vc-git-stash and
12792         vc-git-stash-snapshot.
12793         (vc-git-dir-extra-headers): Use vc-git-stash-list-help and
12794         vc-git-stash-shared-help.  Add vc-git-stash and
12795         vc-git-stash-snapshot bindings to text shown when there are no stashes.
12797 2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12799         Fix bug with lock file on nonstandard filesystem
12801         * src/filelock.c (create_lock_file):
12802         Don’t disable user write access to the lock file (Bug#37884).
12804 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12806         Font-lock symlinks in dired buffers better
12808         * lisp/dired.el (dired-font-lock-keywords): Font-lock symlinks
12809         differently based on whether they point at a directory or not
12810         (bug#17064).  Based on code from Michael Heerdegen.
12812 2019-10-30  Juri Linkov  <juri@linkov.net>
12814         * lisp/tab-bar.el (tab-bar-select-tab): Use set-frame-parameter.
12816         (tab-bar-list-noselect, tab-bar-list-mode): Rearrange buffer-read-only.
12818 2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12820         Fix print.c infloop on circular lists
12822         Fix infinite loops in print.c when a circular list is passed
12823         to command-error-default-function or to error-message-string.
12824         * src/print.c (print_error_message):
12825         Use FOR_EACH_TAIL to avoid infloop on circular lists.
12826         (print_object): Use FOR_EACH_TAIL_SAFE, as it uses
12827         Brent’s teleporting tortoise-hare algorithm which is
12828         asymptotically better than the classic tortoise-hare
12829         algorithm that the code wsas using.
12830         * test/src/print-tests.el (print-circle-2): When print-circle
12831         is nil, do not insist on a particular cycle-detection heuristic.
12832         (error-message-string-circular): New test.
12834 2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12836         Fix keyboard.c infloops on circular lists
12838         Fix infinite loops in keyboard.c when a circular list is
12839         found in a hook, or in help-event-list, or in the argument
12840         of event-convert-list, or in a keymap where a Lucid event
12841         type list is expected, or in a menu or tab spec.
12842         * src/keyboard.c (safe_run_hooks_error, menu_bar_items)
12843         (parse_menu_item, parse_tab_bar_item, parse_tool_bar_item):
12844         Use FOR_EACH_TAIL to avoid infloop on circular lists.
12845         (help_char_p, Fevent_convert_list, lucid_event_type_list_p):
12846         Use FOR_EACH_TAIL_SAFE to avoid infloop on circular lists,
12847         when the action is idempotent so a circular list can be
12848         treated as a noncircular one.
12850 2019-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12852         Fix fileio.c infloops on circular lists
12854         Fix infinite loops in fileio.c when a circular list is the
12855         value of after_insert_file_functions,
12856         buffer-auto-save-file-format, buffer-file-format, or
12857         write-region-annotate-functions.
12858         * src/fileio.c (Finsert_file_contents, build_annotations):
12859         Use FOR_EACH_TAIL to avoid infloop on circular lists.
12860         (build_annotations): Use an EMACS_INT, not an int, to count
12861         nesting level.
12862         * test/src/fileio-tests.el:
12863         (fileio-tests--circular-after-insert-file-functions): New test.
12865 2019-10-30  Kevin Ryde  <user42_kevin@yahoo.com.au>
12867         Support \pagebreak[0] for paragraph-separate in latex-mode
12869         * lisp/textmodes/tex-mode.el (latex-mode): In 'paragraph-separate' allow
12870         optional argument ('[0]', etc.) for '\pagebreak[0]'.  (Bug#19039)
12872 2019-10-30  Tom Tromey  <tom@tromey.com>
12874         Send -enable-frame-filters to gdb
12876         * lisp/progmodes/gdb-mi.el (gdb-init-1): Send -enable-frame-filters to
12877         gdb.
12879 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12881         Fix previous sh-script.el font-lock #comment change
12883         * lisp/progmodes/sh-script.el (sh-syntax-propertize-function): We
12884         want to match "\ " before a comment; not a space character.
12886 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12888         Revert "Move description of value to syntax-ppss function."
12890         This reverts commit 305dbc7e2be05748039aacb1a3d697f6f64bed4c.
12892         Both of the functions in question are used a lot in the sources, so move it back to the more basic function.
12894 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12896         Add a new ppss structure for syntax-ppss data
12898         * lisp/emacs-lisp/syntax.el (ppss): Add a new structure to provide
12899         accessors to the syntax-ppss data.
12901 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12903         Tweak fontification of \url{http://foo.org/bar%zot} in (la)tex-mode
12905         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
12906         \url{http://foo.org/bar%zot} shouldn't be fontified as having a
12907         comment, so make the tex-verbatim face overwrite the
12908         already-applied syntactical comment bits (bug#37134).
12910 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12912         Bind vc-git-stash to a key
12914         * lisp/vc/vc-git.el (vc-git-stash-map): Give `vc-git-stash' a
12915         keystroke, because it's a useful command.
12917         When there are no stashes, there's no way to use that keystroke (since
12918         it's only bound on the stash lines), so perhaps that should also be
12919         fixed somehow.
12921 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12923         Clear more data in font-lock-refontify to ensure refontifying
12925         * lisp/font-lock.el (font-lock-refontify): Clear out even more data.
12927 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12929         font-lock \ #foo in shell mode more correctly
12931         * lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
12932         \ #foo isn't a comment -- it's a symbol that starts with a space
12933         character (bug#17538).
12935 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12937         Make font-lock-refontify try even harder to refontify
12939         * lisp/font-lock.el (font-lock-refontify): Make this command work
12940         even after switching global font lock mode on and then off again.
12942 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12944         Fix setgid fontification in dired on some OS-es
12946         * lisp/dired.el (dired-font-lock-keywords): Apparently some
12947         versions of ls use "S" for setgid and other use "s" (bug#8186).
12949 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12951         Fix "dnl" highlights in m4-mode
12953         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): "dnl"
12954         comments should override any previous syntax-based highlighting
12955         (37132).  This makes "dnl foo#bar" be highlighted correctly.
12957 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12959         Add a convenience function to be used when working on font locking
12961         * doc/lispref/modes.texi (Font Lock Basics): Document it.
12963         * lisp/font-lock.el (font-lock-refontify): New convenience command.
12965 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12967         Move description of value to syntax-ppss function.
12969         * lisp/emacs-lisp/syntax.el (syntax-ppss): Move the description of
12970         the return value from...
12972         * src/syntax.c (Fparse_partial_sexp): ... here because
12973         `syntax-ppss' is what's called over the place, and jumping through
12974         an indirection to get to the value description is inconvenient.
12976 2019-10-30  Lars Ingebrigtsen  <larsi@gnus.org>
12978         Indent font-lock-fontify-syntactically-region
12980         * lisp/font-lock.el (font-lock-fontify-syntactically-region):
12981         Indent function.
12983 2019-10-30  Michael Albinus  <michael.albinus@gmx.de>
12985         * lisp/net/tramp.el (outline-regexp): Remove declaration.
12987 2019-10-29  Juri Linkov  <juri@linkov.net>
12989         * etc/NEWS: Update renamed function read-char-from-minibuffer.
12991 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
12993         Fix image-converter probes
12995         * lisp/image/image-converter.el (image-converter--probe): Check
12996         that the executable exists before trying to call it.
12998 2019-10-29  Juri Linkov  <juri@linkov.net>
13000         Rename read-char-with-history to read-char-from-minibuffer (bug#10477)
13002         * lisp/simple.el (read-char-from-minibuffer-history):
13003         Rename from read-char-with-history--history.
13004         (read-char-from-minibuffer-map):
13005         Rename from read-char-with-history--map.
13006         (read-char-from-minibuffer): Rename from read-char-with-history.
13007         (read-char-from-minibuffer-self-insert): New command.
13008         (zap-to-char): Use read-char-from-minibuffer.
13010 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
13012         Make the debbugs groups also include robot messages
13014         * lisp/gnus/gnus-group.el (gnus-bug-group-download-format-alist):
13015         Change the URL to also include robot messages.
13017 2019-10-29  Juri Linkov  <juri@linkov.net>
13019         Reimplement read-char-with-history based on read-from-minibuffer
13021         * lisp/simple.el (read-char-with-history): Reimplement based on
13022         read-from-minibuffer.
13023         * lisp/simple.el (read-char-with-history--map): New variable
13024         (bug#10477).
13026 2019-10-29  Juri Linkov  <juri@linkov.net>
13028         * lisp/tab-bar.el: Store point position and frame buffer-lists in tab.
13030         * lisp/tab-bar.el (tab-bar--tab): Store additionally point-marker,
13031         frame parameters buffer-list and buried-buffer-list, both for wc and ws.
13032         Use seq-filter.
13033         (tab-bar-select-tab): Restore point-marker after restoring
13034         window-configuration.  Also restore frame parameters buffer-list
13035         and buried-buffer-list both for window-configuration and window-state.
13036         (tab-bar-history-limit, tab-bar-history--minibuffer-depth): New variables.
13037         (tab-bar-history-current): Rename from tab-bar-history--pre-change.
13038         (tab-bar-history--pre-change): Set tab-bar-history-current.
13039         (tab-bar--history-change): Use seq-take for tab-bar-history-limit.
13040         (tab-bar-history-back, tab-bar-history-forward): Restore point-marker.
13041         (tab-bar-list-noselect): Use seq-remove.
13043         * lisp/emacs-lisp/seq.el (seq-take, seq-filter): Add autoload cookie.
13045 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
13047         Make url-cookie.el be more resistant against bogus data
13049         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie): Don't bug
13050         out on large max-age values (bug#37974).
13052 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
13054         Document run-with-timer
13056         * doc/lispref/os.texi (Timers): Mention run-with-timer (bug#37875).
13058 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
13060         Default exotic image formats (like .webp) to image-mode
13062         * doc/lispref/errors.texi (Standard Errors): Mention the new error.
13064         * lisp/files.el (auto-mode-alist): Add a bunch of image suffixes
13065         to the list (bug#37972) based on the output from "gm convert -list
13066         format" (i.e., graphicsmagick).
13068         * lisp/image-mode.el (image-mode): Rewrite to possibly notify the
13069         user about image-use-external-converter.
13070         (image-mode--setup-mode): Factor out into own function and don't
13071         run under `condition-case' as there's nothing here that should
13072         error.
13074         * lisp/image.el (unknown-image-type): New error.
13075         (image-type): Signal that error so that image-mode can offer
13076         sensible feedback to the user.
13078 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
13080         Fix image-converter probing
13082         * lisp/image/image-converter.el (image-converter--find-converter):
13083         Stop probing on the first successful probe.
13085 2019-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
13087         * lisp/minibuffer.el: Tweak and undo parts of recent changes
13089         (completion-metadata): Always return a fresh new cons cell.
13090         (completion--nth-completion): Don't bother calling adjust-metadata
13091         if the result won't be used.
13092         (completion-pcm--hilit-commonality): Revert recent change which had
13093         removed support for `completions-first-difference` in `substring` and
13094         `partial-completion` styles.
13095         (completion--flex-adjust-metadata): Treat the arg as immutable.
13097 2019-10-29  Filipp Gunbin  <fgunbin@fastmail.fm>
13099         Add gradle-kotlin to compilation-error-regexp-alist-alist
13101         * lisp/progmodes/compile.el: Add gradle-kotlin to
13102         compilation-error-regexp-alist-alist.
13103         * etc/compilation.txt: Add samples for it.
13105 2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>
13107         Optimize conditional recursive merge face.
13109         * src/xfaces.c (merge_face_vectors) : Pass ATTR_FILTER to
13110         merge_face_ref to stop recursion merging in advance when possible.
13111         (merge_named_face) : add more conditions to potentially reduce calls to
13112         merge_face_vectors in more unneeded situations.
13114 2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>
13116         Fix extend face in gui interfaces.
13118         * src/xdisp.c (extend_face_to_end_of_line) : Change call to
13119         PRODUCE_GLYPHS with append_stretch_glyph to fill until the windows
13120         border.
13122 2019-10-29  Jimmy Aguilar Mena  <spacibba@aol.com>
13124         Fix inherited :extend attribute in faces.
13126         * src/xfaces.c (merge_face_vectors) : Add extra parameter ATTR_FILTER
13127         with the same functionality than in merge_named_face.  Update all
13128         occurrences.
13129         (merge_named_face): Remove condition to avoid call
13130         `merge_face_vectors`.
13132 2019-10-29  Lars Ingebrigtsen  <larsi@gnus.org>
13134         Make shr scale images on all frames
13136         * lisp/net/shr.el (shr-rescale-image): Rescale images even if the
13137         window isn't on the current frame.
13139 2019-10-28  João Távora  <joaotavora@gmail.com>
13141         Make icomplete-exhibit actually work when navigating up directories
13143         Sometimes, when finding files with icomplete-mode, backward-deleting
13144         the previous word or sexp (to move up a directory) doesn't actually
13145         refresh the file list of the new directory.  Forcing redisplay in
13146         icomplete-exhibit misteriously fixes the problem.
13148         * lisp/icomplete.el (icomplete-exhibit): Add call to redisplay.
13150 2019-10-28  João Távora  <joaotavora@gmail.com>
13152         New commands for making icomplete behave more like ido
13154         This tries (not particularly hard) to emulate Ido's magic C-k, C-d,
13155         RET and DEL.  For now, the new commands have to be explicitly added to
13156         an active map by the user, using something like this:
13158         (let ((imap icomplete-minibuffer-map))
13159           (define-key imap (kbd "C-k") 'icomplete-magic-ido-kill)
13160           (define-key imap (kbd "C-d") 'icomplete-magic-ido-delete-char)
13161           (define-key imap (kbd "RET") 'icomplete-magic-ido-ret)
13162           (define-key imap (kbd "DEL") 'icomplete-magic-ido-backward-updir))
13164         * lisp/icomplete.el (icomplete-magic-ido-kill)
13165         (icomplete-magic-ido-delete-char, icomplete-magic-ido-ret)
13166         (icomplete-magic-ido-backward-updir): New commands.
13168 2019-10-28  Juri Linkov  <juri@linkov.net>
13170         * lisp/tab-bar.el: Check for minibuffer-depth in tab-bar-history-mode.
13172         * lisp/tab-bar.el (tab-bar-history--pre-change): Store also minibuffer-depth.
13173         (tab-bar-history-change): Check stored minibuffer-depth for zero.
13174         (tab-bar-history-mode): Use prefix -- for internal functions.
13176 2019-10-28  Mattias Engdegård  <mattiase@acm.org>
13178         Use new-style rx extensions in python.el
13180         * lisp/progmodes/python.el (python-rx): Use `rx-let' instead of
13181         `rx-constituents'.  This allows for some slight redundancy reduction,
13182         since `rx-let' definitions are expanded inside `not' (bug#37849).
13183         Reorder some `or' forms for more efficient matching.
13185 2019-10-28  Hong Xu  <hong@topbug.net>
13187         Add doc for goto-history-element
13189         * doc/lispref/minibuf.texi (Minibuffer Commands): Add
13190         goto-history-element (bug#37948).
13191         * lisp/simple.el (goto-history-element): Clarify NABS.
13193 2019-10-28  Stefan Kangas  <stefankangas@gmail.com>
13195         * lisp/eshell/em-term.el: Remove commented out XEmacs compat code.
13197 2019-10-28  Stefan Kangas  <stefankangas@gmail.com>
13199         Remove more XEmacs compat code from CEDET
13201         * lisp/cedet/mode-local.el (mode-local-describe-bindings-1):
13202         * lisp/cedet/semantic/idle.el (semantic-idle-summary-out-of-context-faces):
13203         * lisp/cedet/semantic/imenu.el (semantic-imenu-rebuild-directory-indexes):
13204         * lisp/cedet/semantic/texi.el (semantic-texi-command-completion-list):
13205         Remove XEmacs compat code.
13207 2019-10-28  Stefan Kangas  <stefankangas@gmail.com>
13209         Remove obsolete doc references to XEmacs (Bug#37899)
13211         * doc/misc/edt.texi (Changes, Goals):
13212         * doc/misc/emacs-mime.texi (Charset Translation):
13213         * doc/misc/gnus-faq.texi (FAQ 4-15):
13214         * doc/misc/pcl-cvs.texi (Bugs):
13215         * doc/misc/srecode.texi (SRecode Minor Mode):
13216         * lisp/cedet/srecode/insert.el (srecode-insert-ask-variable-method):
13217         * lisp/follow.el:
13218         * lisp/leim/quail/ipa.el (ipa-x-sampa, ipa-kirshenbaum):
13219         * lisp/net/newsticker.el:
13220         * lisp/obsolete/iswitchb.el:
13221         * lisp/progmodes/hideshow.el:
13222         * lisp/savehist.el (savehist-file):
13223         * lisp/vc/ediff.el: Remove obsolete references to XEmacs in doc
13224         strings and comments.
13226 2019-10-28  Michal Nowak  <mnowak@startmail.com>  (tiny change)
13228         Add cert bundle path for OpenIndiana
13230         * lisp/net/gnutls.el (gnutls-trustfiles): Add cert bundle path for
13231         OpenIndiana (bug#37960).
13233 2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>
13235         Make ERC respect erc-channel-hide-list
13237         * lisp/erc/erc.el (erc-hide-current-message-p): Make
13238         erc-channel-hide-list work (bug#37879) by getting matching on the
13239         channel name instead of the ERC client name.
13241 2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>
13243         Fix `G c' in Gnus group buffers for non-ASCII text
13245         * lisp/gnus/gnus-cus.el (gnus-group-customize): Decoding is
13246         superfluous here -- everything is utf-8 already.
13247         (gnus-group-customize-done): Don't double-encode the text (bug#37901).
13249 2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>
13251         Be more permissive when interpreting IMAP mail headers
13253         * lisp/gnus/nnimap.el (nnimap-transform-headers): Some mail
13254         doesn't have space after the colon of the header name.  Don't
13255         ignore these.
13257 2019-10-28  Lars Ingebrigtsen  <larsi@gnus.org>
13259         Make <up> work in read-char-with-history
13261         * lisp/simple.el (read-char-with-history): Tweak to make
13262         <up>/<down> also traverse the history (bug#10477).
13264 2019-10-28  Koichi Arakawa  <arakawa@pp.iij4u.or.jp>  (tiny change)
13266         Reorder command-line switches in Tramp
13268         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
13269         `tramp-encoding-command-interactive' must be the last command-line
13270         switch, at least for bash.  (Bug#37953)
13272 2019-10-27  Juri Linkov  <juri@linkov.net>
13274         * lisp/tab-bar.el: Add tab-bar-history-mode with arrow buttons for navigation.
13276         * lisp/tab-bar.el (tab-bar-back-button, tab-bar-forward-button):
13277         New variables.
13278         (tab-bar-make-keymap-1): Show these buttons in tab-bar-history-mode.
13279         (tab-bar--tab): Add history-back and history-forward.
13280         (tab-bar-select-tab): Restore history-back and history-forward.
13281         (tab-bar-history-omit, tab-bar-history-back)
13282         (tab-bar-history-forward, tab-bar-history-pre-change): New variables.
13283         (tab-bar-history-pre-change, tab-bar-history-change)
13284         (tab-bar-history-back, tab-bar-history-forward)
13285         (tab-bar-history-mode): New functions.
13287 2019-10-27  Eric Ludlam  <ericludlam@gmail.com>
13289         * test/lisp/cedet/semantic-utest.el: silence compiler warnings
13291         * test/lisp/cedet/semantic-utest-c.el
13292         (semantic-test-c-preprocessor-simulation): Use with-current-buffer.
13294         * test/lisp/cedet/semantic-utest.el (semantic-utest-makebuffer):
13295         Use read-only-mode.
13296         (semantic-utest-verify-names-jave, semantic-utest-verify-names-2):
13297         Remove functions, unused.
13299 2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
13301         * .gitignore: Don't ignore .rej files
13303         Left over rejected hunks that we forgot to merge by hand should not be
13304         silently ignored.  Better explicitly remove/rename .rej files when
13305         done with them.
13307 2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
13309         * lisp/emacs-lisp/seq.el: Don't require cl-lib.
13311         (seq-subseq): Move cl-subseq's code here instyead of calling it.
13312         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq.
13314 2019-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
13316         * lisp/loadup.el: Load minibuffer after cl-generic
13318         This is so minibuffer.el can make use of cl-generic
13320         * lisp/minibuffer.el (minibuffer-local-completion-map):
13321         Move switch-to-completions bindings here from...
13322         * lisp/simple.el (minibuffer-local-completion-map): ... here.
13324 2019-10-27  Stephen Gildea  <stepheng+emacs@gildea.com>
13326         time-stamp-time-zone: update customization
13328         * lisp/time-stamp.el (time-stamp-time-zone): Support customization with
13329         an integer offset (a new possible value of the ZONE argument to
13330         format-time-string in Emacs 27).
13331         Update the safe-local-variable predicate from string-or-null-p
13332         (describing time-stamp-time-zone's domain before 2015) to new
13333         predicate time-stamp-zone-type-p (describing the current domain).
13335         * test/lisp/time-stamp-tests.el (time-stamp-test-helper-zone-type-p): New test.
13337 2019-10-27  Eli Zaretskii  <eliz@gnu.org>
13339         Fix point position after revert-buffer in tabulated-list mode
13341         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
13342         Don't use count-screen-lines, as it is unreliable when lines
13343         are truncated and the region ends before a newline (the root
13344         cause is in vertical-motion, but is very hard to fix there).
13345         Instead, use vertical-motion directly, as the problems with
13346         counting/not counting the newline that ends the region are not
13347         relevant to what we need in this function, which is simply the
13348         number of the current window line.  (Bug#37941)
13350 2019-10-27  João Távora  <joaotavora@gmail.com>
13352         Optimize lisp/icomplete.el when default completion available
13354         Often, when using icomplete with icomplete-show-matches-on-no-input
13355         and commands like C-h f, icomplete-exhibit will take a long time (like
13356         several seconds) to show all the completions.
13358         However, if there is a non-nil default value, like when the C-h f is
13359         performed exactly on a function name, the minibuffer prompt will
13360         reflect that immediately.  If the user immediately presses RE
13361         (icomplete-force-complete-and-exit) we take that to mean "use the
13362         default" and avoid the long wait.
13364         As an extra performance tweak, this commit also removes an unneeded
13365         call to icomplete-exhibit in icomplete-minibuffer-setup.
13367         * lisp/icomplete.el (icomplete-force-complete-and-exit): Short-circuit
13368         possibility of non-nil minibuffer-default.
13369         (icomplete-minibuffer-setup): No need to explicitly icomplete-exhibit
13370         here since icomplete-post-command-hook will call it unconditionally.
13372 2019-10-27  Mattias Engdegård  <mattiase@acm.org>
13374         Expand rx definitions inside (not ...)
13376         * lisp/emacs-lisp/rx.el (rx--translate-not):
13377         * test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-def-in-not):
13378         * doc/lispref/searching.texi (Rx Constructs, Extending Rx):
13380         Allow user-defined rx constructs to be expanded inside (not ...)
13381         forms, for better composability (bug#37849).
13383 2019-10-27  Michael Albinus  <michael.albinus@gmx.de>
13385         Some Tramp trace improvements
13387         * lisp/net/tramp.el (tramp-call-process): `result' can also be nil.
13389         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
13390         Improve trace format.
13392 2019-10-26  João Távora  <joaotavora@gmail.com>
13394         Improve scoring algorithm for flex-style completions
13396         The previous algorithm had two problems: it considered non-matches in
13397         the beginning and end of the string as matching "holes" and failed to
13398         penalize larger holes, making flex-score-match-tightness only
13399         effective in some corner cases.
13401         The new formula, which is described in code and in pseudo-code in the
13402         comments, fixes these problems.
13404         As a result, by default, C-h f flex now correctly bubbles up
13405         "company-search-flex-regexp" to the top, in front of "file-exists-p".
13406         With a flex-score-match-tightness smaller than 1.0, the situation is
13407         reversed.
13409         * lisp/minibuffer.el (flex-score-match-tightness): Adjust default
13410         value.  Improve docstring example.
13411         (completion-pcm--hilit-commonality): Improve example.  Remove unused
13412         variable.  Improve algorithm.
13414 2019-10-26  Juanma Barranquero  <lekktu@gmail.com>
13416         minibuffer.el: Remove leftover code, unused after recent change
13418         * lisp/minibuffer.el (completion-pcm--hilit-commonality):
13419         Don't set point-idx.
13421 2019-10-26  Juri Linkov  <juri@linkov.net>
13423         dired-dwim-target uses most recently visited window instead of next window.
13425         * doc/emacs/dired.texi (Operating on Files): Document behavior change.
13427         * lisp/dired-aux.el (dired-dwim-target-directories): New function.
13428         (dired-dwim-target-directory, dired-dwim-target-defaults): Use it
13429         to get the most recently used window instead of the next window (bug#35385).
13431         * lisp/dired.el (dired-dwim-target): Doc fix.
13433         * test/lisp/dired-tests.el: Remove unnecessary require and pacify
13434         byte-compiler.
13436 2019-10-26  Juri Linkov  <juri@linkov.net>
13438         Customizable tab-line-tabs-function and new buffer-local tab-line-mode.
13440         * lisp/tab-line.el (tab-line-tabs-function): Turn defvar into defcustom
13441         with default of tab-line-tabs-window-buffers.
13442         (tab-line-tabs-mode-buffers): New function.
13443         (tab-line-tabs-window-buffers): Rename from tab-line-tabs.
13444         (tab-line-select-tab, tab-line-switch-to-prev-tab)
13445         (tab-line-switch-to-next-tab): Handle the value tab-line-tabs-window-buffers
13446         of tab-line-tabs-function specially.
13447         (tab-line-mode): Rename from global-tab-line-mode and change scope
13448         to buffer-local.
13449         (global-tab-line-mode): New globalized-minor-mode.
13450         (tab-line-mode--turn-on): New function.
13451         (tab-line-exclude-modes): New defcustom.
13452         (tab-line-exclude): New buffer-local variable.
13453         https://lists.gnu.org/r/emacs-devel/2019-10/msg00988.html
13455         * lisp/dired.el (dired-mark-pop-up): Set tab-line-exclude to nil.
13456         Don't set tab-line-format.   (Bug#37699)
13457         * lisp/speedbar.el (speedbar-mode): Set tab-line-exclude to nil.
13458         Don't set tab-line-format.
13460 2019-10-26  Juri Linkov  <juri@linkov.net>
13462         * lisp/tab-bar.el (tab-bar-switch-to-recent-tab): New command.
13464         (tab-recent): Alias to tab-bar-switch-to-recent-tab.
13465         (tab-bar--tab-index-recent): New internal function.
13466         (tab-bar-close-tab-select): Add new default option 'recent'.
13467         (tab-bar-close-tab): Handle it.
13469         * lisp/emacs-lisp/seq.el (seq-sort-by, seq-remove): Add autoload.
13471 2019-10-26  Juri Linkov  <juri@linkov.net>
13473         * lisp/tab-bar.el (tab-bar-move-tab-to): Add force-mode-line-update.
13475         (tab-bar-close-last-tab-choice, tab-bar-close-tab): Adjust option names.
13477 2019-10-26  Robert Cochran  <robert-git@cochranmail.com>
13479         Add customization option for what do when the last tab is closed
13481         * lisp/tab-bar.el (tab-bar-close-last-tab-choice): New custom
13482         variable.
13483         (tab-bar-close-tab): Handle closing the last tab specially, referring to
13484         tab-bar-close-last-tab-choice.
13486 2019-10-26  Stephen Gildea  <stepheng+emacs@gildea.com>
13488         time-stamp-tests: add name prefix to tests of formatting
13490         * test/lisp/time-stamp-tests.el: rename all the time-stamp-string formatting tests
13491         to have the word "format" in their name, to make room in the namespace
13492         for other, future tests.
13494 2019-10-26  João Távora  <joaotavora@gmail.com>
13496         Restore default value of face completions-common-part
13498         The previous commit titled "Rework face hints for partial-string
13499         completion styles" contained a potentially controversial
13500         backwards-incompatible change to this face's default value.
13502         * lisp/minibuffer.el (completions-common-part): Restore empty
13503         default value.
13505 2019-10-26  Arash Esbati  <arash@gnu.org>
13507         Improve support for biblatex and cleveref macros
13509         * lisp/textmodes/reftex-cite.el (reftex-figure-out-cite-format):
13510         Extend regexp to match additional cite commands from biblatex.sty.
13512         * lisp/textmodes/reftex-dcr.el (reftex-view-crossref): Extend
13513         regexp to match additional cite commands from biblatex.sty and
13514         reference commands from cleveref.sty.
13516 2019-10-26  Arash Esbati  <arash@gnu.org>
13518         Avoid infloop's by doing a case-sensitive match
13520         * lisp/textmodes/reftex-ref.el (reftex-format-special): Be
13521         case-sensitive when checking the actual reference macro against
13522         \ref.  This avoids infloop when \Ref is chosen.
13524 2019-10-26  Glenn Morris  <rgm@gnu.org>
13526         Merge from origin/emacs-26
13528         55dcd32 (origin/emacs-26) Fix rcirc not to interpret nil as nickname ...
13530 2019-10-26  Glenn Morris  <rgm@gnu.org>
13532         Merge from origin/emacs-26
13534         73e1727 Fix linear equation system solving in Calc (bug#35374)
13536         # Conflicts:
13537         #       test/lisp/calc/calc-tests.el
13539 2019-10-26  João Távora  <joaotavora@gmail.com>
13541         Rework face hints for partial-string completion styles
13543         Don't use completions-first-difference for the 'substring', 'flex' and
13544         'partial-completion' styles, since there can be really no reasonable
13545         definition of a "first" difference there.
13547         Make completions-common-part inherit from 'underline' so that it is
13548         useful by default for all completion styles.
13550         * lisp/minibuffer.el (completions-common-part): Adjust
13551         description and change default value.
13552         (completions-first-difference): Adjust docstring.
13553         (completion-pcm--hilit-commonality): Don't use
13554         completions-first-difference.
13556 2019-10-26  João Távora  <joaotavora@gmail.com>
13558         Allow completion styles to adjust completion metadata
13560         This commit re-does the now-reverted commit with the same title.  That
13561         version relied on generic functions, which cannot be used yet in files
13562         such as lisp/minibuffer.el.  This version uses a symbol property
13563         completion--adjust-metadata instead.
13565         The new facility allows completion styles to have a say in metadata
13566         properties such as cycle-sort-function and display-sort-function.
13567         This is especially useful for completion styles such as 'flex', which
13568         generally produce many matches, including some potentially "obscure"
13569         ones.  The default sorting strategy would often bubble the latter to
13570         the top of the list.
13572         The sorting function for 'flex' considers pre-computed matching scores
13573         and is thus much better than the default for this particular style.
13575         Additionally, it overrides the completion table's cycle-sort-function
13576         or display-sort-function properties if they exist, although it still
13577         uses them to pre-sort the result, so that they are still relevant for
13578         resolving ties.
13580         * lisp/minibuffer.el (completion--nth-completion)
13581         (completion--flex-adjust-metadata): New helper.
13582         (flex): Put completion--adjust-metadata property.
13584 2019-10-26  João Távora  <joaotavora@gmail.com>
13586         Revert "Allow completion styles to adjust completion metadata"
13588         Unbreaks the build.
13590         This reverts commit 7fc0292f5c49d11fc39853f8bc25586d54221e6a.
13592         Unfortunately, cl-defgeneric has some problems when used in
13593         lisp/minibuffer.el.
13595 2019-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
13597         subr.el (run-window-configuration-change-hook): Mark obsolete
13599 2019-10-26  João Távora  <joaotavora@gmail.com>
13601         Allow completion styles to adjust completion metadata
13603         The new facility, realized in the completion-adjust-metadata-for-style
13604         generic, allows completion styles to have a say in metadata properties
13605         such as cycle-sort-function and display-sort-function.  This is
13606         especially useful for completion styles such as 'flex', which
13607         generally produce many matches, including some potentially "obscure"
13608         ones.  The default sorting strategy would often bubble the latter
13609         to the top of the list.
13611         The sorting function for 'flex' considers pre-computed matching scores
13612         and is thus much better than the default for this particular style.
13614         Additionally, it overrides the completion table's cycle-sort-function
13615         or display-sort-function properties if they exist, although it still
13616         uses them to pre-sort the result, so that they are still relevant for
13617         resolving ties.
13619         * lisp/minibuffer.el (completion--nth-completion): Call
13620         completion-adjust-metadata-for-style.
13621         (completion-adjust-metadata-for-style): New generic.
13622         (completion-adjust-metadata-for-style 'flex): New method.
13624 2019-10-26  memeplex  <carlosjosepita@gmail.com>
13626         Replay key if kboard is interrupted while initializing (Bug#37782)
13628         The problem with the original fix for bug#5095 is that it drops
13629         the current event, which is a valid character event and not -2.
13630         Thus, the first ESC character sent by the terminal after turning
13631         on focus tracking is lost and we get '[' and 'I' events separately
13632         inserted into the buffer afterwards.
13634         * src/keyboard.c (read_key_sequence): Add key as mock_input and replay
13635         sequence using new keyboard, when the key is not -2.
13637 2019-10-26  memeplex  <carlosjosepita@gmail.com>
13639         Remove redundant initialization of fringe bitmap (Bug#37756)
13641         * src/fringe.c (Fdefine-fringe-bitmap): Remove redundant zeroing
13642         of fb.bits that only zeroed half of the array anyway.
13644 2019-10-26  Eli Zaretskii  <eliz@gnu.org>
13646         Improve the documentation of 'vc-tor'
13648         * lisp/vc/vc-dispatcher.el (vc-tor): Add :version.  Enhance
13649         the doc string.
13651         * etc/NEWS: Announce the new option.
13653 2019-10-26  Richard Stallman  <rms@gnu.org>
13655         New defcustom 'vc-tor'
13657         * lisp/vc/vc-dispatcher.el (vc-tor): New user option.
13658         (vc-do-command): If vc-tor is non-nil, use 'torsocks'.
13660 2019-10-25  Tassilo Horn  <tsdh@gnu.org>
13662         Adapt doc-view to latest image-mode changes
13664         The functions image-scroll-down, image-scroll-up, image-next-line, and
13665         image-previous-line now return pixel values instead of multiples of
13666         character height as of commit 9c66b09950.
13668         * lisp/doc-view.el (doc-view-scroll-up-or-next-page):
13669         (doc-view-scroll-down-or-previous-page):
13670         (doc-view-next-line-or-next-page):
13671         (doc-view-previous-line-or-previous-page):
13672         (doc-view-insert-image): Adapt to image-scroll-up/down and
13673         image-next/previous-line now returning pixel values instead of
13674         multiples of character heights.  Fixes bug#37874.
13676 2019-10-25  Alan Mackenzie  <acm@muc.de>
13678         CC Mode: Fix positioning of point whilst inserting comments without non-ws
13680         * lisp/progmodes/cc-cmds.el (c-guess-fill-prefix): When determining a new
13681         block comment prefix (i.e. there isn't one already there to copy), and that
13682         prefix is hard up against a comment closer, ensure there are at least two
13683         spaces before the closer.
13684         (c-indent-new-comment-line): Amend the strategy for ensuring that point isn't
13685         left hard up against the comment closer after M-j.
13687 2019-10-25  Stephen Gildea  <stepheng+emacs@gildea.com>
13689         time-stamp-tests: consistently name the time vars
13691         * test/lisp/time-stamp-tests.el (with-time-stamp-test-env): rename local variable
13692         'ref-time' to 'ref-time1', for parallelism with ref-time2 and ref-time3.
13694 2019-10-25  Michael Albinus  <michael.albinus@gmx.de>
13696         Mention completion styles for Tramp user/host name completion
13698         * doc/misc/tramp.texi (File name completion): Emacs must have one
13699         of the completion styles `basic', `emacs21', or `emacs22'.
13701 2019-10-25  Juanma Barranquero  <lekktu@gmail.com>
13703         windmove.el: Suppress warnings for obsolete functions
13705         * lisp/windmove.el (windmove-constrain-loc-for-movement)
13706         (windmove-wrap-loc-for-movement, windmove-reference-loc)
13707         (windmove-other-window-loc): Wrap calls to obsolete functions
13708         in `with-suppressed-warnings'.
13710 2019-10-25  Juanma Barranquero  <lekktu@gmail.com>
13712         windmove.el: Mark unused code as obsolete
13714         * lisp/windmove.el (windmove-window-distance-delta)
13715         (windmove-coord-add, windmove-constrain-to-range)
13716         (windmove-constrain-around-range, windmove-frame-edges)
13717         (windmove-constrain-loc-for-movement)
13718         (windmove-wrap-loc-for-movement, windmove-reference-loc)
13719         (windmove-other-window-loc): Declare obsolete.
13720         (windmove-find-other-window, windmove-do-window-select):
13721         Doc fixes.
13723         * etc/NEWS: Document it.
13725 2019-10-25  Juanma Barranquero  <lekktu@gmail.com>
13727         * lisp/windmove.el (windmove-frame-edges): Simplify.
13729 2019-10-25  Lars Ingebrigtsen  <larsi@gnus.org>
13731         Fix gnus-thread-hide-subtree defcustom
13733         * lisp/gnus/gnus-sum.el (gnus-thread-hide-subtree): Make the
13734         "Non-nil" predicate do what it's supposed to (i.e., return non-nil
13735         on non-nil values (excepting predicates)) (bug#37916).
13737 2019-10-24  Stefan Monnier  <monnier@iro.umontreal.ca>
13739         * lisp/cedet/mode-local.el: Clean up name space
13741         Mostly renaming functions by adding `mode-local--` to their name
13742         and leaving an obsolete alias behind, just in case.
13744         (define-child-mode): Make obsolete.
13745         (mode-local--set-parent): Rename from set-mode-local-parent.
13746         (mode-local--new-bindings): Rename from new-mode-local-bindings.
13747         Use `obarray-make`.
13748         (mode-local--activate-bindings): Rename from activate-mode-local-bindings.
13749         (mode-local--deactivate-bindings): Rename from
13750         deactivate-mode-local-bindings.
13751         (make-obsolete-overload): Rename properties with a `mode-local--` prefix.
13752         Adjust all users.
13753         (mode-local--overload-obsoleted-by): Rename from overload-obsoleted-by.
13754         (mode-local--overload-that-obsolete): Rename from overload-that-obsolete.
13755         (mode-local--function-overload-p): Rename from function-overload-p.
13756         (mode-local-read-function): Mark obsolete.
13757         (mode-local--overload-docstring-extension): Rename from
13758         overload-docstring-extension.
13759         (mode-local--describe-overload): Rename from describe-mode-local-overload.
13761         * lisp/cedet/semantic/fw.el (semantic-install-function-overrides):
13762         Remove unused `mode` argument.
13764         * lisp/cedet/semantic/grammar-wy.el (semantic-grammar-wy--install-parser):
13765         * lisp/cedet/semantic/bovine/grammar.el (bovine-grammar-mode):
13766         * lisp/cedet/semantic/texi.el (semantic-default-texi-setup):
13767         * lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-setupcode-builder)
13768         (wisent-grammar-mode):
13769         * lisp/cedet/semantic/html.el (semantic-default-html-setup):
13770         Make the `semantic-` prefix explicit to ease grep search.
13771         (html-helper-mode): Remove obsolete setting.
13773         * lisp/cedet/semantic/wisent/javascript.el: Fix js-mode/javascript-mode
13774         mixup so we don't need define-child-mode any more.
13775         (semantic-get-local-variables, semantic-ctxt-current-symbol)
13776         (semantic-tag-protection, semantic-analyze-scope-calculate-access):
13777         Use `js-mode` rather than `javascript-mode` as the mode name since
13778         that's the real mode's name.
13780         * lisp/cedet/semantic/wisent/python.el (python-2-mode, python-3-mode):
13781         Remove child declaration for non-existing modes.
13783         * lisp/cedet/srecode/map.el (srecode-map-validate-file-for-mode): Simplify.
13785 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13787         Update from Gnulib
13789         This incorporates:
13790         2019-10-23 nstrftime: speed up integer overflow checking
13791         2019-10-23 port better to GCC under macOS
13792         2019-10-15 inttypes: use more-robust test for int range
13793         2019-10-14 update-copyright: use en dashes in .texi ranges
13794         * build-aux/update-copyright, lib/intprops.h, lib/inttypes.in.h:
13795         * lib/nstrftime.c, lib/verify.h:
13796         Copy from Gnulib.
13798 2019-10-24  Juanma Barranquero  <lekktu@gmail.com>
13800         * doc/lispref/display.texi: Document `delay-warning'
13802 2019-10-24  Mattias Engdegård  <mattiase@acm.org>
13804         rx.el: Refactor user-definition expansion
13806         * lisp/emacs-lisp/rx.el (rx--translate-not): Simplify structure.
13807         * lisp/emacs-lisp/rx.el (rx--expand-def): New.
13808         (rx--translate-symbol, rx--translate-form): Use rx--expand-def.
13810 2019-10-23  Stefan Kangas  <stefankangas@gmail.com>
13812         Update FAQ section on large files (Bug#37818)
13814         * doc/misc/efaq.texi (Problems with very large files): Extend section
13815         and remove information about ancient versions of Emacs.
13817 2019-10-23  Stefan Kangas  <stefankangas@gmail.com>
13819         Update FAQ section on Emacs security (Bug#37818)
13821         * doc/misc/efaq.texi (Security risks with Emacs): Remove section on
13822         movemail.  Add section on third-party packages.
13824 2019-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13826         * lisp/cedet/mode-local.el: Use lexical-binding and `declare`
13828         (with-mode-local-symbol, with-mode-local, setq-mode-local)
13829         (defvar-mode-local, defconst-mode-local)
13830         (define-overloadable-function, define-mode-local-override):
13831         Use `declare` for indent and edebug specs.
13832         (xref-mode-local-find-overloadable-regexp): Simplify regexp.
13833         (mode-local-setup-edebug-specs): Delete.
13834         (edebug-setup-hook): Don't use any more.
13836 2019-10-23  Juri Linkov  <juri@linkov.net>
13838         * lisp/dired.el (dired-mark-pop-up): Set tab-line-format to nil (bug#37699).
13840 2019-10-23  Juri Linkov  <juri@linkov.net>
13842         * lisp/tab-bar.el: Allow to specify interactively where to add a new tab.
13844         * lisp/tab-bar.el (tab-bar-new-tab-to): Rename from tab-bar-new-tab.
13845         Add optional arg TO-INDEX.
13846         (tab-bar-new-tab): New implementation to use relative ARG.
13847         (tab-new-to): Alias to tab-bar-new-tab-to.
13849 2019-10-23  Juri Linkov  <juri@linkov.net>
13851         * lisp/tab-bar.el: Rename tab-bar-swap-tabs to tab-bar-move-tab-to.
13853         * lisp/tab-bar.el (tab-bar-move-tab-to): Rename from tab-bar-swap-tabs.
13854         Change logic to push the moved tab between existing tabs.
13855         (tab-bar-move-tab): Call tab-bar-move-tab-to instead of tab-bar-swap-tabs.
13856         (tab-move-to): Rename alias from tab-swap.
13858 2019-10-23  Juri Linkov  <juri@linkov.net>
13860         Implement tab close undo feature for tab-bar.
13862         * lisp/tab-bar.el (tab-bar-closed-tabs): New variable.
13863         (tab-bar-close-tab): Add closed tab to tab-bar-closed-tabs.
13864         Disable tab-bar-mode on closing the last tab.
13865         (tab-bar-close-other-tabs): Add all closed tabs to tab-bar-closed-tabs.
13866         (tab-bar-undo-close-tab): New command.
13867         (tab-undo): Alias to tab-bar-undo-close-tab.
13869 2019-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13871         * lisp/cedet/semantic/analyze/complete.el: Fix completion-at-point
13873         Completion tables are not supposed to signal errors:
13875             emacs -q
13876             M-x semantic-mode
13877             ; visit a file supported by semantic, such as a C file
13878             ; put cursor in a blank space
13879             M-x completion-at-point
13880             It will error with: "Nothing to complete"
13882         (semantic-analyze-possible-completions): Return nil instead of
13883         signaling errors.
13885 2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>
13887         Ensure that the prompt is kept on the final line
13889         * lisp/erc/erc-goodies.el (erc-possibly-scroll-to-bottom): New
13890         function.
13891         (scrolltobottom): Add to erc-insert-done-hook.
13893         * lisp/erc/erc.el (erc-insert-done-hook): New hook (bug#11697).
13894         (erc-display-line-1): Use it.
13896 2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>
13898         Make erc-cmd-CLEAR do what its doc string says
13900         * lisp/erc/erc.el (erc-cmd-CLEAR): Delete the buffer contents
13901         instead of recentering (bug#31743).
13903 2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>
13905         Make display of S/MIME signatures slightly better
13907         * lisp/epg.el (epg-signature-to-string): Decode percent escapes
13908         (bug#36101).
13910 2019-10-23  Lars Ingebrigtsen  <larsi@gnus.org>
13912         Make Gnus recognise "git am" diffs in all groups
13914         * lisp/gnus/mm-uu.el (mm-uu-diff-groups-regexp): Recognise diffs
13915         in all groups (bug#32730).
13917 2019-10-22  Stefan Kangas  <stefankangas@gmail.com>
13919         Add version tag to gnutls-min-prime-bits
13921         * lisp/net/gnutls.el (gnutls-min-prime-bits): Add version tag.
13923 2019-10-22  memeplex  <carlosjosepita@gmail.com>
13925         Avoid extra lines in python-shell font lock buffer (Bug#33959)
13927         * lisp/progmodes/python.el
13928         (python-shell-font-lock-comint-output-filter-function): Avoid writing
13929         a newline to the font lock buffer when receiving an empty string.
13931 2019-10-22  Glenn Morris  <rgm@gnu.org>
13933         Set expected result for a cedet test
13935         * test/lisp/cedet/srecode-utest-template.el (srecode-utest-project):
13936         Test fails on hydra.nixos.org, for some reason.
13938 2019-10-22  Juri Linkov  <juri@linkov.net>
13940         Tab-line horizontal scrolling with UI buttons and commands (bug#37667)
13942         * etc/images/tabs/left-arrow.xpm:
13943         * etc/images/tabs/right-arrow.xpm: New images.
13945         * lisp/tab-line.el (tab-line-left-map, tab-line-right-map): New keymaps.
13946         (tab-line-left-button, tab-line-right-button): New variables.
13947         (tab-line-tab-name-function): Turn defvar into defcustom.
13948         (tab-line-tab-name-buffer): New function.
13949         (tab-line-tab-name-truncated-buffer): Rename from tab-line-tab-name.
13950         (tab-line-tabs-limit): Default to nil.
13951         (tab-line-tabs): Behavior depends on tab-line-tabs-limit.
13952         (tab-line-format): Use window-parameter tab-line-hscroll.
13953         Add left/right buttons.
13954         (tab-line-hscroll): New function.
13955         (tab-line-hscroll-right, tab-line-hscroll-left): New commands
13956         bound to mouse-wheel.  Rebind tab-switching commands to mouse-wheel
13957         with Ctrl-modifier.
13959 2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>
13961         Fix "make bootstrap" build warning in tab-bar.el
13963         * lisp/tab-bar.el (require): Require seq when compiling to avoid a
13964         compilation warning.  The function it uses is autoloaded, but
13965         autoloads aren't loaded when this is built (on "make bootstrap").
13967 2019-10-22  Eli Zaretskii  <eliz@gnu.org>
13969         Fix recent changes in documentation
13971         * doc/lispref/edebug.texi (Edebug Eval, Eval List): Reword
13972         recently added text to follow conventions.
13974         * src/textprop.c (Ftext_properties_at): Don't use passive tense
13975         in doc string.
13977 2019-10-22  Stefan Kangas  <stefankangas@gmail.com>
13979         Various doc fixes for auto-insert-mode
13981         * doc/misc/autotype.texi (Autoinserting): Various doc fixes.
13982         * lisp/autoinsert.el (top-level): Recommend 'auto-insert-mode' over
13983         'add-hook'.
13985 2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>
13987         Make text-properties-at mention describe-text-properties
13989         * src/textprop.c (Ftext_properties_at): Mention
13990         describe-text-properties in the doc string.
13992 2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>
13994         Add a fringe example
13996         * doc/lispref/display.texi (Fringe Bitmaps): Add an example.
13998 2019-10-22  Mattias Engdegård  <mattiase@acm.org>
14000         rx doc string tweaks
14002         * lisp/emacs-lisp/rx.el (rx--translate-seq, rx--translate-or, rx):
14003         Say "zero or more" instead of "one or more" where applicable.
14005 2019-10-22  Lars Ingebrigtsen  <larsi@gnus.org>
14007         Make edebug-eval-last-sexp interactively take a zero prefix
14009         * lisp/emacs-lisp/edebug.el (edebug-eval-last-sexp): Make the zero
14010         prefix work analogously to in eval-last-sexp (bug#28895).
14011         (edebug-eval-print-last-sexp): Ditto.
14013 2019-10-22  Robert Pluim  <rpluim@gmail.com>
14015         Show stash counts in button in vc-dir
14017         Based on suggestions from Mattias Engdegård.
14019         * lisp/vc/vc-git.el (vc-git--make-button-text): New function to
14020         generate text for stash button.
14021         (vc-git-make-stash-button): Show stash counts.  Delete and recreate
14022         button when toggling.
14023         (vc-git-dir-extra-headers): Pass counts to vc-git-make-stash-button.
14024         Treat stash count <= vc-git-show-stash as equivalent to showing entire
14025         list.
14027 2019-10-21  Arash Esbati  <arash@gnu.org>
14029         Move entry for \Ref into LaTeX core
14031         * lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Move
14032         entry for \Ref from "Varioref" into "Default" as this macro is
14033         part of LaTeX 2019-10-01 kernel.
14034         Rearrange entries for "Varioref".
14036 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
14038         * etc/NEWS: Improve documentation of 'package-initialize'.
14040 2019-10-21  Paul Eggert  <eggert@cs.ucla.edu>
14042         Portcheck only if --enable-gcc-warnings
14044         Problem reported by Richard Copley (Bug#37852).
14045         This patch causes the problem to not occur if one uses plain
14046         ‘configure’.  The problem can still occur if with ‘configure
14047         --enable-gcc-warnings’, so a further fix may be needed.
14048         * configure.ac (GNULIB_PORTCHECK, _FORTIFY_SOURCE):
14049         Define these only with an explicit --enable-gcc-warnings.
14051 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
14053         Remove XEmacs compat code from speedbar.el
14055         * lisp/speedbar.el (speedbar-frame-plist, speedbar-frame-mode)
14056         (speedbar-make-overlay, speedbar-overlay-put, speedbar-delete-overlay)
14057         (speedbar-mode-line-update, speedbar-frame-reposition-smartly)
14058         (speedbar-set-mode-line-format, speedbar-reconfigure-keymaps)
14059         (speedbar-add-localized-speedbar-support, speedbar-check-vc)
14060         (speedbar-highlight-one-tag-line)
14061         (speedbar-unhighlight-one-tag-line): Remove XEmacs compat code.
14063         * doc/misc/speedbar.texi (Frames and Faces): Remove documentation for
14064         XEmacs.
14066 2019-10-21  Juri Linkov  <juri@linkov.net>
14068         * lisp/vc/vc-annotate.el (vc-annotate-lines): Use set-face-extend (bug#37774)
14070 2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>
14072         Try to not put SMTP passwords in the *Messages* buffer
14074         * lisp/mail/smtpmail.el (smtpmail--sanitize-error-message): New
14075         function.
14076         (smtpmail-send-it): Use it.
14077         (smtpmail-send-queued-mail): Ditto.
14079 2019-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
14081         * lisp/emacs-lisp/cursor-sensor.el: Make it possible to reveal invisible text
14083         (cursor-sensor-mode): Hook into post-command-hook as well.
14084         (cursor-sensor--detect): Make argument optional.
14086 2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>
14088         Tiny clean-up of previous edebug patch
14090         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Clean
14091         up code slightly.
14093 2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>
14095         Ensure we always remove the breakpoint overlays
14097         * lisp/emacs-lisp/edebug.el (edebug--display-1): Remove the
14098         overlays here -- this cleans up after exiting no matter how we
14099         exited.
14101 2019-10-21  Lars Ingebrigtsen  <larsi@gnus.org>
14103         Add fringe markers to edebug breakpoints
14105         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Set a
14106         fringe element to mark the breakpoint.
14107         (edebug-breakpoint): Fringe marker.
14109 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
14111         Clean up previous icalendar.el change
14113         * lisp/calendar/icalendar.el (icalendar--rris): Redefine as obsolete
14114         function alias.
14116 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
14118         Remove more XEmacs compat code from viper-*.el
14120         * lisp/emulation/viper-cmd.el (viper-submit-report):
14121         * lisp/emulation/viper-init.el (viper-set-insert-cursor-type)
14122         (viper-restore-cursor-type, viper-use-replace-region-delimiters)
14123         (viper-has-face-support-p, viper-window-display-p)
14124         (viper-color-display-p, viper-device-type):
14125         * lisp/emulation/viper-mous.el (viper-mouse-click-search-word)
14126         (viper-mouse-click-insert-word, viper-mouse-click-get-word)
14127         (viper-mouse-click-posn, viper-mouse-click-window):
14128         * lisp/emulation/viper-util.el (viper-abbreviate-file-name)
14129         (viper-set-replace-overlay, viper-maybe-checkout): Remove XEmacs
14130         compat code.
14132 2019-10-21  Stefan Kangas  <stefankangas@gmail.com>
14134         Remove XEmacs compat code from icalendar.el (Bug#37816)
14136         * lisp/calendar/icalendar.el (icalendar--convert-string-for-export)
14137         (icalendar--convert-string-for-import)
14138         (icalendar--parse-summary-and-rest)
14139         (icalendar--convert-ordinary-to-ical)
14140         (icalendar--convert-weekly-to-ical)
14141         (icalendar--convert-yearly-to-ical)
14142         (icalendar--convert-block-to-ical)
14143         (icalendar--convert-cyclic-to-ical)
14144         (icalendar--convert-anniversary-to-ical)
14145         (icalendar--format-ical-event)
14146         (icalendar--convert-recurring-to-diary): Remove XEmacs compat code.
14147         (icalendar--rris): Declare obsolete.
14149 2019-10-21  Eli Zaretskii  <eliz@gnu.org>
14151         Avoid false indications from Flymake in .dir-locals.el files
14153         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Don't install
14154         'elisp-flymake-checkdoc' and 'elisp-flymake-byte-compile'
14155         hooks for .dir-locals.el files.  Reported by Clément
14156         Pit-Claudel <cpitclaudel@gmail.com>.
14158 2019-10-21  Robert Pluim  <rpluim@gmail.com>
14160         Add button to vc-dir to toggle visibility of stash list
14162         * lisp/vc/vc-git.el: Move cl-lib require outside 'eval-when-compile'.
14164         * lisp/vc/vc-git.el (vc-git-show-stash):New user option.
14165         (vc-git-make-stash-button): Create button that allows hiding the stash
14166         list.
14167         (vc-git-dir-extra-headers): Split stash list into hideable and
14168         non-hideable parts depending on value of vc-git-show-stash.  Add
14169         button to toggle visibility of hideable part.
14171         * etc/NEWS: Announce it.
14173 2019-10-20  Clément Pit-Claudel  <clement.pitclaudel@live.com>
14175         Add a way to disable substitution of command keys in help strings
14177         * src/keyboard.c (help_echo_substitute_command_keys): New function.
14178         (help_echo_echo, parse_menu_item): Use it.
14179         (syms_of_keyboard): Define Qhelp_echo_inhibit_substitution.
14181         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document
14182         the effect of 'help-echo-inhibit-substitution'.
14184 2019-10-20  Paul Eggert  <eggert@cs.ucla.edu>
14186         Avoid fixnum round trip in prefix-numeric-value
14188         * src/callint.c (Fprefix_numeric_value): Simplify.
14190 2019-10-20  Juri Linkov  <juri@linkov.net>
14192         * lisp/tab-line.el: Bind mouse commands to [tab-line].
14194         * lisp/tab-line.el: Bind mouse-4/mouse-5, wheel-up/wheel-down
14195         globally to [tab-line].
14196         (tab-line-tab-map): Remove local bindings of mouse-4/mouse-5.
14197         (tab-line-new-tab, tab-line-switch-to-prev-tab)
14198         (tab-line-switch-to-next-tab, tab-line-close-tab):
14199         Turn commands into mouse-free (can be used without mouse).
14201 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
14203         Don't try to add nil packages on refresh
14205         * lisp/emacs-lisp/package.el (package-read-archive-contents): Don't
14206         try to add nil entries.  Warn instead.  (Bug#28502)
14207         * test/lisp/emacs-lisp/package-tests.el
14208         (package-test-update-archives/ignore-nil-entry): New test.
14209         * test/lisp/emacs-lisp/package-resources/with-nil-entry/archive-contents:
14210         New file.
14212 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14214         Add a command to toggle an edebug breakpoint
14216         * doc/lispref/edebug.texi (Breakpoints): Document this.
14218         * lisp/emacs-lisp/edebug.el (edebug-disabled-breakpoint): New face
14219         (bug#23472).
14220         (edebug-enabled-breakpoint): Rename.
14221         (edebug--overlay-breakpoints): Use the new face.
14222         (edebug-toggle-disable-breakpoint): New command and keystroke.
14224 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
14226         Remove XEmacs compat code from decipher.el
14228         * lisp/play/decipher.el (decipher-last-command-char)
14229         (decipher-keypress): Remove XEmacs compat code.
14231 2019-10-20  Juri Linkov  <juri@linkov.net>
14233         * lisp/tab-bar.el: Use autoloaded seq-position.
14235         * lisp/tab-bar.el (tab-bar--current-tab-index)
14236         (tab-bar--tab-index, tab-bar--tab-index-by-name):
14237         Use seq-position.
14239         (tab-bar-select-tab, tab-bar-new-tab, tab-bar-close-tab)
14240         (tab-bar-close-other-tabs, tab-bar-rename-tab)
14241         (tab-bar-list-execute): Call force-mode-line-update
14242         unconditionally independent from tab-bar-mode.
14244         (tab-bar-rename-tab, tab-bar-rename-tab-by-name):
14245         Use read-from-minibuffer instead of read-string
14246         to be able to enter empty string.
14248 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
14250         Remove XEmacs compat code from meta-mode.el
14252         * lisp/progmodes/meta-mode.el (meta-mode-menu):
14253         (meta-mode-load-hook): Remove XEmacs compat code.
14255 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
14257         Remove last XEmacs compat code from tree-widget.el
14259         * lisp/tree-widget.el (tree-widget-image-properties-xemacs)
14260         (tree-widget-set-theme, tree-widget--cursors)
14261         (tree-widget-image-properties, tree-widget-button-keymap)
14262         (tree-widget-icon, tree-widget-value-create): Remove XEmacs compat
14263         code.
14265 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
14267         Remove leftover XEmacs compat code from dig.el
14269         * lisp/net/dig.el (top-level): Remove leftover XEmacs compat code.
14271 2019-10-20  Mattias Engdegård  <mattiase@acm.org>
14273         Add missing rx symbols `bow' and `eow' to documentation
14275         * doc/lispref/searching.texi (Rx Constructs):
14276         * lisp/emacs-lisp/rx.el (rx):  Add missing synonyms.
14278 2019-10-20  Juri Linkov  <juri@linkov.net>
14280         * lisp/tab-bar.el (tab-bar-swap-tabs): Use cl-rotatef instead of rotatef.
14282 2019-10-20  Juri Linkov  <juri@linkov.net>
14284         * lisp/tab-bar.el (tab-bar-swap-tabs, tab-bar-move-tab): New commands.
14286         (tab-swap, tab-move): New aliases to new commands.
14288 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
14290         Disable pause/resume from menu in snake and tetris
14292         * lisp/play/tetris.el (tetris--menu-def):
14293         * lisp/play/snake.el (snake--menu-def): Disable pause/resume from
14294         menu.
14296 2019-10-20  Alan Mackenzie  <acm@muc.de>
14298         Optimize c-crosses-statement-barrier-p for large blocks of comment.
14300         This fixes bug #18134.
14302         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Give a limit
14303         to the c-backward-syntactic-ws which is searching for a virtual semicolon.  In
14304         the main loop, Use c-forward-syntactic-ws to skip blocks of comments.
14306 2019-10-20  Juri Linkov  <juri@linkov.net>
14308         Provide default value for tab-name/frame-name reading minibuffer
14310         * lisp/tab-bar.el (tab-bar-rename-tab, tab-bar-rename-tab-by-name):
14311         Provide default value for read-string.
14312         (tab-bar-select-tab-by-name): Alias for tab-bar-switch-to-tab.
14314         * lisp/frame.el (set-frame-name): Provide default value for
14315         read-string in interactive spec.
14317         * lisp/cus-start.el (tab-bar-position): Use choice instead of boolean.
14319 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14321         Make edebug-mode-map take precedence
14323         * lisp/emacs-lisp/edebug.el (edebug--recursive-edit): Bind
14324         minor-mode-overriding-map-alist to avoid other minor modes hiding the
14325         edebug commands (bug#11018).
14327 2019-10-20  Jimmy Aguilar Mena  <spacibba@aol.com>
14329         Fix internal-lisp-face-attributes to match face.
14331         * lisp/face-remap.el (internal-lisp-face-attributes): Updated the
14332         vector members to match the real member names. (Bug#37806) (Bug#37824)
14334 2019-10-20  Stephen Leake  <stephen_leake@stephe-leake.org>
14336         In xref-location-marker, handle deleted file or outdated xref location nicely
14338         * lisp/progmodes/xref.el (xref-location-marker): Add ignore-errors.
14340 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
14342         Update FAQ entry on XEmacs (Bug#37815)
14344         * doc/misc/efaq.texi (Difference between Emacs and XEmacs): Update
14345         section to reflect the current state of affairs.  XEmacs is not
14346         actively developed and is lacking many important features of Emacs.
14348 2019-10-20  Stefan Kangas  <stefankangas@gmail.com>
14350         Improve doc string of eshell and eshell-buffer-name
14352         * lisp/eshell/eshell.el (eshell-buffer-name, eshell): Improve doc
14353         strings, by clarifying how buffers are named.  Also refer users to the
14354         Info manual.  (Bug#37178)
14356 2019-10-20  Juanma Barranquero  <lekktu@gmail.com>
14358         * doc/lispref/display.texi (Low-Level Font): Describe max-width.
14360 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14362         Fix edebug--restore-breakpoints re-instrumentinging bug-out
14364         * lisp/emacs-lisp/edebug.el (edebug--restore-breakpoints): Don't
14365         bug out when instrumenting/de-instrumenting/re-instrumenting.
14367 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14369         Add a new edebug-breakpoint face
14371         * doc/lispref/edebug.texi (Breakpoints): Mention it.
14373         * lisp/emacs-lisp/edebug.el (edebug-breakpoint): New face.
14375 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14377         while-no-input-ignore-events manual clarification
14379         * doc/lispref/commands.texi (Event Input Misc): Be slightly
14380         clearer about what while-no-input-ignore-events is.
14382 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14384         New command to clear all breakpoints in a function
14386         * doc/lispref/edebug.texi (Breakpoints): Mention it.
14388         * lisp/emacs-lisp/edebug.el (edebug-unset-breakpoints): New
14389         command and keystroke.
14391 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14393         Preserve breakpoints when Edebug-reinstrumenting functions
14395         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): New
14396         function (bug#23470).
14398         * lisp/emacs-lisp/seq.el (seq-position): Autoload.
14400 2019-10-20  Michael Albinus  <michael.albinus@gmx.de>
14402         Fix docstrings in tramp.el
14404         * lisp/net/tramp.el (tramp-antispoof-regexp)
14405         (tramp-file-name-handler): Fix docstring.
14407 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14409         Change default to cancel all edebug-on-entry in cancel-edebug-on-entry
14411         * lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): Make the
14412         default to cancel all edebug-on-entry.
14414 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14416         Use user-error in cancel-edebug-on-entry
14418         * lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): This is a
14419         user-class error, so use user-error.
14421 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14423         Instrument function if it hasn't been already in edebug-set-breakpoint
14425         * lisp/emacs-lisp/edebug.el (edebug-set-breakpoint): Instrument
14426         form automatically when using this function (bug#23469).
14428 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14430         Fix up previous edebug breakpoint overlay change
14432         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints): Only
14433         make the overlays in edebug mode, so that we remove them when we
14434         exit.
14436 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14438         Mark breakpoints in edebug with highlights
14440         * lisp/emacs-lisp/edebug.el (edebug--overlay-breakpoints)
14441         (edebug--overlay-breakpoints-remove): New functions (bug#23468).
14442         (edebug-modify-breakpoint): Use them to highlight breakpoints.
14443         (edebug--display-1): Restore breakpoint highlights.
14444         (edebug--recursive-edit): Remove highlights on exit.
14446 2019-10-20  Juanma Barranquero  <lekktu@gmail.com>
14448         lisp/*.el: Fix typos and improve some docstrings
14450         * lisp/auth-source.el (auth-source-backend-parse-parameters)
14451         (auth-source-search-collection)
14452         (auth-source-secrets-listify-pattern)
14453         (auth-source--decode-octal-string, auth-source-plstore-search):
14454         * lisp/registry.el (registry-lookup)
14455         (registry-lookup-breaks-before-lexbind)
14456         (registry-lookup-secondary, registry-lookup-secondary-value)
14457         (registry-search, registry-delete, registry-size, registry-full)
14458         (registry-insert, registry-reindex, registry-prune)
14459         (registry-collect-prune-candidates):
14460         * lisp/subr.el (nbutlast, process-live-p):
14461         * lisp/tab-bar.el (tab-bar-list):
14462         * lisp/cedet/ede/linux.el (ede-linux--get-archs)
14463         (ede-linux--include-path, ede-linux-load):
14464         * lisp/erc/erc-log.el (erc-log-all-but-server-buffers):
14465         * lisp/erc/erc-pcomplete.el (pcomplete-erc-commands)
14466         (pcomplete-erc-ops, pcomplete-erc-not-ops, pcomplete-erc-nicks)
14467         (pcomplete-erc-all-nicks, pcomplete-erc-channels)
14468         (pcomplete-erc-command-name, pcomplete-erc-parse-arguments):
14469         * lisp/eshell/em-term.el (eshell-visual-command-p):
14470         * lisp/gnus/gnus-cache.el (gnus-cache-fully-p):
14471         * lisp/gnus/nnmail.el (nnmail-get-active)
14472         (nnmail-fancy-expiry-target):
14473         * lisp/mail/mail-utils.el (mail-string-delete):
14474         * lisp/mail/supercite.el (sc-hdr, sc-valid-index-p):
14475         * lisp/net/ange-ftp.el (ange-ftp-use-smart-gateway-p):
14476         * lisp/net/nsm.el (nsm-save-fingerprint-maybe)
14477         (nsm-network-same-subnet, nsm-should-check):
14478         * lisp/net/rcirc.el (rcirc-looking-at-input):
14479         * lisp/net/tramp-cache.el (tramp-get-hash-table):
14480         * lisp/net/tramp-compat.el (tramp-compat-process-running-p):
14481         * lisp/net/tramp-smb.el (tramp-smb-get-share)
14482         (tramp-smb-get-localname, tramp-smb-read-file-entry)
14483         (tramp-smb-get-cifs-capabilities, tramp-smb-get-stat-capability):
14484         * lisp/net/zeroconf.el (zeroconf-list-service-names)
14485         (zeroconf-list-service-types, zeroconf-list-services)
14486         (zeroconf-get-host, zeroconf-get-domain)
14487         (zeroconf-get-host-domain):
14488         * lisp/nxml/rng-xsd.el (rng-xsd-compile)
14489         (rng-xsd-make-date-time-regexp, rng-xsd-convert-date-time):
14490         * lisp/obsolete/erc-hecomplete.el (erc-hecomplete)
14491         (erc-command-list, erc-complete-at-prompt):
14492         * lisp/org/ob-scheme.el (org-babel-scheme-get-buffer-impl):
14493         * lisp/org/ob-shell.el (org-babel--variable-assignments:sh-generic)
14494         (org-babel--variable-assignments:bash_array)
14495         (org-babel--variable-assignments:bash_assoc)
14496         (org-babel--variable-assignments:bash):
14497         * lisp/org/org-clock.el (org-day-of-week):
14498         * lisp/progmodes/cperl-mode.el (cperl-char-ends-sub-keyword-p):
14499         * lisp/progmodes/gud.el (gud-find-c-expr, gud-innermost-expr)
14500         (gud-prev-expr, gud-next-expr):
14501         * lisp/textmodes/table.el (table--at-cell-p, table--probe-cell)
14502         (table--get-cell-justify-property)
14503         (table--get-cell-valign-property)
14504         (table--put-cell-justify-property)
14505         (table--put-cell-valign-property): Fix typos.
14507         * lisp/so-long.el (fboundp): Doc fix.
14508         (so-long-mode-line-info, so-long-mode)
14509         (so-long--check-header-modes): Fix typos.
14511         * lisp/emulation/viper-mous.el (viper-surrounding-word)
14512         (viper-mouse-click-get-word): Fix typos.
14513         (viper-mouse-click-search-word): Doc fix.
14515         * lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p)
14516         (erc-bounds-of-word-at-point): Fix typos.
14517         (erc-decode-string-from-target, define-erc-response-handler):
14518         Refill docstring.
14520         * lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC): Fix typo.
14521         (erc-dcc-get-host, erc-dcc-auto-mask-p, erc-dcc-get-file):
14522         Doc fixes.
14524         * lisp/erc/erc-networks.el (erc-network-name): Fix typo.
14525         (erc-determine-network): Refill docstring.
14527         * lisp/net/dbus.el (dbus-list-hash-table)
14528         (dbus-string-to-byte-array, dbus-byte-array-to-string)
14529         (dbus-check-event): Fix typos.
14530         (dbus-introspect-get-property): Doc fix.
14532         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
14533         Rename ARGS to ARGUMENTS.  Doc fix.
14534         (tramp-adb-sh-fix-ls-output, tramp-adb-execute-adb-command)
14535         (tramp-adb-find-test-command): Fix typos.
14537         * lisp/net/tramp.el (tramp-set-completion-function)
14538         (tramp-get-completion-function)
14539         (tramp-completion-dissect-file-name)
14540         (tramp-completion-dissect-file-name1)
14541         (tramp-get-completion-methods, tramp-get-completion-user-host)
14542         (tramp-get-inode, tramp-get-device, tramp-mode-string-to-int)
14543         (tramp-call-process, tramp-call-process-region)
14544         (tramp-process-lines): Fix typos.
14545         (tramp-interrupt-process): Doc fix.
14547         * lisp/org/ob-core.el (org-babel-named-src-block-regexp-for-name)
14548         (org-babel-named-data-regexp-for-name): Doc fix.
14549         (org-babel-src-block-names, org-babel-result-names): Fix typos.
14551         * lisp/progmodes/inf-lisp.el (lisp-input-filter): Doc fix.
14552         (lisp-fn-called-at-pt): Fix typo.
14554         * lisp/progmodes/xref.el (xref-backend-identifier-at-point):
14555         Doc fix.
14556         (xref-backend-identifier-completion-table): Fix typo.
14558 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14560         New command edebug-remove-instrumentation
14562         * doc/lispref/edebug.texi (Instrumenting): Document it.
14564         * lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): New
14565         command (bug#15843).
14567 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14569         Fix doc string and interactive spec of cancel-edebug-on-entry
14571         * lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): Add doc
14572         string and make the interactive spec complete over functions that
14573         have the spec (bug#10806).
14574         (edebug-cancel-edebug-on-entry): Add alias for discoverability.
14575         (edebug-on-entry): Clarify what this command does.
14577 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14579         Revert "Add an edebug-cancel-debug-on-entry alias"
14581         This reverts commit cea9577b7d6fcf01599afd48078f8ff1defb1297.
14583         cancel-edebug-on-entry and cancel-debug-on-entry are not the same functions.
14585 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14587         Add an edebug-cancel-debug-on-entry alias
14589         * lisp/emacs-lisp/debug.el (edebug-cancel-debug-on-entry): Add an
14590         alias for easier discoverability (bug#10806).
14592 2019-10-20  Lars Ingebrigtsen  <larsi@gnus.org>
14594         Protect against invalid punycode
14596         * lisp/net/puny.el (puny-decode-string): Protect against invalid
14597         punycode.
14599 2019-10-19  Juri Linkov  <juri@linkov.net>
14601         * lisp/net/eww.el (eww-browse-url-new-window-is-tab): New defcustom.
14603         (eww-open-in-new-buffer, eww-browse-url): Use new defcustom (bug#37592).
14605 2019-10-19  Juri Linkov  <juri@linkov.net>
14607         Use 'C-x t' for tab-prefix-map instead of 'C-x 6' still used by 2C-mode-map.
14609         * doc/emacs/commands.texi (Keys): Add 'C-x t'.
14610         * doc/emacs/frames.texi (Tab Bars): Replace 'C-x 6' with 'C-x t'.
14611         * doc/lispref/keymaps.texi (Prefix Keys): Add 'C-x t' (tab-prefix-map).
14612         * doc/lispref/maps.texi (Standard Keymaps): Add tab-prefix-map, tab-bar-map.
14614         * lisp/dired.el: Rebind 'C-x 6 d' to 'C-x t d'.  Use tab-prefix-map.
14616         * lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix, ctl-x-t-prefix): Remove.
14617         (tab-prefix-map): New keymap bound to 'C-x t'.
14619         * lisp/tab-bar.el: Use tab-prefix-map instead of ctl-x-6-map.
14621         * lisp/textmodes/two-column.el: Restore autoload global setting of
14622         "\C-x6" to 2C-command.
14624         * lisp/ldefs-boot.el: Update to add setting "\C-x6" to 2C-command.
14626         * doc/emacs/commands.texi (Keys):
14627         * doc/emacs/text.texi (Two-Column):
14628         * doc/lispref/keymaps.texi (Prefix Keys):
14629         * doc/lispref/maps.texi (Standard Keymaps):
14630         Restore 'C-x 6' bound to '2C-mode-map'.
14632 2019-10-19  Juri Linkov  <juri@linkov.net>
14634         Add ':extend t' face attribute to diff faces (bug#37774)
14636         * lisp/vc/diff-mode.el (diff-header, diff-file-header)
14637         (diff-removed, diff-added): Add ':extend t' face attribute.
14639         * lisp/vc/ediff-init.el (ediff-current-diff-A)
14640         (ediff-current-diff-B, ediff-current-diff-C)
14641         (ediff-current-diff-Ancestor, ediff-even-diff-A)
14642         (ediff-even-diff-B, ediff-even-diff-C, ediff-even-diff-Ancestor)
14643         (ediff-odd-diff-A, ediff-odd-diff-B, ediff-odd-diff-C)
14644         (ediff-odd-diff-Ancestor): Add ':extend t' face attribute.
14646         * lisp/vc/smerge-mode.el (smerge-upper, smerge-lower)
14647         (smerge-base, smerge-markers): Add ':extend t' face attribute.
14649         * lisp/vc/log-view.el (log-view-file, log-view-message):
14650         Add ':extend t' face attribute.
14652         * lisp/faces.el (secondary-selection): Add ':extend t' face attribute.
14653         (line-number-major-tick, line-number-minor-tick):
14654         Change :foreground to :background.
14656 2019-10-19  Glenn Morris  <rgm@gnu.org>
14658         * lisp/net/tramp.el (tramp-antispoof-regexp): Fix version.
14660 2019-10-19  Alan Mackenzie  <acm@muc.de>
14662         Don't downcase the key binding in global-set-key.
14664         This fixes bug #37769.
14666         * lisp/subr.el (global-set-key): Provide a non-nil DONT-DOWNCASE argument to
14667         read-key-sequence.
14669         * etc/NEWS: Add an entry for this change.
14671 2019-10-19  Eli Zaretskii  <eliz@gnu.org>
14673         Fix a recent change in Emacs FAQ
14675         * doc/misc/efaq.texi (New in Emacs 23, Common requests):
14676         Remove references to the removed section "Highlighting a
14677         region".
14679 2019-10-19  Michael Albinus  <michael.albinus@gmx.de>
14681         * doc/emacs/emacs.texi (Intro): Mention remote file editing.
14683 2019-10-19  Stefan Kangas  <stefankangas@gmail.com>
14685         Don't explain FTP acronym in FAQ
14687         * doc/misc/efaq.texi (Common acronyms): Remove explanation of the FTP
14688         acronym.  Emacs is no longer distributed over FTP, and the FAQ doesn't
14689         refer to any other FTP URLs.
14691 2019-10-19  Stefan Kangas  <stefankangas@gmail.com>
14693         Remove FAQ section "Highlighting a region" (Bug#37818)
14695         * doc/misc/efaq.texi (Highlighting a region): Remove section.
14697 2019-10-19  Michael Albinus  <michael.albinus@gmx.de>
14699         Support PuTTY's antispoof message in Tramp
14701         * lisp/net/tramp-sh.el (tramp-actions-before-shell):
14702         Add respective entry for PuTTY's antispoof message.
14704         * lisp/net/tramp.el (tramp-antispoof-regexp): New defcustom.
14705         (tramp-action-confirm-message): New defun.
14707 2019-10-19  Raimon Grau  <raimonster@gmail.com>
14709         Fix optional parameter passing in calc-fin-* functions
14711         * lisp/calc/calc-fin.el (calc-fin-pv, calc-fin-fv, calc-fin-pmt)
14712         (calc-fin-pner, calc-fin-rate): Add support for an optional
14713         parameter standing for an initial lump. The functions already
14714         support it but the extra parameter was not taken into account in
14715         stack mode. This commit it takes into consideration when deciding
14716         if a function takes 3 or 4 parameters (bug#37649).
14718 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
14720         Remove some compat code from cperl-mode.el
14722         * lisp/progmodes/cperl-mode.el: Remove old-Emacs compat code.
14724 2019-10-19  Eli Zaretskii  <eliz@gnu.org>
14726         Fix display of Info files on TTY frames
14728         * lisp/info.el (info-symbols-and-replacements): New variable.
14729         (Info-mode): Use 'info-symbols-and-replacements' to set up a
14730         buffer-display-table for non-ASCII symbols used by Info files
14731         that cannot be displayed on TTY frames.
14733 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
14735         Remove some compat code from CEDET
14737         * lisp/cedet/semantic.el (pp):
14738         * lisp/cedet/semantic/complete.el (initialize-instance): Remove
14739         old-Emacs compat code.
14741 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
14743         Remove some compat code from mm-url.el
14745         * lisp/gnus/mm-url.el (mm-url-use-external): Remove old-Emacs
14746         compat code.
14748 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
14750         Remove compat code from nnbabyl.el
14752         * lisp/gnus/nnbabyl.el (rmail): Remove old-Emacs compat code.
14754 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
14756         Remove some compat code in imap.el
14758         * lisp/net/imap.el (imap-sasl-auth-p): Remove old-Emacs compat code.
14760 2019-10-19  Hong Xu  <hong@topbug.net>
14762         special-mode doc string clarification
14764         * lisp/simple.el (special-mode): Make the doc string explain what
14765         special modes are for (bug#37787).
14767 2019-10-19  Lars Ingebrigtsen  <larsi@gnus.org>
14769         Don't have shr bug out if svg support isn't available
14771         * lisp/net/shr.el (shr-put-image): Don't bug out if SVG support
14772         isn't available.
14774 2019-10-19  Cédric Chépied  <cedric.chepied@delair.aero>
14776         Fix typo in tree-widget-lookup-image
14778         * lisp/tree-widget.el (tree-widget-lookup-image): Fix typo
14779         introduced by previous cleanup (bug#37809).
14781 2019-10-19  Eli Zaretskii  <eliz@gnu.org>
14783         A better fix for tab-line mouse highlight on TTY frames
14785         * src/dispnew.c (mode_line_string):
14786         * src/xdisp.c (note_mode_line_or_margin_highlight): Remove
14787         recently-added workarounds for incorrect TTY mouse highlight:
14788         they are no longer needed.
14789         (mark_window_display_accurate_1): Set the header_line_p and
14790         tab_line_p flags of the window's current_matrix if the window
14791         displays these.
14792         (display_mode_line): Set the header_line_p and tab_line_p
14793         flags of the window's desired_matrix if the window displays
14794         these.  (Bug#37807)
14796 2019-10-18  Stefan Kangas  <stefankangas@gmail.com>
14798         Remove XEmacs compat code from ezimage.el
14800         * lisp/ezimage.el (top-level): Remove XEmacs compat code.
14802 2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14804         Pacify x86 GCC 9 in tab bar code
14806         * src/xdisp.c (tty_get_tab_bar_item): Simplify a bit.  This
14807         pacifies --enable-gcc-warnings with x86 GCC 9.2.1 20190827
14808         (Red Hat 9.2.1-1) when combined with -fsanitize=undefined.
14810 2019-10-18  Stefan Kangas  <stefankangas@gmail.com>
14812         Remove XEmacs compat code from edt-mapper.el
14814         * lisp/emulation/edt-mapper.el (edt-mapper, edt-xserver)
14815         (edt-map-key): Remove XEmacs compat code.
14816         (edt-window-system): Redefine as obsolete variable alias for
14817         'window-system'.
14819 2019-10-18  Stefan Kangas  <stefankangas@gmail.com>
14821         Remove XEmacs compat code from esh-arg.el
14823         * lisp/eshell/esh-arg.el (eshell-quote-backslash): Remove XEmacs
14824         compat code.
14826 2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14828         Generalize list1i etc. to all signed integer types
14830         * src/lisp.h (list1i, list2i, list3i, list4i):
14831         Accept intmax_t instead of EMACS_INT, and use make_int instead
14832         of make_fixnum.  This should help avoid integer-overflow
14833         problems akin to the Time bug (Bug#37795).
14835 2019-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14837         Fix integer-overflow bug in Time conversion
14839         Problem reported by Stefan Monnier (Bug#37795).
14840         * src/keyboard.c (make_lispy_position)
14841         (make_scroll_bar_position, make_lispy_event):
14842         * src/xterm.c (x_ewmh_activate_frame):
14843         Use INT_TO_INTEGER to convert Time to a Lisp integer,
14844         since the value might not be a fixnum.
14846 2019-10-18  Michael Albinus  <michael.albinus@gmx.de>
14848         * test/lisp/net/tramp-tests.el (remote-file-name-inhibit-cache): Set to nil.
14850 2019-10-18  Michael Albinus  <michael.albinus@gmx.de>
14852         Support old Samba versions in Tramp
14854         * doc/misc/tramp.texi (Relevant connection properties to override):
14855         New subsection.
14857         * lisp/net/tramp-smb.el (tramp-smb-get-cifs-capabilities): Check "posix"
14858         connection property.
14860         * lisp/net/tramp.el (with-tramp-progress-reporter): Fix docstring.
14862 2019-10-18  Eli Zaretskii  <eliz@gnu.org>
14864         Fix mouse highlight with tab-line on TTY frames
14866         * src/xdisp.c (note_mode_line_or_margin_highlight):
14867         * src/dispnew.c (mode_line_string): Fix mouse highlight on TTY
14868         frames when both header line and tab-line are displayed.
14869         (Bug#37807)
14871 2019-10-18  Eli Zaretskii  <eliz@gnu.org>
14873         Fix handling of mouse events on header line with tab-line
14875         * src/window.c (coordinates_in_window): Fix conditions for
14876         coordinates being on the window's header line when that
14877         window also displays a tab-line.  (Bug#37807)
14879 2019-10-18  Mattias Engdegård  <mattiase@acm.org>
14881         Use [^z-a] for matching any character (anychar/anything) in rx
14883         * lisp/emacs-lisp/rx.el (rx--translate-symbol):
14884         * test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-atoms):
14885         Use [^z-a] instead of ".\\|\n" for anychar.
14887         The new expression is faster (about 2×) and does not allocate regexp
14888         stack space.  For example, (0+ anychar) now matches strings of any
14889         size (bug#37659).
14891 2019-10-18  Mattias Engdegård  <mattiase@acm.org>
14893         Add `unmatchable' as alias for (or) in rx (bug#37659)
14895         * lisp/emacs-lisp/rx.el (rx--translate-symbol, rx--builtin-symbols, rx):
14896         * test/lisp/emacs-lisp/rx-tests.el (rx-atoms):
14897         * doc/lispref/searching.texi (Rx Constructs):
14898         * etc/NEWS:
14899         Add `unmatchable', more descriptive than (or), and corresponding to
14900         the variable `regexp-unmatchable'.
14902 2019-10-18  Mattias Engdegård  <mattiase@acm.org>
14904         Add `anychar' as alias to `anything' in rx (bug#37659)
14906         * lisp/emacs-lisp/rx.el (rx--translate-symbol, rx--builtin-symbols, rx):
14907         * test/lisp/emacs-lisp/rx-tests.el (rx-atoms):
14908         * doc/lispref/searching.texi (Rx Constructs):
14909         * etc/NEWS:
14910         Add `anychar', an alias for `anything'.  Since `anychar' is more
14911         descriptive (and slightly shorter), treat it as the preferred name.
14913 2019-10-17  Michael Heerdegen  <michael_heerdegen@web.de>
14915         Extend debug spec of cl-flet (Bug#34481)
14917         * lisp/emacs-lisp/cl-macs.el (cl-flet): Extend debug spec to cover
14918         definitions of the form (FUNC EXP).
14920 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
14922         Port snake menu to Emacs
14924         * lisp/play/snake.el (snake--menu-def): New constant.
14925         (snake-mode-menu, snake-null-menu): Add a menu.
14926         (snake-mode): Remove XEmacs compat code.
14927         (snake-mode-map, snake-null-map): Add docstring.
14929 2019-10-17  Martin Rudalics  <rudalics@gmx.at>
14931         In 'bury-buffer' don't try to remove current buffer from minibuffer window
14933         * lisp/window.el (bury-buffer): Don't try to remove current buffer
14934         from minibuffer window.
14936 2019-10-17  Eli Zaretskii  <eliz@gnu.org>
14938         * lisp/recentf.el (recentf-mode): Doc fix.  (Bug#37772)
14940         * lisp/dired.el (dired-auto-revert-buffer): Doc fix.  (Bug#37771)
14942 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
14944         Port tetris menu to Emacs
14946         * lisp/play/tetris.el (tetris--menu-def): New constant.
14947         (tetris-mode-menu, tetris-null-menu): Add a menu.
14948         (tetris-mode): Remove XEmacs compat code.
14949         (tetris-null-map, tetris-mode-map): Add docstring.
14951 2019-10-17  Michael Albinus  <michael.albinus@gmx.de>
14953         * lisp/shell.el (shell): Make shell buffer the current buffer.  (Bug#37745)
14955 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
14957         Remove XEmacs compat code from ffap.el
14959         * lisp/ffap.el (ffap-what-domain): Remove XEmacs compat code.
14961 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
14963         Remove XEmacs compat code from imap.el
14965         * lisp/net/imap.el (imap-disable-multibyte): Declare obsolete.
14966         (imap-log, imap-open): Remove XEmacs compat code.
14968 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
14970         Remove obsolete XEmacs references from manuals
14972         * doc/misc/erc.texi:
14973         * doc/misc/eshell.texi:
14974         * doc/misc/htmlfontify.texi:
14975         * doc/misc/remember.texi:
14976         * doc/misc/sieve.texi:
14977         * doc/misc/viper.texi: Remove obsolete XEmacs references.
14979 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
14981         Remove XEmacs reference from viper refcard
14983         * etc/refcards/viperCard.tex: Remove reference to XEmacs.
14985 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
14987         Remove XEmacs compat code from tcl.el
14989         * lisp/progmodes/tcl.el (tcl-mode): Remove XEmacs compat code.
14990         (tcl-popup-menu): Declare obsolete.
14992 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
14994         Remove XEmacs reference from erc-button.el todo
14996         * lisp/erc/erc-button.el: Remove reference to XEmacs from a todo item.
14998 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
15000         Remove commented out XEmacs compat code from po.el
15002         * lisp/textmodes/po.el: Remove commented out XEmacs compat code.
15004 2019-10-17  Stefan Kangas  <stefankangas@gmail.com>
15006         Improve documentation of shell-command-prompt-show-cwd
15008         * doc/emacs/misc.texi (Single Shell):
15009         * lisp/simple.el (shell-command): Document
15010         'shell-command-prompt-show-cwd'.  (Bug#4987)
15012 2019-10-16  Peter Oliver  <git@mavit.org.uk>  (tiny change)
15014         Allow vc-sccs-diff to work with TRAMP
15016         * lisp/vc/vc-sccs.el (vc-sccs-diff): If the diff command is to be
15017         run remotely, then the temporary files it's acting on must be
15018         remote too (bug#37777).
15020 2019-10-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>  (tiny change)
15022         Add ui.report_untrusted=0 to vc-hg log commands
15024         * lisp/vc/vc-hg.el (vc-hg-state-slow, vc-hg-merge-branch)
15025         (vc-hg-command): Add "--config" "ui.report_untrusted=0" to the
15026         log commands to avoid "Hg-not trusting file " messages in the mode
15027         line (bug#31497).
15029 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
15031         lisp/*.el, src/*.c: Doc fixes related to returning t vs non-nil
15033         * lisp/progmodes/flymake-proc.el (flymake-proc--find-buffer-for-file):
15034         Doc fix; return value is a buffer, not t.
15036         * lisp/progmodes/ebrowse.el (ebrowse-member-display-p):
15037         Doc fix; return value is the MEMBER argument, not nil.
15039         * lisp/files.el (hack-one-local-variable-eval-safep):
15040         * lisp/play/doctor.el (doctor-nounp, doctor-pronounp):
15041         * lisp/progmodes/flymake-proc.el (flymake-proc--check-include):
15042         * lisp/progmodes/js.el (js--broken-arrow-terminates-line-p):
15043         Doc fix; a non-nil return value is not always t.
15045         * lisp/image.el (image-type-available-p):
15046         * lisp/simple.el (region-active-p):
15047         * lisp/window.el (frame-root-window-p):
15048         * src/buffer.c (Fbuffer_live_p):
15049         * src/image.c (Finit_image_library):
15050         * src/window.c (Fwindow_minibuffer_p):
15051         Doc fix; a non-nil return value is always t.
15053         * doc/lispref/minibuf.texi (Minibuffer Windows): Doc fix.
15055 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
15057         lisp/*.el: Force non-nil result to t, to match docstring
15059         * lisp/emacs-lock.el (emacs-lock-live-process-p):
15060         * lisp/shadowfile.el (shadow-file-match):
15061         * lisp/emacs-lisp/edebug.el (edebug-basic-spec):
15062         * lisp/mail/rmail.el (rmail-expunge-confirmed):
15063         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
15064         * lisp/progmodes/idlwave.el (idlwave-quoted):
15065         * lisp/progmodes/idlw-shell.el (idlwave-shell-filename-string):
15066         * lisp/textmodes/refbib.el (r2b-isa-proceedings):
15067         * lisp/textmodes/texnfo-upd.el (texinfo-find-lower-level-node):
15068         Normalize boolean result.
15070 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
15072         * lisp/wid-edit.el (widget-default-active): Normalize boolean result.
15074 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
15076         Add/fix documentation for widget-apply
15078         * doc/misc/widget.texi (Widget Properties): Document `widget-apply'.
15080         * src/fns.c (Fwidget_apply): Document return value (used in many
15081         places).
15083 2019-10-16  Michael Albinus  <michael.albinus@gmx.de>
15085         Adapt Tramp's sudo method for non-default shells (Bug#31924)
15087         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Change template.
15088         (tramp-maybe-open-connection): Remove `tramp-login-env'.  (Bug#31924)
15090         * lisp/net/tramp.el (tramp-methods): Remove docstring for `tramp-login-env'.
15092 2019-10-16  Juanma Barranquero  <lekktu@gmail.com>
15094         lisp/speedbar.el: Fix computation of boolean return values
15096         * lisp/speedbar.el (speedbar-check-vc-this-line):
15097         Normalize boolean result.
15098         (speedbar-this-file-in-vc): Use `run-hook-with-args-until-success'
15099         to check for files under version control.  Doc fix.
15101 2019-10-16  Michael Albinus  <michael.albinus@gmx.de>
15103         * etc/NEWS: Apply "user option" when possible.  Fix other oddities.
15105 2019-10-16  Martin Rudalics  <rudalics@gmx.at>
15107         Handle top margin change in adjust_frame_size
15109         * src/frame.c (adjust_frame_size): Handle case where only
15110         pseudo windows changed height so the top margin has to be
15111         adjusted.
15112         * src/window.c (Fset_window_configuration): Call
15113         adjust_frame_size with inhibit 4.
15115 2019-10-16  Lars Ingebrigtsen  <larsi@gnus.org>
15117         Expand <<- heredocs in sh
15119         * lisp/progmodes/sh-script.el (sh--maybe-here-document): Make <<-
15120         expansion work, too.
15122 2019-10-15  Robert Pluim  <rpluim@gmail.com>
15124         Allow event description to be empty
15126         The previous fix for this was incomplete.
15128         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event->org-entry):
15129         Allow description to be nil.
15131 2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>
15133         Fix some &rest body edebug specs
15135         * lisp/ses.el (ses--letref):
15137         * lisp/emacs-lisp/crm.el (crm--completion-command): Fix edebug
15138         &rest body spec (bug#28747).
15140         * lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
15142         * lisp/emacs-lisp/inline.el (inline--leteval)
15143         (inline--letlisteval, inline-letevals):
15145 2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>
15147         Tweak heredoc expansion in shell-script-mode
15149         * lisp/progmodes/sh-script.el (sh--maybe-here-document): Allow
15150         expanding <<E, too.
15152 2019-10-15  Juri Linkov  <juri@linkov.net>
15154         Declare tab-bar-tabs the single source of truth in regard to current tab name
15156         * lisp/tab-bar.el: Replace all calls of tab-bar-tabs
15157         with '(funcall tab-bar-tabs-function)'.
15158         (tab-bar-tabs): Update the current tab name here
15159         instead of tab-bar-make-keymap-1.
15160         (tab-bar-make-keymap-1): Move the current tab name updating
15161         to tab-bar-tabs.
15163 2019-10-15  Robert Cochran  <robert-git@cochranmail.com>
15165         Allow tabs to have consistent given names
15167         * lisp/tab-bar.el (tab-bar--tab): Pull automatic name information from
15168         current tab
15169         (tab-bar--current-tab): Pull automatic name information from current
15170         tab, or from new optional template argument
15171         (tab-bar-select-tab): Pass the target tab as a template when setting
15172         it as current tab
15173         (tab-bar-rename-tab, tab-bar-rename-tab-by-name): New functions
15174         * doc/emacs/frames.texi (Tab Bars): Document new tab rename functionality.
15176 2019-10-15  Juri Linkov  <juri@linkov.net>
15178         * lisp/tab-bar.el (tab-bar-select-tab-modifiers): New defcustom.
15180         (tab-bar-mode): Use tab-bar-select-tab-modifiers to bind
15181         tab-bar-select-tab.
15182         Don't override user customized key bindings of C-TAB, C-S-TAB.
15183         On disabling tab-bar-mode, unset only keys bound by tab-bar.
15185 2019-10-15  Juri Linkov  <juri@linkov.net>
15187         Don't use expand-file-name to find images for tabs.
15189         * lisp/tab-bar.el (tab-bar-mode):
15190         * lisp/tab-line.el (tab-line-new-button, tab-line-close-button):
15191         Remove expand-file-name with data-directory.
15193 2019-10-15  Juri Linkov  <juri@linkov.net>
15195         New variable tab-bar-position
15197         * lisp/cus-start.el: Add customization for tab-bar-position.
15198         * src/dispnew.c (syms_of_display): New variable Vtab_bar_position.
15199         (adjust_frame_glyphs_for_window_redisplay): Use it.
15201 2019-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
15203         * lisp/rect.el (string-rectangle): Inherit input method in minibuffer
15205 2019-10-15  Eric Ludlam  <zappo@gnu.org>
15207         Fix test data broken by removing trailing whitespace.
15209 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
15211         Adapt the CEDET SRecoder getset tests to use ERT
15213         These tests were copied from CEDET from SourceForge.
15214         Author: Eric Ludlam <zappo@gnu.org>
15216 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
15218         Adapt the CEDET SRecoder template test to use ERT
15220         These tests were copied from CEDET from SourceForge.
15221         Author: Eric Ludlam <zappo@gnu.org>
15223 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
15225         Copy CEDET/Semantic's tag formatter test suite to be an
15227         automated test.
15228         These tests were copied from CEDET on Sourceforge and adapted to use ERT.
15229         Author: Eric Ludlam <zappo@gnu.org>
15231 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
15233         Update CEDET manual tests so that they run.
15235         To run visit test/manual/cedet/cedet-utests.el
15236         M-x eval-buffer
15237         M-x cedet-utest
15238         Author: Eric Ludlam <zappo@gnu.org>
15240 2019-10-15  Eric Ludlam  <eric@siege-engine.com>
15242         Convert manual CEDET tests from test/manual/cedet to be
15244         automated tests in test/lisp/cedet.
15245         Author: Eric Ludlam <zappo@gnu.org>
15247 2019-10-15  Robert Pluim  <rpluim@gmail.com>
15249         Fix duplicated words in lispref
15251         * doc/lispref/text.texi (Base 64):
15252         * doc/lispref/internals.texi (Window Internals): Remove duplicated
15253         words.
15255 2019-10-15  Robert Pluim  <rpluim@gmail.com>
15257         Fix duplicated words in comments
15259         * src/coding.c (encode_string_utf_8):
15260         * src/keyboard.c (syms_of_keyboard):
15261         * src/mini-gmp.c (gmp_lucas_mod, mpz_export):
15262         * src/pdumper.c (dump_set_referrer, dump_queue_compute_score):
15263         * src/timefns.c (Ftime_convert): Remove duplicated words.
15265 2019-10-15  Eli Zaretskii  <eliz@gnu.org>  (tiny change)
15267         Fix recording keyboard macros in Calc
15269         * lisp/calc/calc.el (calc-unread-command): Prevent recording
15270         key twice when defining a keyboard macro.  Patch by Christoph
15271         Arenz <tiga.arenz@web.de>.
15273 2019-10-15  Daiki Ueno  <ueno@gnu.org>
15275         auth-source: Fix wrong-type-argument when searching plstore
15277         `auth-source-search' can be called with an integer port number from
15278         `network-stream-certificate`, while the backend implementation doesn't
15279         allow non-string attributes.
15281         * lisp/auth-source.el (auth-source-plstore-search): Ensure attributes
15282         are string.
15284 2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>
15286         Revert "Remove XEmacs code from tetris.el"
15288         This reverts commit 68b91333d5a070c84afeadc273fd5c44df70f0a6.
15290         This should be ported to Emacs instead.
15292 2019-10-15  Lars Ingebrigtsen  <larsi@gnus.org>
15294         Revert "Remove XEmacs-only code from snake.el"
15296         This reverts commit 7174a2b59f4cb883beb70bb3d182d59ab425e2f1.
15298         This should be ported to Emacs instead.
15300 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
15302         Make auth-source work with non-ASCII passwords again
15304         * lisp/auth-source.el (auth-source--obfuscate): Convert the string
15305         to bytes before obfuscating.
15306         (auth-source--deobfuscate): Convert back into a string (bug#37758).
15308 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
15310         Add new macro `benchmark-progn'
15312         * doc/lispref/debugging.texi (Profiling): Mention it.
15314         * lisp/emacs-lisp/benchmark.el (benchmark-progn): New macro.
15316 2019-10-14  Carlos Pita  <carlosjosepita@gmail.com>
15318         Fix python-shell font-lock cleanup for unclosed quotes (Bug#32390)
15320         The problem originating this report was:
15322         -------------
15323         In [15]: "
15324           File "<ipython-input-15-3b7a06bb1102>", line 1
15325             "
15326              ^
15327         SyntaxError: EOL while scanning string literal
15329         In [16]:   string face still here"
15330         -------------
15332         This happens because
15333         python-shell-font-lock-comint-output-filter-function is called twice,
15334         first for the error output and then for the "In [16]: " part.  The
15335         first time python-shell-comint-end-of-output-p returns nil since
15336         we're *not* at the end of an input prompt.  The second time it returns
15337         0 since we're at the end of *just* an input prompt.  So we don't call
15338         python-shell-font-lock-cleanup-buffer either time.
15340         The current code is relying in a very weak rule: it considers "just an
15341         input prompt" to be a continuation prompt.  Another unreliable aspect
15342         of the current rule is that sometimes
15344             (python-shell-comint-end-of-output-p (ansi-color-filter-apply output))
15346         returns 1 and not 0 for continuation prompts.  In short, the rule does
15347         a very poor job identifying continuations.
15349         * lisp/progmodes/python.el (python-shell-font-lock-cleanup-buffer):
15350         Don't check for empty OUTPUT since python-shell-comint-end-of-output-p
15351         returns nil for that anyway.  Don't check for
15352         python-shell-comint-end-of-output-p returning a specific number
15353         because it's unreliable, just check for any non-nil.  Identify
15354         continuation prompts by looking for "...".
15356 2019-10-14  Juri Linkov  <juri@linkov.net>
15358         Add images on tab-bar buttons the first time the tab bar is activated
15360         * lisp/tab-bar.el (tab-bar-mode): Set display property with image files
15361         on tab-bar-new-button and tab-bar-close-button when tab-bar-mode is enabled
15362         the first time.
15363         (tab-bar-new-button, tab-bar-close-button): Use default values
15364         without display image properties.  (Bug#37685)
15366 2019-10-14  Juanma Barranquero  <lekktu@gmail.com>
15368         lisp/*.el: Force non-nil result to t, to match docstring
15370         * lisp/ido.el (ido-ignore-item-p):
15371         * lisp/simple.el (use-region-p):
15372         * lisp/whitespace.el (whitespace-style-face-p)
15373         (whitespace-style-mark-p):
15374         * lisp/calendar/cal-islam.el (calendar-islamic-leap-year-p):
15375         * lisp/mail/rmail.el (rmail-is-text-p):
15376         * lisp/mh-e/mh-alias.el (mh-alias-for-from-p):
15377         * lisp/net/imap.el (imap-message-flag-permanent-p):
15378         * lisp/progmodes/tcl.el (tcl-real-comment-p):
15379         * lisp/textmodes/table.el (table--point-in-cell-p):
15380         Normalize boolean result.
15382 2019-10-14  Juri Linkov  <juri@linkov.net>
15384         Set tab-line face height to 0.9.
15386         * lisp/tab-line.el (tab-line): Set :height to 0.9.
15387         * lisp/tab-bar.el (tab-bar): Remove :height.
15389 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
15391         Remove the find-file-visit-truename safe-local-variable
15393         * lisp/files.el (find-file-visit-truename): Remove the
15394         safe-local-variable put, because the variable is checked too late
15395         to actually make a difference (bug#36830).
15397 2019-10-14  Štěpán Němec  <stepnem@gmail.com>
15399         quail/py-b5: Use U+3007 for ideographic zero (bug#3179)
15401         * leim/leim-ext.el ("quail/PY-b5"): Use U+3007 instead of U+25CB for
15402         ideographic zero.  U+25CB (used previously) is only one of the several
15403         lookalikes (bug#3179).
15405 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
15407         require-final-newline doc string clarification
15409         * lisp/files.el (require-final-newline): Mention that the variable
15410         applies to visited files (bug#34986).
15412 2019-10-14  Juri Linkov  <juri@linkov.net>
15414         Use variable-pitch fonts in tab-bar and tab-line faces
15416         * lisp/tab-bar.el (tab-bar):
15417         * lisp/tab-line.el (tab-line):
15418         Inherit face from variable-pitch.
15420 2019-10-14  Stefan Kangas  <stefankangas@gmail.com>
15422         Clarify C void type description in semantic
15424         * admin/grammars/c.by: Clarify void type.  (Bug#9222)
15426 2019-10-14  Lars Ingebrigtsen  <larsi@gnus.org>
15428         dired-do-shell-command doc string fix
15430         * lisp/dired-aux.el (dired-do-shell-command): Mention the guesser
15431         variables (bug#16562).
15433 2019-10-14  Juri Linkov  <juri@linkov.net>
15435         Fix initial value of frame-inhibit-implied-resize
15437         * src/frame.c (syms_of_frame): Update doc string and default value of
15438         frame-inhibit-implied-resize in NS to include 'tab-bar-lines.
15440 2019-10-14  Eli Zaretskii  <eliz@gnu.org>
15442         Minor fixes in Introduction to Emacs Lisp
15444         * doc/lispintro/emacs-lisp-intro.texi (if, save-excursion):
15445         'defun' is a macro, not a special form anymore.  (Bug#37747)
15447 2019-10-14  Juri Linkov  <juri@linkov.net>
15449         * lisp/tab-bar.el (tab-bar-tab-name-current): Fix with buffer-name.
15451 2019-10-14  Stefan Kangas  <stefankangas@gmail.com>
15453         Improve documentation of dired-do-chmod
15455         * lisp/dired-aux.el (dired-do-chmod): Doc fix.  The part about
15456         MS-Windows was written by Eli Zaretskii.  (Bug#24897)
15458 2019-10-14  Philipp Stephani  <phst@google.com>
15460         Enable modules by default.
15462         The interface has been stable since Emacs 25, and most bugs are fixed
15463         by now.
15465         * configure.ac: Enable modules by default.
15467 2019-10-14  Michael Albinus  <michael.albinus@gmx.de>
15469         Suppress eager completion on not connected hosts in Tramp
15471         * lisp/net/tramp.el (tramp-completion-handle-file-name-completion):
15472         Bind `non-essential' to t.
15474 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15476         Merge branch 'feature/extend_face_id'
15478         New face attribute :extend to control the face extension after
15479         EOL.
15481         necessary, # especially if it merges an updated upstream into a topic
15482         branch.  # # Lines starting with '#' will be ignored, and an empty
15483         message aborts # the commit.
15485 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15487         Fix issue calling face_at_pos.
15489         *src/xdisp.c (extend_face_to_end_of_line): Add extra condition when
15490         producing glyphs from a C string to not call face_at_pos.
15492 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15494         Modify face_at_pos to not modify change IT.
15496         src/xdisp.c (face_at_pos): Removed code to that modified
15497         it->start_of_box_run_p and it->face_box_p.  This function should not
15498         modify it.
15499         (handle_face_prop): Added code to update it->start_of_box_run_p and
15500         it->face_box_p.
15501         (underlying_face_id): Input IT made CONST.
15503 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15505         *etc/NEWS: Added comment about :extend face attribute in NEWS.
15507 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15509         Document new :extend face attribute in manuals.
15511         Some stylistic corrections in src/xdisp.c and src/xfaces.c.
15513 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15515         Fixed merge_face_ref recursive calls.
15517         * src/xfaces.c (merge_face_ref): Fixed recursive calls to consider
15518         filter when CONSP (face_ref).
15520 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15522         Optimization in extend_face
15524         * src/xdisp.c (extend_face_to_end_of_line): Optimization to void
15525         calls to face_at_pos.
15527 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15529         Extend_face simplify.
15531         * src/dispextern.h (struct it): Removed extend_face unneeded members.
15532         * src/xdisp.c (handle_face_prop_general): renamed to face_at_pos and
15533         removed input parameter initial_face_id. Updated all occurrences.
15535 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15537         Added parameter attr_filter to face_at_string_position.
15539         Update all the occurrences in src/xdisp.c and src/xfaces.c
15541 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15543         Extend face hl-line after end-of-line
15545         * lisp/hl-line.el (face hl-line): Added extend attribute to hl-line
15546         face.
15548 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15550         Fix last change in append_space_for_newline.
15552          * src/xdisp.c (append_space_for_newline): Code refactor and
15553          simplification.
15555 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15557         Add space for cursor to work also in terminal.
15559         * src/xdisp.c (append_space_for_newline): Modified to add the space
15560         with the last face also in terminal interface.
15561         (fill_column_indicator_column): Modified to group more conditions.
15562         (extend_face_to_end_of_line): Simplified code in
15563         fill_column_indicator to use the new function.
15565 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15567         Changed handle_face_prop_general prototype.
15569         * src/xdisp.c (handle_face_prop_general): Changed function prototype
15570         to receive different arguments.
15572 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15574         Fixed extend face filtered for prop.
15576         * src/xfaces.c (face_at_buffer_position): Pass ATTR_FILTER to
15577         merge_face_ref in when !NILP (prop).
15579 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15581         Call handle_face_prop_general to extend face.
15583         * src/xdisp.c (extend_face_to_end_of_line): Added a call to
15584         handle_face_prop_general to extend face after EOL according to
15585         parameter :extend in the faces.
15587 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15589         Update dfci code with new extend_face code.
15591         * src/xdisp.c (extend_face_to_end_of_line): Updated the
15592         column-indicator code to use the new version of the function
15593         fill_column_indicator_column.
15595 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15597         New parameter to control the face extension..
15599         * src/xdisp.c (handle_face_prop_general): New function to specialize
15600         handle_face_prop with ATTR_FILTER.
15601         * src/dispextern.h (face_at_buffer_position): Added
15602         LFACE_ATTRIBUTE_INDEX.
15603         * src/xfaces.c (merge_face_ref): Added LFACE_ATTRIBUTE_INDEX to merge
15604         conditionally.
15606 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15608         Added face parameter :extend.
15610         This is an initial change to add a parameter :extend that will be used
15611         in the display engine later.
15613 2019-10-14  Jimmy Aguilar Mena  <spacibba@aol.com>
15615         Simplify struct face to use only underline.
15617         * src/dispextern.h (enum face_underline_type): Add FACE_NO_UNDERLINE = 0.
15618         (struct face): Merge `underline_type` and `underline_p` into `underline`.
15619         Update all the occurrences in src/xdisp.c, src/xfaces.c, and src/xterm.c.
15621 2019-10-14  Robert Pluim  <rpluim@gmail.com>
15623         Fix directory-files-recursively doc typo
15625         * lisp/files.el (directory-files-recursively): Fix doc string.
15627 2019-10-14  Martin Rudalics  <rudalics@gmx.at>
15629         Fix bug recently introduced in 'fit-window-to-buffer' (Bug#37743)
15631         * lisp/window.el (fit-window-to-buffer): Call 'window-combined-p'
15632         with right argument (Bug#37743).
15634 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15636         Fix up previous dired change again
15638         * lisp/dired.el (dired-set-id): Fix the name of the face after the
15639         previous change.
15641 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15643         Fix typo in previous dired change
15645         * lisp/dired.el (dired-set-idguid): Remove superfluous '
15646         introduced by previous change (bug#37742).
15648 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15650         (help-fns--var-aliases): Fix compilation warning in previous patch.
15652 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15654         Make `C-h v' list all aliases a variable has
15656         * lisp/help-fns.el (help-fns--var-aliases): New function (bug#15179).
15658 2019-10-13  Hong Xu  <hong@topbug.net>
15660         Make url-hexify-string accept a list of allowed chars (bug#26469)
15662         * lisp/url/url-util.el (url-hexify-string): Accept a list of allowed
15663         chars.
15664         * doc/misc/url.texi (URI Encoding): Update url-hexify-string doc and
15665         index improvements (bug#24694).
15667 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15669         Tweak ispell-init-process messaging
15671         * lisp/textmodes/ispell.el (ispell-init-process): Output a "done"
15672         after the "starting" message (bug#12828).
15674 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15676         Add a new tar-copy-preserve-time variable
15678         * lisp/tar-mode.el (tar-copy-preserve-time): New variable (bug#11882).
15679         (tar-copy): Use it.
15681 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15683         Clarify message about newer source file
15685         * src/lread.c (Fload): Mention which file was actually used
15686         instead of just saying that the .el is newer than the .elc (bug#10637).
15688 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15690         Allow zap-to-char to use a history
15692         * doc/emacs/killing.texi (Other Kill Commands): Document it.
15694         * lisp/simple.el (read-char-with-history): New function (bug#10477).
15695         (zap-to-char): Use it to have a history.
15697 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15699         Font-lock suid/guid files in Dired
15701         * lisp/dired.el (dired-font-lock-keywords): Font-lock suid/guid
15702         permissions (bug#8186).
15703         (dired-sguid): New face.
15705 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15707         Further changes to ensure that copy-keymap doesn't segfault
15709         * src/keymap.c (copy_keymap_1, copy_keymap_set_char_table): Ensure
15710         we don't recurse infinitely when using non-sparse keymaps, too.
15712         This change makes this form not segfault:
15714         (let ((map (make-keymap)))
15715           (define-key map " " map)
15716           (copy-keymap map))
15718 2019-10-13  Stefan Kangas  <stefankangas@gmail.com>
15720         Clarify mouse commands section in manual
15722         * doc/emacs/frames.texi (Mouse Commands): Clarify section on mouse
15723         wheel somewhat.  (Bug#28182)
15725 2019-10-13  Juri Linkov  <juri@linkov.net>
15727         Don't display the number of windows in tab name in tab-bar by default.
15729         * lisp/tab-bar.el (tab-bar-tab-name-function): Change the default value.
15730         (tab-bar-tab-name-current): Rename from tab-bar-tab-name-selected-window.
15731         (tab-bar-tab-name-current-with-count): New function.
15732         (tab-bar-tab-name-all): Rename from tab-bar-tab-name-all-windows.
15734 2019-10-13  Juri Linkov  <juri@linkov.net>
15736         * lisp/window.el (next-buffer, previous-buffer): Add repeat count arg.
15738         * doc/emacs/buffers.texi (Select Buffer): Mention arg as repeat count.
15739         (Bug#37514)
15741 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15743         Make list-buffers--refresh preserve marks
15745         * lisp/buff-menu.el (list-buffers--refresh): Preserve the marked
15746         buffers when refreshing the list (bug#6491).
15748 2019-10-13  Juri Linkov  <juri@linkov.net>
15750         Enable tab-bar-mode from X resources
15752         * lisp/startup.el (x-apply-session-resources): Enable tab-bar-mode
15753         when X resource "tabBar" class "TabBar" is "on", "yes" or "1".
15755         * doc/man/emacs.1.in:
15756         * doc/emacs/xresources.texi (Table of Resources):
15757         Document X resource "tabBar" (class "TabBar").
15759 2019-10-13  Juri Linkov  <juri@linkov.net>
15761         Fix initial value of frame-inhibit-implied-resize
15763         * src/frame.c (syms_of_frame): Update doc string and default value of
15764         frame-inhibit-implied-resize in NS to not include 'tab-bar-lines,
15765         and non-toolkit X builds to include 'tab-bar-lines.
15767 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15769         Fix hitting RET on some text in compilation-mode
15771         * lisp/progmodes/compile.el (compilation-next-error-function):
15772         Don't bug out with an incomprehensible error message on "make[2]:"
15773         texts (bug#5316).
15774         (compilation-find-file): Protect against there being no file name.
15776 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
15778         * src/xdisp.c (note_tab_bar_highlight): Simplify HAVE_NS ifdefs.
15780 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15782         Add a new action in save-some-buffers to view the buffer
15784         * doc/emacs/files.texi (Save Commands): Document it.
15786         * lisp/files.el (save-some-buffers-action-alist): Offer to pop to
15787         the buffer and then quit (bug#3625).
15788         (save-some-buffers): Implement it.
15789         (save-some-buffers--switch-window-callback): New variable.
15791 2019-10-13  Mattias Engdegård  <mattiase@acm.org>
15793         Correctly explain test failures with mixed uni/multibyte strings
15795         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
15796         * test/lisp/emacs-lisp/ert-tests.el (ert-test-explain-equal):
15797         When explaining a difference between a unibyte and a multibyte string,
15798         first convert both to multibyte.  Otherwise, we might end up comparing
15799         unibyte char C to multibyte char C, 127<C<256, and not detect the
15800         difference (bug#30219).
15802 2019-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
15804         Mention shifted alphabetical control GUI sequences
15806         * doc/emacs/custom.texi (Modifier Keys): Mention that you can bind
15807         shifted alphabetical control sequences in GUI frames (bug#23247).
15809 2019-10-13  Philipp Stephani  <phst@google.com>
15811         Avoid compiler warnings on macOS.
15813         * src/xdisp.c (note_tab_bar_highlight): Define variables 'dpyinfo' and
15814         'mouse_down_p' only if needed.
15816 2019-10-13  Basil L. Contovounesios  <contovob@tcd.ie>
15818         Fix with-coding-priority markup in Elisp manual
15820         * doc/lispref/nonascii.texi (Specifying Coding Systems): Don't use
15821         '&rest' in conjunction with 'body...' in arglist of
15822         with-coding-priority.  Fix typo and cross-referencing (2-arg @pxref
15823         adds a trailing period).
15825 2019-10-13  Stephen Gildea  <stepheng+emacs@gildea.com>
15827         Minor tweaks to time-stamp documentation strings
15829         * lisp/time-stamp.el (time-stamp): Reformat the explanation of the
15830         variables that affect time-stamp, for easier reading.  In particular,
15831         wrap the documentation to 75 characters, so that it displays neatly as
15832         a before-save-hook customization option.
15834         * test/lisp/time-stamp-tests.el (with-time-stamp-test-env): Use imperative voice,
15835         per checkdoc.
15837 2019-10-13  Alan Mackenzie  <acm@muc.de>
15839         In compilation-tear-down-arrow-spec-in-margin, test compilation-arrow-overlay
15841         * lisp/progmodes/compile.el (compilation-tear-down-arrow-spec-in-margin): Make
15842         sure compilation-arrow-overlay is an overlay before performing overlay
15843         operations on it.  This fixes bug #37733.
15845 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15847         Make the previous-matching-history-element prompt clearer
15849         * lisp/simple.el (previous-matching-history-element): Put the
15850         default into the prompt (bug#380).
15852 2019-10-12  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
15854         Make diff-mode understand git-format-patch separators
15856         * lisp/vc/diff-mode.el (diff-prev-line-if-patch-separator):
15857         A function to return prev. line if it has git-format-patch
15858         separator.
15859         (diff-end-of-hunk): Make use of
15860         diff-prev-line-if-patch-separator
15861         diff-buffer-type: whether a buffer is a git-diff
15862         (define-derived-mode): set diff-buffer-type to appropriate
15863         value (bug#37395).
15865 2019-10-12  Rolf Ade  <rolf@pointsman.de>  (tiny change)
15867         TCL indentation fix outside functions
15869         * lisp/progmodes/tcl.el (tcl-calculate-indent): Indent code
15870         correctly outside of function definitions (bug#23565).
15872 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15874         Hide passwords more in `read-password'
15876         * lisp/subr.el (read-password--hide-password): Factor out (bug#17127).
15877         (read-passwd): Use it in post-command-hook instead of
15878         after-change-functions to ensure that we hide the password no
15879         matter what inserts text.
15881 2019-10-12  Andreas Politz  <politza@hochschule-trier.de>
15883         Use quit-window in some functions
15885         * lisp/strokes.el:
15886         * lisp/startup.el (fancy-startup-tail):
15887         * lisp/progmodes/verilog-mode.el (verilog-complete-word)
15888         (verilog-show-completions):
15889         * lisp/progmodes/idlwave.el (idlwave-quit-help): Use `quit-window'
15890         (bug#24213).
15892 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15894         Add -unknown to version-regexp-alist
15896         * lisp/epg-config.el (epg-find-configuration): Remove the -unknown
15897         hack, because it led to further problems later when comparing
15898         versions.
15900         * lisp/subr.el (version-regexp-alist): Rate -unknown versions the
15901         same as -alpha releases (bug#37556).
15903 2019-10-12  Raimon Grau  <raimonster@gmail.com>
15905         Add "next" and "previous" shortcuts in eww-history buffers
15907         * lisp/net/eww.el (eww-history-mode-map): Add "n" and "p" for
15908         "next-line" and "previous-line" (bug#37648).
15910 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15912         Protect against segfaults in copy-keymap
15914         * src/keymap.c (copy_keymap_1): Factor out and refuse to recurse
15915         infinitely (bug#7496).
15916         (Fcopy_keymap): ... from here.
15917         (copy_keymap_item): Pass on the depth parameter.
15919 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15921         Document let-alist
15923         * doc/lispref/lists.texi (Association Lists): Document let-alist
15924         (bug#34842).
15926 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15928         Don't claim that the default height is precisely 36 characters
15930         * doc/emacs/cmdargs.texi (Window Size X):
15931         * doc/man/emacs.1.in: Be more vague about what the default height
15932         is (bug#33921).
15934 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15936         Document locate-dominating-file
15938         * doc/lispref/files.texi (Contents of Directories): Document
15939         locate-dominating-file (bug#33869).
15941 2019-10-12  Juri Linkov  <juri@linkov.net>
15943         * lisp/tab-bar.el: Don't use minibuffer buffer name as tab name.
15945         * lisp/tab-bar.el (tab-bar-tab-name-selected-window):
15946         Use minibuffer-selected-window to get original window.
15948 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15950         Make Fadd_face_text_property even less destructive
15952         * src/textprop.c (Fadd_face_text_property): We need to be
15953         non-destructive in buffers, too, because face properties may have
15954         been added with `put-text-property' as a list that's been reused.
15956 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15958         Mention the Emacs exit code in batch mode
15960         * doc/lispref/os.texi (Batch Mode): Mention what the exit code is
15961         if an error is signaled (bug#31552).
15963 2019-10-12  Kaushal Modi  <kaushal.modi@gmail.com>
15965         Document that variables should not be called -p
15967         * doc/lispref/tips.texi (Coding Conventions): Document that
15968         variables should now be called -p (bug#26564).
15970 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15972         Make the cl-letf doc string link to the manual
15974         * lisp/emacs-lisp/cl-macs.el (cl-letf): Add a link to the manual
15975         from the doc string (bug#24459).
15977 2019-10-12  Jiajie Chen  <jiegec@qq.com>  (tiny change)
15979         button-* function doc string clarifications
15981         * lisp/button.el (button-start, button-end, button-get)
15982         (button-put, button-label): Have the doc string mention that they
15983         have to be called from the current buffer (bug#23909).
15985 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
15987         ert-deftest macro doc string clarification
15989         * lisp/emacs-lisp/ert.el (ert-deftest): Mention that macros are
15990         expanded when defined, not when tested (bug#21742).
15992 2019-10-12  Eli Zaretskii  <eliz@gnu.org>
15994         Fix recent changes in ELisp manual
15996         * doc/lispref/objects.texi (Special Read Syntax): Use @samp in
15997         @table.
15999         * doc/lispref/elisp.texi (Top): Update the detailed menu due
16000         to a recent addition.
16002 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
16004         Document #$ in the overview
16006         * doc/lispref/objects.texi (Special Read Syntax): Add #$.
16008 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
16010         Fix compilation-transform-file-match-alist failure
16012         * lisp/progmodes/compile.el (compilation-error-properties): Fix
16013         thinko in compilation-transform-file-match-alist feature -- `file'
16014         isn't a list of files after all.
16016 2019-10-12  Lars Ingebrigtsen  <larsi@gnus.org>
16018         Add a lispref node to list special read syntax forms
16020         * doc/lispref/objects.texi (Special Read Syntax): Add a node to
16021         list all the special read syntax forms (bug#18957).
16023 2019-10-12  Michael Albinus  <michael.albinus@gmx.de>
16025         Adapt some Tramp tests
16027         * test/lisp/net/tramp-archive-tests.el
16028         (tramp-archive-test17-insert-directory): Adapt regexp of summary line.
16030         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
16031         Extend test for symlinked directories.
16033 2019-10-12  Michael Albinus  <michael.albinus@gmx.de>
16035         Fix google-drive handling in tramp-gvfs
16037         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes):
16038         Add "standard::is-volatile".
16039         (tramp-gvfs-get-directory-attributes)
16040         (tramp-gvfs-handle-file-attributes): Handle "gdrive" special.
16041         (tramp-gvfs-send-command): Ignore nil arguments.
16043 2019-10-12  Michael Albinus  <michael.albinus@gmx.de>
16045         * lisp/net/tramp.el (tramp-handle-access-file): Use `file-truename'.
16047 2019-10-12  Alan Mackenzie  <acm@muc.de>
16049         CC-Mode: Remove unneeded backslashes from doc strings and regular expressions
16051         Also make miscellaneous amendments.
16053         * lisp/progmodes/cc-align.el, lisp/progmodes/cc-cmds.el
16054         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el
16055         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-vars.el: Remove lots of
16056         unneeded backslashes.
16058         * lisp/progmodes/cc-langs.el (c-string-innards-re-alist): Remove redundant
16059         "\\|\r" from regular expression.
16061         * lisp/progmodes/cc-mode.el (c-make-mode-syntax-table): Correct the name of
16062         the hook normal-erase-is-backspace-MODE-hook from a non-existent hook name.
16064 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16066         tool-bar-map doc string clarification
16068         * lisp/tool-bar.el (tool-bar-map): Try to clarify how this
16069         variable is used (bug#17709).
16071 2019-10-11  David Röthlisberger  <david@rothlis.net>  (tiny change)
16073         Fix `shell' doc keymap expansions
16075         * lisp/shell.el (shell): Make the commands be expanded in the
16076         correct keymap (bug#11202).
16078 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16080         diary-mark-entries-hook doc string clarification
16082         * lisp/calendar/diary-lib.el (diary-mark-entries-hook): Mention
16083         dynamically bound variables (bug#9287).
16085 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16087         Document :match-inline widget elements
16089         * doc/lispref/customize.texi (Type Keywords): Document
16090         :match-inline (bug#8716).
16091         (Splicing into Lists): Mention :match-inline.
16093 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
16095         Update from Gnulib
16097         This incorporates:
16098         2019-10-11 Simplify and regularize regex use of ‘assert’
16099         2019-10-09 regex: omit debug assignment when not debugging
16100         2019-10-09 regex: tell compiler there’s at most 256 arcs out
16101         2019-10-09 regex: simplify by assuming C99
16102         2019-10-09 regex: avoid copying of uninitialized storage
16103         2019-09-29 fbufmode: Fix compilation error on glibc >= 2.28 systems
16104         2019-09-28 Update comments that refer to POSIX
16105         2019-09-23 Update URLs and associated text
16106         * doc/misc/texinfo.tex, lib/open.c, lib/regcomp.c:
16107         * lib/regex_internal.c, lib/regex_internal.h, lib/regexec.c:
16108         * lib/stdio-impl.h:
16109         Copy from Gnulib.
16111 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16113         Document REAL-BINDING more extensively in Extended Menu Items
16115         * doc/lispref/keymaps.texi (Extended Menu Items): Document that
16116         REAL-BINDING can be other things than a real command (bug#7755).
16118 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16120         Minor grep.el doc string clarifications
16122         * lisp/progmodes/grep.el (grep-find-ignored-directories)
16123         (grep-compute-defaults, grep, grep-expand-template)
16124         (grep-highlight-matches, grep-use-null-device)
16125         (grep-find-command, grep-find-template, grep-expand-template)
16126         (rgrep): Minor doc string clarifications.
16128 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16130         Factor out the lambda from help-function-def
16132         * lisp/help-mode.el (help-function-def--button-function): Factor
16133         out into own function for easier reuse.
16134         (help-function-def): ... from the lambda here.
16136 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16138         Make << shell heredoc expansion less enthusiastic
16140         * lisp/progmodes/sh-script.el (sh--maybe-here-document): Require a
16141         space before expanding a heredoc (bug#3226).  This allows the user
16142         to insert a bash <<< "herestring", which was previously difficult.
16144 2019-10-11  Alan Mackenzie  <acm@muc.de>
16146         C++ Mode: Correctly handle <:, <::, <::>, etc, according to the C++ standard
16148         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Perform
16149         checking now on an insertion, should point be inside a critical token.
16150         (c-forward-<>-arglist-recur, c-guess-continued-construct): Check for <::, etc.
16152         * lisp/progmodes/cc-langs.el (c-<-pseudo-digraph-cont-regexp)
16153         (c-<-pseudo-digraph-cont-len): New lang variables/constants.
16155 2019-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
16157         * lisp/cedet/mode-local.el (define-overload): Declare obsolete
16159         * lisp/cedet/srecode/ctxt.el (srecode-calculate-context):
16160         * lisp/cedet/srecode/semantic.el (srecode-semantic-apply-tag-to-dict)
16161         (srecode-semantic-find-template): Use define-overloadable-function instead.
16163 2019-10-11  Andrea Corallo  <akrl@sdf.org>
16165         * lisp/emacs-lisp/map.el (map-into) <hash-table>: Allow keyword args
16167         (map--into-hash): New function, extracted from `map-into <hash-table>`.
16168         Speed it up a bit by using gethash instead of map-elt when we know
16169         we're accessing a hash table.
16171         * test/lisp/emacs-lisp/map-tests.el (test-map-into): Add corresponding test.
16173 2019-10-11  Stefan Kangas  <stefankangas@gmail.com>
16175         Remove reference to obsolete package gnuserv from FAQ
16177         On visiting http://meltin.net/hacks/emacs/, we now find:
16178         "I used to have some Emacs and Haskell hacks on my previous
16179         sites. However, these hacks are now old and un-maintained. I don’t
16180         think there is enough interest to keep them around."
16182         * doc/misc/efaq.texi (Using an already running Emacs process):
16183         Remove reference to obsolete package 'gnuserv'.  (Bug#37574)
16185 2019-10-11  Robert Pluim  <rpluim@gmail.com>
16187         Correct some more custom type specs
16189         * lisp/winner.el (winner-boring-buffers-regexp):
16190         * lisp/progmodes/js.el (js-jsx-indent-level):
16191         * lisp/image-dired.el (image-dired-external-viewer):
16192         * lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function):
16193         Correct custom type specification.
16195         * lisp/textmodes/bibtex.el (bibtex-string-file-path):
16196         (bibtex-file-path): Correct custom type specification and document
16197         source of initial value.
16199 2019-10-11  Michael Albinus  <michael.albinus@gmx.de>
16201         Cleanup Tramp
16203         * lisp/net/tramp-archive.el (tramp-archive-gvfs-host): Fix docstring.
16205         * lisp/net/tramp.el: Remove :group from all defcustoms.
16206         (tramp-encoding-shell): Fix docstring.
16207         (tramp-error): Remove text properties from error message.
16209 2019-10-11  Stefan Kangas  <stefankangas@gmail.com>
16211         Support showing directory in shell command prompt
16213         * lisp/simple.el (shell-command-prompt-show-cwd): New defcustom.
16214         (async-shell-command, shell-command): Show current directory in prompt
16215         when above option is non-nil.  (Bug#4987)
16216         * etc/NEWS: Announce it.
16218 2019-10-11  Martin Rudalics  <rudalics@gmx.at>
16220         Minor fixes for switching to previous and next buffers (Bug#37514)
16222         * lisp/window.el (switch-to-prev-buffer)
16223         (switch-to-next-buffer): In doc-strings add links to
16224         'prev-buffer' and 'next-buffer'.
16225         (next-buffer, previous-buffer): Signal 'user-error' instead of
16226         'error'.  In doc-strings link to 'switch-to-prev-buffer' and
16227         'switch-to-next-buffer'.
16229 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16231         New variable amalgamating-undo-limit
16233         * doc/lispref/text.texi (Undo): Document it.
16235         * lisp/simple.el (amalgamating-undo-limit): New variable (bug#31658).
16237 2019-10-11  Robert Pluim  <rpluim@gmail.com>
16239         Correct .dir-locals-2.el description
16241         * doc/lispref/variables.texi (Directory Local Variables): Correct
16242         description of .dir-locals-2.el functioning.  (Bug#37640)
16244 2019-10-11  Lars Ingebrigtsen  <larsi@gnus.org>
16246         Expand the documentation of --no-build-details
16248         * doc/emacs/cmdargs.texi (Initial Options): Mention that
16249         --no-build-details shouldn't be used in regular usage (bug#34448).
16251 2019-10-10  Martin Rudalics  <rudalics@gmx.at>
16253         Fixes for fitting windows and frames to their buffers (Bug#37563)
16255         * lisp/window.el (window-default-font-height)
16256         (window-default-line-height): New functions.
16257         (fit-frame-to-buffer): Interpret values of MAX-HEIGHT and
16258         MIN-HEIGHT arguments in terms of WINDOW's default line height
16259         (Bug#37563).
16260         (fit-window-to-buffer): Obey size restricting arguments even
16261         when size of WINDOW's text does not change.  Do not
16262         temporarily select WINDOW and perform height/width related
16263         calculations if and only if WINDOW is accordingly combined.
16264         Interpret values of MAX-HEIGHT and MIN-HEIGHT arguments in
16265         terms of WINDOW's default line height.
16267 2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>
16269         Make nntp.el use new setq-local syntax
16271         * lisp/gnus/nntp.el (nntp-make-process-buffer): Convert to new
16272         setq-local syntax (as a test case).
16274 2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>
16276         Ensure that setq-local take an even number of symbol/value pairs
16278         * doc/lispref/variables.texi (Creating Buffer-Local): Document the
16279         new syntax for setq-local.
16281         * lisp/subr.el (setq-local): Ensure that there's an even number of
16282         variable/value pairs, and expand the doc string by taking some
16283         text from `setq'.
16285 2019-10-10  Jordon Biondo  <jordonbiondo@gmail.com>
16287         Allow setq-local to set more than one variable
16289         * lisp/subr.el (setq-local): Allow taking pairs of values (bug#26923).
16291 2019-10-10  Lars Ingebrigtsen  <larsi@gnus.org>
16293         Remove two checkdoc tests checked in by mistake
16295         * test/lisp/emacs-lisp/checkdoc-tests.el: Remove &aux and &context
16296         checks mistakenly checked in (as these aren't implemented) (bug#37697).
16298 2019-10-10  Stefan Kangas  <stefankangas@gmail.com>
16300         Change font size in correct window using mouse wheel
16302         * lisp/mwheel.el (mouse-wheel-follow-mouse): Doc fix.
16303         (mouse-wheel--get-scroll-window): New function extracted from...
16304         (mwheel-scroll): ...here.
16305         (mouse-wheel-text-scale): New function to change face height in
16306         the correct window, depending on the value of
16307         'mouse-wheel-follows-mouse'.  (Bug#28182)
16308         (mouse-wheel-mode): Bind 'mouse-wheel-text-scale' instead of
16309         'text-scale-increase' and 'text-scale-decrease'.
16311 2019-10-10  Juri Linkov  <juri@linkov.net>
16313         * lisp/subr.el (ctl-x-t-prefix): Bind new alias or ctl-x-6-map to 'C-x t'.
16315 2019-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
16317         * lisp/tree-widget.el: Use lexical-binding
16319         Remove redundant `:group`s.
16320         (tree-widget--locate-sub-directory): Rewrite.
16322 2019-10-10  Andreas Schwab  <schwab@linux-m68k.org>
16324         * lisp/progmodes/compile.el
16325         (compilation-transform-file-match-alist): Remove bogus Makefile match.
16327 2019-10-10  Stephen Gildea  <stepheng+emacs@gildea.com>
16329         Remove tabs from time-stamp-format documentation
16331         * lisp/time-stamp.el (time-stamp-format): Untabify the doc string, so
16332         the two-column layout displays consistently in several contexts,
16333         in particular when displayed by customize-variable.
16335 2019-10-10  Eli Zaretskii  <eliz@gnu.org>
16337         Fix initial value of frame-inhibit-implied-resize
16339         * src/frame.c (syms_of_frame): Update doc string and default
16340         value of frame-inhibit-implied-resize in GTK builds to include
16341         'tab-bar-lines.
16343 2019-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16345         Port time-stamp-test-time-zone to macOS
16347         Problem reported by Stefan Kangas in:
16348         https://lists.gnu.org/r/emacs-devel/2019-10/msg00360.html
16349         * test/lisp/time-stamp-tests.el (time-stamp-test-time-zone):
16350         Don’t assume (format-time-string "%Z" 0 t) returns "GMT".
16352 2019-10-09  Juanma Barranquero  <lekktu@gmail.com>
16354         identity, ignore: Make arg names more consistent with docs
16356         * lisp/subr.el (ignore): Rename argument IGNORE to ARGUMENTS.
16358         * src/fns.c (Fidentity): Rename ARG to ARGUMENT.
16360         * doc/lispref/functions.texi (Calling Functions): Fix references.
16362 2019-10-09  Damien Cassou  <damien@cassou.me>
16364         checkdoc CL tests
16366         * test/lisp/emacs-lisp/checkdoc-tests.el: Add cl-lib-related tests
16367         (bug#37063).
16369 2019-10-09  dick r. chiang  <dick.r.chiang@gmail.com>  (tiny change)
16371         Make checkdoc work better with cl-lib functions
16373         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info): Make checkdoc
16374         work for cl-lib methods with more complex parameter lists
16375         (bug#37063).
16377 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16379         Fix formatting of (file-size-human-readable 2047)
16381         * lisp/files.el (file-size-human-readable): Don't format
16382         slightly-less numbers as X.0k, but just Xk instead (bug#36329).
16384 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16386         Work around bad interaction between dired-omit-mode and recover-session
16388         * lisp/files.el (recover-session): Add ugly hack to try to ensure
16389         that we're actually showing the session files (bug#36223).
16391 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16393         Allow filtering out warnings/errors from compile.el detection
16395         * lisp/progmodes/compile.el
16396         (compilation-transform-file-match-alist): New variable (bug#32968).
16397         (compilation-error-properties): Use it to remove known false
16398         positives.
16399         (compilation-error-regexp-alist): Mention it in this doc string.
16401 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16403         Clarify documentation of show-help-function slightly
16405         * doc/lispref/text.texi (Special Properties): Clarify where the
16406         example in Tooltip mode is (bug#35392).
16408 2019-10-09  Juri Linkov  <juri@linkov.net>
16410         * lisp/tab-bar.el: Don't show window count for one window.
16412         * lisp/tab-bar.el (tab-bar-tab-name-selected-window): Don't show the number
16413         of windows when there is only one window in the window configuration.
16414         (tab-bar-close-other-tabs): Rename from tab-close-other.
16415         Take into account tab-bar-show to turn off when needed.
16416         (tab-close-other): Alias to tab-bar-close-other-tabs.
16418 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16420         Fix nnimap tick/readedness thinko introduced some weeks back
16422         * lisp/gnus/nnimap.el (nnimap-request-set-mark): Fix thinko in the
16423         tick/read change: Unticking a message shouldn't make it unread,
16424         but ticking it should make it read.
16426 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16428         Make mml-secure-epg-sign bug out if we can't find an identity
16430         * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Bug out if we
16431         couldn't find anything to sign with instead of silently pretending
16432         to sign.
16433         * lisp/gnus/mml-smime.el (mml-smime-epg-sign): Don't bind
16434         inhibit-display because that makes debugging impossible.
16436 2019-10-09  Stefan Kangas  <stefankangas@gmail.com>
16438         Remove XEmacs compat code from edt.el (Bug#37621)
16440         * lisp/emulation/edt.el (top-level, edt-emacs-variant)
16441         (edt-window-system, edt-xserver, edt-page-backward)
16442         (edt-beginning-of-line, edt-end-of-line-forward)
16443         (edt-end-of-line-backward, edt-one-word-forward)
16444         (edt-one-word-backward, edt-character, edt-line-forward)
16445         (edt-next-line, edt-previous-line, edt-top, edt-find-forward)
16446         (edt-find-backward, edt-find-next-forward)
16447         (edt-find-next-backward, edt-reset, edt-advance, edt-backup)
16448         (edt-define-key, edt-bottom-check, edt-sentence-forward)
16449         (edt-sentence-backward, edt-paragraph-forward)
16450         (edt-paragraph-backward, edt-restore-key, edt-window-top)
16451         (edt-window-bottom, edt-scroll-window-backward-line)
16452         (edt-line-to-bottom-of-window, edt-line-to-middle-of-window)
16453         (edt-goto-percentage, edt-display-the-time, edt-remember)
16454         (edt-split-window, edt-load-keys, edt-emulation-on)
16455         (edt-emulation-off, edt-default-emulation-setup)
16456         (edt-user-emulation-setup, edt-select-default-global-map)
16457         (edt-select-user-global-map): Remove XEmacs compat code.
16459 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16461         Move the "Skeleton Language" node to later in the manual
16463         * doc/misc/autotype.texi (Skeleton Language): Move this low-level
16464         node to after the more user-facing nodes (bug#20780).
16466 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16468         Add a letrec example to the manuel
16470         * doc/lispref/variables.texi (Local Variables): Add a letrec example.
16472 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16474         Tweak letrec documentation
16476         * doc/lispref/variables.texi (Local Variables): Compare letrec to
16477         let* instead of let.
16479 2019-10-09  Stephen Gildea  <stepheng+git-config-global@gildea.com>
16481         time-stamp: revert recent change to "%04y"
16483         * lisp/time-stamp.el (time-stamp-string-preprocess): Revert change to "%04y"
16484         format made 2 weeks ago by commit 0e56883878 (the previous commit to
16485         this file).  Although undocumented, "%04y" was discovered to be in use
16486         in the wild (2016) and had not issued a warning that it would change.
16487         Add a warning that it will change.
16489         * test/lisp/time-stamp-tests.el (time-stamp-test-year-2digit): add test of "%04y"
16491 2019-10-09  Simen Heggestøyl  <simenheg@gmail.com>
16493         Warn about missing executables in RST PDF preview
16495         * lisp/textmodes/rst.el (rst-compile-pdf-preview): Warn about missing
16496         executables when attempting to compile and preview an RST file as PDF.
16497         (Bug#30063)
16499 2019-10-09  Stephen Gildea  <stepheng+savannah@gildea.com>
16501         Expand testing of time-stamp format "%y"
16503         * test/lisp/time-stamp-tests.el (time-stamp-test-year): break into two tests,
16504         time-stamp-test-year-2digit and time-stamp-test-year-4digit.  Expand
16505         time-stamp-test-year-2digit to look more like tests for other 2-digit
16506         conversions.
16508 2019-10-09  Juanma Barranquero  <lekktu@gmail.com>
16510         Silence compiler warning
16512         * src/w32.c (acl_to_text): Add ATTRIBUTE_MALLOC.
16514 2019-10-09  Robert Pluim  <rpluim@gmail.com>
16516         Expand documentation on Lisp variables defined in C sources
16518         * doc/lispref/internals.texi (Writing Emacs Primitives): Add
16519         description of DEFVAR_* arguments.  Describe variable naming
16520         conventions.  Explain how to express quoting of symbols in C, plus
16521         'specbind' and how to create buffer-local variables.
16523 2019-10-09  Michael Albinus  <michael.albinus@gmx.de>
16525         * doc/misc/tramp.texi (Remote shell setup): Howto configure local shell.
16527 2019-10-09  Michael Albinus  <michael.albinus@gmx.de>
16529         Support zsh as local shell in Tramp (Bug#31924)
16531         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Extend zsh
16532         arguments.  Add :version.
16533         (tramp-maybe-open-connection): Use extra args for
16534         `tramp-encoding-shell'.  (Bug#31924)
16536 2019-10-09  Juanma Barranquero  <lekktu@gmail.com>
16538         Implement offsets for absolute line numbers
16540         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-offset>:
16541         New variable to add an offset to absolute line numbers.
16542         (syms_of_xdisp) <display-line-numbers>: Mention it in docstring.
16543         (maybe_produce_line_number): Use it.
16545         * doc/emacs/display.texi (Display Custom): Document it.
16547         * etc/NEWS (value): Announce it.
16549         * lisp/frame.el: Add `display-line-numbers-offset' to list of
16550         variables which should trigger redisplay of the current buffer.
16552 2019-10-09  Juanma Barranquero  <lekktu@gmail.com>
16554         Do not use tick faces beyond ZV (bug#37641)
16556         * src/xdisp.c (maybe_produce_line_number): Check beyond_zv
16557         before using a tick face for the line number.  Move all face
16558         selection code outside the loop that draws the line number.
16560 2019-10-09  Eli Zaretskii  <eliz@gnu.org>
16562         Improve doc strings in replace.el
16564         * lisp/replace.el (query-replace-read-from)
16565         (query-replace-compile-replacement, query-replace-read-to)
16566         (replace-string, replace-regexp, occur-mode-goto-occurrence)
16567         (occur-next-error, occur-rename-buffer, multi-occur)
16568         (multi-occur-in-matching-buffers): Describe all arguments in
16569         doc strings.  (Bug#31207)
16571 2019-10-09  Eli Zaretskii  <eliz@gnu.org>
16573         Fix minor Texinfo errors in ELisp manual
16575         * doc/lispref/errors.texi (Standard Errors): Fix incorrect
16576         usage of @xref commands.  (Bug#37660)
16577         * doc/lispref/internals.texi (Buffer Internals): Fix markup.
16578         (Bug#37639)
16580 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16582         Ensure that the pulse overlay is visible
16584         * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Make
16585         the pulse overlay have priority over the marked-region overlay
16586         (bug#29173).
16588 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16590         Protect against unlikely case of [menu-bar] not being bound
16592         * lisp/recentf.el (recentf-show-menu):
16593         (recentf-hide-menu): The [menu-bar] key may be unbound (bug#25191).
16595 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16597         Add some sanity checks to dired-x.el key bindings
16599         * lisp/dired-x.el: Ensure that prefix keys haven't be rebound to
16600         commands before adding keystrokes (bug#25190).
16602 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16604         Allow global-edebug-prefix to be nil
16606         * lisp/emacs-lisp/edebug.el (global-edebug-prefix): Allow
16607         global-edebug-prefix to be nil (if the user doesn't want that
16608         prefix) (bug#25188).
16610 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16612         Fix possible initialisation error in shell-mode-map
16614         * lisp/shell.el (shell-mode-map): Comint is the parent mode, so
16615         there's no need to explicitly make it a parent map here (bug#25187).
16617 2019-10-09  Lars Ingebrigtsen  <larsi@gnus.org>
16619         Upcase parameters in things like "&optional (arg 3)"
16621         * lisp/help.el (help--make-usage): Upcase cl-defgeneric (etc)
16622         parameter names (bug#23517).
16624 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16626         Bury the help buffer after sending a bug report
16628         * lisp/mail/emacsbug.el (report-emacs-bug-hook): Bury the help
16629         buffer after sending the bug report (bug#22712).
16631 2019-10-08  Hong Xu  <hong@topbug.net>
16633         Fix up previous visit-tags-table change
16635         * lisp/progmodes/etags.el (visit-tags-table): Reimplement
16636         `tags--find-default-tags-dir-recursively' using the much simpler
16637         `locate-dominating-file'. Following up bug#37518.
16639 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16641         Move point in the dired buffer with `n'/`p' in an image-mode buffer
16643         * lisp/image-mode.el (image-next-file): If the image is in a dired
16644         buffer, then move point in that buffer when advancing
16645         (bug#21752).  This makes it easier to select images.
16647 2019-10-08  Juanma Barranquero  <lekktu@gmail.com>
16649         Fix typos in lisp/*.el
16651         * lisp/emacs-lisp/generator.el (cps--with-value-wrapper)
16652         (cps-inhibit-atomic-optimization, iter-close):
16653         * lisp/gnus/nnir.el (nnir-imap-search-arguments)
16654         (nnir-imap-search-argument-history, nnir-categorize)
16655         (nnir-ignored-newsgroups)
16656         (nnir-retrieve-headers-override-function)
16657         (nnir-imap-default-search-key, nnir-namazu-additional-switches)
16658         (gnus-group-make-nnir-group, nnir-add-result)
16659         (nnir-compose-result, nnir-run-imap, nnir-imap-make-query)
16660         (nnir-imap-query-to-imap, nnir-imap-expr-to-imap)
16661         (nnir-imap-next-term, nnir-run-swish-e, nnir-run-namazu)
16662         (nnir-read-parm, nnir-read-server-parm, nnir-search-thread):
16663         Trivial doc fixes.
16665 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16667         Document `letrec'
16669         * doc/lispref/variables.texi (Local Variables): Document letrec
16670         (bug#21048).
16672         * lisp/subr.el (letrec): Expand the doc string slightly.
16674 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16676         Make menu bar entries only point to named functions, not lambdas
16678         * lisp/menu-bar.el ()
16679         (menu-bar--display-line-numbers-mode-visual)
16680         (menu-bar--display-line-numbers-mode-relative)
16681         (menu-bar--display-line-numbers-mode-absolute)
16682         (menu-bar--display-line-numbers-mode-none)
16683         (menu-bar--visual-line-mode-enable)
16684         (menu-bar--toggle-truncate-long-lines)
16685         (menu-bar--wrap-long-lines-window-edge): Make lambdas into trivial
16686         wrapper functions so that `C-h k' on the menu items work (bug#13841).
16687         (menu-bar-showhide-line-numbers-menu)
16688         (menu-bar-line-wrapping-menu): Use them.
16690 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16692         Add more sanity checks to help-fns--globalized-minor-mode
16694         * lisp/help-fns.el (help-fns--globalized-minor-mode): FUNCTION can
16695         be a lambda, so protect against that.
16697 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16699         Make add-face-text-property not be destructive on strings
16701         * src/textprop.c (add_properties): Take a parameter to say whether
16702         it's allowed to be destructive or not (bug#20153).
16703         (add_text_properties_1): Ditto.
16704         (Fadd_face_text_property): Use this to say that it shouldn't
16705         modify face properties on strings destructively.  This avoids
16706         altering the face properties of one string when altering them on a
16707         copy of the string.
16709 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16711         Make `info-display-manual' pop up the correct frame
16713         * lisp/info.el (info-display-manual): If the buffer is already in
16714         a window, use that window (bug#20020).
16716 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16718         Make a nil parameter switch variable-pitch-mode on
16720         * lisp/face-remap.el (variable-pitch-mode): Make a nil parameter
16721         switch the mode on instead of toggling (bug#19384).
16723 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16725         Remove XEmacs compat code from prolog.el
16727         * lisp/progmodes/prolog.el (prolog-mode-syntax-table)
16728         (prolog-help-info, prolog-Info-follow-nearest-node)
16729         (prolog-menu-help, prolog-edit-menu-runtime)
16730         (prolog-inferior-menu-all): Remove XEmacs compat code.
16732 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16734         Remove some XEmacs compat code from tree-widget.el
16736         * lisp/tree-widget.el (tree-widget-themes-load-path)
16737         (tree-widget-use-image-p, tree-widget-create-image)
16738         (tree-widget-image-formats, tree-widget-image-properties)
16739         (tree-widget-lookup-image): Remove XEmacs compat code.
16741 2019-10-08  Lars Ingebrigtsen  <larsi@gnus.org>
16743         Remove some XEmacs compat code from newst*.el
16745         * lisp/net/newst-plainview.el
16746         (newsticker--plainview-tool-bar-map): Remove XEmacs support.
16748         * lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map):
16750 2019-10-08  Federico Tedin  <federicotedin@gmail.com>
16752         Filter packages by name in list-packages. (Bug#36981)
16754         * lisp/emacs-lisp/package.el (package-menu-filter-by-name): New
16755         function to filter packages by name.
16756         (package-menu-clear-filter): New function to clear applied filters.
16757         (package-menu-filter-by-keyword): Rename function from
16758         package-menu-filter.
16759         (package-menu--generate): Don't change 'q' binding anymore.
16760         (package-menu-mode-map): Bind '/ n' to package-menu-filter-by-name, '/
16761         k' to package-menu-filter-by-keyword and '/ /' to
16762         package-menu-clear-filter.
16763         (package-menu-mode-menu): Update menu entries for the three functions.
16764         * test/lisp/emacs-lisp/package-tests.el (package-test-list-filter-by-name)
16765         (package-test-list-clear-filter): New tests.
16766         * doc/emacs/package.texi: Document usage of
16767         package-menu-filter-by-name, package-menu-clear-filter and update
16768         reference to package-menu-filter-by-keyword.
16769         * etc/NEWS: Announce changes.
16771 2019-10-08  Hong Xu  <hong@topbug.net>
16773         Search upward from current dir for the default TAGS file
16775         * doc/emacs/maintaining.texi (Select Tags Table): Update the doc
16776         of `visit-tags-table' (bug#37518).
16777         * lisp/progmodes/etags.el (tags--find-default-tags-dir-recursively)
16778         (visit-tags-table): Search upward from current dir for the default
16779         TAGS file.
16781 2019-10-08  Stefan Kangas  <stefankangas@gmail.com>
16783         Fix title inconsistencies in elisp intro book
16785         * doc/lispintro/emacs-lisp-intro.texi: Fix title
16786         inconsistencies.  (Bug#31037)
16788 2019-10-08  Stefan Kangas  <stefankangas@gmail.com>
16790         Add some more commands to eshell-visual-commands
16792         * lisp/eshell/em-term.el (eshell-visual-commands): Add some more
16793         commonly used commands.
16795 2019-10-08  Eli Zaretskii  <eliz@gnu.org>
16797         Fix crashes on TTY frames due to "C-x 6 f"
16799         * src/xdisp.c (redisplay_internal): Revert the recent change
16800         regarding TTY frames' garbaged flag.  It is not needed.
16802         * src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay):
16803         When returning due to mismatch between the desired and actual
16804         dimensions of the glyph matrix, set the frame's garbaged flag
16805         for TTY frames.  This avoids crashes when we are later called
16806         from redisplay.  Reported by Ergus <spacibba@aol.com>.
16808 2019-10-08  Michael Albinus  <michael.albinus@gmx.de>
16810         * etc/PROBLEMS: Describe navigation problem from Nautilus.  (Bug#37573)
16812         * lisp/userlock.el (create-lockfiles): Set `safe-local-variable' property.
16814 2019-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
16816         * lisp/emacs-lisp/package.el (package--get-deps): Fix thinko
16818         * test/lisp/emacs-lisp/package-tests.el (package-test-get-deps):
16819         Adjust test to new calling convention.
16821 2019-10-08  Eli Zaretskii  <eliz@gnu.org>
16823         Fix aborts when opening a new font after face-cache reset
16825         * src/font.c (font_open_for_lface): Make sure the default face
16826         is realized before using its height for the font to be open.
16827         (Bug#37637)
16829 2019-10-08  Michael Albinus  <michael.albinus@gmx.de>
16831         * INSTALL: Describe installation of source and debug packages.  (Bug#37527)
16833 2019-10-07  Juanma Barranquero  <lekktu@gmail.com>
16835         Set default colors for tick faces
16837         * lisp/faces.el (line-number-major-tick, line-number-minor-tick):
16838         Set default color different from `line-number' so after customizing
16839         the tick number variables, the ticks are immediately visible.
16840         Suggested by Juri Linkov <juri@linkov.net>.
16842 2019-10-07  Basil L. Contovounesios  <contovob@tcd.ie>
16844         Clarify docs on newline and auto-fill-mode
16846         * doc/lispref/text.texi (Commands for Insertion):
16847         * lisp/simple.el (newline): Do not mention conditions specific to
16848         'do-auto-fill' under documentation of 'newline' (bug#36702).
16850 2019-10-07  Juri Linkov  <juri@linkov.net>
16852         * lisp/tab-bar.el (tab-bar-tab-name-function): Turn defvar into defcustom.
16854         (tab-bar-tab-name-all-windows): Rename from tab-bar-tab-name.
16855         (tab-bar-tab-name-selected-window): New function used by default.
16857 2019-10-07  Stefan Kangas  <stefankangas@gmail.com>
16859         Add "python3 -m twine" example to comint-password-prompt tests
16861         * test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
16862         new example for "python3 -m twine" to test suite.  (Bug#37636)
16864 2019-10-07  Eli Zaretskii  <eliz@gnu.org>
16866         Fix a crash in TTY sessions caused by recent changes
16868         * src/xdisp.c (redisplay_internal): Fix crashes in TTY
16869         sessions when turning on tab-mode.
16870         Reported by Ergus <spacibba@aol.com>.
16872 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
16874         Use text properties instead of truncating strings
16876         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): Use
16877         this to allow using commands like `C-s' to search for even
16878         truncated bits.
16880         * lisp/international/mule-util.el (truncate-string-to-width):
16881         Allow using text properties to truncate strings instead of
16882         actually truncating strings (bug#17782).
16884 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
16886         dired-move-to-filename doc string fix
16888         * lisp/dired.el (dired-move-to-filename): Document the parameters
16889         (bug#17566).
16891 2019-10-07  Basil L. Contovounesios  <contovob@tcd.ie>
16893         Improve recent doc fix for cl-reduce
16895         * lisp/emacs-lisp/cl-seq.el: (cl-reduce): Clarify treatment of
16896         :INITIAL-VALUE when :FROM-END is non-nil.  Improve wording when SEQ
16897         is empty and :INITIAL-VALUE is unspecified (bug#37400).  Describe
16898         behavior when SEQ comprises a single element.
16900 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
16902         Make completion in the `E' command in *Ibuffer* work
16904         * lisp/ibuf-ext.el (eval): Make completion (etc) work as normal
16905         (bug#16239).
16907 2019-10-07  Eli Zaretskii  <eliz@gnu.org>
16909         Fix infloop in redisplay caused by a recent change
16911         * src/xdisp.c (redisplay_internal): Avoid inflooping due to a
16912         frame's garbaged flag being set after update_frame.  Reported
16913         by Michael Heerdegen <michael_heerdegen@web.de>.
16915 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
16917         Feval_buffer doc string lexical-binding clarification
16919         * src/lread.c (Feval_buffer): Mention that the lexical-binding
16920         variable is ignored in the doc string (bug#20139).
16922 2019-10-07  Lars Ingebrigtsen  <larsi@gnus.org>
16924         Make ido-display-buffer work interactively more like display-buffer
16926         * lisp/ido.el (ido-display-buffer): Take an interactive parameter,
16927         like `display-buffer' (bug#14904).
16928         (ido-visit-buffer): Use it to emulate `C-u M-x display-buffer'.
16930 2019-10-07  Leo Liu  <sdl.web@gmail.com>
16932         Fix rcirc not to interpret nil as nickname (bug#37344)
16934         * lisp/net/rcirc.el (rcirc-send-privmsg): Type check `target'.
16935         (rcirc-cmd-me): Send CTCP only when `target' exists.
16937 2019-10-07  Stefan Kangas  <stefankangas@gmail.com>
16939         Quadruple term-buffer-maximum-size (Bug#37584)
16941         * lisp/term.el (term-buffer-maximum-size): Quadruple to 8192.
16943 2019-10-06  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
16945         Set correct svn:ignore property for relative filenames
16947         * lisp/vc/vc-svn.el: (vc-svn-ignore) Use svn:ignore property of
16948         immediate parent directory for wildcard specification (bug#37216).
16950 2019-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16952         Fix port of file-acl errno checking to non-GNU
16954         I had misinterpreted the private email from Ashish Shukla.
16955         * src/fileio.c (Ffile_acl): Fix typo in previous change
16956         by negating the call to acl_errno_valid.
16958 2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>
16960         Fix the colours on Motif horizontal scroll bars
16962         * src/xterm.c (x_create_horizontal_toolkit_scroll_bar): Use the
16963         same foreground/background colours as the vertical scroll bar
16964         (bug#37359).
16966 2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>
16968         cl-reduce doc fix
16970         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Clarify what happens when
16971         SEQ is the empty list (bug#37400).
16973 2019-10-06  Hong Xu  <hong@topbug.net>
16975         tags-complete-tags-table-file doc string fix
16977         * lisp/progmodes/etags.el (tags-complete-tags-table-file): Doc
16978         string fix (bug#37538).
16980 2019-10-06  Hong Xu  <hong@topbug.net>
16982         Default FILE to the current buffer for list-tags
16984         * doc/emacs/maintaining.texi (List Identifiers): Update
16985         `list-tags' doc (bug#37611).
16986         * lisp/progmodes/etags.el (list-tags)
16987         (tags--get-current-buffer-name-in-tags-file): Default FILE to the
16988         current buffer for list-tags.
16990 2019-10-06  Lars Ingebrigtsen  <larsi@gnus.org>
16992         Make mailcap-prefer-mailcap-viewers work as documented
16994         * lisp/emacs-lisp/seq.el (seq-find): Autoload.
16996         * lisp/net/mailcap.el (mailcap-parse-mailcaps): Note where all the
16997         entries come from so that we can later distinguish between user
16998         values and system values (bug#36771).
16999         (mailcap-parse-mailcap): Take a source parameter.
17000         (mailcap-possible-viewers): No need to sort wildcards/exact
17001         matches; these are later sorted anyway.
17002         (mailcap-add-mailcap-entry): Remove `after' parameter.
17003         (mailcap-mime-info): Make mailcap-prefer-mailcap-viewers work as
17004         documented.
17006 2019-10-06  Mauro Aranda  <maurooaranda@gmail.com>
17008         Only complete words inside of the string widget
17010         * lisp/wid-edit.el ('string widget): Peek the word that
17011         ispell-complete-word will try to complete, and only offer completions
17012         when the word is inside of the field (bug#11046).
17014 2019-10-06  Mauro Aranda  <maurooaranda@gmail.com>
17016         Fix message when no completions available for editable field
17018         * lisp/wid-edit.el (widget-completions-at-point): Detect here if point
17019         is not in an editable field.
17020         (widget-complete): And here say there are no completions available
17021         (bug#11562).
17023 2019-10-06  Juri Linkov  <juri@linkov.net>
17025         Allow using last_tab_bar_item on no-x builds.
17027         * src/frame.h (struct frame): Remove HAVE_WINDOW_SYSTEM
17028         around last_tab_bar_item.
17030 2019-10-06  Juri Linkov  <juri@linkov.net>
17032         Implement tab-close-other bound to C-x 6 1 by analogy with C-x 5 1.
17034         * lisp/tab-bar.el (tab-close-other): New command bound to C-x 6 1.
17036         * doc/emacs/frames.texi (Tab Bars): Document it.
17038 2019-10-06  Juri Linkov  <juri@linkov.net>
17040         Use tabs in EWW (bug#37592)
17042         * lisp/net/eww.el (eww-open-in-new-buffer): Call tab-new when tab-bar-mode
17043         is enabled.
17044         (eww-browse-url): Add docstring.  Call tab-new when tab-bar-mode
17045         is enabled.
17047         * lisp/net/shr.el (shr-map): Bind [C-down-mouse-1] to
17048         shr-mouse-browse-url-new-window.
17049         (shr-mouse-browse-url-new-window): New command.
17050         (shr-browse-url): Add optional arg new-window.
17052         * doc/misc/eww.texi (Basics): Mention opening tabs on M-RET.
17054 2019-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
17056         * lisp/emacs-lisp/eieio-core.el (eieio--full-class-object): New function.
17058         Rather than explicitly call eieio-class-un-autoload, the autoloading is
17059         now performed on-demand if you use eieio--full-class-object.
17061         * lisp/emacs-lisp/eieio-core.el (eieio-class-un-autoload): Remove.
17062         (eieio--full-class-object): New function, to replace it.
17063         (eieio-oref, eieio--class-precedence-list):
17064         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
17065         Use it instead of eieio-class-un-autoload.
17066         * lisp/emacs-lisp/eieio.el (eieio-class-parents, child-of-class-p):
17067         Load the class if needed.
17069 2019-10-06  Stefan Kangas  <stefankangas@gmail.com>
17071         Support changing font size using mouse wheel
17073         * lisp/mwheel.el (mouse-wheel-mode): Support changing font size (text
17074         scaling) using mouse wheel.  (Bug#28182)
17075         (mouse-wheel-scroll-amount): Bind the Ctrl modifier to text scaling.
17076         (mwheel-installed-text-scale-bindings): New variable.
17077         (mouse-wheel--remove-bindings): New helper function for
17078         'mouse-wheel-mode'.
17080         * doc/emacs/frames.texi (Mouse Commands): Document this feature.
17081         * etc/NEWS: Announce it.
17083 2019-10-06  Juanma Barranquero  <lekktu@gmail.com>
17085         Set alternate faces for some line numbers (bug#27734)
17087         * lisp/faces.el (line-number-major-tick, line-number-minor-tick):
17088         New faces.
17089         * lisp/cus-start.el (display-line-numbers-major-tick)
17090         (display-line-numbers-minor-tick): Add customization info.
17091         * lisp/frame.el: Add `display-line-numbers-major-tick' and
17092         `display-line-numbers-minor-tick' to list of variables which
17093         should trigger redisplay of the current buffer.
17095         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-major-tick>
17096         <display-line-numbers-major-tick>: Defvar new options.
17097         (syms_of_xdisp) <line-number-major-tick, line-number-minor-tick>:
17098         Defsym new faces.
17099         (maybe_produce_line_number): Use new faces for line numbers
17100         that are multiple of `display-line-numbers-major-tick' and
17101         `display-line-numbers-minor-tick'.
17103         * etc/NEWS (value): Announce new feature.
17104         * doc/emacs/display.texi (Display Custom): Describe it.  Wording by
17105         Robert Pluim <rpluim@gmail.com>
17107 2019-10-06  Juri Linkov  <juri@linkov.net>
17109         Don't bind 'C-x 6' to '2C-mode-map' globally by default.
17111         * lisp/textmodes/two-column.el: Don't autoload global setting of
17112         "\C-x6" to 2C-command.
17114         * lisp/ldefs-boot.el: Update to remove setting "\C-x6" to 2C-command.
17116         * doc/emacs/commands.texi (Keys):
17117         * doc/emacs/text.texi (Two-Column):
17118         * doc/lispref/keymaps.texi (Prefix Keys):
17119         * doc/lispref/maps.texi (Standard Keymaps):
17120         Unbind 'C-x 6' from '2C-mode-map'.
17122 2019-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
17124         * lisp/emacs-lisp/package.el (package--get-deps): Rewrite.
17126         Avoid inf-recursion with dependency cycles.
17127         Remove unused `only` arg.  Prune duplicates early rather than late.
17128         (package--removable-packages): Simplify code accordingly.
17130 2019-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17132         Port file-acl errno checking to non-GNU
17134         Problem reported privately for FreeBSD 12 by Ashish Shukla.
17135         * src/fileio.c (Ffile_acl): Treat EINVAL etc. like ENOTSUP if
17136         acl_get_file fails, to port to FreeBSD 12 and other non-GNU
17137         platforms.
17139 2019-10-06  Eli Zaretskii  <eliz@gnu.org>
17141         Support mouse clicks on tab bar on TTY frames
17143         This for now doesn't work on GPM.
17144         * src/xdisp.c (display_tab_bar): Make the loop over tab-bar
17145         items more efficient.
17146         (tab_bar_item_info, tool_bar_item_info): Correct data type for
17147         CHARPOS.
17148         (tty_get_tab_bar_item, tty_handle_tab_bar_click): New functions.
17149         (note_mouse_highlight): Handle help-echo of tab-bar tabs on
17150         TTY frames.
17151         * src/w32inevt.c (do_mouse_event): Call
17152         tty_handle_tab_bar_click to process mouse clicks on the tab bar.
17153         * src/termchar.h (tty_handle_tab_bar_click): Add prototype.
17154         * src/w32console.c (w32con_set_terminal_modes): Disable Quick
17155         Edit mode on entry, to make sure mouse events get reported to
17156         us.
17158 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
17160         Fix off-by-one bug in ISO 8601 BC years
17162         * lisp/calendar/iso8601.el (iso8601--year-match)
17163         (iso8601--full-date-match, iso8601--without-day-match)
17164         (iso8601--week-date-match, iso8601--ordinal-date-match)
17165         (iso8601-parse-date):
17166         Don’t bother to separate the year’s sign from the year,
17167         as that distinction is not needed: ISO 8601 uses
17168         astronomical year numbering with a year zero, which
17169         is what the Emacs time functions use, so there’s no
17170         need to treat nonpositive years specially.
17171         (iso8601--adjust-year): Remove; no longer needed
17172         since callers can just use string-to-number.
17173         * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years):
17174         Adjust test case to match fixed behavior.
17176 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
17178         Improve documentation for year-zero issues
17180         * doc/emacs/calendar.texi (Calendar Systems)
17181         * doc/lispref/os.texi (Time Conversion):
17182         Prefer "BC" to "B.C." since the documentation generally uses "BC".
17183         * doc/misc/emacs-mime.texi (time-date):
17184         * lisp/calendar/time-date.el (date-to-day, time-to-days):
17185         In the doc string, state the day origin more clearly, and more
17186         consistently with the rest of the documentation.
17187         * src/timefns.c (Fdecode_time): State the year origin in
17188         the doc string.
17190 2019-10-05  Juri Linkov  <juri@linkov.net>
17192         More tab bar related key bindings.
17194         * lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix): Move here from tab-bar.el
17195         to make it available to other modes like dired for 'C-x 6 d'.
17197         * lisp/dired.el (dired-other-tab): New command bound to 'C-x 6 d'.
17199         * lisp/tab-bar.el: Bind 'C-x 6 o' to tab-next.
17201         * doc/emacs/frames.texi (Tab Bars): Describe C-x 6 prefix key bindings.
17203 2019-10-05  Juri Linkov  <juri@linkov.net>
17205         * lisp/tab-bar.el: In tab switching allow absolute and relative args.
17207         * lisp/tab-bar.el (tab-bar-tab-hints): New defcustom.
17208         (tab-bar-make-keymap-1): Use tab-bar-tab-hints.
17209         (tab-bar--tab, tab-bar--current-tab, tab-bar--current-tab-index)
17210         (tab-bar--tab-index, tab-bar--tab-index-by-name): New internal functions.
17211         (tab-bar-select-tab): Use arg as absolute position of tab to select.
17212         (tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab): Use arg
17213         as offset relative to the current tab.
17214         (tab-bar-switch-to-tab): New command.
17215         (tab-bar-new-tab): Simplify by using cl-pushnew.
17216         (tab-bar-close-current-tab): Remove (the current tab is closed
17217         by nil arg of tab-bar-close-tab).
17218         (tab-bar-close-tab): Use arg as absolute position of tab to close.
17219         (tab-bar-close-tab-by-name): New command.
17221 2019-10-05  Artyom Loenko  <artyom.loenko@mac.com>  (tiny change)
17223         Include new permission settings for macOS 10.15 (bug#37551)
17225         * nextstep/templates/Info.plist.in
17226         (NSDesktopFolderUsageDescription):
17227         (NSDocumentsFolderUsageDescription):
17228         (NSDownloadsFolderUsageDescription):
17229         (NSRemovableVolumesUsageDescription): Add description to enable
17230         setting in macOS 10.15.
17232 2019-10-05  Paul Smith  <psmith@gnu.org>
17234         Support GNU make error messages in compile mode.
17236         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
17237         Match GNU make error messages.
17238         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
17239         Test GNU make error message matching.
17240         (compile-test-error-regexps): Update count of infos found.
17242 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
17244         Remove some XEmacs compat code from the CEDET tests
17246 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
17248         Remove some XEmacs compat code from esh*.el
17250         * lisp/eshell/esh-util.el: Remove some XEmacs compat functions.
17252 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
17254         Remove more XEmacs compat code from ezimage.el
17256         * lisp/ezimage.el (ezimage-use-images)
17257         (ezimage-insert-over-text): Remove XEmacs compat code.
17259 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
17261         Fix typo in frames.texi xref
17263         * doc/emacs/frames.texi (Tab Bars): Fix typo in xref.
17265 2019-10-05  Lars Ingebrigtsen  <larsi@gnus.org>
17267         Remove most of the XEmacs compat code from ediff*.el
17269         * lisp/vc/ediff-diff.el (ediff-word-1): Remove XEmacs compat code
17270         and declare compatibility functions for obsolete.  Adjust all callers.
17272         * lisp/vc/ediff-help.el (ediff-set-help-overlays):
17274         * lisp/vc/ediff-hook.el:
17275         (menu-bar-ediff-misc-menu, menu-bar-ediff-merge-menu)
17276         (menu-bar-ediff-menu, menu-bar-ediff-merge-menu)
17277         (menu-bar-epatch-menu, menu-bar-ediff-misc-menu):
17279         * lisp/vc/ediff-init.el (ediff-device-type)
17280         (ediff-window-display-p, ediff-has-face-support-p)
17281         (ediff-has-toolbar-support-p, ediff-has-gutter-support-p)
17282         (ediff-BAD-INFO, ediff-coding-system-for-write)
17283         (ediff-read-event, ediff-overlayp, ediff-make-overlay)
17284         (ediff-delete-overlay, ediff-color-display-p)
17285         (ediff-display-pixel-width, ediff-display-pixel-height)
17286         (ediff-region-help-echo, ediff-set-face-pixmap)
17287         (ediff-paint-background-regions-in-one-buffer)
17288         (ediff-clear-fine-diff-vector, ediff-mouse-event-p)
17289         (ediff-key-press-event-p, ediff-event-point, )
17290         (ediff-event-buffer, ediff-event-key, ediff-last-command-char)
17291         (ediff-frame-iconified-p, ediff-frame-char-width)
17292         (ediff-reset-mouse, ediff-frame-char-height)
17293         (ediff-overlay-start, ediff-overlay-end, ediff-overlay-buffer)
17294         (ediff-overlay-get, ediff-move-overlay, ediff-overlay-put)
17295         (ediff-abbreviate-file-name):
17297         * lisp/vc/ediff-mult.el (ediff-next-meta-item)
17298         (ediff-previous-meta-item)
17299         (ediff-replace-session-activity-marker-in-meta-buffer)
17300         (ediff-replace-session-status-in-meta-buffer)
17301         (ediff-redraw-directory-group-buffer)
17302         (ediff-update-markers-in-dir-meta-buffer)
17303         (ediff-update-session-marker-in-dir-meta-buffer)
17304         (ediff-redraw-registry-buffer, ediff-set-meta-overlay)
17305         (ediff-update-meta-buffer, ediff-get-meta-info)
17306         (ediff-get-meta-overlay-at-pos, )
17307         (ediff-get-session-number-at-pos, )
17308         (ediff-next-meta-overlay-start)
17309         (ediff-previous-meta-overlay-start, )
17310         (ediff-meta-mark-equal-files):
17312         * lisp/vc/ediff-util.el:
17313         (ediff-setup, ediff-setup-control-buffer, ediff-recenter)
17314         (ediff-recenter-one-window, ediff-toggle-read-only)
17315         (ediff-file-checked-out-p, ediff-file-checked-in-p)
17316         (ediff-toggle-wide-display, ediff-toggle-multiframe)
17317         (ediff-toggle-use-toolbar, ediff-kill-bottom-toolbar)
17318         (ediff-visible-region, ediff-scroll-vertically)
17319         (ediff-scroll-horizontally, ediff-jump-to-difference-at-point)
17320         (ediff-diff-to-diff, ediff-restore-diff)
17321         (ediff-toggle-regexp-match, ediff-really-quit)
17322         (ediff-cleanup-mess, ediff-highlight-diff-in-one-buffer)
17323         (ediff-unhighlight-diffs-totally-in-one-buffer)
17324         (ediff-save-buffer, ediff-make-cloned-buffer)
17325         (ediff-make-indirect-buffer, ediff-remove-flags-from-buffer)
17326         (ediff-place-flags-in-buffer1, ediff-get-diff-posn)
17327         (ediff-clear-diff-vector, ediff-make-bullet-proof-overlay)
17328         (ediff-submit-report, ediff-deactivate-mark)
17329         (ediff-activate-mark, ediff-profile, ediff-print-diff-vector):
17331         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters)
17332         (ediff-get-window-by-clicking, ediff-select-lowest-window)
17333         (ediff-setup-windows-plain-merge)
17334         (ediff-setup-windows-plain-compare, ediff-setup-control-frame)
17335         (ediff-destroy-control-frame, ediff-make-frame-position)
17336         (ediff-make-wide-display, ediff-get-visible-buffer-window):
17338         * lisp/vc/ediff.el (ediff-version, ediff-documentation):
17340 2019-10-05  Eli Zaretskii  <eliz@gnu.org>
17342         Improve documentation of Tab bars
17344         * doc/emacs/frames.texi (Menu Bars, Tool Bars, Tab Bars):
17345         Don't start index entries from a capital letter.
17346         (Tab Bars): Improve wording and indexing.
17348         * etc/NEWS: Improve documentation of Tab bars.
17350 2019-10-05  Eli Zaretskii  <eliz@gnu.org>
17352         Fix display of cursor in obscure use case on MS-Windows
17354         * src/xdisp.c (redisplay_internal): Detect when the frame
17355         becomes garbaged inside the call to update_frame, and redraw
17356         the frame in that case.  (Bug#37579)
17358 2019-10-05  Philipp Stephani  <phst@google.com>
17360         * src/fns.c (Flocale_info): Avoid fixnum overflow under ASan.
17362         * src/pdumper.c (dump_buffer): Update structure hash.
17364 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
17366         Omit one more superfluous "-" in regexp
17368         Problem reported by Mattias Engdegård.
17369         * lisp/language/indian.el (gurmukhi-composable-pattern):
17370         Omit unnecessary "-".
17372 2019-10-05  Dmitry Gutov  <dgutov@yandex.ru>
17374         (project--vc-list-files): Make sure to expand file names
17376         * lisp/progmodes/project.el (project--vc-list-files): Make sure to
17377         expand file names.  Turns out, Grep doesn't like abbreviated ones.
17379 2019-10-05  Eli Zaretskii  <eliz@gnu.org>
17381         Fix vertical scrolling in image-mode
17383         * lisp/image-mode.el (image-set-window-vscroll): Interpret the
17384         argument VSCROLL value in pixel units.
17385         (image-mode-reapply-winprops): Interpret the 'vscroll'
17386         property value in pixel units.
17387         (image-next-line): Scroll the image with pixel resolution.
17388         (image-eob): Set the image vscroll in pixels.  (Bug#37578)
17390 2019-10-04  Juanma Barranquero  <lekktu@gmail.com>
17392         Improve docstrings auto-generated by `define-minor-mode'
17394         * lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
17395         When using `easy-mmode--arg-docstring' to auto-generate a
17396         docstring, refill it up to `emacs-lisp-docstring-fill-column'.
17398 2019-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
17400         Don't manipulate gnus-newsrc-alist if it hasn't been initialized
17402         * lisp/gnus/gnus-group.el (gnus-group-set-info): Packages that use
17403         Gnus summary mode without actually booting Gnus might end up in this
17404         situation. See bug#36903
17406 2019-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17408         Fix bugs found by 2019-09-29 regexp scanner
17410         Problems reported by Mattias Engdegård in:
17411         https://lists.gnu.org/r/emacs-devel/2019-09/threads.html
17412         * lisp/calendar/iso8601.el (iso8601--year-match)
17413         (iso8601--full-date-match, iso8601--without-day-match)
17414         (iso8601--week-date-match, iso8601--ordinal-date-match)
17415         (iso8601--zone-match):
17416         * lisp/textmodes/rst.el (rst-re-alist-def):
17417         Put ‘-’ at the end of bracketed ranges, following the style
17418         suggestion in the Elisp manual.
17419         (iso8601--time-match): Use \([0-9]*\) instead of \([0-9]+\)?
17420         to pacify the regexp scanner.
17421         (iso8601-parse-time): Adjust accordingly.
17422         * lisp/language/burmese.el (burmese-composable-pattern):
17423         * lisp/language/indian.el (devanagari-composable-pattern)
17424         (bengali-composable-pattern, gurmukhi-composable-pattern)
17425         (gujarati-composable-pattern, oriya-composable-pattern)
17426         (telugu-composable-pattern, kannada-composable-pattern)
17427         (malayalam-composable-pattern):
17428         Prefer [ab] to [a-b] when the characters differ by 1,
17429         to pacify the regexp scanner.
17430         * lisp/language/burmese.el (burmese-composable-pattern):
17431         Fix missing-‘\u’ typos.
17432         * lisp/language/indian.el (gurmukhi-composable-pattern):
17433         Fix missing-‘\’ typo.
17434         * lisp/language/tibetan.el (tibetan-regexp):
17435         Quote ‘+’ in regexp to pacify the regexp scanner.  Simplify.
17436         * lisp/textmodes/rst.el (rst-re-alist-def): Fix ‘[]-'...]’
17437         typo by putting the ‘-’ at end of the bracketed expression.
17439 2019-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17441         Minor style tweaks for recent tab changes
17443         * src/dispextern.h (MR_PARTIALLY_VISIBLE_AT_TOP):
17444         * src/window.c (Fwindow_mode_line_height)
17445         (Fwindow_header_line_height, Fwindow_tab_line_height)
17446         (Fwindow_right_divider_width, Fwindow_bottom_divider_width)
17447         (Fwindow_scroll_bar_width, Fwindow_scroll_bar_height):
17448         (Fset_window_configuration, Fcurrent_window_configuration):
17449         Omit unnecessary parens.
17450         * src/dispextern.h (CURRENT_MODE_LINE_HEIGHT)
17451         (CURRENT_HEADER_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT):
17452         Add parens needed to make these macros function-like.
17453         * src/window.c (window_resize_check):
17454         * src/window.h (WINDOW_TAB_BAR_P):
17455         * src/xdisp.c (tab_bar_item_info): Reindent.
17456         * src/window.c (window_wants_mode_line)
17457         (window_wants_header_line, window_wants_tab_line):
17458         Simplify (a && b ? 1 : 0) to (a && b).
17460 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
17462         Make mouse scroll show a message instead of dinging at buffer limits
17464         * lisp/mwheel.el (mwheel-scroll): Show a message instead of dinging at
17465         end of buffer and beginning of buffer.  This should be less intrusive,
17466         especially when using a trackpad.  (Bug#16196)
17468 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
17470         Bind Scroll_Lock to scroll-lock-mode globally
17472         * lisp/bindings.el (global-map): Bind Scroll_Lock to
17473         scroll-lock-mode.  (Bug#6861)
17474         * lisp/scroll-lock.el (scroll-lock-mode): Note that the binding will
17475         not work if 'w32-scroll-lock-modifier' is non-nil.
17476         * etc/NEWS: Announce it.
17478 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
17480         Add tests for secure-hash and improve doc string (Bug#37420)
17482         * src/fns.c (Fsecure_hash_algorithms): Fix typo.
17483         (Fsecure_hash): Add algorithm list to doc string.
17484         * test/src/fns-tests.el (test-secure-hash): New test.
17486 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
17488         Declare unused vhdl code in align.el obsolete
17490         * lisp/align.el (align-vhdl-rules-list, align-set-vhdl-rules): Declare
17491         obsolete.  (Bug#6207)
17492         (align-dq-string-modes, align-open-comment-modes): Move vhdl-mode to
17493         definition instead of adding it later.
17495 2019-10-04  Mattias Engdegård  <mattiase@acm.org>
17497         Fix error in gnu compilation-mode regexp (bug#37582)
17499         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
17500         Fix a mistake introduced when the regexp was translated to rx.
17501         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
17502         (compile-test-error-regexps): Add test case.
17503         * etc/compilation.txt: Add example.
17505 2019-10-04  Mattias Engdegård  <mattiase@acm.org>
17507         Make compile-tests re-runnable
17509         * test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
17510         Don't rely on compilation-num-errors (etc) all being zero, which they
17511         aren't if the test has been run before.
17512         (compile-tests--test-regexps-data): Change defvar to defconst.
17514 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17516         Remove semantic-make-local-hook call from CEDET
17518         * lisp/cedet/semantic/wisent/grammar.el
17519         (wisent-grammar-setupcode-builder):
17520         * lisp/cedet/semantic/util-modes.el (semantic-highlight-edits-mode)
17521         (semantic-show-unmatched-syntax-mode)
17522         (semantic-show-parser-state-mode):
17523         * lisp/cedet/semantic/mru-bookmark.el (semantic-mru-bookmark-mode):
17524         * lisp/cedet/semantic/imenu.el (semantic-create-imenu-index):
17525         * lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
17526         * lisp/cedet/semantic/grammar-wy.el
17527         (semantic-grammar-wy--install-parser):
17528         * lisp/cedet/semantic/decorate/mode.el
17529         (semantic-decorate-add-pending-decoration)
17530         (semantic-decoration-mode):
17531         * lisp/cedet/semantic.el (semantic--set-buffer-cache): Remove all
17532         calls to the function.
17534         * lisp/cedet/semantic/fw.el (semantic-make-local-hook): Made
17535         obsolete alias for #'ignore by removing XEmacs compat code.
17537 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17539         Remove some XEmacs compat code from ispell.el
17541         * lisp/textmodes/ispell.el (ispell-word): Remove XEmacs compat code.
17543 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17545         Remove some XEmacs compat code from ezimage.el
17547         * lisp/ezimage.el (defezimage): Remove XEmacs compat code.
17549 2019-10-04  Stefan Kangas  <stefankangas@gmail.com>
17551         Remove XEmacs compat code from re-builder.el
17553         * lisp/emacs-lisp/re-builder.el (top-level)
17554         (reb-color-display-p): Remove XEmacs compat code.
17556 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17558         Remove some XEmacs compat code from ediff*.el
17560         * lisp/vc/ediff-diff.el (ediff-goto-word): Ditto.
17562         * lisp/vc/ediff-init.el (ediff-has-face-support-p)
17563         (ediff-current-diff-A, ediff-current-diff-B)
17564         (ediff-current-diff-C, ediff-current-diff-Ancestor)
17565         (ediff-fine-diff-A, ediff-fine-diff-B, ediff-fine-diff-C)
17566         (ediff-fine-diff-Ancestor, ediff-even-diff-A)
17567         (ediff-even-diff-B, ediff-even-diff-C)
17568         (ediff-even-diff-Ancestor, ediff-odd-diff-A, ediff-odd-diff-B)
17569         (ediff-odd-diff-C, ediff-odd-diff-Ancestor)
17570         (ediff-with-syntax-table): Ditto.
17572         * lisp/vc/ediff-mult.el (ediff-dir-diffs-buffer-map)
17573         (ediff-setup-meta-map, ediff-set-meta-overlay): Ditto.
17575         * lisp/vc/ediff-util.el (ediff-setup-keymap)
17576         (ediff-toggle-wide-display, ediff-toggle-multiframe)
17577         (ediff-toggle-use-toolbar, ediff-really-quit)
17578         (ediff-good-frame-under-mouse)
17579         (ediff-make-bullet-proof-overlay): Ditto.
17581         * lisp/vc/ediff-wind.el (ediff-setup-control-frame)
17582         (ediff-refresh-control-frame): Remove XEmacs compat code.
17584 2019-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
17586         * lisp/subr.el (generate-new-buffer): Move (from files.el) before first use
17588         (with-temp-file, with-output-to-string): Use it.
17590         * lisp/files.el (generate-new-buffer): Move to subr.el.
17592 2019-10-04  Dmitry Gutov  <dgutov@yandex.ru>
17594         (project--vc-list-files): Optimize the Hg implementation
17596         * lisp/progmodes/project.el (project--vc-list-files):
17597         Optimize the Hg implementation.
17599 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17601         Remove some more XEmacs compat code from viper*.el
17603         * lisp/emulation/viper-ex.el (viper-ex-read-file-name): Ditto.
17605         * lisp/emulation/viper-init.el (viper-ms-style-os-p)
17606         (viper-has-face-support-p, viper-deactivate-input-method)
17607         (viper-activate-input-method, viper-set-input-method): Ditto.
17609         * lisp/emulation/viper-util.el
17610         (viper-get-saved-cursor-color-in-replace-mode)
17611         (viper-get-saved-cursor-color-in-insert-mode)
17612         (viper-get-saved-cursor-color-in-emacs-mode)
17613         (viper-set-replace-overlay, viper-key-to-emacs-key)
17614         (viper-set-unread-command-events): Ditto.
17616         * lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
17617         (viper-non-hook-settings): Remove XEmacs compat code.
17619 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17621         Remove more XEmacs compat code from viper-*.el
17623         * lisp/emulation/viper-cmd.el (viper-special-read-and-insert-char)
17624         (viper-next-line-carefully, viper-next-line)
17625         (viper-previous-line): Ditto.
17627         * lisp/emulation/viper-mous.el (viper-surrounding-word)
17628         (viper-parse-mouse-key): Remove XEmacs compat code.
17630 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17632         Remove XEmacs-only code from snake.el
17634         * lisp/play/snake.el (snake-mode): Remove XEmacs-only code.
17636 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17638         Remove XEmacs code from tetris.el
17640         * lisp/play/tetris.el (tetris-mode): Remove XEmacs-only code.
17642 2019-10-04  Lars Ingebrigtsen  <larsi@gnus.org>
17644         Remove XEmacs compat code from idlw-shell.el
17646         * lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file):
17647         Make into obsolete alias.
17648         (idlwave-shell-temp-file): Adjust callers.
17650 2019-10-04  Juanma Barranquero  <lekktu@gmail.com>
17652         Revert "Improve docstrings auto-generated by `define-minor-mode'"
17654         This reverts commit a397fa06d18d6ae37a3a1288f269e1ae9eb3b569.
17655         The original change breaks bootstrapping because of a circular dependency.
17657 2019-10-04  Dmitry Gutov  <dgutov@yandex.ru>
17659         Use file-name-as-directory
17661         * lisp/progmodes/project.el (project--vc-list-files): Use
17662         file-name-as-directory, to be on the safe side.
17664 2019-10-03  Stefan Kangas  <stefankangas@gmail.com>
17666         Remove more XEmacs compat code in cperl-mode.el
17668         * lisp/progmodes/cperl-mode.el (condition-case, cperl-problems)
17669         (cperl-problems-old-emaxen, cperl-init-faces)
17670         (cperl-word-at-point): Remove more XEmacs compat code.
17672 2019-10-03  Juanma Barranquero  <lekktu@gmail.com>
17674         Improve docstrings auto-generated by `define-minor-mode'
17676         * lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
17677         When using `easy-mmode--arg-docstring' to auto-generate a
17678         docstring, refill it up to `emacs-lisp-docstring-fill-column'.
17680 2019-10-03  Stefan Kangas  <stefankangas@gmail.com>
17682         More doc fixes in package.el (Bug#37544)
17684         * lisp/emacs-lisp/package.el (package-menu-hide-low-priority)
17685         (package-pinned-packages, package-load-descriptor)
17686         package-archive-version, package-archive-contents)
17687         package--read-archive-file, package-read-archive-contents)
17688         (package-unsigned-archives, package-read-all-archive-contents)
17689         (package--download-and-read-archives, package-install):
17690         * lisp/subr.el (package--description-file):
17691         * test/lisp/emacs-lisp/package-tests.el: Doc fixes.
17693 2019-10-03  Dmitry Gutov  <dgutov@yandex.ru>
17695         Speed up project-files for Git projects
17697         * lisp/progmodes/project.el (project-files): New method.
17698         Implementation for VC projects that uses 'git ls-files' or 'hg
17699         status --all' for listing.  With gratitude to Tassilo Horn who has
17700         done most of the legwork and wrote the first version of the code
17701         (https://lists.gnu.org/r/emacs-devel/2019-10/msg00069.html).
17702         (project--vc-list-files): New function, to be used by the above.
17703         (project--find-regexp-in-files):
17704         Silence warnings about nonexistent files.
17706 2019-10-03  Basil L. Contovounesios  <contovob@tcd.ie>
17708         Further improve button.el support for help-echo
17710         The last change to forward-button added support for help-echo values
17711         that are functions.  This patch fixes the arguments passed to such
17712         functions and further adds support for help-echo values that are
17713         forms (bug#37515).
17714         * doc/lispref/display.texi (Button Properties): Fix description of
17715         help-echo button property.
17716         * lisp/button.el (button--help-echo): New function.
17717         (forward-button): Use it.
17718         (backward-button): Clarify help-echo reference in docstring.
17719         * test/lisp/button-tests.el (button--help-echo-string)
17720         (button--help-echo-form, button--help-echo-function): New tests.
17722 2019-10-03  Basil L. Contovounesios  <contovob@tcd.ie>
17724         Use lexical-binding in button.el
17726         * lisp/button.el: Use lexical-binding.  Expand Keywords header.
17727         Quote function symbols as such.  Use ;;;-comments where appropriate.
17728         (button): Remove outdated commentary of defface.
17729         (define-button-type, make-button, insert-button, make-text-button)
17730         (insert-text-button): Clarify in docstring that PROPERTIES argument
17731         is a plist.
17732         (button-type-subtype-p, button-has-type-p): Do not overspecify
17733         return value in docstring.
17734         (button-put): Fix typo in commentary.
17736 2019-10-03  John Yates  <john@yates-sheets.org>  (tiny change)
17738         Preserve point better in hs-hide-comment-region
17740         * lisp/progmodes/hideshow.el (hs-hide-comment-region): Preserve point
17741         better when collapsing the region (bug#10856).
17743 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
17745         Make lisp-do-defun do the right thing with trailing comments
17747         * lisp/progmodes/inf-lisp.el (lisp-do-defun): Avoid including
17748         trailing comments in the region (bug#7974).
17750 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
17752         Fix bytecomp.el warning a different way than the previous patch
17754         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode-map):
17755         No need to use set-keymap-parent here; `define-derived-mode' will
17756         do that automatically.
17758 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
17760         Fix comment in previous doc-view patch
17762         * lisp/doc-view.el (doc-view-open-text): Comment fix.
17764 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
17766         In doc-view, keep point on the equivalent page in the text version
17768         * lisp/doc-view.el (doc-view-open-text): After opening the text
17769         version, put point on the page the user was reading (bug#16541).
17771 2019-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
17773         * lisp/pcomplete.el: Mark 'pcomplete' command as obsolete
17775         Remove redundant ':group's.
17776         (pcomplete, pcomplete-help): Mark as obsolete.
17778 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
17780         Mention the vc diff switches in diff-switches
17782         * lisp/vc/diff.el (diff-switches): Mention the vc diff switches in
17783         the doc string (bug#4422).
17785 2019-10-03  Alan Mackenzie  <acm@muc.de>
17787         C++ Mode: Correct the fontification of const auto foo
17789         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Correct a coding
17790         error involving `and' and `or'.
17792 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
17794         Touch up previous shr-dom-to-xml encoding change
17796         * lisp/net/shr.el (shr-dom-to-xml): Include an XML declaration if
17797         we're encoding the data.
17798         (shr-parse-image-data): Add comment about why encoding is necessary.
17800 2019-10-03  Lars Ingebrigtsen  <larsi@gnus.org>
17802         Fix up previous SVG-multibyte fix
17804         * lisp/net/shr.el (shr-dom-to-xml): For SVG images, take an
17805         optional charset parameter to return unibyte data.
17806         (shr-parse-image-data): Use it.
17807         (shr-tag-svg): Ditto.
17808         (svg--wrap-svg): Revert previous kludge.
17810 2019-10-03  Alan Mackenzie  <acm@muc.de>
17812         C++ Mode: Fontify correctly declarators with identifier preceded by &
17814         The problem was bar in the following being spuriously recognised as a
17815         function, and foo as a type, as though the & were a *: Foo foo (&bar);.
17817         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): New variable
17818         got-function-name-prefix, which is set when an operator like * (but not &)
17819         precedes the putative identifier in parentheses.  Test this variable when
17820         deciding whether or not to "move the type backwards" to the previous
17821         identifier.
17823         * lisp/progmodes/cc-langs.el (c-type-decl-operator-prefix-key): New lang const
17824         and var.
17826 2019-10-03  Michael Albinus  <michael.albinus@gmx.de>
17828         Fix typo in last commit
17830 2019-10-03  Michael Albinus  <michael.albinus@gmx.de>
17832         Further adaptions for shadowfile-tests.el
17834         * test/lisp/shadowfile-tests.el: Change some traces.
17835         (shadow-test-remote-temporary-file-directory): Adapt also remote
17836         home directory.
17837         (shadow--tests-cleanup): Cleanup Tramp.
17839 2019-10-02  Stefan Kangas  <stefankangas@gmail.com>
17841         Don't use obsolete name in em-cmpl.el
17843         * lisp/eshell/em-cmpl.el (eshell-complete-lisp-symbol): Update
17844         reference to 'elisp-completion-at-point' from its obsolete name.
17845         Reported by Carlos Pita <carlosjosepita@gmail.com>.  (Bug#31906)
17847 2019-10-02  Juri Linkov  <juri@linkov.net>
17849         * lisp/tab-bar.el (tab-bar-show): New defcustom.
17851         * lisp/tab-bar.el (tab-bar-close-current-tab, tab-bar-close-tab):
17852         (tab-bar-new-tab): Use tab-bar-show.
17854         * doc/emacs/frames.texi (Tab Bars): Add tab-bar-show.
17856         * lisp/speedbar.el (speedbar-mode): Set buffer-local tab-bar-mode
17857         and tab-line-format to nil to not show in dedicated speedbar frame.
17859 2019-10-02  Juri Linkov  <juri@linkov.net>
17861         * src/w32inevt.c: Take into account FRAME_TAB_BAR_LINES.
17863         * src/w32inevt.c (resize_event, maybe_generate_resize_event):
17864         Subtract FRAME_TAB_BAR_LINES from FRAME_MENU_BAR_LINES.
17866 2019-10-02  Eli Zaretskii  <eliz@gnu.org>
17868         Fix MS-Windows error when a directory on PATH doesn't exist
17870         * src/w32.c (faccessat): Support more MS-Windows native error
17871         codes that should be translated to ENOENT.  (Bug#37576)
17873 2019-10-02  Stefan Kangas  <stefankangas@gmail.com>
17875         Don't mention server-socket-dir in FAQ
17877         server-socket-dir is a defvar, and users should use the defcustom
17878         server-name instead.
17880         * doc/misc/efaq.texi (Using an already running Emacs process): Remove
17881         details on server-socket-dir, refer to Emacs Manual.  (Bug#20675)
17883 2019-10-02  Eli Zaretskii  <eliz@gnu.org>
17885         Fix a typo in url-http.el
17887         * lisp/url/url-http.el (url-http-parse-headers): Fix a typo.
17888         Reported by Mattias Engdegård <mattiase@acm.org>.
17890 2019-10-02  Sergio Durigan Junior  <sergiodj@sergiodj.net>
17892         Don't add trailing whitespace when passing argument to GDB
17894         * lisp/progmodes/gdb-mi.el (gdb-send): Don't append whitespace to
17895         'gdb-continuation'.  (Bug#25488)
17897 2019-10-01  Glenn Morris  <rgm@gnu.org>
17899         Update a substitute-command-keys test
17901         * test/src/doc-tests.el (doc-test-substitute-command-keys):
17902         Update for recent minibuffer map change.
17904 2019-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
17906         Gnus registry shutdown should also run the unload-hook
17908         * lisp/gnus/gnus-registry.el (gnus-registry-clear): Clearing the
17909         registry should also run the unload hooks.
17910           (gnus-registry-article-marks-to-names,
17911           gnus-registry-article-marks-to-chars): Now we can use a more general
17912           test here.
17914 2019-10-01  Juri Linkov  <juri@linkov.net>
17916         Merge branch 'feature/tabs'
17918         Remove unused code and reformat to 70 columns.
17920 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
17922         Avoid bugging out on multibyte SVG data in shr
17924         * lisp/net/shr.el (svg--wrap-svg): Ensure that the SVG data is
17925         unibyte.
17927 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
17929         Respect buffer-local values in comint-read-input-ring
17931         * lisp/comint.el (comint-read-input-ring): Use the buffer-local
17932         values (bug#6432).
17934 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
17936         Remove old commented out XEmacs compat code from syntax.el (Bug#37524)
17938         * lisp/emacs-lisp/syntax.el: Remove ancient commented out XEmacs
17939         compat code.  This code has been commented out since 2001.
17941 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
17943         Remove XEmacs compat code from url-*.el (Bug#37524)
17945         * lisp/url/url-file.el (url-file-build-filename, url-file)
17946         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove XEmacs
17947         compat code.
17948         (url-device-type): Declare obsolete.
17950 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
17952         Remove XEmacs compat code from winner.el (Bug#37524)
17954         * lisp/winner.el (winner-active-region, winner-edges)
17955         (winner-window-list, winner-sorted-window-list, winner-win-data)
17956         (winner-make-point-alist): Remove XEmacs compat code.
17958 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
17960         Remove XEmacs compat code from term.el (Bug#37524)
17962         * lisp/term.el (term-mode-map, term-raw-map, term-mouse-paste):
17963         Remove XEmacs compat code.
17965 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
17967         Add support for Dired file marking from image-mode
17969         * doc/emacs/files.texi (File Conveniences): Document them.
17971         * lisp/image-mode.el (image-mode--mark-file): New function.
17972         (image-mode-unmark-file, image-mode-mark-file)
17973         (image-mode-copy-file-name-as-kill): New commands and keystrokes.
17975 2019-10-01  Stefan Kangas  <stefankangas@gmail.com>
17977         Move url-ns.el to obsolete/
17979         * lisp/url/url-ns.el: Move from here...
17980         * lisp/obsolete/url-ns.el: ...to here.  (Bug#19822)
17982 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
17984         Tweak mouse highlights in ediff-help
17986         * lisp/vc/ediff-help.el (ediff-set-help-overlays): Only put the
17987         mouse-face overlay on the actual commands (bug#5079).  This avoids
17988         a problem when you have very wide frames: The leading blank
17989         portion of the buffer would get the mouse highlights.
17991 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
17993         Remove XEmacs compat code from ediff-help.el
17995         * lisp/vc/ediff-help.el (ediff-help-region-map)
17996         (ediff-set-help-overlays, ediff-help-for-quick-help): Remove
17997         XEmacs compat code.
17999 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
18001         Make the help page mention the customizeable global mode variable
18003         * lisp/help-fns.el (help-fns--customize-variable): Factor out into
18004         own function for reuse.
18005         (help-fns--globalized-minor-mode): Use it to mention the
18006         equivalent variable.
18008         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
18009         Mark globalized minor modes as such (bug#7177).
18011 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
18013         Fix build error in bytecomp.el from previous change
18015 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
18017         Add a new command in *Compile-Log* buffers to re-byte-compile
18019         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-recompile):
18020         New command (bug#4516).
18021         (emacs-lisp-compilation--current-file)
18022         (emacs-lisp-compilation-mode-map): New variables with new `g'
18023         binding.
18024         (byte-compile-log-file): Set variable so that `g' can recompile it.
18026 2019-10-01  Lars Ingebrigtsen  <larsi@gnus.org>
18028         Allow 'M-<' in the minibuffer to behave more logically
18030         * doc/lispref/minibuf.texi (Completion Commands)
18031         (Text from Minibuffer): Document it.
18033         * lisp/minibuffer.el (minibuffer-beginning-of-buffer): New command
18034         (bug#3447).
18035         (map): Bind it.
18037 2019-10-01  Robert Pluim  <rpluim@gmail.com>
18039         Correct some custom type typos
18041         * lisp/image.el (image-use-external-converter):
18042         * lisp/progmodes/sql.el (sql-use-indent-support):
18043         * lisp/vc/add-log.el (add-log-dont-create-changelog-file): Fix
18044         misspelled 'boolean custom type.
18046         * lisp/progmodes/flymake-cc.el (flymake-cc-command): Correct custom
18047         type specification.  (Bug#30990)
18049 2019-09-30  Stephen Gildea  <stepheng+git-config-global@gildea.com>
18051         Move undocumented time-stamp formats closer to format-time-string
18053         * lisp/time-stamp.el (time-stamp-string-preprocess): Update some undocumented
18054         formatting characters of time-stamp format for closer (still incomplete)
18055         alignment with format-time-string.  They have displayed a warning since
18056         Emacs 20 (released in 1997), so it is unlikely anyone is using them.
18058         * test/lisp/time-stamp-tests.el: Update tests to match new expectations.
18060 2019-09-30  Stephen Gildea  <stepheng+savannah@gildea.com>
18062         time-stamp doc: recommend formats closer to format-time-string
18064         * lisp/time-stamp.el (time-stamp-format, time-stamp-pattern): Update
18065         recommended (documented) formats.  No code changes, just documentation.
18066         All recommended formats are compatible at least as far back as Emacs
18067         22.1 (released in 2007) and are now closer to compatibility with
18068         format-time-string.
18070         * test/lisp/time-stamp-tests.el: Update test comments to match.
18072 2019-09-30  Juanma Barranquero  <lekktu@gmail.com>
18074         Bump up max_specpdl_size to 1600
18076         * src/eval.c (init_eval_once): Set max_specpdl_size to 1600.
18077         * doc/lispref/variables.texi (Local Variables): Document it.
18079 2019-09-30  Eric Abrahamsen  <eric@ericabrahamsen.net>
18081         Update calling convention for nnmaildir-close-server
18083         * lisp/gnus/nnmaildir.el (nnmaildir-close-server): To take an optional
18084         "defs" arg, as changed in 2712187.
18086 2019-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
18088         * lisp/gnus/mm-uu.el: Use lexical-binding and cl-defstruct
18090         (mm-uu-type-alist): Make functions visible to byte-compiler.
18091         (mm-uu-entry): New defstruct.
18092         (mm-uu-configure): Use mapconcat.
18093         (mm-uu-dissect): Avoid setq on `func`.
18095 2019-09-30  Eli Zaretskii  <eliz@gnu.org>
18097         Fix quoting in gnutls.c comments and strings
18099         * src/gnutls.c (gnutls_make_error, emacs_gnutls_global_init)
18100         (Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
18101         (Fgnutls_hash_mac, Fgnutls_hash_digest): Fix quoting in doc
18102         strings and comments.
18104 2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>
18106         Make doc-view error message more informative
18108         * lisp/doc-view.el (doc-view-initiate-display): Make error message
18109         clearer (bug#3827).
18111 2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>
18113         Fix problem with non-ASCII MML description strings
18115         * lisp/gnus/mml.el (mml-insert-tag): Quote non-ASCII parameters.
18116         (mml-insert-mime-headers): Make it possible to have non-ASCII
18117         descriptions (bug#37555).
18119 2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>
18121         Mention locale-related complications in format-time-string doc string
18123         * src/timefns.c (Fformat_time_string): Mention that the width in
18124         specifiers like %NX is often in bytes, not characters (bug#20258).
18126 2019-09-30  Lars Ingebrigtsen  <larsi@gnus.org>
18128         Fix recent mm-uu.el typo
18130         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1): Fix typo in
18131         mm-uu introduced by previous patch.
18133 2019-09-30  Eli Zaretskii  <eliz@gnu.org>
18135         Improve description of face merging
18137         * doc/lispref/display.texi (Displaying Faces): More accurate
18138         description of merging face attributes of "underlying text".
18139         (Bug#1222)
18141 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18143         Make elisp- and emacs-index-search and default to the thing under point
18145         * lisp/menu-bar.el (elisp-index-search): Default to the thing
18146         under point interactively (bug#1119).
18147         (emacs-index-search): Ditto.
18148         (emacs-index--prompt): New helper function.
18150 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18152         Refactor mm-decode and friends to be explicit about when errors happen
18154         * lisp/gnus/mm-decode.el (mm-sec-status):
18155         (mm-sec-error): New functions to handle decryption problems more
18156         explicitly (bug#18393).
18157         (mm-possibly-verify-or-decrypt): Use the `sec-error' data to
18158         determine whether the operation failed or not.
18160         * lisp/gnus/mml-smime.el: Ditto.
18162         * lisp/gnus/mml2015.el: Used throughout.
18164 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18166         Fix rendering of degenerate tables some more in shr.el
18168         * lisp/net/shr.el (shr--fix-tbody): New function (bug#31665).
18169         (shr--fix-table): Use it to fix the
18170         <table><tbody>foo</tbody></table> case.
18172 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18174         shr table fix refactoring
18176         * lisp/net/shr.el (shr--fix-table): Refactor out into own function
18177         from...
18178         (shr-tag-table): ... this function.
18180 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18182         Change the commands in image-converter--converters to lists
18184         * lisp/image/image-converter.el (image-converter--converters):
18185         Change format of the commands to lists.
18186         (image-converter--probe, image-converter--convert): Adjust usages.
18188 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18190         Rename the new convert-images-externally variable
18192         * doc/emacs/files.texi (File Conveniences): Adjust documentation.
18194         * lisp/image.el (image-use-external-converter): Rename from
18195         convert-images-externally.
18197 2019-09-29  Juanma Barranquero  <lekktu@gmail.com>
18199         Silence byte-compiler warning
18201         * lisp/obsolete/info-edit.el (ibuffer-help-buffer-modes): Defvar it.
18203 2019-09-29  Stefan Kangas  <stefankangas@gmail.com>
18205         * lisp/dired-x.el (dired-virtual): Fix typo.
18207 2019-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
18209         * lisp/nxml/rng-valid.el: Use define-minor-mode
18211         Remove redundant `:group`s.
18212         (rng-validate-mode): Use define-minor-mode.
18213         (rng-validate-clear): Let-bind rng-current-schema instead of passing
18214         a `no-change-schema` argument.
18216 2019-09-29  Tom Willemse  <tom@ryuslash.org>
18218         Fix indenting in perl functions with doc-comments
18220         * lisp/progmodes/perl-mode.el (perl-calculate-indent): Skip
18221         doc-comments as well as comments and skip the entire comment, not just
18222         the line.  (Bug#21647)
18224 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18226         Update iso8601-tests for new interface
18228 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18230         Make iso8601-parse take a FORM parameter like `decode-time'
18232         * lisp/calendar/iso8601.el (iso8601-parse-time, iso8601-parse):
18233         Take a FORM parameter like `decode-time'.
18235 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18237         Add support for sub-second ISO8601 strings
18239         * lisp/calendar/iso8601.el (iso8601--decimalize): New function.
18240         (iso8601-parse-time): Support sub-second ISO8601 times.
18242 2019-09-29  Paul Eggert  <eggert@cs.ucla.edu>
18244         * src/timefns.c (Fdecode_time): Improve doc string.
18246 2019-09-29  Stefan Kangas  <stefankangas@gmail.com>
18248         Clarify recent ert manual change
18250         * doc/misc/ert.texi (Running Tests in Batch Mode): Say that ert test
18251         selector strings are regular expressions.
18253 2019-09-29  Alan Mackenzie  <acm@muc.de>
18255         Remove the compilation-arrow-overlay on a major mode change/reinitialization
18257         At the same time, remove the 2-character left margin.
18259         * lisp/progmodes/compile.el (compilation-set-up-arrow-spec-in-margin): put
18260         compilation-tear-down-arrow-spec-in-margin onto change-major-mode-hook.
18262 2019-09-29  Mattias Engdegård  <mattiase@acm.org>
18264         Add `rx-submatch-n' for compatibility (bug#37517)
18266         It was an internal symbol in the old `rx' implementation, used in old
18267         versions of the `flycheck' package.
18269         * lisp/emacs-lisp/rx.el (rx-submatch-n): Alias of `rx-to-string'.
18270         * test/lisp/emacs-lisp/rx-tests.el (rx-compat): Test it.
18272 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18274         Fix reverting doc-view buffers
18276         * lisp/doc-view.el (doc-view--revert-buffer): Actually use the new
18277         version of the PDF data (bug#26996).
18279 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18281         Allow customising pdf-to-text parameters
18283         * lisp/doc-view.el (doc-view-pdf->txt): Allow customising the
18284         parameters (bug#8519).
18285         (doc-view-pdftotext-program-args): New variable.
18287 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18289         Try ImageMagick last for external image converters
18291         * lisp/image/image-converter.el (image-converter--converters):
18292         Move ImageMagick last in the list.
18294 2019-09-29  Mattias Engdegård  <mattiase@acm.org>
18296         Fix linear equation system solving in Calc (bug#35374)
18298         * lisp/calc/calcalg2.el (math-try-solve-for):
18299         To solve Ax^n=0 where A is a nonzero constant and x the variable to
18300         solve for, solve x^n=0 instead of solving A=0 (which obviously fails)
18301         or something equally stupid.
18302         * test/lisp/calc/calc-tests.el (calc-test-solve-linear-system): New.
18304 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18306         Move convert-images-externally documentation to Emacs manual
18308         * doc/emacs/files.texi (File Conveniences): Move bit about
18309         convert-images-externally to user manual from lispref manual.
18311 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18313         Remove duplicated image conversion defcustom
18315         * lisp/image/image-converter.el (convert-external-images): Remove
18316         defcustom that was accidentally not removed when moving to
18317         image.el (and renamed).
18319 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18321         Add some commented-out tests for iso8601
18323 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18325         Fix up iso8601 time match regexp
18327         * lisp/calendar/iso8601.el (iso8601--time-match): The fraction
18328         mark can be either . or , and there can be arbitrarily many digits
18329         in the fraction.
18331 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18333         Put new Gnus groups in the completion table
18335         * lisp/gnus/gnus-start.el (gnus-group-change-level): Ensure that
18336         all new groups are in gnus-active-hashtb so that they can be
18337         completed to.
18339 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18341         Define nndraft-close-server according to new calling conventions
18343         * lisp/gnus/nnoo.el (nnoo-define-basics-1): *-close-server now
18344         takes a DEFS parameter (bug#20319).
18346 2019-09-29  Lars Ingebrigtsen  <larsi@gnus.org>
18348         Add new Gnus summary commands and keystrokes for "unseen" navigation
18350         * doc/misc/gnus.texi (Choosing Commands): Document them.
18351         * lisp/gnus/gnus-sum.el (gnus-summary-next-unseen-article)
18352         (gnus-summary-prev-unseen-article): New commands and
18353         keystrokes (bug#35213).
18355 2019-09-29  Eli Zaretskii  <eliz@gnu.org>
18357         Improve documentation of image conversion feature
18359         * lisp/image/image-converter.el (image-converter)
18360         (image-convert-p, image-convert):
18361         * lisp/image.el (convert-images-externally):
18362         * etc/NEWS:
18363         * doc/lispref/display.texi (Defining Images): Fix recently
18364         added documentation.
18366 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
18368         Remove :group from a recent defcustom
18370         * lisp/image.el (convert-images-externally): Remove :group.
18372 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
18374         If requested, use external image converters for exotic formats
18376         * doc/lispref/display.texi (Defining Images): Document it.
18378         * lisp/image.el (convert-images-externally): New variable.
18379         (image-type): Use it.
18380         (create-image): Convert images.
18382         * lisp/image/image-converter.el (image-converter--convert): New file.
18384 2019-09-28  Stephen Gildea  <stepheng+savannah@gildea.com>
18386         Reorganize time-stamp tests
18388         * test/lisp/time-stamp-tests.el: Group tests by when the format was or will be
18389         documented.  Add tests for a few more undocumented, volatile formats.
18390         Change AM hours test time to be a different hour from PM test time.
18391         (Making these changes to the tests now will minimize test changes
18392         needed later with anticipated code changes.)
18394 2019-09-28  Juri Linkov  <juri@linkov.net>
18396         Update documentation for tabs.
18398         * doc/emacs/frames.texi (Tab Bars): New node.
18400 2019-09-28  Juri Linkov  <juri@linkov.net>
18402         * lisp/tab-line.el: Add new defcustom tab-line-close-tab-action.
18404 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
18406         Expunge INBOX messages after splitting
18408         * lisp/gnus/nnimap.el (nnimap-split-incoming-mail): Expunge
18409         articles after splitting (bug#37541).
18411 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
18413         Clean up nnimap-split-incoming-mail slightly
18415         * lisp/gnus/nnimap.el (nnimap-split-incoming-mail): Don't call
18416         -delete-articles on empty lists (bug#37541).
18418 2019-09-28  Lars Ingebrigtsen  <larsi@gnus.org>
18420         Copy edit nnimap-expunge doc string
18422         * lisp/gnus/nnimap.el (nnimap-expunge): Copy edit doc string.
18424 2019-09-28  Eli Zaretskii  <eliz@gnu.org>
18426         Improve indexing of ELisp manual
18428         * doc/lispref/frames.texi (Font and Color Parameters): Add index
18429         entry for the 'mouse' face.
18431 2019-09-28  Stefan Kangas  <stefankangas@gmail.com>
18433         Fix customizing ibuffer-help-buffer-modes
18435         * lisp/ibuffer.el (ibuffer-help-buffer-modes)
18436         * lisp/obsolete/info-edit.el (ibuffer-help-buffer-modes): Move
18437         Info-edit-mode reference to obsolete file.
18439 2019-09-28  Stefan Kangas  <stefankangas@gmail.com>
18441         Document ert test selectors in batch mode (Bug#37476)
18443         * doc/misc/ert.texi (Running Tests in Batch Mode): Document test
18444         selectors.
18446 2019-09-28  Stefan Kangas  <stefankangas@gmail.com>
18448         Improve sorting in package list (Bug#37419)
18450         * lisp/emacs-lisp/package.el (package-menu-mode): Allow sorting by
18451         version or description.
18452         (package-menu--version-predicate): Fix sorting by version.
18453         (package-menu--description-predicate): Fix sorting by description.
18454         (package-menu--archive-predicate): Fall back to sorting by name if
18455         archive is the same.
18456         (package-menu--name-predicate, package-menu--status-predicate): Add
18457         doc string.
18458         * etc/NEWS: Announce the above changes.
18460 2019-09-28  Eli Zaretskii  <eliz@gnu.org>
18462         More improvements of doc strings in text-property-search.el
18464         * lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
18465         (text-property-search-backward): Further improvements of doc
18466         strings.  (Bug#37488)
18468 2019-09-28  Axel Svensson  <mail@axelsvensson.com>  (tiny change)
18470         Update X keysym mapping
18472         * lisp/term/x-win.el (x-keysym-table): Update the mappings
18473         using current Xorg data.  (Bug#37530)
18475 2019-09-28  Stefan Kangas  <stefankangas@gmail.com>
18477         Add bug reporting and link the manual on the about screen
18479         * lisp/startup.el (fancy-about-text, normal-about-screen): Clarify
18480         that "Contribute" also describes how to report bugs.  Add new link
18481         "Emacs Manual".  (Bug#20697)
18483 2019-09-28  Eli Zaretskii  <eliz@gnu.org>
18485         Fix running on MS-Windows with non-existing home directory
18487         * lisp/startup.el (startup--xdg-or-homedot): Don't access a
18488         non-existent user home directory on windows-nt systems.
18489         (Bug#37536)
18491 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
18493         Mention doc-view-scale-internally in the DocView manual node
18495         * doc/emacs/misc.texi (DocView Navigation): Mention
18496         doc-view-scale-internally (bug#33226).
18498 2019-09-27  Mauro Aranda  <maurooaranda@gmail.com>
18500         Don't discard customizations in progress when adding comments (Bug#5358)
18502         * lisp/cus-edit.el (custom-comment-show): Add docstring.  Save the
18503         widget value in the :shown-value property, before redrawing.
18504         (custom-variable-modified-p): New function, to complement the return
18505         values of custom-variable-state.
18506         (custom-variable-state-set): Use it.
18507         (custom-face-value-create): Add children to the custom-face widget
18508         before setting the state, to be able to check for user edits.
18509         (custom-face-state-set): Check for user edits before calling
18510         custom-face-state (bug#5358).
18512         * test/lisp/custom-tests.el
18513         (custom-test-show-comment-preserves-changes): New test.
18515 2019-09-27  Nikolaus Rath  <Nikolaus@rath.org>
18517         Run gnus-summary-prepare-exit-hook after flags have been updated
18519         * lisp/gnus/gnus-sum.el (gnus-summary-exit): Gnus message flags
18520         must be set before expiration, not afterwards (bug#21071).
18522 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
18524         Change the lighter in epa-info-mode
18526         * lisp/epa.el (epa-info-mode): Change the name of the mode so that
18527         it doesn't look like it's Info mode (bug#7287).
18529 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
18531         gnus-thread-ignore-subject doc string clarification
18533         * lisp/gnus/gnus-sum.el (gnus-thread-ignore-subject): Document
18534         that when not ignoring subjects, sorting will not happen as
18535         expected (bug#35513).
18537 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
18539         Fix documentation on `C-u a' on nndiary group
18541         * doc/misc/gnus.texi (Diary Group Parameters): Remove apparently
18542         incorrect documentation about `C-u a' on nndiary groups
18543         (bug#36849).
18545 2019-09-27  Lars Ingebrigtsen  <larsi@gnus.org>
18547         Fix reversed check in mm-possibly-verify-or-decrypt
18549         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Fix
18550         reverse check thinko that made unverified singed messages not
18551         display correctly.
18553 2019-09-27  Wilson Snyder  <wsnyder@wsnyder.org>
18555         .va/.vah/.sva/.svah now loads Verilog mode.
18557         * lisp/files.el (auto-mode-alist): Support .va /.vah/.sva/.svah file
18558         extensions to load verilog-mode for Verilog-AMS.  Reported by Shareef
18559         Jalloq.
18561 2019-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
18563         * lisp/net/nsm.el: Use lexical-binding
18565         (nsm-check-tls-connection, nsm-query): Don't pass explicitly `obarray`
18566         since it's the default anyway.
18567         (nsm-query, nsm-query-user, nsm-save-host): Remove redundant
18568         advertised-calling-convention.
18570 2019-09-27  Eli Zaretskii  <eliz@gnu.org>
18572         Fix display of box around images
18574         * src/xdisp.c (face_before_or_after_it_pos): Handle correctly
18575         when we are called with it->bidi_it.first_elt set.  (Bug#17114)
18577 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18579         Fix problem with changing to correct NNTP server
18581         * lisp/gnus/nntp.el (nntp-close-server):
18582         * lisp/gnus/nnimap.el (nnimap-close-server):
18583         * lisp/gnus/gnus-int.el (gnus-close-server): Take an optional DEFS
18584         parameter to enable switching to the correct nnoo server (bug#20319)
18585         when there's two servers with the same address.
18587 2019-09-26  Nikolaus Rath  <Nikolaus@rath.org>
18589         nnimap.el: support additional expunge options
18591         * lisp/gnus/nnimap.el (nnimap-close-group)
18592         (nnimap-request-expire-articles, nnimap-delete-article)
18593         (nnimap-request-scan): Add new 'never, 'immediate, and 'on-exit
18594         settings for nnimap-expunge (bug#20670).
18596 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18598         Tweak updating of readedness marks on the IMAP server
18600         * lisp/gnus/nnimap.el (nnimap-request-set-mark): Ensure that
18601         ticking/unticking also toggles readedness on the IMAP server
18602         (bug#22590).
18604 2019-09-26  Juanma Barranquero  <lekktu@gmail.com>
18606         * src/w32fns.c (Fw32_register_hot_key): Fix typo in docstring
18608 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18610         Fix nnir searching on nested Gnus topics
18612         * lisp/gnus/nnir.el (gnus-group-make-nnir-group): On a topic line,
18613         search all the groups, even in sub-topics (bug#28090).
18615 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18617         Don't hard-code the RSS structure so much in nnrss
18619         * lisp/gnus/nnrss.el (nnrss-get-namespace-prefix): Find the URL in
18620         any section in the RSS (bug#34685).
18622 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18624         Add a new `dom-search' function
18626         * doc/lispref/text.texi (Document Object Model): Document it.
18628         * lisp/dom.el (dom-search): New function.
18630 2019-09-26  Katsumi Yamaoka  <yamaoka@jpl.org>
18632         Make forward-button support help-echo function (bug#37515)
18634         * lisp/button.el (forward-button): Support help-echo function.
18636 2019-09-26  Juri Linkov  <juri@jurta.org>
18638         Include ImageMagick file name regexps in image-file-name-regexp
18640         * lisp/image-file.el (image-file-name-regexp): If compiled with
18641         ImageMagick, include file name extensions it can handle (bug#9516).
18643 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18645         mm-possibly-verify-or-decrypt should only issue errors when decrypting
18647         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Only do
18648         the warning about failed decryption when we're handing encrypted
18649         parts, not when doing verification.
18651 2019-09-26  Stefan Kangas  <stefankangas@gmail.com>
18653         Add key bindings for ibuffer filter commands
18655         * lisp/ibuffer.el (ibuffer--filter-map): Add keybinding for
18656         'ibuffer-filter-chosen-by-completion' and
18657         'ibuffer-filter-by-directory'.  (Bug#6847)
18659 2019-09-26  Stefan Kangas  <stefankangas@gmail.com>
18661         Remove support for destructive splicing in elisp
18663         * src/lread.c (read1): Don't handle destructive splicing in
18664         backquote expressions (e.g. ",.<identifier>").  (Bug#19790)
18665         (syms_of_lread): Remove Qcomma_dot.
18666         * src/print.c (print_object): Don't check for Qcomma_dot.
18667         * test/src/eval-tests.el
18668         (eval-tests-19790-backquote-comma-dot-substitution): New test.
18669         * etc/NEWS: Announce it.
18671 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18673         Fix error in display-startup-screen
18675         * lisp/startup.el (use-fancy-splash-screens-p): Fix error in
18676         display-startup-screen if create-image fails (bug#22072).
18678 2019-09-26  Stefan Kangas  <stefankangas@gmail.com>
18680         Add new function to clear tags in tabulated list
18682         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-clear-all-tags):
18683         New function to clear all tags from padding area in current buffer.
18684         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
18685         * etc/NEWS: Announce it.
18687 2019-09-26  Mauro Aranda  <maurooaranda@gmail.com>
18689         Don't indent unrelated widgets following widget of type 'other
18691         * lisp/wid-edit.el (widget 'other): Use \n instead of the %n escape in the
18692         :format property of this widget.  If %n is used at the end of the
18693         format string, unrelated widgets get indented.  (Bug#12533)
18695         * test/lisp/wid-edit-tests.el (widget-test-indentation-after-%n)
18696         (widget-test-indentation-after-newline)
18697         (widget-test-newline-and-indent-same-widget): New tests.
18699 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18701         Make mm-view-pkcs7-verify use epg if requested
18703         * lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Respect
18704         mml-smime-use (bug#18393).
18706 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18708         Make it possible to view S/MIME verified emails
18710         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): When
18711         dissecting the result, we need a header (bug#18393).
18713         * lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Insert the verified
18714         string.
18716         * lisp/gnus/smime.el (smime-verify-region): Return the verified
18717         string.
18719 2019-09-26  Lars Ingebrigtsen  <larsi@gnus.org>
18721         Fix recent gnus-rescale-image change
18723         * lisp/gnus/gnus-util.el (gnus-rescale-image): Don't bug out on
18724         non-graphical Emacs versions.
18726 2019-09-26  Mattias Engdegård  <mattiase@acm.org>
18728         * etc/NEWS: Note removal of internal rx symbols (bug#37517)
18730 2019-09-26  Juanma Barranquero  <lekktu@gmail.com>
18732         * lisp/desktop.el (desktop-read): With argument, ask the user for DIRNAME.
18734         * etc/NEWS: Document it.
18736 2019-09-26  Michael Albinus  <michael.albinus@gmx.de>
18738         Avoid errors in tramp-tests with a remote ksh shell
18740         * test/lisp/net/tramp-tests.el (tramp--test-ksh-p): New defun.
18741         (tramp-test41-utf8, tramp-test41-utf8-with-stat)
18742         (tramp-test41-utf8-with-perl, tramp-test41-utf8-with-ls):
18743         Skip, when remote shell is ksh.
18745 2019-09-25  Mattias Engdegård  <mattiase@acm.org>
18747         Add rx extension mechanism
18749         Add a built-in set of extension macros: `rx-define', `rx-let' and
18750         `rx-let-eval'.
18752         * lisp/emacs-lisp/rx.el (rx-constituents, rx-to-string): Doc updates.
18753         (rx--builtin-symbols, rx--builtin-names, rx--local-definitions)
18754         (rx--lookup-def, rx--substitute, rx--expand-template)
18755         (rx--make-binding, rx--make-named-binding, rx--extend-local-defs)
18756         (rx-let-eval, rx-let, rx-define): New.
18757         (rx--translate-symbol, rx--translate-form): Use extensions if any.
18758         (rx): Use local definitions.
18759         * test/lisp/emacs-lisp/rx-tests.el (rx-let, rx-define)
18760         (rx-to-string-define, rx-let-define, rx-let-eval): New.
18761         * etc/NEWS (Changes in Specialized Modes and Packages):
18762         * doc/lispref/searching.texi (Rx Notation, Rx Functions, Extending Rx):
18763         Add node about rx extensions.
18765 2019-09-25  Mattias Engdegård  <mattiase@acm.org>
18767         New rx implementation
18769         * lisp/emacs-lisp/rx.el:
18770         * test/lisp/emacs-lisp/rx-tests.el:
18771         * doc/lispref/searching.texi (Rx Constructs):
18772         Rewrite rx for correctness, clarity, and performance.  The new
18773         implementation retains full compatibility and has more comprehensive
18774         tests.
18776         * lisp/emacs-lisp/re-builder.el (reb-rx-font-lock-keywords):
18777         Adapt to changes in internal variables in rx.el.
18779 2019-09-25  Juri Linkov  <juri@linkov.net>
18781         Improve customization.
18783         * lisp/tab-bar.el (tab-bar-new-tab-choice)
18784         (tab-bar-close-button-show): New defcustoms.
18785         (tab-bar-tab-name-function): New defvar.
18787         * lisp/tab-line.el (tab-line-new-tab-choice)
18788         (tab-line-close-button-show): New defcustoms.
18790 2019-09-25  Mattias Engdegård  <mattiase@acm.org>
18792         Allow regexp-quote to return its argument
18794         * src/search.c (Fregexp_quote): Only allocate a new string if needed.
18795         * doc/lispref/searching.texi (Regexp Functions):
18796         * etc/NEWS (Incompatible Lisp Changes): Document.
18798 2019-09-25  Mauro Aranda  <maurooaranda@gmail.com>
18800         Fix indentation of widgets (Bug#7851)
18802         * lisp/wid-edit.el (widget--should-indent-p): New function, to decide
18803         whether to indent or not.
18804         (widget-checklist-value-add-item, widget-radio-add-item)
18805         (widget-editable-list-format-handler)
18806         (widget-editable-list-entry-create)
18807         (widget-group-value-create): Use it (bug#7851).
18809 2019-09-25  Lars Ingebrigtsen  <larsi@gnus.org>
18811         Make gnus-rescale-image work on modern Emacs versions
18813         * lisp/gnus/gnus-util.el (gnus-rescale-image): Make this work with
18814         native image transforms.
18816 2019-09-25  Eli Zaretskii  <eliz@gnu.org>
18818         Improve documentation of 'text-property-search-forward'
18820         * lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
18821         (text-property-search-backward): Improve doc strings.  (Bug#37488)
18823 2019-09-24  Juri Linkov  <juri@linkov.net>
18825         Small fixes.  Bind [tab-line mouse-1] to mouse-select-window.
18827         Revert an attempt to implement a non‐native tab bar on NS.
18829 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
18831         Make ImageMagick multi-image size calculations work for .ico files
18833         * src/image.c (imagemagick_load_image): Compute image sizes
18834         correctly in multi-image .ico files and the like (bug#18333).
18836 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
18838         Slight shr-put-image clean up
18840         * lisp/net/shr.el (shr-put-image): Use image-multi-frame-p
18841         directly, and remove outdated comments (image-multi-frame-p
18842         returns the delay).
18844 2019-09-24  Alan Mackenzie  <acm@muc.de>
18846         New edebug-spec, nested-backquote-form.  This fixes bug #31090
18848         * lisp/emacs-lisp/edebug.el: (nested-backquote-form): a new edebug-spec which
18849         handles nested backquote structures without a , or ,@ "between" the outer and
18850         inner backquotes.
18851         (backquote-form): Use nested-backquote-form.
18853 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
18855         Make --with-imagemagick bug out if there's no support for it
18857         * configure.ac (HAVE_IMAGEMAGICK): Stop configuration if the user
18858         has said --with-imagemagick, but there's no support for it
18859         (bug#24455).
18861 2019-09-24  Pip Cet  <pipcet@gmail.com>
18863         Allow a :stride argument so XBM boolvecs are in the right format.
18865         * src/image.c (xbm_image_p): Explicitly specify the right stride if a
18866         bool vector is used as argument.
18867         * doc/lispref/display.texi (XBM Images): Describe bool vectors
18868         accurately.
18869         * etc/NEWS: Document the change (bug#36337).
18871 2019-09-24  Michael Albinus  <michael.albinus@gmx.de>
18873         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Ban "stat" on Solaris.
18875 2019-09-24  Noah Swainland  <nks@nks.sh>  (tiny change)
18877         (calc): Fix link in doc string
18879         * lisp/calc/calc.el (calc): Fix link in doc string (bug#37500).
18881 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
18883         Allow controlling when to send cookies when retrieving images in shr
18885         * lisp/net/shr.el (shr--use-cookies-p): New function.
18886         (shr-tag-img): Use it.
18887         (shr-cookie-policy): New variable.
18888         (shr-save-contents): Use cookies.
18890         * doc/misc/eww.texi (Advanced): Document it.
18892 2019-09-24  Robert Pluim  <rpluim@gmail.com>
18894         Document how to listen on all interfaces in the Elisp manual
18896         * doc/lispref/processes.texi (Network Processes): Explain how to
18897         listen on all interfaces.
18899 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
18901         Allow url-insert-file-contents to work on 304 responses
18903         * lisp/url/url-http.el (url-http--insert-file-helper): If the
18904         server answers 304 Not modified, then that's not an error
18905         (bug#26063).
18907 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
18909         Clean up url-parse-args slightly
18911         * lisp/url/url-util.el (url-parse-args): Don't leave temporary
18912         buffer behind.  Clean up slightly.
18914 2019-09-24  Lars Ingebrigtsen  <larsi@gnus.org>
18916         Fix old problem with HTTPS HTTP 0.9 sentinels
18918         * lisp/url/url-http.el (url-http-end-of-document-sentinel): Pass
18919         on the tls parameter if we have HTTPS (bug#14983).
18921 2019-09-24  Eli Zaretskii  <eliz@gnu.org>
18923         Resurrect support for negative frame geometry parameters on MS-Windows
18925         * src/w32fns.c (my_create_window): Avoid assertion violations
18926         in XFIXNUM when the 'top' or 'left' frame parameters are
18927         neither fixnums nor 'unbound', in which case
18928         f->size_hint_flags are set by gui_figure_window_size.
18929         (Bug#37415)
18931 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
18933         Allow scrolling the NSM window
18935         * lisp/net/nsm.el (nsm-query-user): Allow moving
18936         backwards/forwards in the NSM buffer if the window is too small to
18937         show all the details (bug#28069).
18939 2019-09-23  Wilson Snyder  <wsnyder@wsnyder.org>
18941         Verilog-Mode collected updates.
18943         * lisp/progmodes/verilog-mode.el (verilog-auto-inst-param): Add regexp
18944         parameter to AUTOINSTPARAM to select which parameters to export.  Reported
18945         by Vish S.
18946         (verilog-build-defun-re): Fix `verilog-goto-defun' to find automatic
18947         function/tasks, bug1492.  Reported by Enze Chi.
18948         (verilog-preprocessor): Update default.
18950 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
18952         Rename "dumbquotes" to "smartquotes" in Gnus
18954         * doc/misc/gnus.texi (Article Washing): Adjust documentation.
18956         * etc/refcards/gnus-refcard.tex (subsection*{Notes}): Ditto
18958         * lisp/gnus/gnus-art.el (gnus-article-smartquotes-map): Rename
18959         from gnus-article-dumbquotes-map and add obsolete alias.
18960         (article-treat-smartquotes): Ditto.
18962         * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Adjust menus.
18964 2019-09-23  Jan Beich  <jbeich@vfemail.net>
18966         mml-smime-openssl-sign): Use all the keys
18968         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign): Use all the
18969         keys in `smime-keys' for this identifier (bug#17780).
18971 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
18973         Adjust exif-tests.el to new interface
18975 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
18977         Fix regression in mm-possibly-verify-or-decrypt by previous patch
18979         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Remove debugging
18981 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
18983         Fix regression in mm-possibly-verify-or-decrypt by previous patch
18985         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Be less
18986         strict about what's considered a success.
18988 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
18990         Fix S/MIME continuation header when sending
18992         * lisp/gnus/mml-smime.el (mml-smime-epg-sign): Fix continuation
18993         header.
18995 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
18997         make-network-process doc clarification
18999         * src/process.c (Fmake_network_process): Further doc clarification
19000         for listening on "::".
19002 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
19004         Bring back mention of NNTP gmane
19006         Problem reported by Michael Albinus at:
19007         https://lists.gnu.org/r/emacs-devel/2019-09/msg00519.html
19008         * admin/notes/emba: Reintroduce mention of nttp+news.gmane.org,
19009         since that still works.
19011 2019-09-23  Alan Third  <alan@idiocy.org>
19012             martin rudalics  <rudalics@gmx.at>
19014         Fix GNUstep build
19016         * src/nsfont.m (nsfont_draw): Change type to match.
19018 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19020         Fix cedet compilation warning
19022         * lisp/cedet/semantic/db.el (semanticdb-dirty-p): Fix compilation
19023         warning by moving to after definition.
19025 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19027         Update example in the Mail Aliases node of lispintro
19029         * doc/lispintro/emacs-lisp-intro.texi (Mail Aliases): Change
19030         example to use Message mode, since that's the default for `C-x m'
19031         now (bug#13855).
19033 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19035         Make mm-possibly-verify-or-decrypt pass decryption error
19037         * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): If
19038         there's an error, report the error back in a new part (bug#25649).
19040 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19042         * lisp/dired-aux.el (dired-copy-file-recursive): Make prompt clearer.
19044 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19046         Don't bug out on invalid addresses in mml-secure-check-user-id
19048         * lisp/gnus/mml-sec.el (mml-secure-check-user-id): Don't bug out
19049         on invalid addresses (bug#33613).
19051 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19053         Tweak how much <sup>/<sub> raises/lowers text in shr
19055         * lisp/net/shr.el (shr-tag-sup, shr-tag-sub): Raising by 0.5 gives
19056         very ugly displays.  0.2 seems sufficient for legibility.
19058 2019-09-23  Mattias Engdegård  <mattiase@acm.org>
19060         Fix trig simplification crash (bug#33052)
19062         * lisp/calc/calc-alg.el (calcFunc-sec, calcFunc-csc, calcFunc-cot):
19063         Check that `math-known-sin' and `math-known-tan' succeeded before
19064         using their value in arithmetic.
19065         * test/lisp/calc/calc-tests.el (calc-test-trig): Add regression tests.
19066         Backport from master.
19068 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19070         Signal errors if EPA can't verify data
19072         * lisp/epa.el (epa-verify-region): Signal an error if the region
19073         couldn't be verified (bug#14720).
19074         (epa-verify-file): Say that the file couldn't be verified instead
19075         of just "...done".
19077 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19079         Make "Show Hidden Headers" in Message buffers more obvious
19081         * lisp/gnus/message.el (message-widen-and-recenter): New command
19082         to ensure that we show most of the headers (bug#23252).
19083         (message-mode-field-menu): Use it.
19085 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19087         Add a NEWS entry for message citation levels
19089 2019-09-23  Hong Xu  <hong@topbug.net>
19091         Add different faces for different citation levels in Message mode
19093         * lisp/gnus/message.el (message-font-lock-keywords)
19094         (message-font-lock-make-cited-text-matcher): Add support for
19095         different faces for different citation levels.  The faces are
19096         defined in the faces named `message-cited-text-N': N of the
19097         Mth citation level will be M mod 4.
19098         (message-cited-text-1, message-cited-text-2)
19099         (message-cited-text-3, message-cited-text-4): Add customization
19100         for the faces of 4 different citation level.  In the future, the
19101         number of faces may increase, as the code is flexible enough to
19102         automatically deal with that.
19103         (message-cite-level-function): Add a function to customize the
19104         determination of cite levels given the prefix of the cited text
19105         (bug#25022).
19107 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19109         Add an `authinfo-hidden' variable
19111         * lisp/auth-source.el (authinfo-hidden): New variable.
19112         (authinfo--hide-passwords): Use it to allow users to decide what
19113         to hide.
19115 2019-09-23  nitishch  <nitishchandrachinta@gmail.com>  (tiny change)
19117         "]" is not a standard citation prefix character
19119         * lisp/mail/sendmail.el (mail-citation-prefix-regexp): Don't
19120         regard "]" as a citation prefix character (bug#25150).  This
19121         allows some motion commands (like forward-sexp) to behave more as
19122         expected in Message mode buffers.
19124 2019-09-23  Mattias Engdegård  <mattiase@acm.org>
19126         Fix linear equation system solving in Calc (bug#35374)
19128         * lisp/calc/calcalg2.el (math-try-solve-for):
19129         To solve Ax^n=0 where A is a nonzero constant and x the variable to
19130         solve for, solve x^n=0 instead of solving A=0 (which obviously fails)
19131         or something equally stupid.
19132         * test/lisp/calc/calc-tests.el (calc-test-solve-linear-system): New.
19134 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19136         Keep a cache of encoded Message contents to avoid re-GPG-in data
19138         * lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Use it to avoid
19139         re-encoding.
19141         * lisp/gnus/message.el (message-encoded-mail-cache): New variable.
19143         * lisp/gnus/message.el (message-send-mail): Store encoded.
19144         (message--cache-encoded): New function.
19145         (message-do-fcc): Store encoded (bug#25155).
19147 2019-09-23  Lars Ingebrigtsen  <larsi@gnus.org>
19149         * lisp/gnus/message.el (message-send-mail): Remove misleading comment.
19151 2019-09-23  Juanma Barranquero  <lekktu@gmail.com>
19153         Fix arg name of `text-property-search-{forward|backward}' (bug#37488)
19155         * lisp/emacs-lisp/text-property-search.el
19156         (text-property-search-forward, text-property-search-backward):
19157         Rename arg NOT-IMMEDIATE to NOT-CURRENT.  Also fix docstring.
19159 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
19161         Update some URLs
19163         This mostly changes http: to https: in URLs.  It also updates
19164         some URLs that have moved, removes some URLs that no longer
19165         work, recommends against using procmail (procmail.org no
19166         longer works), and removes some mentions of the
19167         no-longer-existing Gmane, LPF and VTW.
19168         It doesn't update all URLs, just the ones I had time for.
19169         * GNUmakefile (help):
19170         * admin/admin.el (manual-doctype-string):
19171         * admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map):
19172         * admin/charsets/mapconv:
19173         * lisp/net/soap-client.el (soap-create-envelope):
19174         * lisp/org/org.el (org-doi-server-url):
19175         * lisp/textmodes/bibtex.el (bibtex-generate-url-list):
19176         Prefer https: to http: un URLs.
19178 2019-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19180         Update from Gnulib
19182         This incorporates:
19183         2019-09-22 Update some URLs
19184         2019-09-15 fcntl-h: fix compilation error of creat.c on MSVC
19185         2019-09-15 creat: new module
19186         2019-09-15 access: new module
19187         2019-09-09 Add option to assume best, not worst, when cross-compiling.
19188         * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
19189         * lib/careadlinkat.c, lib/careadlinkat.h, lib/count-leading-zeros.h:
19190         * lib/count-trailing-zeros.h, lib/diffseq.h, lib/fcntl.in.h:
19191         * lib/ftoastr.c, lib/get-permissions.c:
19192         * lib/ieee754.in.h, lib/inttypes.in.h, lib/mktime.c, lib/open.c:
19193         * lib/pathmax.h, lib/pipe2.c, lib/stddef.in.h, lib/stdint.in.h:
19194         * lib/stdlib.in.h, lib/str-two-way.h, lib/string.in.h, lib/time.in.h:
19195         * lib/timegm.c, lib/unistd.in.h, m4/canonicalize.m4:
19196         * m4/extern-inline.m4, m4/fcntl_h.m4, m4/fdopendir.m4:
19197         * m4/getgroups.m4, m4/getopt.m4, m4/gettimeofday.m4:
19198         * m4/gnulib-common.m4, m4/largefile.m4:
19199         * m4/lstat.m4, m4/memmem.m4, m4/mktime.m4, m4/nocrash.m4, m4/open.m4:
19200         * m4/pselect.m4, m4/putenv.m4, m4/readlink.m4, m4/regex.m4:
19201         * m4/symlink.m4, m4/unistd_h.m4, m4/utimens.m4, m4/utimes.m4:
19202         Copy from Gnulib.
19203         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19204         * m4/open-slash.m4: New file, copied from Gnulib.
19206 2019-09-22  Stephen Gildea  <stepheng+savannah@gildea.com>
19208         Expand time-stamp unit tests to cover all formatting options
19210         * test/lisp/time-stamp-tests.el: Expand unit tests to cover all formatting options.
19211         These tests validate time-stamp-pattern formatting that has existed
19212         since at least Emacs 22 (released in 2007).  The tests cover both
19213         documented behavior and behavior implemented to support future migrations.
19215         * test/lisp/time-stamp-tests.el (time-stamp-string): Add a second argument (TIME) to
19216         open a testing seam.  Have the unit tests call this public function.
19218         * test/lisp/time-stamp-tests.el (time-stamp-string, time-stamp-string-preprocess):
19219         Remove the second pass through time-string--format.  (Previously both
19220         functions called it.)  It was used only to handle "%", but this is now
19221         handled by having time-stamp-string-preprocess not double it.
19222         Not doubling the "%" in time-stamp-string-preprocess fixes the padding
19223         of "%2%", which was discovered by the new unit tests to be wrong.
19225 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19227         Clarify `debug' doc string
19229         * lisp/emacs-lisp/debug.el (debug): Mention that inhibit-redisplay
19230         will inhibit the function.
19232 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19234         Make Message warn about invalid addresses
19236         * lisp/gnus/message.el (message-check-recipients): Warn about
19237         invalid email addresses (bug#32639).
19239 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19241         Remove Gnus posting style reference to message-reply-headers
19243         * doc/misc/gnus.texi (Posting Styles): Remove bit about
19244         message-reply-headers, because it has never worked.
19246 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19248         gnus-use-atomic-windows should default to nil
19250         * lisp/gnus/gnus-win.el (gnus-use-atomic-windows): Default to nil.
19252 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19254         message-reply-headers doc fix
19256         * doc/misc/gnus.texi (Posting Styles): Update the type of the
19257         message-reply-headers object.
19259 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19261         mailclient can't send attachments
19263         * lisp/mail/mailclient.el (mailclient-send-it): Warn about trying
19264         to send attachments (bug#34992).
19266 2019-09-22  Juri Linkov  <juri@linkov.net>
19268         Improve customizability and better tab separators.
19270         * lisp/tab-bar.el (tab-bar-tabs-function): New defvar.
19272         * lisp/tab-line.el (tab-line-tab-name-function)
19273         (tab-line-tabs-function): New defvars.
19275 2019-09-22  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
19277         Ignore comments and strings when recognizing JSX
19279         * lisp/progmodes/js.el (js-syntax-propertize): Ignore comments and
19280         strings.
19281         * test/manual/indent/jsx-comment-string.jsx: New test.
19283 2019-09-22  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
19285         Make js-jsx-regexps case-sensitive
19287         The regexp in this list used a capitalized “React” because it actually
19288         should be capitalized like that.  Otherwise, the following code would
19289         produce a false positive match: import Thing from './react/Thing'
19291         * lisp/progmodes/js.el (js-jsx-regexps): Update docstring.
19292         (js-jsx--detect-and-enable): Match case-sensitively when determining
19293         whether JSX should be enabled.
19295 2019-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19297         Avoid crashes when casifying noncontiguous regions
19299         This is a followon fix for Bug#37477.
19300         * lisp/simple.el (region-extract-function):
19301         Use setq here, since the var is now defined in C code.
19302         * src/casefiddle.c (casify_pnc_region): New function.
19303         (Fupcase_region, Fdowncase_region, Fcapitalize_region)
19304         (Fupcase_initials_region): Use it.
19305         (Fupcase_initials_region): Add region-noncontiguous-p flag
19306         for consistency with the others.  All uses changed.
19307         (syms_of_casefiddle): Define Qbounds, Vregion_extract_function.
19308         * src/insdel.c (prepare_to_modify_buffer_1):
19309         * src/keyboard.c (command_loop_1):
19310         Use Vregion_extraction_function.
19311         * src/insdel.c (syms_of_insdel): No need to define
19312         Qregion_extract_function.
19313         * test/src/casefiddle-tests.el (casefiddle-oldfunc): New var.
19314         (casefiddle-loopfunc, casefiddle-badfunc): New functions.
19315         (casefiddle-invalid-region-extract-function): New test.
19317 2019-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
19319         * lisp/help-fns.el: Fix missing dependency
19321 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19323         Remove references to domain that no longer exists
19325         * doc/misc/gnus-faq.texi (FAQ 7-1):
19326         * doc/misc/gnus.texi (Maildir):
19327         * lisp/gnus/nnmaildir.el: qmail.org no longer exists.
19329 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19331         Fix "password" detection in authinfo mode
19333         * lisp/auth-source.el (authinfo--hide-passwords): Ensure that we
19334         only hit actual "password" entries and not "foo-password" and the
19335         like.
19337 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19339         Fix warning about @xref in parenthesis
19341         * doc/misc/gnus.texi (Window Layout): Use @pxref in parentheses.
19343 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19345         Note that image-mode automatically rotates
19347 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19349         Automatically rotate images in image-mode based on Exif data
19351         * lisp/image-mode.el (image-toggle-display-image): Get the
19352         orientation from the Exif data, if any.
19354 2019-09-22  Lars Ingebrigtsen  <larsi@gnus.org>
19356         Adjust the exif.el interface functions
19358         * lisp/image/exif.el (exif-parse-buffer): New function.
19359         (exif-orientation): Ditto.
19360         (exif-error): New error symbol, and adjust all error signaling to
19361         only use that signal.
19363 2019-09-22  Andreas Schwab  <schwab@linux-m68k.org>
19365         Fix compilation with CHECK_STRUCTS
19367         * src/pdumper.c (dump_buffer): Update hash of struct buffer.
19369 2019-09-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
19371         New option for making Gnus window layouts atomic
19373         * lisp/gnus/gnus-win.el (gnus-use-atomic-windows): New boolean
19374           customization option.
19375           (gnus-configure-windows): When removing old window layouts, check
19376           for and remove atomicity.
19377           (gnus-configure-windows): When gnus-use-atomic-windows is non-nil,
19378           make Gnus window layouts atomic.
19379         * doc/misc/gnus.texi (Window Layout): Document.
19381 2019-09-21  Stefan Kangas  <stefankangas@gmail.com>
19383         * src/fns.c (Fbuffer_hash): Improve doc string.
19385 2019-09-21  Juri Linkov  <juri@linkov.net>
19387         Support rectangular regions in capitalize-region and capitalize-dwim.
19389         * lisp/simple.el (capitalize-dwim): Add arg region-noncontiguous-p
19390         in capitalize-region call.
19392         * src/casefiddle.c (Fcapitalize_region): Add arg region-noncontiguous-p.
19393         If non-nil, operate on multiple chunks.  (Bug#37477)
19394         (Fdowncase_region): Use builtin symbol Qregion_extract_function
19395         rather than calling intern.
19397 2019-09-21  Juri Linkov  <juri@linkov.net>
19399         Take into account FRAME_TAB_BAR height in more places.
19401         * src/dispnew.c (handle_window_change_signal, init_display_interactive):
19402         * src/frame.c (make_terminal_frame, Fmake_terminal_frame):
19403         * src/keyboard.c (Fsuspend_emacs):
19404         * src/term.c (Fresume_tty):
19405         * src/xterm.c (x_check_fullscreen):
19406         Subtract FRAME_TAB_BAR_LINES.
19408         * src/xterm.c (x_new_font): Set FRAME_TAB_BAR_HEIGHT.
19409         (x_new_font, x_check_fullscreen, x_set_window_size_1)
19410         (x_set_window_size, x_wm_set_size_hint): Add FRAME_TABBAR_HEIGHT.
19412 2019-09-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
19414         Use eieio-object-p, not obsolete object-p
19416         Continued fixes for a81223aeaa
19418         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-names,
19419           gnus-registry-article-marks-to-chars): object-p is obsolete.
19421 2019-09-21  Stefan Kangas  <stefankangas@gmail.com>
19423         Several doc fixes in package.el
19425         * lisp/emacs-lisp/package.el (top-level)
19426         (package-check-signature, package--from-builtin)
19427         (package-desc-full-name, package-desc-suffix)
19428         (package-desc--keywords, package--bi-desc)
19429         (package-process-define-package, package-archive-base)
19430         (package-install-from-archive, package-install-from-buffer)
19431         (package-install-file, package-autoremove, describe-package-1)
19432         (package-install-button-action, package-delete-button-action)
19433         (package-keyword-button-action, package-make-button)
19434         (package--print-email-button, package-list-unversioned)
19435         (package--emacs-version-list, package-menu-toggle-hiding)
19436         (package-hidden-regexps, package-menu-hide-package)
19437         (package-menu-get-status, package-menu--find-upgrades)
19438         (package-menu--post-refresh): Doc fixes.  (Bug#37410)
19440 2019-09-21  Paul Eggert  <eggert@cs.ucla.edu>
19442         Revert too-picky file-access tests
19444         Problem reported by Andreas Schwab (Bug#37475).
19445         * doc/lispref/files.texi (Writing to Files)
19446         (Testing Accessibility, Kinds of Files):
19447         Document that accessibility and file-type predicates return nil
19448         if there is trouble determining accessibility or type.
19449         * etc/NEWS: Adjust, and list the affected primitives.
19450         * src/callproc.c (init_callproc): Go back to Ffile_exists_p.
19451         * src/fileio.c (PICKY_EACCES, file_test_errno):
19452         Remove.  All uses removed.
19453         (Ffile_name_case_insensitive_p, Ffile_exists_p, Ffile_symlink_p)
19454         (Ffile_directory_p, Ffile_regular_p): Document that these
19455         functions return nil if there is trouble.
19456         (Ffile_name_case_insensitive_p, check_file_access)
19457         (Ffile_writable_p, Ffile_symlink_p, Ffile_directory_p)
19458         (Ffile_accessible_directory_p, Ffile_regular_p)
19459         * src/lread.c (Fload):
19460         Go back to treating trouble in determining the answer as if the
19461         file were missing.
19462         * src/fileio.c (Ffile_newer_than_file_p): Use file_attribute_errno
19463         not file_test_errno, since returning nil is not appropriate when
19464         there are two files to test; e.g., in the rare cases where both
19465         file timestamps have overflowed then neither t nor nil is correct.
19467 2019-09-21  Noam Postavsky  <npostavs@gmail.com>
19469         Remove lisp/erc/ file-local indent-tabs-mode settings
19471         * lisp/erc/erc-autoaway.el:
19472         * lisp/erc/erc-backend.el:
19473         * lisp/erc/erc-button.el:
19474         * lisp/erc/erc-compat.el:
19475         * lisp/erc/erc-dcc.el:
19476         * lisp/erc/erc-fill.el:
19477         * lisp/erc/erc-ibuffer.el:
19478         * lisp/erc/erc-identd.el:
19479         * lisp/erc/erc-imenu.el:
19480         * lisp/erc/erc-join.el:
19481         * lisp/erc/erc-list.el:
19482         * lisp/erc/erc-log.el:
19483         * lisp/erc/erc-match.el:
19484         * lisp/erc/erc-menu.el:
19485         * lisp/erc/erc-netsplit.el:
19486         * lisp/erc/erc-networks.el:
19487         * lisp/erc/erc-notify.el:
19488         * lisp/erc/erc-page.el:
19489         * lisp/erc/erc-pcomplete.el:
19490         * lisp/erc/erc-replace.el:
19491         * lisp/erc/erc-ring.el:
19492         * lisp/erc/erc-services.el:
19493         * lisp/erc/erc-sound.el:
19494         * lisp/erc/erc-speedbar.el:
19495         * lisp/erc/erc-stamp.el:
19496         * lisp/erc/erc-track.el:
19497         * lisp/erc/erc-truncate.el:
19498         * lisp/erc/erc-xdcc.el:
19499         * lisp/erc/erc.el: Remove indent-tabs-mode setting, so that we follow
19500         Emacs' global indent-tabs-mode=nil setting (and much of the
19501         indentation in these fails is already spaces anyway).  Also remove
19502         tab-width=8 settings, since those are redundant with the setting in
19503         the top-level .dir-locals.el.
19505 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
19507         Fix some commentary typos in exif.el
19509         * lisp/image/exif.el (exif--parse-exif-chunk)
19510         (exif--parse-directory): Commentary typo fixes.
19512 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
19514         Add an Exif parsing library
19516         * lisp/image/exif.el: New file (bug#23070).
19518         * test/lisp/image/exif-tests.el: Add some basic tests.
19520 2019-09-21  Alan Mackenzie  <acm@muc.de>
19522         CC Mode: Fix wrong fontification of FOO in ASSERT (FOO && !BAR)
19524         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Don't recognize the
19525         construct in CASE 18, unless additionally at-decl-end is set.
19527 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
19529         Fix two ` characters in NEWS
19531 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
19533         Hide passwords in .authinfo and .netrc files
19535         * lisp/auth-source.el (authinfo-mode): New mode (bug#28785).
19536         (authinfo--hide-passwords, authinfo--toggle-display): New functions.
19538         * lisp/files.el (auto-mode-alist): Use authinfo-mode for .authinfo
19539         and .netrc files.
19541 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
19543         Allow reveal.el to toggle `display' properties
19545         * lisp/reveal.el (reveal-open-new-overlays): Allow also toggling
19546         `displa' overlay properties (bug#28785).
19548 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
19550         Mention image caching in the `image-size' doc string
19552         * src/image.c (Fimage_size): Mention that this function caches
19553         images, and what to do about that (bug#33275).
19555 2019-09-21  Lars Ingebrigtsen  <larsi@gnus.org>
19557         Mention how to listen to all interfaces in make-network-process
19559         * src/process.c (Fmake_network_process): Mention how to listen to
19560         all interfaces (bug#34617).
19562 2019-09-21  Michael Albinus  <michael.albinus@gmx.de>
19564         * lisp/net/tramp.el (tramp-handle-file-modes): Check for nil file-attributes.
19566 2019-09-21  Eli Zaretskii  <eliz@gnu.org>
19568         * lisp/completion.el (completion-kill-region): Doc fix.
19570 2019-09-20  Eric Abrahamsen  <eric@ericabrahamsen.net>
19572         Fix to a81223aeaa
19574         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
19575           (gnus-registry-article-marks-to-names): The registry is an object,
19576           not a hash table.
19578 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19580         Allow the user to specify Content-type in Message mode
19582         * lisp/gnus/message.el (message-encode-message-body): Pass in the
19583         content type if the user has given one.
19585         * lisp/gnus/mml.el (mml-parse-1): Remove bogus peek at
19586         Content-type (there are no headers here)  (bug#36527).
19588         * lisp/gnus/mml.el (mml-generate-mime): Respect that.
19590 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19592         Move describe-face to the new help-fns machinery
19594         * lisp/help-fns.el (describe-face): Move to here from faces.el and
19595         split up (bug#36670).
19596         (help-fns--face-custom-version-info):
19597         (help-fns--face-attributes): Factored out into own functions.
19598         (help-fns-describe-face-functions): New variable.
19600         * lisp/emacs-lisp/subr-x.el (when-let): Add autoload cookie.
19602 2019-09-20  Juanma Barranquero  <lekktu@gmail.com>
19604         lisp/*.el: Fix typos and other trivial doc fixes
19606         * lisp/allout-widgets.el (allout-widgets-auto-activation)
19607         (allout-current-decorated-p):
19608         * lisp/auth-source.el (auth-source-protocols):
19609         * lisp/autorevert.el (auto-revert-set-timer):
19610         * lisp/battery.el (battery-mode-line-limit):
19611         * lisp/calc/calcalg3.el (math-map-binop):
19612         * lisp/calendar/cal-dst.el (calendar-dst-find-startend):
19613         * lisp/calendar/cal-mayan.el (calendar-mayan-long-count-to-absolute):
19614         * lisp/calendar/calendar.el (calendar-date-echo-text)
19615         (calendar-generate-month, calendar-string-spread)
19616         (calendar-cursor-to-date, calendar-read, calendar-read-date)
19617         (calendar-mark-visible-date, calendar-dayname-on-or-before):
19618         * lisp/calendar/diary-lib.el (diary-ordinal-suffix):
19619         * lisp/cedet/ede/autoconf-edit.el (autoconf-new-program)
19620         (autoconf-find-last-macro, autoconf-parameter-strip):
19621         * lisp/cedet/ede/config.el (ede-target-with-config-build):
19622         * lisp/cedet/ede/linux.el (ede-linux--detect-architecture)
19623         (ede-linux--get-architecture):
19624         * lisp/cedet/semantic/complete.el (semantic-collector-calculate-cache)
19625         (semantic-displayer-abstract, semantic-displayer-point-position):
19626         * lisp/cedet/semantic/format.el (semantic-format-face-alist)
19627         (semantic-format-tag-short-doc):
19628         * lisp/cedet/semantic/fw.el (semantic-find-file-noselect):
19629         * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-work-idle-time)
19630         (semantic-idle-breadcrumbs-display-function)
19631         (semantic-idle-breadcrumbs-format-tag-list-function):
19632         * lisp/cedet/semantic/lex.el (semantic-lex-map-types)
19633         (define-lex, define-lex-block-type-analyzer):
19634         * lisp/cedet/semantic/senator.el (senator-search-default-tag-filter):
19635         * lisp/cedet/semantic/symref.el (semantic-symref-result)
19636         (semantic-symref-hit-to-tag-via-db):
19637         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
19638         * lisp/cedet/semantic/tag.el (semantic-tag-new-variable)
19639         (semantic-tag-new-include, semantic-tag-new-package)
19640         (semantic-tag-set-faux, semantic-create-tag-proxy)
19641         (semantic-tag-function-parent)
19642         (semantic-tag-components-with-overlays):
19643         * lisp/cedet/srecode/cpp.el (srecode-cpp-namespaces)
19644         (srecode-semantic-handle-:c, srecode-semantic-apply-tag-to-dict):
19645         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary)
19646         (srecode-dictionary-add-entries, srecode-dictionary-lookup-name)
19647         (srecode-create-dictionaries-from-tags):
19648         * lisp/cmuscheme.el (scheme-compile-region):
19649         * lisp/color.el (color-lab-to-lch):
19650         * lisp/doc-view.el (doc-view-image-width)
19651         (doc-view-set-up-single-converter):
19652         * lisp/dynamic-setting.el (font-setting-change-default-font)
19653         (dynamic-setting-handle-config-changed-event):
19654         * lisp/elec-pair.el (electric-pair-text-pairs)
19655         (electric-pair-skip-whitespace-function)
19656         (electric-pair-string-bound-function):
19657         * lisp/emacs-lisp/avl-tree.el (avl-tree--del-balance)
19658         (avl-tree-member, avl-tree-mapcar, avl-tree-iter):
19659         * lisp/emacs-lisp/bytecomp.el (byte-compile-generate-call-tree):
19660         * lisp/emacs-lisp/checkdoc.el (checkdoc-autofix-flag)
19661         (checkdoc-spellcheck-documentation-flag, checkdoc-ispell)
19662         (checkdoc-ispell-current-buffer, checkdoc-ispell-interactive)
19663         (checkdoc-ispell-message-interactive)
19664         (checkdoc-ispell-message-text, checkdoc-ispell-start)
19665         (checkdoc-ispell-continue, checkdoc-ispell-comments)
19666         (checkdoc-ispell-defun):
19667         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
19668         * lisp/emacs-lisp/eieio-custom.el (eieio-read-customization-group):
19669         * lisp/emacs-lisp/lisp.el (forward-sexp, up-list):
19670         * lisp/emacs-lisp/package-x.el (package--archive-contents-from-file):
19671         * lisp/emacs-lisp/package.el (package-desc)
19672         (package--make-autoloads-and-stuff, package-hidden-regexps):
19673         * lisp/emacs-lisp/tcover-ses.el (ses-exercise-startup):
19674         * lisp/emacs-lisp/testcover.el (testcover-nohits)
19675         (testcover-1value):
19676         * lisp/epg.el (epg-receive-keys, epg-start-edit-key):
19677         * lisp/erc/erc-backend.el (erc-server-processing-p)
19678         (erc-split-line-length, erc-server-coding-system)
19679         (erc-server-send, erc-message):
19680         * lisp/erc/erc-button.el (erc-button-face, erc-button-alist)
19681         (erc-browse-emacswiki):
19682         * lisp/erc/erc-ezbounce.el (erc-ezbounce, erc-ezb-get-login):
19683         * lisp/erc/erc-fill.el (erc-fill-variable-maximum-indentation):
19684         * lisp/erc/erc-log.el (erc-current-logfile):
19685         * lisp/erc/erc-match.el (erc-log-match-format)
19686         (erc-text-matched-hook):
19687         * lisp/erc/erc-netsplit.el (erc-netsplit, erc-netsplit-debug):
19688         * lisp/erc/erc-networks.el (erc-server-alist)
19689         (erc-networks-alist, erc-current-network):
19690         * lisp/erc/erc-ring.el (erc-input-ring-index):
19691         * lisp/erc/erc-speedbar.el (erc-speedbar)
19692         (erc-speedbar-update-channel):
19693         * lisp/erc/erc-stamp.el (erc-timestamp-only-if-changed-flag):
19694         * lisp/erc/erc-track.el (erc-track-position-in-mode-line)
19695         (erc-track-remove-from-mode-line, erc-modified-channels-update)
19696         (erc-track-last-non-erc-buffer, erc-track-sort-by-importance)
19697         (erc-track-get-active-buffer):
19698         * lisp/erc/erc.el (erc-get-channel-user-list)
19699         (erc-echo-notice-hook, erc-echo-notice-always-hook)
19700         (erc-wash-quit-reason, erc-format-@nick):
19701         * lisp/ffap.el (ffap-latex-mode):
19702         * lisp/files.el (abort-if-file-too-large)
19703         (dir-locals--get-sort-score, buffer-stale--default-function):
19704         * lisp/filesets.el (filesets-tree-max-level, filesets-data)
19705         (filesets-update-pre010505):
19706         * lisp/gnus/gnus-agent.el (gnus-agent-flush-cache):
19707         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
19708         (gnus-button-prefer-mid-or-mail):
19709         * lisp/gnus/gnus-cus.el (gnus-group-parameters):
19710         * lisp/gnus/gnus-demon.el (gnus-demon-handlers)
19711         (gnus-demon-run-callback):
19712         * lisp/gnus/gnus-dired.el (gnus-dired-print):
19713         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-buffer):
19714         * lisp/gnus/gnus-range.el (gnus-range-normalize):
19715         * lisp/gnus/gnus-spec.el (gnus-pad-form):
19716         * lisp/gnus/gnus-srvr.el (gnus-server-agent, gnus-server-cloud)
19717         (gnus-server-opened, gnus-server-closed, gnus-server-denied)
19718         (gnus-server-offline):
19719         * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-nnir)
19720         (gnus-refer-thread-limit-to-thread)
19721         (gnus-summary-limit-include-thread, gnus-summary-refer-thread)
19722         (gnus-summary-find-matching):
19723         * lisp/gnus/gnus-util.el (gnus-rescale-image):
19724         * lisp/gnus/gnus.el (gnus-summary-line-format, gnus-no-server):
19725         * lisp/gnus/mail-source.el (mail-source-incoming-file-prefix):
19726         * lisp/gnus/message.el (message-cite-reply-position)
19727         (message-cite-style-outlook, message-cite-style-thunderbird)
19728         (message-cite-style-gmail, message--send-mail-maybe-partially):
19729         * lisp/gnus/mm-extern.el (mm-inline-external-body):
19730         * lisp/gnus/mm-partial.el (mm-inline-partial):
19731         * lisp/gnus/mml-sec.el (mml-secure-message-sign)
19732         (mml-secure-message-sign-encrypt, mml-secure-message-encrypt):
19733         * lisp/gnus/mml2015.el (mml2015-epg-key-image)
19734         (mml2015-epg-key-image-to-string):
19735         * lisp/gnus/nndiary.el (nndiary-reminders, nndiary-get-new-mail):
19736         * lisp/gnus/nnheader.el (nnheader-directory-files-is-safe):
19737         * lisp/gnus/nnir.el (nnir-search-history)
19738         (nnir-imap-search-other, nnir-artlist-length)
19739         (nnir-artlist-article, nnir-artitem-group, nnir-artitem-number)
19740         (nnir-artitem-rsv, nnir-article-group, nnir-article-number)
19741         (nnir-article-rsv, nnir-article-ids, nnir-categorize)
19742         (nnir-retrieve-headers-override-function)
19743         (nnir-imap-default-search-key, nnir-hyrex-additional-switches)
19744         (gnus-group-make-nnir-group, nnir-run-namazu, nnir-read-parms)
19745         (nnir-read-parm, nnir-read-server-parm, nnir-search-thread):
19746         * lisp/gnus/nnmairix.el (nnmairix-default-group)
19747         (nnmairix-propagate-marks):
19748         * lisp/gnus/smime.el (smime-keys, smime-crl-check)
19749         (smime-verify-buffer, smime-noverify-buffer):
19750         * lisp/gnus/spam-report.el (spam-report-url-ping-mm-url):
19751         * lisp/gnus/spam.el (spam-spamassassin-positive-spam-flag-header)
19752         (spam-spamassassin-spam-status-header, spam-sa-learn-rebuild)
19753         (spam-classifications, spam-check-stat, spam-spamassassin-score):
19754         * lisp/help.el (describe-minor-mode-from-symbol):
19755         * lisp/hippie-exp.el (hippie-expand-ignore-buffers):
19756         * lisp/htmlfontify.el (hfy-optimizations, hfy-face-resolve-face)
19757         (hfy-begin-span):
19758         * lisp/ibuf-ext.el (ibuffer-update-saved-filters-format)
19759         (ibuffer-saved-filters, ibuffer-old-saved-filters-warning)
19760         (ibuffer-filtering-qualifiers, ibuffer-repair-saved-filters)
19761         (eval, ibuffer-unary-operand, file-extension, directory):
19762         * lisp/image-dired.el (image-dired-cmd-pngcrush-options):
19763         * lisp/image-mode.el (image-toggle-display):
19764         * lisp/international/ccl.el (ccl-compile-read-multibyte-character)
19765         (ccl-compile-write-multibyte-character):
19766         * lisp/international/kkc.el (kkc-save-init-file):
19767         * lisp/international/latin1-disp.el (latin1-display):
19768         * lisp/international/ogonek.el (ogonek-name-encoding-alist)
19769         (ogonek-information, ogonek-lookup-encoding)
19770         (ogonek-deprefixify-region):
19771         * lisp/isearch.el (isearch-filter-predicate)
19772         (isearch--momentary-message):
19773         * lisp/jsonrpc.el (jsonrpc-connection-send)
19774         (jsonrpc-process-connection, jsonrpc-shutdown)
19775         (jsonrpc--async-request-1):
19776         * lisp/language/tibet-util.el (tibetan-char-p):
19777         * lisp/mail/feedmail.el (feedmail-queue-use-send-time-for-date)
19778         (feedmail-last-chance-hook, feedmail-before-fcc-hook)
19779         (feedmail-send-it-immediately-wrapper, feedmail-find-eoh):
19780         * lisp/mail/hashcash.el (hashcash-generate-payment)
19781         (hashcash-generate-payment-async, hashcash-insert-payment)
19782         (hashcash-verify-payment):
19783         * lisp/mail/rmail.el (rmail-movemail-variant-in-use)
19784         (rmail-get-attr-value):
19785         * lisp/mail/rmailmm.el (rmail-mime-prefer-html, rmail-mime):
19786         * lisp/mail/rmailsum.el (rmail-summary-show-message):
19787         * lisp/mail/supercite.el (sc-raw-mode-toggle):
19788         * lisp/man.el (Man-start-calling):
19789         * lisp/mh-e/mh-acros.el (mh-do-at-event-location)
19790         (mh-iterate-on-messages-in-region, mh-iterate-on-range):
19791         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases)
19792         (mh-alias-reload, mh-alias-ali)
19793         (mh-alias-canonicalize-suggestion, mh-alias-add-alias-to-file)
19794         (mh-alias-add-alias):
19795         * lisp/mouse.el (mouse-save-then-kill):
19796         * lisp/net/browse-url.el (browse-url-default-macosx-browser):
19797         * lisp/net/eudc.el (eudc-set, eudc-variable-protocol-value)
19798         (eudc-variable-server-value, eudc-update-variable)
19799         (eudc-expand-inline):
19800         * lisp/net/eudcb-bbdb.el (eudc-bbdb-format-record-as-result):
19801         * lisp/net/eudcb-ldap.el (eudc-ldap-get-field-list):
19802         * lisp/net/pop3.el (pop3-list):
19803         * lisp/net/soap-client.el (soap-namespace-put)
19804         (soap-xs-parse-sequence, soap-parse-envelope):
19805         * lisp/net/soap-inspect.el (soap-inspect-xs-complex-type):
19806         * lisp/nxml/rng-xsd.el (rng-xsd-date-to-days):
19807         * lisp/org/ob-C.el (org-babel-prep-session:C)
19808         (org-babel-load-session:C):
19809         * lisp/org/ob-J.el (org-babel-execute:J):
19810         * lisp/org/ob-asymptote.el (org-babel-prep-session:asymptote):
19811         * lisp/org/ob-awk.el (org-babel-execute:awk):
19812         * lisp/org/ob-core.el (org-babel-process-file-name):
19813         * lisp/org/ob-ebnf.el (org-babel-execute:ebnf):
19814         * lisp/org/ob-forth.el (org-babel-execute:forth):
19815         * lisp/org/ob-fortran.el (org-babel-execute:fortran)
19816         (org-babel-prep-session:fortran, org-babel-load-session:fortran):
19817         * lisp/org/ob-groovy.el (org-babel-execute:groovy):
19818         * lisp/org/ob-io.el (org-babel-execute:io):
19819         * lisp/org/ob-js.el (org-babel-execute:js):
19820         * lisp/org/ob-lilypond.el (org-babel-default-header-args:lilypond)
19821         (org-babel-lilypond-compile-post-tangle)
19822         (org-babel-lilypond-display-pdf-post-tangle)
19823         (org-babel-lilypond-tangle)
19824         (org-babel-lilypond-execute-tangled-ly)
19825         (org-babel-lilypond-compile-lilyfile)
19826         (org-babel-lilypond-check-for-compile-error)
19827         (org-babel-lilypond-process-compile-error)
19828         (org-babel-lilypond-mark-error-line)
19829         (org-babel-lilypond-parse-error-line)
19830         (org-babel-lilypond-attempt-to-open-pdf)
19831         (org-babel-lilypond-attempt-to-play-midi)
19832         (org-babel-lilypond-switch-extension)
19833         (org-babel-lilypond-set-header-args):
19834         * lisp/org/ob-lua.el (org-babel-prep-session:lua):
19835         * lisp/org/ob-picolisp.el (org-babel-execute:picolisp):
19836         * lisp/org/ob-processing.el (org-babel-prep-session:processing):
19837         * lisp/org/ob-python.el (org-babel-prep-session:python):
19838         * lisp/org/ob-scheme.el (org-babel-scheme-capture-current-message)
19839         (org-babel-scheme-execute-with-geiser, org-babel-execute:scheme):
19840         * lisp/org/ob-shen.el (org-babel-execute:shen):
19841         * lisp/org/org-agenda.el (org-agenda-entry-types)
19842         (org-agenda-move-date-from-past-immediately-to-today)
19843         (org-agenda-time-grid, org-agenda-sorting-strategy)
19844         (org-agenda-filter-by-category, org-agenda-forward-block):
19845         * lisp/org/org-colview.el (org-columns--overlay-text):
19846         * lisp/org/org-faces.el (org-verbatim, org-cycle-level-faces):
19847         * lisp/org/org-indent.el (org-indent-set-line-properties):
19848         * lisp/org/org-macs.el (org-get-limited-outline-regexp):
19849         * lisp/org/org-mobile.el (org-mobile-files):
19850         * lisp/org/org.el (org-use-fast-todo-selection)
19851         (org-extend-today-until, org-use-property-inheritance)
19852         (org-refresh-effort-properties, org-open-at-point-global)
19853         (org-track-ordered-property-with-tag, org-shiftright):
19854         * lisp/org/ox-html.el (org-html-checkbox-type):
19855         * lisp/org/ox-man.el (org-man-source-highlight)
19856         (org-man-verse-block):
19857         * lisp/org/ox-publish.el (org-publish-sitemap-default):
19858         * lisp/outline.el (outline-head-from-level):
19859         * lisp/progmodes/dcl-mode.el (dcl-back-to-indentation-1)
19860         (dcl-calc-command-indent, dcl-indent-to):
19861         * lisp/progmodes/flymake.el (flymake-make-diagnostic)
19862         (flymake--overlays, flymake-diagnostic-functions)
19863         (flymake-diagnostic-types-alist, flymake--backend-state)
19864         (flymake-is-running, flymake--collect, flymake-mode):
19865         * lisp/progmodes/gdb-mi.el (gdb-threads-list, gdb, gdb-non-stop)
19866         (gdb-buffers, gdb-gud-context-call, gdb-jsonify-buffer):
19867         * lisp/progmodes/grep.el (grep-error-screen-columns):
19868         * lisp/progmodes/gud.el (gud-prev-expr):
19869         * lisp/progmodes/ps-mode.el (ps-mode, ps-mode-target-column)
19870         (ps-run-goto-error):
19871         * lisp/progmodes/python.el (python-eldoc-get-doc)
19872         (python-eldoc-function-timeout-permanent, python-eldoc-function):
19873         * lisp/shadowfile.el (shadow-make-group):
19874         * lisp/speedbar.el (speedbar-obj-do-check):
19875         * lisp/textmodes/flyspell.el (flyspell-auto-correct-previous-hook):
19876         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib):
19877         * lisp/textmodes/reftex-index.el (reftex-index-goto-entry)
19878         (reftex-index-kill, reftex-index-undo):
19879         * lisp/textmodes/reftex-parse.el (reftex-context-substring):
19880         * lisp/textmodes/reftex.el (reftex-TeX-master-file):
19881         * lisp/textmodes/rst.el (rst-next-hdr, rst-toc)
19882         (rst-uncomment-region, rst-font-lock-extend-region-internal):
19883         * lisp/thumbs.el (thumbs-mode):
19884         * lisp/vc/ediff-util.el (ediff-restore-diff):
19885         * lisp/vc/pcvs-defs.el (cvs-cvsroot, cvs-force-dir-tag):
19886         * lisp/vc/vc-hg.el (vc-hg--ignore-patterns-valid-p):
19887         * lisp/wid-edit.el (widget-field-value-set, string):
19888         * lisp/x-dnd.el (x-dnd-version-from-flags)
19889         (x-dnd-more-than-3-from-flags): Assorted docfixes.
19891 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19893         Make register-preview ignore empty registers
19895         * lisp/register.el (register-preview): Ignore elements that are
19896         empty (bug#37155).
19898 2019-09-20  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
19900         Make the reverse tabulated list sort stable
19902         * lisp/emacs-lisp/tabulated-list.el (tabulated-list--get-sorter):
19903         Make the reverse sorting stable (bug#37174).
19905 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19907         Further touch-ups to the auth-source obfuscation
19909         * lisp/auth-source.el (auth-source--obfuscate): Avoid leaking the
19910         length of the password by using PKCS#7 padding.
19912 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19914         Add some comments to the auth-source obfuscation
19916         * lisp/auth-source.el (auth-source--obfuscate): Add comments.
19918 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19920         Make previous auth-source change not break on Windows without gnutls
19922         * lisp/auth-source.el (auth-source--obfuscate)
19923         (auth-source--deobfuscate): Check that gnutls is really available.
19925 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19927         Obfuscate auth-source memory contents even more
19929         * lisp/auth-source.el (auth-source--deobfuscate): Use more
19930         obfuscated obfuscation (bug#37196).
19931         (auth-source--pad, auth-source--obfuscate)
19932         (auth-source-netrc-normalize): Use it.
19933         (auth-source-netrc-parse): Ditto.
19935 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19937         Obfuscate auth-source secrets more
19939         * lisp/auth-source.el (auth-source-netrc-normalize): Obfuscate
19940         passwords stored in the lexical closure (bug#37196).
19942 2019-09-20  Stefan Kangas  <stefankangas@gmail.com>
19944         Recommend against SHA-1 and MD5 for security
19946         * doc/lispref/text.texi (Checksum/Hash):
19947         * src/fns.c (Fmd5, Fsecure_hash):
19948         * lisp/subr.el (sha1): Doc fix to recommend against SHA-1 and MD5 for
19949         security-related applications, since they are not collision
19950         resistant.  (Bug#37420)
19952 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19954         Allow `process-contact' not to block
19956         * doc/lispref/processes.texi (Process Information): Document it.
19958         * lisp/simple.el (list-processes--refresh): Don't wait for contact
19959         information for non-setup processes.
19961         * src/process.c (Fprocess_contact): Take an optional parameter to
19962         avoid blocking (bug#37408).
19964 2019-09-20  Lars Ingebrigtsen  <larsi@gnus.org>
19966         Make number-at-point recognize some hex numbers
19968         * lisp/thingatpt.el (number-at-point): Also return common hex
19969         numbers (bug#37458).
19971 2019-09-20  Damien Cassou  <damien@cassou.me>
19973         Change default value of message-make-forward-subject-function
19975         * lisp/gnus/message.el (message-make-forward-subject-function): Change
19976         default value to be a list so it's easier for users to add
19977         functions. Change the type so the customize interface allows selecting
19978         multiple provided functions instead of just one (bug#37470).
19980 2019-09-20  Stefan Kangas  <stefankangas@gmail.com>
19982         Recommend using https for package-archives
19984         * lisp/emacs-lisp/package.el (package-archives): Recommend using https
19985         sources where possible.  (Bug#33825)
19987 2019-09-20  Matthew Newton  <matt@mnewton.com>  (tiny change)
19989         Fix the previous imenu commit
19991         * lisp/imenu.el (imenu--make-index-alist): Always return the alist
19992         (bug#30449).
19994 2019-09-20  Michael Albinus  <michael.albinus@gmx.de>
19996         Some Tramp methods allow to change the remote login shell
19998         * doc/misc/tramp.texi (Inline methods) <sshx, plink, plinkx>:
19999         (External methods) <scpx, pscp, psftp>: Mention, that the remote
20000         login shell could be changed.
20001         (Remote shell setup): Remove description of properties
20002         "remote-shell-login" and "remote-shell-args", they don't matter
20003         here.  Changing the default remote shell works only for some
20004         methods.
20005         (Frequently Asked Questions): Refer to alternative approach fixing
20006         zsh problems.
20008         * etc/NEWS: Some Tramp methods allow to change the remote login shell.
20010         * lisp/net/tramp-sh.el (tramp-default-remote-shell): New defconst.
20011         (tramp-methods): Use it.
20012         (tramp-get-sh-extra-args): New defun.
20013         (tramp-open-shell, tramp-maybe-open-connection): Use it.
20015         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
20017 2019-09-19  Juri Linkov  <juri@linkov.net>
20019         * lisp/window.el (walk-windows): Simplify to use WINDOW arg of window-list-1
20021         instead of calling select-window (bug#35385).
20023 2019-09-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
20025         Only use Gnus registry for formatting when registry is loaded
20027         See bug #36903
20029         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
20030           (gnus-registry-article-marks-to-names): In some circumstances it's
20031           possible for the user's summary line format spec to include
20032           registry-specific code, while the registry itself isn't actually
20033           loaded. Make sure the database is actually a hashtable before
20034           accessing it.
20036 2019-09-19  Eli Zaretskii  <eliz@gnu.org>
20038         Fix calls to insert-*-hooks when JIT font lock is active
20040         * src/insdel.c (signal_after_change): Save and restore
20041         interval_insert_behind_hooks and
20042         interval_insert_in_front_hooks across calls to various other
20043         hooks, to prevent their clobbering by those other hooks.
20044         (Bug#37455)
20046 2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>
20048         Minor svg wrap tweak
20050         * lisp/net/shr.el (svg--wrap-svg): Add the size to the wrapper to
20051         avoid having the SVG images shrink (bug#37159).
20053 2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>
20055         Further fix-ups for SVG wrapping in shr
20057         * lisp/net/shr.el (svg--wrap-svg): Add the size to the wrapper to
20058         avoid having the SVG images shrink (bug#37159).
20060 2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>
20062         Fix :version in recent commit
20064         * lisp/pcmpl-gnu.el (pcmpl-gnu-makefile-includes): Fix :version.
20066 2019-09-19  Lars Ingebrigtsen  <larsi@gnus.org>
20068         Fix a bug in callback functions in align-areas
20070         * lisp/align.el (align-areas): When given a callback function and
20071         JUSTIFY, pick out the correct parameters (bug#30139).  Suggested
20072         by "John Wiegley" <johnw@gnu.org>.
20074 2019-09-19  Paul Eggert  <eggert@cs.ucla.edu>
20076         Also prefer .emacs.d if .emacs exists
20078         Problem reported by Katsumi Yamaoka (Bug#37456).
20079         * lisp/startup.el (startup--xdg-or-homedot): Also
20080         prefer .emacs.d if a traditional .emacs file exists.
20082 2019-09-19  Paul Eggert  <eggert@cs.ucla.edu>
20084         Default PICKY_ACCESS to false on non-MS
20086         * src/fileio.c (PICKY_EACCES) [!DOS_NT]: Default to false.
20088 2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>
20090         Omit some overenthusiastic file-truename calls
20092         Problem reported by Tino Calancha (Bug#37445).
20093         * src/emacs.c (init_cmdargs): Call file-truename only if
20094         needed, i.e., if invocation-directory ends in "/i386/" on
20095         WINDOWSNT.
20096         * src/lread.c (readevalloop): If the sourcename is not
20097         absolute, make it absolute.  There is no need to convert
20098         non-absolute files into truenames, since absolute files are
20099         not converted into truenames.
20100         (init_lread): Do not convert source-directory into a truename
20101         at startup.  There is no need to do so in a dumped Emacs since
20102         an absolute file name suffices.  The source directory might
20103         not even exist any more, or might have been replaced by an
20104         interloper who takes advantage of the truename calculation.
20105         (syms_of_lread): Remove Qfile_truename; no longer needed.
20107 2019-09-18  Matt Bisson  <mbisson@vmware.com>  (tiny change)
20109         Fix ignored Motif scrollbar resources (Bug#37359)
20111         * src/xterm.c (x_create_toolkit_scroll_bar): On Motif
20112         scrollbars, "foreground" has no meaning, while "background"
20113         means the truck and arrow colors, and "trough" means the
20114         background of the entire widget.  This fix hooks up the Emacs
20115         scrollbar "foreground" color to the XmNbackground resource
20116         and the "background" color to XmNtroughColor which is more in
20117         line with how Xaw scrollbars behave.
20119 2019-09-18  Juanma Barranquero  <lekktu@gmail.com>
20121         lisp/*.el, src/*.c: Fix typos in docstrings
20123         * lisp/apropos.el (apropos-do-all):
20124         * lisp/auth-source-pass.el (auth-source-pass--select-from-entries):
20125         * lisp/auth-source.el (auth-source-user-or-password):
20126         * lisp/calc/calc-forms.el (math-tzone-names):
20127         * lisp/calendar/diary-lib.el (diary-face-attrs)
20128         (diary-mark-entries-1):
20129         * lisp/cedet/cedet-files.el (cedet-files-list-recursively):
20130         * lisp/cedet/ede.el (ede-constructing, ede-deep-rescan):
20131         * lisp/cedet/ede/cpp-root.el (ede-cpp-root-header-file-p):
20132         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
20133         * lisp/cedet/inversion.el (inversion-check-version)
20134         (inversion-test):
20135         * lisp/cedet/mode-local.el (mode-local-map-file-buffers):
20136         * lisp/cedet/semantic/complete.el (semantic-displayer-ghost):
20137         * lisp/cedet/semantic/db-find.el (semanticdb-find-translate-path-default):
20138         * lisp/cedet/semantic/db.el (semanticdb-table)
20139         (semanticdb-search-system-databases):
20140         * lisp/cedet/semantic/imenu.el (semantic-imenu-index-directory):
20141         * lisp/cedet/semantic/java.el (semantic-java-doc-keywords-map):
20142         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-use-headers-flag):
20143         * lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table)
20144         (semantic-lex-make-type-table, semantic-lex-debug-analyzers):
20145         * lisp/cedet/semantic/tag-ls.el (semantic-tag-abstract-p)
20146         (semantic-tag-leaf-p, semantic-tag-static-p)
20147         (semantic-tag-prototype-p):
20148         * lisp/dnd.el (dnd-open-remote-file-function, dnd-open-local-file):
20149         * lisp/emacs-lisp/eieio-opt.el (eieio-build-class-alist)
20150         (eieio-read-class, eieio-read-subclass):
20151         * lisp/emacs-lisp/generator.el (cps--replace-variable-references)
20152         (cps--handle-loop-for):
20153         * lisp/erc/erc-dcc.el (erc-dcc-list, erc-dcc-member, erc-dcc-server)
20154         (erc-dcc-auto-mask-p, erc-dcc-get-file, erc-dcc-chat-accept):
20155         * lisp/eshell/em-pred.el (eshell-pred-file-type):
20156         * lisp/faces.el (defined-colors-with-face-attributes):
20157         * lisp/font-core.el (font-lock-mode):
20158         * lisp/frame.el (frame-restack):
20159         * lisp/net/shr.el (shr-image-animate):
20160         * lisp/org/org-agenda.el (org-agenda-change-all-lines)
20161         (org-agenda-today-p):
20162         * lisp/org/org-id.el (org-id-get):
20163         * lisp/org/org.el (org-highlight-latex-and-related)
20164         (org--valid-property-p):
20165         * lisp/org/ox-beamer.el (org-beamer--get-label):
20166         * lisp/org/ox-latex.el (org-latex--caption-above-p):
20167         * lisp/org/ox-odt.el (org-odt--copy-image-file)
20168         (org-odt--copy-formula-file):
20169         * lisp/org/ox.el (org-export-with-timestamps):
20170         * lisp/progmodes/verilog-mode.el (verilog-indent-declaration-macros):
20171         * lisp/ses.el (ses-file-format-extend-parameter-list):
20172         * lisp/term.el (ansi-term):
20173         * lisp/textmodes/bibtex.el (bibtex-no-opt-remove-re)
20174         (bibtex-beginning-of-first-entry, bibtex-autokey-get-title)
20175         (bibtex-read-key, bibtex-initialize):
20176         * lisp/textmodes/flyspell.el (flyspell-word):
20177         * lisp/view.el (view-mode-exit):
20178         * src/composite.c:
20179         * src/floatfns.c (Fisnan): Fix typos in docstrings.
20181 2019-09-18  Stephen Leake  <stephen_leake@stephe-leake.org>
20183         Merge commit '107ce3050fc37b9a13d8304ae1bb73fac9de5f61'
20185 2019-09-18  Stephen Leake  <stephen_leake@stephe-leake.org>
20187         Enhance 'pcomplete/make' to complete on targets in included makefiles
20189         * lisp/pcmpl-gnu.el (pcmpl-gnu-makefile-includes): New.
20190         (pcmpl-gnu-make-targets): New, factored out of pcmpl-gnu-make-all-targets.
20191         (pcmpl-gnu-make-includes): New.
20192         (pcmpl-gnu-make-all-targets): Use new functions.
20194 2019-09-18  Juri Linkov  <juri@linkov.net>
20196         * lisp/isearch.el (isearch-lazy-highlight-update): Remember timer object
20198         in isearch-lazy-highlight-timer to cancel it in lazy-highlight-cleanup.
20200         (isearch-done): No need to set isearch-lazy-highlight-start to nil -
20201         it used to reset lazy-highlight loop like isearch-lazy-highlight-window-start,
20202         but now other packages set isearch-lazy-highlight-last-string to nil to reset
20203         lazy-highlight loop.
20205 2019-09-18  Eli Zaretskii  <eliz@gnu.org>
20207         Fix loading .elc files on MS-Windows
20209         * src/lread.c (Fload): Don't clobber 'found' if the .el file
20210         was not found, as it is used by WINDOWSNT later on.
20212 2019-09-18  Phillip Lord  <phillip.lord@russet.org.uk>
20214         Improve logic for dependencies checking
20216         * admin/nt/dist-build/build-dep-zips.py:
20218 2019-09-18  Lars Ingebrigtsen  <larsi@gnus.org>
20220         Fix up the previous mh-mime warning suppression
20222         * lisp/mh-e/mh-acros.el (mh-dlet*): Suppress warnings about
20223         prefix-less bindings.
20224         * lisp/mh-e/mh-mime.el (mh-insert-mime-security-button): Remove
20225         the warning removal here.
20226         (mh-insert-mime-button): And here.
20228 2019-09-18  Eli Zaretskii  <eliz@gnu.org>
20230         Improve support of the Tai-Viet script
20232         * lisp/language/tai-viet.el ("TaiViet"): Update the doc
20233         string.  Suggested by Jim Brase <jim_brase@sil.org>.
20234         (Bug#5806)
20236         * etc/HELLO: Add a Tai Viet entry.
20238 2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>
20240         Out-of-datedness .elc check is merely a file test
20242         * src/fileio.c (file_test_errno): Now extern.
20243         * src/lread.c (Fload): Use file_test_errno instead,
20244         since this is really just a file test (the attributes
20245         are not given to the user).
20247 2019-09-18  Eli Zaretskii  <eliz@gnu.org>
20249         Fix the MS-Windows build broken by recent errno changes
20251         * src/fileio.c (file_directory_p): If the file exists, but is
20252         not a directory, set errno to ENOTDIR, like the Posix branch
20253         does; openp expects that.
20255 2019-09-18  Michael Albinus  <michael.albinus@gmx.de>
20257         Simplify tramp-tests.el check for owncloud/nextcloud
20259         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file):
20260         Simplify check for owncloud/nextcloud connections.
20262 2019-09-18  Michael Albinus  <michael.albinus@gmx.de>
20264         Add extra args for zsh in Tramp
20266         * doc/misc/tramp.texi (Remote shell setup): New subsection
20267         "Changing the default remote shell".
20269         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Add entry for zsh.
20271 2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>
20273         Be less picky about EACCES in file test predicates
20275         Problem reported by Tino Calancha (Bug#37445) and others.
20276         * src/fileio.c (PICKY_EACCES): New constant, false by default.
20277         (file_test_errno): Ignore EACCES if not picky.
20278         (check_file_access): Investigate EACCES problems further
20279         if picky.
20281 2019-09-18  Paul Eggert  <eggert@cs.ucla.edu>
20283         Fix permission-denied issue in MS-Windows startup
20285         * src/callproc.c (init_callproc): Use file_access_p rather
20286         than Ffile_exists_p during startup (Bug#37445).
20288 2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>
20290         Improve reporting of I/O, access errors
20292         Signal an error for file-oriented errors that are not tame
20293         errors like ENOENT and ENOTDIR (Bug#37389).
20294         Do this for primitives exposed to Lisp; the lower
20295         level internal C API merely makes errno values available
20296         to higher-level C code.
20297         * doc/lispref/files.texi (Testing Accessibility)
20298         (File Attributes, Extended Attributes): Do not say that the
20299         functions return nil when the return value cannot be determined.
20300         * etc/NEWS: Mention the change.
20301         * src/dired.c (Ffile_attributes): Fix doc string confusion
20302         about opening a file vs getting its attributes.
20303         (file_attributes): Signal serious errors.
20304         * src/fileio.c (check_existing, check_executable)
20305         (check_writable): Remove.  All callers changed to use
20306         check_file_access or file_access_p.
20307         (file_access_p, file_metadata_errno, file_attribute_errno)
20308         (file_test_errno, check_file_access, check_emacs_readlinkat):
20309         New functions.
20310         * src/fileio.c (Ffile_executable_p, Ffile_readable_p)
20311         (Ffile_name_case_insensitive_p, Frename_file, Ffile_exists_p):
20312         (Ffile_symlink_p, Ffile_directory_p)
20313         (Ffile_accessible_directory_p, Ffile_regular_p)
20314         (Ffile_selinux_context, Ffile_acl, Ffile_modes)
20315         (Ffile_newer_than_file_p, Fset_visited_file_modtime)
20316         (Ffile_system_info):
20317         * src/filelock.c (unlock_file, Ffile_locked_p):
20318         * src/lread.c (Fload):
20319         Signal serious errors.
20320         * src/fileio.c (Ffile_writable_p): Remove unnecessary CHECK_STRING.
20321         (emacs_readlinkat): Now static.
20322         * src/filelock.c (current_lock_owner, lock_if_free): Return a
20323         positive errno on error, and the negative of the old old value
20324         on success.  All callers changed.
20325         * src/lread.c (openp): Propagate serious errno values to caller.
20327 2019-09-17  Jimmy Aguilar Mena  <kratsbinovish@gmail.com>
20329         Substituted deprecated WebKitGTK+ api.
20331         * src/xwidget.c : Substituted WebKitGTK+ API calls and use
20332         JavaScriptCore GLib API instead.
20334 2019-09-17  Tino Calancha  <tino.calancha@gmail.com>
20336         Fix an assignment to free variable warning
20338         It fixes a bug introduced by commit
20339         'query-replace-regexp undo: Update next-replacement after undo'
20340         (30c4f35a6fc8a6507930923766c3126ac1c2063f)
20342         See https://lists.gnu.org/r/emacs-devel/2019-09/msg00364.html
20343         * lisp/replace.el(perform-replace): Rename variable
20344         to next-replacement-replaced.
20346 2019-09-17  Juanma Barranquero  <lekktu@gmail.com>
20348         * src/w32fns.c (Fw32_read_registry): Doc fix
20350 2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>
20352         Suppress some warnings about un-prefixed dynamic variables
20354         * lisp/mh-e/mh-mime.el (mh-insert-mime-security-button): Suppress
20355         warnings about un-prefixed dynamic variables.
20356         (mh-insert-mime-button): Ditto.
20358 2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>
20360         Touch up naming of ipv6-expand
20362         * lisp/net/net-utils.el (nslookup--ipv6-expand): Rename to avoid
20363         make prefix more regular.
20364         (nslookup-host-ipv6): Rename call.
20366 2019-09-17  W. Garrett Mitchener  <garrett.mitchener@gmail.com>
20368         Updated to match more recent versions of Praat.
20370         * lisp/leim/quail/ipa-praat.el ("ipa-praat"): Update to match
20371         more recent versions of Praat (bug#36198).
20373         - \rh was used for ram's horns (a vowel) and rhoticity hook (a
20374           diacritic).  Praat uses \hr for the hook, so I made that changed.
20376         - \e3v for the slightly rounded diacritic seems to have been a typo
20377           related to the use of e in the example.  Changed it to \3v to match
20378           Praat.
20380         - Added examples to the table of tone diacritics
20382         - Added \^h for superscript h
20384         - Added \^H for superscript h with hook
20386         - Added \^w for superscript w (labialization)
20388         - Added \^j for superscript j (palatalization)
20390         - Added \^g for superscript symbol (velarization)
20392         - Added \^9 for superscript symbol (pharyngealization)
20394 2019-09-17  Lars Ingebrigtsen  <larsi@gnus.org>
20396         Update doc marker -- smtpmail-retries is documented
20398 2019-09-17  Eli Zaretskii  <eliz@gnu.org>
20400         Improve font lookup on MS-Windows
20402         * src/w32font.c (struct font_callback_data): New member
20403         'known_fonts'.
20404         (w32font_list_internal, w32font_match_internal): Set up
20405         match_data.known_fonts if the font spec includes :script that
20406         names one of the non-USB scripts.
20407         (add_font_entity_to_list): If font_matches_spec returns zero
20408         for a font, and we have some fonts in match_data->known_fonts,
20409         consider the font to be a match if it is named in known_fonts.
20410         (font_supported_scripts): Update the Unicode Subranges.  In
20411         particular, map bit 74 to 'burmese', as this is the name Emacs
20412         uses, not 'myanmar'.  Add a list of scripts that have no USBs
20413         defined for them.
20414         (syms_of_w32font) <Qburmese, Qcuneiform_numbers_and_punctuation>
20415         <Qaegean_number, Qw32_non_USB_fonts>: New symbols.
20417         * lisp/term/w32-win.el (w32-no-usb-subranges): New defconst.
20418         (w32--filter-USB-scripts, w32-find-non-USB-fonts): New functions.
20419         (w32-non-USB-fonts): New defvar.
20421         * lisp/international/fontset.el (setup-default-fontset): Add
20422         more scripts to automatic setup by representative characters.
20424         * doc/emacs/msdos.texi (Windows Fonts): Document
20425         'w32-find-non-USB-fonts' and 'w32-non-USB-fonts'.
20427         * etc/NEWS: Mention 'w32-find-non-USB-fonts' and
20428         'w32-non-USB-fonts'.
20430 2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>
20432         Pacify GCC -Wmaybe-uninitialized
20434         * src/dired.c (directory_files_internal):
20435         Pacify GCC 7.4.0-1ubuntu1~18.04.1 x86-64.
20437 2019-09-17  Paul Eggert  <eggert@cs.ucla.edu>
20439         Don’t round file-system-info counts
20441         * src/fileio.c (blocks_to_bytes): Convert the byte count to an
20442         integer, since we have bignums now.  This avoids possible rounding
20443         errors for file systems containing more than 8 PiB or so.
20445 2019-09-17  Mattias Engdegård  <mattiase@acm.org>
20447         * doc/lispref/searching.texi (Rx Constructs): Fix typo.
20449 2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20451         Fix some file-mode races
20453         * lisp/emacs-lisp/autoload.el (autoload-ensure-file-writeable):
20454         * lisp/files.el (after-find-file):
20455         * lisp/gnus/gnus-start.el (gnus-dribble-read-file):
20456         * lisp/htmlfontify.el (hfy-copy-and-fontify-file):
20457         * lisp/server.el (server-ensure-safe-dir):
20458         Avoid a race when getting file permissions.
20460 2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20462         vc-cvs-revert: fix off-by-one file mode
20464         * lisp/vc/vc-cvs.el (vc-cvs-revert): 3950 (#o7556) is wrong as
20465         it keeps other-write but disables other-execute permissions.
20466         3949 (#o7555) was intended here.  Use octal notation for clarity.
20468 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20470         Fix imenu menu when we're auto-refreshing
20472         * lisp/imenu.el (imenu--make-index-alist): Don't add a *Refresh*
20473         item if we're auto-refreshing (bug#30449).
20475 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20477         Add a new variable smtpmail-retries
20479         * doc/misc/smtpmail.texi (Server workarounds): Mention it (bug#34177).
20481         * lisp/mail/smtpmail.el (smtpmail-retries): New variable.
20482         (smtpmail-via-smtp): Use it.
20484 2019-09-16  Michał Kondraciuk  <k.michal@zoho.com>  (tiny change)
20486         Allow `M-u' to work when editing fields in Customize
20488         * lisp/cus-edit.el (custom-notify): Allow more editing commands to
20489         work in the Customize buffers (bug#31205).
20491 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20493         Try resending when getting a transient 4xx SMTP code
20495         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Try resending when
20496         getting a transient error message (bug#34177).
20498 2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20500         Remove obsolete Lint directives
20502         Most of the directives were wrong anyway.  Apparently
20503         traditional lint hasn’t been used to check Emacs for years.
20504         * src/callint.c (Finteractive):
20505         * src/cm.c (evalcost):
20506         * src/emacs.c (main):
20507         * src/eval.c (call1, call2, call3, call4, call5, call6, call7, call8):
20508         * src/fns.c (concat2, concat3, nconc2):
20509         * src/term.c (calculate_ins_del_char_costs):
20510         Omit ARGSUSED comments.
20511         * src/eval.c (call1): Omit VARARGS comment.
20513 2019-09-16  Tino Calancha  <tino.calancha@gmail.com>
20515         Add backquote tests
20517         * test/lisp/emacs-lisp/backquote-tests.el: New file (bug#37432).
20519 2019-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20521         directory-files cleanup and speed tweaking
20523         * src/dired.c (directory_files_internal):
20524         Check ‘match’ before doing anything heavyweight.
20525         Move decls closer to use.
20526         Remove obsolete comments about GC.
20527         No need to encode ‘directory’ or to call multibyte_chars_in_text.
20528         Remove no-longer-needed bug check.
20529         Skip finalname construction if file_attributes fails.
20531 2019-09-16  Juri Linkov  <juri@linkov.net>
20533         Try to fix macOS and Windows issues.
20535 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20537         mm-inline-large-images-proportion doc clarification
20539         * lisp/gnus/mm-view.el (mm-inline-large-images-proportion): Doc
20540         clarification.
20542 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20544         Default to rescaling images in mm buffers
20546         * doc/misc/emacs-mime.texi (Display Customization): Document it.
20548         * lisp/gnus/mm-decode.el (mm-inline-large-images): Change default
20549         to `resize'.
20551 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20553         mm-inline-large-images doc string clarification
20555         * lisp/gnus/mm-decode.el (mm-inline-large-images): Clarify doc string.
20557 2019-09-16  Mauro Aranda  <maurooaranda@gmail.com>
20559         With tooltip-mode disabled, don't unconditionally clear the echo area
20561         * lisp/tooltip.el (tooltip-show-help-non-mode): Only clear the
20562         echo area when the current message displayed is a tooltip message
20563         (Bug#3192).
20565 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20567         Minor fix for previous maintaining.texi change
20569         * doc/emacs/maintaining.texi (VC Directory Commands): Use @file
20570         for files.
20572 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20574         Document vc-dir-ignore
20576         * doc/emacs/maintaining.texi (VC Directory Commands): Document
20577         vc-dir-ignore.
20579 2019-09-16  Eli Zaretskii  <eliz@gnu.org>
20581         Improve error reporting in file_accessible_directory_p
20583         * src/w32.c (w32_accessible_directory_p): Set errno, so that
20584         file_accessible_directory_p does on MS-Windows, to live up to
20585         its callers' expectations.
20587 2019-09-16  Eli Zaretskii  <eliz@gnu.org>
20589         Fix initialization of shared-game-score-directory on MS-Windows
20591         * src/callproc.c (init_callproc) [WINDOWSNT]: Run PATH_GAME
20592         through w32_relocate, to expand %emacs_dir%.
20593         [DOS_NT]: Accept EACCES as not "unusual" errno value.
20594         Reported by Richard Copley <rcopley@gmail.com>.
20596 2019-09-16  Lars Ingebrigtsen  <larsi@gnus.org>
20598         Remove NEWS entry that talks about a change that was reverted (bug#37257)
20600 2019-09-16  Robert Pluim  <rpluim@gmail.com>
20602         Add bindings for ligature oe to iso-transl-char-map
20604         * lisp/international/iso-transl.el (iso-transl-char-map): Add bindings
20605         for small and capital ligature oe.  (Bug#23420)
20607 2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>
20609         Fix some file-name-case-insensitive glitches
20611         * src/fileio.c (file_name_directory): New static function,
20612         broken out of Ffile_name_directory.
20613         (file_name_case_insensitive_err, Ffile_writable_p, Fdo_auto_save):
20614         Use it.
20615         (file_name_case_insensitive_err): Rename from
20616         file_name_case_insensitive_p.  Accept an unencoded Lisp_Object
20617         rather than an encoded char *, so that platforms other than
20618         Cygwin and macOS need not encode the file name.  Return an int
20619         -1, 0, errno rather than a bool (setting errno if false),
20620         so that the caller can distinguish an error from false.
20621         All callers changed.
20622         (Ffile_name_case_insensitive_p): Don’t issue system calls on
20623         platforms other than Cygwin and macOS.  Fix bug that broke the
20624         attempt to move up the filesystem tree (it moved up only one
20625         level).
20627 2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>
20629         Fix unknown-vs-nonexistent glitch for file timestamps
20631         * src/fileio.c (time_error_value): EACCES means the file
20632         timestamp is unknown, not that the file does not exist.
20634 2019-09-15  Paul Eggert  <eggert@cs.ucla.edu>
20636         Improve directory-access diagnostics
20638         * src/callproc.c (init_callproc): Diagnose I/O errors,
20639         access errors, etc. for the game directory.
20640         * src/charset.c (init_charset): Improve quality of diagnostic
20641         when the charsets directory has I/O errors, access errors, etc.
20643 2019-09-15  Glenn Morris  <rgm@gnu.org>
20645         Merge from origin/emacs-26
20647         30c4f35 (origin/emacs-26) query-replace-regexp undo: Update next-repl...
20648         c596be0 Amend the menu caption for page "Display Property" in the Eli...
20649         13b9510 Add description of chinese-sisheng
20651 2019-09-15  Glenn Morris  <rgm@gnu.org>
20653         Merge from origin/emacs-26
20655         8e420c0 Clarify the use of left/right-margin-width in determining cur...
20657 2019-09-15  Glenn Morris  <rgm@gnu.org>
20659         * admin/upload-manuals: Move a basic check earlier.
20661 2019-09-15  Juri Linkov  <juri@linkov.net>
20663         Use images for new/close buttons in tab-bar and tab-line.
20665         * etc/images/tabs/new.xpm:
20666         * etc/images/tabs/close.xpm:
20667         New files.
20669         * lisp/tab-bar.el (tab-bar-separator): New face.
20670         (tab-bar-separator, tab-bar-button-new, tab-bar-button-close):
20671         Use display property with images in default values.
20673         * lisp/tab-line.el (tab-line-button-new, tab-line-button-close):
20674         Use display property with images in default values.
20676         * src/xdisp.c (tab_bar_item_info): Add new arg close_p and set it
20677         to the value of property `close' at charpos.
20678         (get_tab_bar_item): Add new arg close_p.
20679         (handle_tab_bar_click): Add ctrl_modifier when close_p is non-nil.
20680         (Fdump_tab_bar_row): Fix crash for non-X builds.
20682 2019-09-15  Juri Linkov  <juri@linkov.net>
20684         Fix assertion violations due to non-ASCII text in tabs
20686         * src/xdisp.c (tab_bar_height, redisplay_tab_bar)
20687         (display_tab_bar): If the Lisp string to be displayed in the
20688         tab-bar window is multibyte, tell the display
20689         engine to treat it as multibyte, instead of relying on the
20690         initial determination by init_iterator (which is based on the
20691         multibyteness of the current buffer).  (Bug#37385)
20693 2019-09-15  Juanma Barranquero  <lekktu@gmail.com>
20695         * lisp/subr.el (major-mode-suspend): Doc fix
20697 2019-09-15  Michael Albinus  <michael.albinus@gmx.de>
20699         Use also truname of temporary-file-directory in shadowfile-tests.el
20701         * test/lisp/shadowfile-tests.el (top): Use truename of
20702         `temporary-file-directory' and
20703         `shadow-test-remote-temporary-file-directory'.  (Bug#37202)
20704         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
20705         Do not bind `shadow-test-remote-temporary-file-directory'.
20707 2019-09-15  Mauro Aranda  <maurooaranda@gmail.com>
20709         Make widget-browse-at always detect an editable-field
20711         * lisp/wid-browse.el (widget-browse-at): Also look for the real-field
20712         property when detecting a field (bug#37199).
20714 2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
20716         Do not use error messages as list of ignored files in vc-svn
20718         * lisp/vc/vc-svn.el: (vc-svn-ignore-completion-table) Ignore buffer
20719         contents, if exit status is not 0.  Split buffer by lines (bug#37214).
20721 2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
20723         Fix vc-default-ignore
20725         * lisp/vc/vc.el: (vc-default-ignore) Treat FILE parameter as relative
20726         to DIRECTORY parameter.  Construct a file-path relative to directory
20727         of ignore file.  When removing, use properly anchored regexp.  Remove
20728         entire line, not just the match (bug#37217).
20730 2019-09-15  Wolfgang Scherer  <wolfgang.scherer@gmx.de>
20732         Provide facility to ignore all marked files in vc
20734         * lisp/vc/vc-dir.el: (vc-dir-ignore) With prefix argument, ignore all
20735         marked files (bug#37240).
20737 2019-09-15  Lars Ingebrigtsen  <larsi@gnus.org>
20739         Revert "emacsclient: ignore --eval parameters when starting alternate editor"
20741         This reverts commit 6fe661342a24edcaea255c3ba9a37613031554da.
20743         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.
20745 2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>
20747         file_name_case_insensitive_p int->long fix
20749         * src/fileio.c (file_name_case_insensitive_p):
20750         Don’t assume ‘long int’ fits in ‘int’.
20752 2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>
20754         Fix gc-elapsed rounding bug
20756         * src/alloc.c (garbage_collect): Don’t accumulate rounding
20757         errors when computing gc-elapsed.
20759 2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>
20761         Improve doc of GC thresholds
20763         * doc/lispref/internals.texi (Garbage Collection), etc/NEWS:
20764         Warn that control over GC is only approximate.
20766 2019-09-14  Bruno Félix Rezende Ribeiro  <oitofelix@gnu.org>  (tiny change)
20768         Fix picon installation instructions in the Gnus manual
20770         * doc/misc/gnus.texi (Picons): Fix instructions for installing
20771         picons on Debian (bug#37247).
20773 2019-09-14  Basil L. Contovounesios  <contovob@tcd.ie>
20775         Fix fileless eww form submission
20777         * lisp/net/eww.el (eww-submit): Ignore file inputs with no
20778         associated file name (bug#36520).
20780 2019-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
20782         Add default foreground colours to SVG images
20784         * lisp/net/shr.el (svg--wrap-svg): Add a default foreground colour
20785         to SVG images (bug#37159).  This helps with images like the ones
20786         in https://en.wikipedia.org/wiki/Banach_fixed-point_theorem that
20787         specify no foreground or background colours.
20788         (shr-parse-image-data): Use it.
20790 2019-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
20792         Make eww more liberal when interpreting some invalid HTML
20794         * lisp/net/eww.el (eww--preprocess-html): New function (bug#37009)
20795         to be more lenient with invalid HTML and translate common invalid
20796         HTML like "a <= b" into "a &lt;= b" to be more liberal in what we
20797         accept before parsing.
20798         (eww-display-html): Use it.
20799         (eww-readable): Ditto.
20801 2019-09-14  Eli Zaretskii  <eliz@gnu.org>
20803         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Fix a thinko.  (Bug#36566)
20805 2019-09-14  Tobias Zawada  <i_inbox@tn-home.de>  (tiny change)
20807         Add a debug declaration to widget-specify-insert
20809         * lisp/wid-edit.el (widget-specify-insert): Add a debug
20810         declaration (bug#37368).
20812 2019-09-14  Federico Tedin  <federicotedin@gmail.com>
20814         Allow gamegrid-add-score to treat lower scores as better.
20816         * lisp/play/gamegrid.el (gamegrid-add-score): Add 'reverse' parameter.
20817         (gamegrid-add-score-with-update-game-score): Add 'reverse' parameter.
20818         (gamegrid-add-score-with-update-game-score-1): Add 'reverse'
20819         parameter.  Pass on "-r" argument to update-game-score.
20820         (gamegrid-add-score-insecure): Add 'reverse' parameter, reverse scores
20821         when it's non-nil.  (Bug#36867)
20823         * etc/NEWS: Announce the change.
20825 2019-09-14  Paul Eggert  <eggert@cs.ucla.edu>
20827         Improve gc-cons-percentage calculation
20829         The old calculation relied on a hodgpodge of partly updated GC
20830         stats to find a number to multiply gc-cons-percentage by.
20831         The new one counts data found by the previous GC, plus half of
20832         the data allocated since then; this is more systematic albeit
20833         still ad hoc.
20834         * src/alloc.c (consing_until_gc, gc_threshold, consing_threshold):
20835         Now EMACS_INT, not intmax_t.
20836         (HI_THRESHOLD): New macro.
20837         (tally_consing): New function.
20838         (make_interval, allocate_string, allocate_string_data)
20839         (make_float, free_cons, allocate_vectorlike, Fmake_symbol): Use it.
20840         (allow_garbage_collection, inhibit_garbage_collection)
20841         (consing_threshold, garbage_collect):
20842         Use HI_THRESHOLD rather than INTMAX_MAX.
20843         (consing_threshold): New arg SINCE_GC.  All callers changed.
20844         (bump_consing_until_gc): Return new consing_until_gc, instead of
20845         nil.  All callers changed.  Don’t worry about overflow since we
20846         now saturate at HI_THRESHOLD.  Guess that half of
20847         recently-allocated objects are still alive, instead of relying on
20848         the previous (even less-accurate) hodgepodge.
20849         (maybe_garbage_collect): New function.
20850         (garbage_collect): Work even if a finalizer disables or enables
20851         memory profiling.  Do not use malloc_probe if GC reclaimed nothing.
20852         * src/lisp.h (maybe_gc): Call maybe_garbage_collect instead
20853         of garbage_collect.
20855 2019-09-13  Paul Eggert  <eggert@cs.ucla.edu>
20857         Simplify GC statistics-gathering
20859         * src/alloc.c (make_interval, allocate_string, make_float)
20860         (free_cons, Fcons, setup_on_free_list)
20861         (allocate_vector_from_block, Fmake_symbol):
20862         Do not update gcstat, since it is for statistics from the most
20863         recent GC, not for a partially-updated hodgepodge.
20864         (sweep_vectors): Update gcstat, since setup_on_free_list
20865         no longer does.
20866         (garbage_collect_1): Rename to garbage_collect and adopt its API.
20867         Remove the old garbage_collect, which is no longer needed.
20868         All callers changed.
20870 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
20872         Don't build print-number-table unless it will be used
20874         There are only a few users of print-number-table, and none of them use
20875         it when print-circle is nil.  A couple of them used to.  print_object
20876         was changed in 2012-04-20 "* src/print.c (print_preprocess): Only
20877         check print_depth if print-circle is nil".
20878         byte-compile-output-docform which uses print-number-table binds
20879         print-circle to t before printing unless
20880         byte-compile-disable-print-circle is set, but that variable has been
20881         marked obsolete since 24.1.
20883         * src/print.c (print_preprocess): Assert Vprint_circle is non-nil.
20884         Remove code handling the case when Vprint_circle is nil.
20885         (print, Fprint_preprocess): Don't call print_preprocess unless
20886         Vprint_circle is non-nil.
20887         (print_object): Remove comment referencing removed code in
20888         print_preprocess.
20890 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
20892         Create common tests for print.c and cl-print.el
20894         * test/lisp/emacs-lisp/cl-print-tests.el
20895         (cl-print--test, cl-print-tests-1, cl-print-tests-2)
20896         (cl-print-tests-3, cl-print-tests-4, cl-print-tests-5)
20897         (cl-print-tests-strings, cl-print-circle, cl-print-circle-2):
20898         Remove.
20899         * test/src/print-tests.el (print-tests--prin1-to-string): New
20900         alias.
20901         (print-tests--deftest): New macro.
20902         (print-hex-backslash, print-read-roundtrip, print-bignum): Define with
20903         print-tests--deftest and use print-tests--prin1-to-string.
20904         (print-tests--prints-with-charset-p): Use
20905         print-tests--prin1-to-string.
20906         (print-tests--print-charset-text-property-nil)
20907         (print-tests--print-charset-text-property-t)
20908         (print-tests--print-charset-text-property-default): Define with
20909         print-tests--deftest.
20910         (print-tests-print-gensym)
20911         (print-tests-continuous-numbering, print-tests-1, print-tests-2)
20912         (print-tests-3, print-tests-4, print-tests-5)
20913         (print-tests-strings, print-circle, print-circle-2): New tests.
20914         (print--test, print-tests-struct): New cl-defstructs.
20916 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
20918         Fix unnecessary hash table creation in cl-prin1 (bug#36566)
20920         cl-prin1 prints all its punctuation by passing strings to prin1.  When
20921         print-circle was set, print_preprocess was creating a new hash table
20922         for each string, causing excessive garbage collection when printing
20923         large Lisp objects with cl-prin1.
20925         * src/print.c (print_number_index): Fix typo in comment above.
20926         (PRINT_CIRCLE_CANDIDATE_P): Don't create print_number_table
20927         for top-level strings with no properties, except when
20928         print_continuous_numbering is on.
20930 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
20932         Improve performance of backtrace printing (bug#36566)
20934         * lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): Reduce
20935         print-level and print-length more quickly when the structure being
20936         printed is very large.
20938 2019-09-13  Gemini Lasswell  <gazally@runbox.com>
20940         Improve print output options commands in backtrace-mode (bug#36566)
20942         * lisp/emacs-lisp/backtrace.el (backtrace-view): Mention
20943         :print-gensym in docstring.
20944         (backtrace-mode-map): Add keyboard binding for
20945         backtrace-toggle-print-gensym.  Add menu entries for
20946         backtrace-toggle-print-circle and backtrace-toggle-print-gensym.
20947         (backtrace--with-output-variables): Bind print-gensym with value
20948         of :print-gensym found in view plist.
20949         (backtrace-toggle-print-circle): Remove description of
20950         implementation details from docstring.
20951         (backtrace-toggle-print-gensym): New command.
20952         (backtrace--toggle-feature): Add echo area message describing result
20953         of command.
20955         * test/lisp/emacs-lisp/backtrace-tests.el
20956         (backtrace-tests--print-circle): New test.
20958         * doc/lispref/debugging.texi (Backtraces): Document keyboard
20959         binding for backtrace-toggle-print-gensym.
20961 2019-09-13  Stefan Kangas  <stefankangas@gmail.com>
20963         * lisp/help-mode.el (help-mode-menu): Fix typo.  (Bug#36485)
20965         * doc/misc/efaq.texi: Update ancient formats. (Bug#37143)
20967 2019-09-13  Stefan Kangas  <stefankangas@gmail.com>
20969         Remove leftover XEmacs compat code and doc fixes
20971         * lisp/mail/feedmail.el (top-level): Remove outdated comment.
20972         (feedmail-run-the-queue): Remove leftover XEmacs compat code.
20973         (feedmail-nuke-bcc): Doc fix.
20975         * lisp/emulation/viper.el (top-level, viper-mode)
20976         * lisp/net/rfc2104.el (top-level): Doc fix.
20978         * lisp/textmodes/table.el (top-level): Remove obsolete todo.
20980 2019-09-13  Stefan Kangas  <stefankangas@gmail.com>
20982         Change gui--selection-value-internal comment into doc string
20984         * lisp/select.el (gui--selection-value-internal): Change comment into
20985         doc string.  (Bug#25528)
20987 2019-09-13  Michael Albinus  <michael.albinus@gmx.de>
20989         Fix problems in tramp-test33-environment-variables
20991         * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables):
20992         Use ${parameter:-word} construct.  Remove PS1 entry from
20993         "printenv" output.
20994         (tramp--test-check-files): Use "printenv".
20996 2019-09-13  Michael Albinus  <michael.albinus@gmx.de>
20998         Make recent Tramp patch work for tramp-archive.el
21000         * lisp/net/tramp.el (tramp-connectable-p): Make it work also for
21001         tramp-archive.el.
21003 2019-09-13  Eli Zaretskii  <eliz@gnu.org>
21005         Fix assertion violations due to non-ASCII text in menus
21007         * src/xdisp.c (tool_bar_height, redisplay_tool_bar)
21008         (display_menu_bar): If the Lisp string to be displayed in the
21009         menu-bar or tool-bar window is multibyte, tell the display
21010         engine to treat it as multibyte, instead of relying on the
21011         initial determination by init_iterator (which is based on the
21012         multibyteness of the current buffer).  (Bug#37385)
21014 2019-09-12  Jack Coughlin  <jack@jackc.me>  (tiny change)
21016         Fix saving user-defined calc commands with compositions (Bug#36720)
21018         * lisp/calc/calc-prog.el (calc-user-define-permanent): Correctly save
21019         the composition when the user specifies their formula by its command
21020         name or key.
21022 2019-09-12  Noam Postavsky  <npostavs@gmail.com>
21024         Fix fill-paragraph in python docstrings (Bug#36056)
21026         * lisp/progmodes/python.el (python-do-auto-fill): New function.
21027         (python-mode): Set it as normal-auto-fill-function, and don't set
21028         fill-indent-according-to-mode.  Having the latter set during
21029         fill-paragraph gives wrongs result, because python-indent-line doesn't
21030         remove indentation added by filling.
21031         * test/lisp/progmodes/python-tests.el (python-fill-docstring): New
21032         test.
21034 2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
21036         * lisp/progmodes/sh-script.el (sh--assignment-collect): Only after `=`!
21038 2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
21040         * lisp/progmodes/sh-script.el (sh-mode-map): Don't bind `=`
21042         (sh-shell-initialize-variables): Use sh--assignment-collect on
21043         post-self-insert-hook instead.
21044         (sh--assignment-collect): New function, extracted from sh-assignment.
21045         (sh-assignment): Use it and mark as obsolete.
21047 2019-09-12  Karl Fogel  <kfogel@red-bean.com>
21049         Add `isearch-yank-until-char'
21051         * lisp/isearch.el (isearch-yank-until-char): New function.
21052           (isearch-mode-map, isearch-menu-bar-yank-map): Add it.
21053           (isearch-forward): Document the new binding.
21055         * doc/emacs/search.texi (Isearch Yanking): Document the feature.
21057         * etc/NEWS: Mention the above.
21059 2019-09-12  Michael Albinus  <michael.albinus@gmx.de>
21061         Optimize host name completion in Tramp
21063         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
21064         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
21065         * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
21066         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
21067         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
21068         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
21069         Throw `non-essential' at the beginning of the function.
21071         * lisp/net/tramp.el (tramp-handle-file-exists-p):
21072         * lisp/net/tramp-sh.el (tramp-sh-handle-file-exists-p):
21073         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-exists-p):
21074         Run only when host is connectable.  This is due to host name
21075         completion, which shall be optimized.
21077         * lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat)
21078         (tramp-smb-get-file-entries): Access connection buffer only after
21079         sending the command.
21081         * lisp/net/tramp.el (tramp-get-buffer, tramp-get-connection-buffer):
21082         New argument DONT-CREATE.
21083         (tramp-message): Use it.
21084         (tramp-get-mutex): Check, whether host is connectable.
21085         (tramp-file-name-handler): Set thread only when host is connectable.
21086         (tramp-connectable-p): Allow also VEC as argument.
21087         (tramp-completion-handle-file-name-completion): Do not expand directory.
21089 2019-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
21091         * src/profiler.c: Leave `key` hashslots as Qunbound (bug#37382)
21093         Now that "key == Qunbound" is used to determine if a hash table entry
21094         is available, we can't stash pre-allocated vectors into the `key` slot
21095         anymore, so use the `value` slot instead.
21097         (make_log): Pre-fill the `value` slots i.s.o `key`.
21098         (evict_lower_half): Stash key back into `value`, i.s.o `key`.
21099         (record_backtrace): Get pre-allocated vector for `value` i.s.o `key`.
21101 2019-09-12  Paul Eggert  <eggert@cs.ucla.edu>
21103         Fix file name encoding when open_directory signals
21105         * src/dired.c (open_directory): New arg ENCODED_DIRNAME.
21106         All callers changed.  Signal error with original name,
21107         not encoded name.
21109 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21111         Improve error reporting for DOC file problems
21113         * src/doc.c (get_doc_string): Report all serious errors
21114         when DOC cannot be opened, not just fd-exhaustion errors.
21116 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21118         Fix directory-files-and-attributes race
21120         * src/dired.c (directory_files_internal): Fix race condition:
21121         when some other process removed a file between the readdir and
21122         the ensuing lstat, directory-files-and-attributes would return
21123         a list containing nil.
21125 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21127         Omit duplicate test of current directory
21129         * src/callproc.c (encode_current_directory): Remove redundant
21130         call to Ffile_accessible_directory_p.  The code checks the
21131         encoded name with file_accessible_directory_p anyway.
21133 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21135         Improve checking of pdump load failures
21137         * src/alloc.c (memory_full): Just report "memory exhausted" if
21138         failure occurs during initialization, since fancier recovery
21139         schemes are not likely to work when not initialized.
21140         * src/emacs.c (dump_error_to_string): Accept int, not enum
21141         pdumper_load_result, since the result might not fit in the
21142         enum.  Use strerror if it was derived from errno.  This is for
21143         better diagnostics of pdump load failures.
21144         (load_pdump_find_executable): Return char *, not enum.  2nd
21145         arg is now pointer to buffer size, rather than pointer to
21146         pointer to buffer.  All callers changed.  Use Emacs allocator
21147         since they should now be OK even during early startup.
21148         Use check_executable instead access, to use effective rather
21149         than real permissions.
21150         (load_pdump): Return void since callers ignore result.
21151         Use int where enum could be too narrow.  Use heap rather
21152         than stack for possibly-long string.  Prefer ptrdiff_t to
21153         size_t.
21154         * src/fileio.c (check_executable): Now extern.
21155         * src/pdumper.c (pdumper_load): Return int that may have
21156         errno added to it, for better diagnostics when loads fail.
21158 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21160         Reset dbus registered buses on dump load
21162         Problem reported by Leonard Lausen (Bug#37331).
21163         * src/dbusbind.c: Include pdumper.h.
21164         (syms_of_dbusbind_for_pdumper):
21165         New function, to reset the registered buses.
21166         (syms_of_dbusbind): Use it, fixing a TODO.
21168 2019-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21170         Fix auto-save with user-emacs-directory
21172         * lisp/startup.el (auto-save-list-file-prefix): Delay initialization,
21173         since the value depends on user-emacs-directory (Bug#37354).
21175 2019-09-11  Mattias Engdegård  <mattiase@acm.org>
21177         * lisp/emacs-lisp/elint.el (elint-directory-skip-re): Fix doc typo.
21179 2019-09-10  Katsumi Yamaoka  <yamaoka@jpl.org>
21181         Create a new overlay used to mark Attachment header (bug#37370)
21183         * lisp/gnus/gnus-art.el (gnus-mime-inline-part)
21184         (gnus-mm-display-part, gnus-mime-buttonize-attachments-in-header):
21185         Create a new overlay used to mark Attachment header instead of
21186         using existing overlays.
21188 2019-09-10  Stephen Leake  <stephen_leake@stephe-leake.org>
21190         Merge commit '74e9799bd89484b8d15bdd6597c68fc00d07e7f7'
21192 2019-09-10  Stephen Leake  <stephen_leake@stephe-leake.org>
21194         Support `cl-defstruct' in autoloads
21196         * lisp/emacs-lisp/autoload.el (make-autoload): Add `cl-defstruct' to
21197         "complex cases" list.
21199         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add :autoload-end to
21200         limit what is declared in autoloads.el for a defstruct.
21202 2019-09-09  Ulf Jasper  <ulf.jasper@web.de>
21204         Handle missing start-time when importing ical event (Bug#33277)
21206         * lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary): Set
21207         start time only if it is explicitly given in ical.  Do not use
21208         start-time as default for end-time (Bug#33277).
21210         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-33277):
21211         New.  Test fix for Bug#33277.
21213 2019-09-08  Tino Calancha  <tino.calancha@gmail.com>
21215         query-replace-regexp undo: Update next-replacement after undo
21217         * lisp/replace.el (perform-replace):
21218         Rename the local binding to not shadow next-replacement.
21219         Update next-replacement after undo (Bug#37287).
21221         * test/lisp/replace-tests.el (query-replace-undo-bug37287): Add test.
21222         (query-replace-undo-bug37073): Tweak this test.
21224 2019-09-08  Stefan Kangas  <stefankangas@gmail.com>
21226         Match Python 3 code object names in "M-x pdb"
21228         * lisp/progmodes/gud.el (gud-pdb-marker-regexp): Match Python 3 code
21229         object names.  (Bug#11679)
21231 2019-09-08  Stefan Kangas  <stefankangas@gmail.com>
21233         Remove final XEmacs compat code from dframe.el
21235         * lisp/dframe.el (top-level): Doc fix.
21236         (dframe-frame-parameter): Redefine as an obsolete function alias for
21237         'frame-parameter'.
21239 2019-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
21241         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define setter functions.
21243         When :noinline is specified one can't rely on setf expanding the
21244         inlinable function to construct the setter.
21245         Fixes bug#37283.
21247 2019-09-08  Stefan Kangas  <stefankangas@gmail.com>
21249         Remove support for upgrading from old bookmark file format
21251         * lisp/bookmark.el (bookmark-alist-from-buffer): Remove support for
21252         old bookmark file format.  (Bug#37122)
21253         (bookmark-upgrade-version-0-alist)
21254         (bookmark-upgrade-file-format-from-0)
21255         (bookmark-grok-file-format-version)
21256         (bookmark-maybe-upgrade-file-format): Declare obsolete.
21257         (bookmark-load): Don't call 'bookmark-maybe-upgrade-file-format'.
21258         * etc/NEWS: Announce it.
21260 2019-09-08  Juri Linkov  <juri@linkov.net>
21262         * lisp/tmm.el: Fix broken tmm-prompt (bug#34517)
21264         * lisp/tmm.el (tmm-prompt): Don't duplicate items of tmm--history.
21265         Don't reverse tmm-km-list for completion.  Don't set the initial
21266         position of 'tmm--history.  Use reverse tmm--history as the list
21267         of default values for M-n.
21268         (tmm-add-prompt): Don't insert initial value to the minibuffer.
21270 2019-09-08  Juri Linkov  <juri@linkov.net>
21272         Small fixes for tty and w32.
21274         * lisp/menu-bar.el (showhide-tab-bar): Visible on tty too.
21275         * lisp/tab-bar.el (tab-bar-mode): Add binding [(control shift tab)] for w32.
21276         * lisp/tab-line.el (tab-line-add-tab): Use tmm-prompt for buffer-menu on tty.
21277         * src/w32term.c (w32_read_socket): Fix tool-bar clicks.
21279 2019-09-08  Alan Mackenzie  <acm@muc.de>
21281         Fix untidinesses in compile.el.
21283         * lisp/progmodes/compile.el (compilation--margin-string): Renamed from
21284         compilation-margin-string.  Use defconst rather than defvar.  Use propertize
21285         rather than a separate put-text-property.  Trim the doc string.
21287 2019-09-08  Michael Albinus  <michael.albinus@gmx.de>
21289         Fix Bug#36090
21291         * lisp/vc/vc-hg.el (vc-hg--pushpull, vc-hg-merge-branch)
21292         (vc-hg-command): Disable pager.  (Bug#36090)
21294 2019-09-08  Michael Albinus  <michael.albinus@gmx.de>
21296         Fix Bug#37202
21298         * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo)
21299         (shadow-test09-shadow-copy-files): Use truename of
21300         `shadow-test-remote-temporary-file-directory'.  (Bug#37202)
21302 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
21304         Fix bug when gc-cons-percentage is bumped to 0.8
21306         Problem reported by Michael Heerdegen (Bug#37321).
21307         * src/alloc.c (gc_threshold): New static var.
21308         (bump_consing_until_gc): Change args from DIFF to THRESHOLD and
21309         PERCENTAGE.  All uses changed.  When accounting for a changed
21310         gc-cons-percentage, do not assume that total_bytes_of_live_objects
21311         returns the same value now that it did the last time we were
21312         called.
21314 2019-09-07  Stefan Kangas  <stefankangas@gmail.com>
21316         Use derived-mode-p consistently in info.el
21318         * lisp/info.el (Info-hide-note-references, info-display-manual)
21319         (info--manual-names): Use derived-mode-p.  (Bug#27583)
21321 2019-09-07  Noam Postavsky  <npostavs@gmail.com>
21323         Let byte-compiler recognize that local-variable-p implies boundp
21325         * lisp/emacs-lisp/bytecomp.el (byte-compile-maybe-guarded): Add
21326         arguments to local-variable-p to the bound list.
21327         * lisp/image-mode.el (image-toggle-display-image): Remove no longer
21328         needed boundp check.
21330 2019-09-07  Joel Rosdahl  <joel@rosdahl.net>
21332         Fix flymake-proc temporary file deletion bug
21334         * lisp/progmodes/flymake-proc.el (flymake-proc-create-temp-inplace):
21335         Include a time string part (hour + minute + second + nanosecond) in
21336         the temporary name to make it unique enough.
21337         (flymake-proc-legacy-flymake): Store temporary file names in the
21338         process for usage in the sentinel.
21339         (flymake-proc--process-sentinel): Bind values of temporary file names
21340         dynamically to values stored in the process so that the cleanup
21341         function will delete the correct temporary file(s).
21343         Fixes bug#31981.
21345 2019-09-07  Juri Linkov  <juri@linkov.net>
21347         * lisp/tab-bar.el (tab-bar-make-keymap-1): Don't use fixed "Current tab".
21349         * lisp/tab-bar.el (tab-bar-make-keymap-1):
21350         * lisp/tab-line.el (tab-line-tab-name-add):
21351         Add space after Unicode char to avoid char clobbering on terminals.
21353 2019-09-07  Alan Mackenzie  <acm@muc.de>
21355         Amend the menu caption for page "Display Property" in the Elisp manual.
21357         * doc/lispref/display.texi (Emacs Display): Replace a content-free menu
21358         caption with one mentioning images, margins and text size.
21360 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
21362         Support visiting compressed image files
21364         * lisp/image-mode.el (image-toggle-display-image): Support
21365         visiting compressed image files which are uncompressed by
21366         jka-compr.el.  (Bug#37330)
21368 2019-09-07  Michael Albinus  <michael.albinus@gmx.de>
21370         Add traces in shadowfile
21372         * lisp/shadowfile.el (shadow-add-to-todo)
21373         (shadow-remove-from-todo, shadow-save-todo-file):
21374         * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo):
21375         Add traces.
21377 2019-09-07  Evgeny Zajcev  <lg.zevlg@gmail.com>
21379         Fix input method operation on read-only text
21381         * lisp/international/quail.el (quail-input-method): Check also
21382         read-only property of text in addition to the buffer's
21383         read-only state.
21385 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
21387         Allow client connections when in recursive-edit
21389         * lisp/server.el (server-goto-toplevel): Check minibuffer
21390         depth, not recursion depth.  This avoids exiting
21391         recursive-edit if a client connection is accepted during
21392         recursive-edit.  (Bug#37176)
21394 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
21396         Set inhibit-compacting-font-caches to t by default on MS-Windows
21398         * src/font.c (syms_of_font) [WINDOWSNT]: Set
21399         inhibit-compacting-font-caches to t by default.
21401         * etc/NEWS: Mention the change.
21403 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
21405         Allow Zs characters to be composed
21407         * src/composite.c (char_composable_p): Allow SPC and other Zs
21408         characters to be composed.
21410         * lisp/composite.el (compose-gstring-for-graphic): Don't
21411         reject characters whose general category is Zs.  (Bug#14461)
21413 2019-09-07  Eli Zaretskii  <eliz@gnu.org>
21415         Revert "file-truename now uses realpath for local files"
21417         This reverts commit a59839d7556ef85058e09b005f0ff32e59b20ec3.
21418         This commit broke the MS-Windows build (because there's no
21419         realpath on MS-Windows).  Even if I change the implementation
21420         to always signal an error on MS-Windows, the build fails.
21422 2019-09-06  Paul Eggert  <eggert@cs.ucla.edu>
21424         file-truename now uses realpath for local files
21426         This uses fewer syscalls on GNU/Linux and other GNUish platforms.
21427         * lisp/files.el (file-truename): Try fileio--truename
21428         if there are no handlers.
21429         * src/fileio.c: Include stdlib.h, for realpath.
21430         (Ffileio__truename): New function.
21432 2019-09-06  Mauro Aranda  <maurooaranda@gmail.com>
21434         Improve file name completion in file and directory widgets (Bug#7779)
21436         * lisp/wid-edit.el (widget 'file, widget 'directory): Respect the option
21437         read-file-name-completion-ignore-case.
21438         (widget 'directory): Filter the file names, to only perform directory name
21439         completion.
21441 2019-09-05  Amin Bandali  <bandali@gnu.org>
21443         Fix erc-lurker-update-status (bug#36843)
21445         Broken since 2013-08-22 "* lisp/erc/erc.el: Use lexical-binding".
21447         * lisp/erc/erc.el (erc-message-parsed): New variable.
21448         (erc-display-message): Dynamically bind it.
21449         (erc-lurker-update-status): Check it instead of using `parsed'
21450         directly.  This results in `erc-lurker-state' being properly updated
21451         to keep track of non-lurkers, and thus `erc-lurker-p' returning
21452         correct results rather than return t for everyone.
21454 2019-09-05  Paul Eggert  <eggert@cs.ucla.edu>
21456         Fix bugs when recalculating consing_until_gc
21458         Problem reported by Joseph Mingrone (Bug#37006#72).
21459         * src/alloc.c (watch_gc_cons_threshold)
21460         (watch_gc_cons_percentage):
21461         Don’t try to store an intmax_t into an int.
21462         Redo to make the code clearer.
21463         (watch_gc_cons_percentage):
21464         Use gc_cons_threshold, not consing_until_gc.
21466 2019-09-05  Juri Linkov  <juri@linkov.net>
21468         Don't use hook pre-redisplay-functions.  Set buffer-local tab-line-format.
21470         * lisp/tab-line.el (tab-line-format): Move to C.
21471         (tab-line-update-window-parameter): Remove function.
21472         (global-tab-line-mode): Set the default value of tab-line-format.
21474         * src/buffer.c (syms_of_buffer): Define buffer-local variable
21475         tab-line-format.
21477         * src/buffer.h (struct buffer): Add tab_line_format_.
21479         * src/window.c (window_wants_tab_line):
21480         * src/xdisp.c (pos_visible_p, display_mode_lines):
21481         Check for buffer-local tab_line_format.
21483 2019-09-05  Paul Eggert  <eggert@cs.ucla.edu>
21485         Port :safe-renegotiation test to GnuTLS < 3.6.3
21487         Problem reported by Robert Pluim in
21488         https://lists.gnu.org/r/emacs-devel/2019-09/msg00127.html
21489         * src/gnutls.c (Fgnutls_peer_status): Simplify test for
21490         whether the :safe-renegotiation result is needed, so that it
21491         works all the way back to GnuTLS 2.12.2.
21493 2019-09-05  Lars Ingebrigtsen  <larsi@gnus.org>
21495         Further fix for network-security-protocol-checks
21497         * lisp/net/nsm.el (network-security-protocol-checks): Fix the
21498         defcustom type some more (bug#37306).
21500 2019-09-05  Lars Ingebrigtsen  <larsi@gnus.org>
21502         Fix defcustom type of network-security-protocol-checks
21504         * lisp/net/nsm.el (network-security-protocol-checks): Fix the
21505         defcustom type (bug#37306).
21507 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
21509         Use plain ‘static’ for Emacs C inline functions
21511         This improved performance of ‘make compile-always’ by 8.2%
21512         on my platform (AMD Phenom II X4 910e, Fedora 30 x86-64).
21513         * src/conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
21514         (INLINE_HEADER_END) [!EMACS_EXTERN_INLINE]: Use plain ‘static’.
21516 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
21518         Tweak xd_append_arg to pacify -Wnull-dereference
21520         * src/dbusbind.c (xd_append_arg): Redo to pacify gcc
21521         -Wnull-dereference.  Also, check that the Lisp string won’t
21522         overrun the C signature buffer.
21524 2019-09-04  Robert Pluim  <rpluim@gmail.com>
21526         Don't check for :safe-renegotiation with TLS1.3
21528         * lisp/net/nsm.el (nsm-protocol-check--renegotiation-info-ext): Don't
21529         check when using TLS1.3, renegotiation has been removed from TLS.
21530         Reported in
21531         <https://lists.gnu.org/r/help-gnu-emacs/2019-09/msg00005.html>
21533 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
21535         Don’t mention :safe-renegotiation in TLS 1.3
21537         * src/gnutls.c (Fgnutls_peer_status): Don’t put the
21538         safe-renegotiation indication into the status in TLS 1.3, which
21539         removed support for renegotiation.
21541 2019-09-04  Robert Pluim  <rpluim@gmail.com>
21543         Fix nsm for unencrypted connections
21545         When connecting using a cleartext connection, nsm was erroring out and
21546         tearing down the connection because it was trying to display
21547         nonexistent certificate information.
21549         * lisp/net/nsm.el (nsm-query-user): Only format certificate status
21550         when it is valid.  (Bug#37221)
21552 2019-09-04  Juri Linkov  <juri@linkov.net>
21554         Text-based nox builds compiled without X window support
21556 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
21558         Port pdumper mmap to AIX
21560         * src/pdumper.c (needs_mmap_retry_p) [_AIX]: Return true.
21561         Problem observed on AIX 7.1 and 7.2 in GCC compile farm.
21563 2019-09-04  Paul Eggert  <eggert@cs.ucla.edu>
21565         Port to platforms with Xrender lib but not header
21567         * configure.ac (HAVE_XRENDER): Also require ‘#include
21568         <X11/extensions/Xrender.h>’ to work.  Problem found
21569         on gcc119 in GCC compile farm.
21571 2019-09-04  Mattias Engdegård  <mattiase@acm.org>
21573         Correct arguments to `skip-syntax-forward'
21575         * lisp/wid-edit.el (widget-sexp-validate): Fix bad calls to
21576         `skip-syntax-forward', whose argument is not a regexp.
21578 2019-09-04  Lars Ingebrigtsen  <larsi@gnus.org>
21580         Make the NSM not pop up an X dialogue on non-mouse actions
21582         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Don't pop up X
21583         dialogues on (url-retrieve "https://expired.badssl.com/" #'ignore)
21584         and the like.
21586 2019-09-04  Lars Ingebrigtsen  <larsi@gnus.org>
21588         Preserve more markers when reverting .gpg files
21590         * lisp/epa-file.el (epa-file--replace-text): Gingerly replace the
21591         text in the buffer to preserve as many markers as possible
21592         (bug#34720).  This emulates the behaviour of Finsert_file_contents
21593         more accurately.
21594         (epa-file-decode-and-insert): Remove compat code.
21595         (epa-file-insert-file-contents): Use the new function.
21597         * lisp/emacs-lisp/cl-lib.el (cl-incf): Add autoload cookie.
21599 2019-09-04  Mattias Engdegård  <mattiase@acm.org>
21601         Repair change to compilation-context-lines (bug#36832)
21603         * lisp/progmodes/compile.el (compilation-set-window):
21604         Restore proper behaviour when compilation-context-lines is nil,
21605         which is the default.
21607 2019-09-04  Michael Albinus  <michael.albinus@gmx.de>
21609         Further work on Bug#37202
21611         * test/lisp/shadowfile-tests.el (shadow-debug): Set to t.
21612         (shadow--tests-cleanup): Simplify.
21613         (shadow-test*): Call `shadow-initialize'.
21614         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
21615         In cleanup, kill buffers used for test.
21616         (top): Do not initialize.
21618 2019-09-04  Robert Pluim  <rpluim@gmail.com>
21620         Add description of chinese-sisheng
21622         * doc/emacs/mule.texi (Input Methods): Add description of
21623         chinese-sisheng method for entering characters using pīnyīn.
21625 2019-09-04  Michael Albinus  <michael.albinus@gmx.de>
21627         * lisp/net/tramp.el (tramp-process-sentinel): Use `process-buffer'.
21629 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
21631         * src/systime.h (hz): #undef to work around AIX build issue.
21633 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
21635         Prefer functions to macros in buffer.h
21637         In buffer.h, prefer inline functions to function-like macros
21638         when either will do.  This helps avoid confusion about how
21639         many times an arg is evaluated.  On my platform, this patch
21640         improves performance of ‘make compile-always’ by 5.7%.
21641         Also, prefer enum constants to object-like macros
21642         when either will do.
21643         * src/buffer.h (BEG, BEG_BYTE, GAP_BYTES_DFL, GAP_BYTES_MIN)
21644         (MAX_PER_BUFFER_VARS, NONEXISTENT_MODTIME_NSECS)
21645         (UNKNOWN_MODTIME_NSECS, BUFFER_LISP_SIZE, BUFFER_REST_SIZE):
21646         Now enum constants, instead of macros.
21647         (BUFFER_CEILING_OF, BUFFER_FLOOR_OF, BUF_BEG, BUF_BEG_BYTE)
21648         (BUF_BEGV, BUF_BEGV_BYTE, BUF_PT, BUF_PT_BYTE, BUF_ZV)
21649         (BUF_ZV_BYTE, BUF_GPT_ADDR, BUF_Z_ADDR, BUF_GAP_END_ADDR)
21650         (BUF_COMPUTE_UNCHANGED, SET_PT, TEMP_SET_PT, SET_PT_BOTH)
21651         (TEMP_SET_PT_BOTH, BUF_TEMP_SET_PT, SET_BUF_BEGV, SET_BUF_ZV)
21652         (SET_BUF_BEGV_BOTH, SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH)
21653         (BYTE_POS_ADDR, CHAR_POS_ADDR, CHAR_TO_BYTE, BYTE_TO_CHAR)
21654         (PTR_BYTE_POS, FETCH_CHAR, FETCH_CHAR_AS_MULTIBYTE)
21655         (BUF_BYTE_ADDRESS, BUF_CHAR_ADDRESS, BUF_PTR_BYTE_POS)
21656         (BUF_FETCH_CHAR, BUF_FETCH_CHAR_AS_MULTIBYTE, BUF_FETCH_BYTE)
21657         (BUFFER_PVEC_INIT, BUFFER_LIVE_P, BUFFER_HIDDEN_P)
21658         (BUFFER_CHECK_INDIRECTION, OVERLAY_POSITION, PER_BUFFER_VALUE_P)
21659         (SET_PER_BUFFER_VALUE_P, PER_BUFFER_IDX):
21660         Now inline functions instead of macros.
21662 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
21664         * src/xdisp.c (hscroll_window_tree): Fix type typo.
21666 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
21668         Take last_per_buffer_idx private
21670         This will simplify future changes.  Turn the runtime check
21671         into an eassert, since it’s not needed in production.
21672         * src/buffer.c (last_per_buffer_idx): Now static.
21673         (valid_per_buffer_idx): New function.
21674         * src/buffer.h (PER_BUFFER_VALUE_P, SET_PER_BUFFER_VALUE_P): Use it.
21676 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
21678         Avoid macros in pdumper.c when it’s easy
21680         Problem with DUMP_SET_REFERRER mentioned by Pip Cet at end of:
21681         https://lists.gnu.org/r/emacs-devel/2019-07/msg00548.html
21682         * src/pdumper.c (DANGEROUS, EMACS_RELOC_TYPE_BITS)
21683         (EMACS_RELOC_LENGTH_BITS, DUMP_RELOC_TYPE_BITS)
21684         (DUMP_RELOC_ALIGNMENT_BITS, DUMP_RELOC_OFFSET_BITS)
21685         (DUMP_RELOCATION_ALIGNMENT, DUMP_ALIGNMENT)
21686         (WEIGHT_NONE, WEIGHT_NORMAL, WEIGHT_STRONG)
21687         (PDUMPER_MAX_OBJECT_SIZE):
21688         Now a constant, not a macro.
21689         (divide_round_up): Now a function, not a macro DIVIDE_ROUND_UP.
21690         All uses changed.
21691         (enum link_weight_enum, WEIGHT_NONE_VALUE)
21692         (WEIGHT_NORMAL_VALUE, WEIGHT_STRONG_VALUE): Remove.
21693         (struct link_weight): Just use an int.
21694         (dump_set_referrer): New function, replacing DUMP_SET_REFERRER
21695         macro with a different API.  All uses changed.
21696         (dump_clear_referrer): Rename from DUMP_CLEAR_REFERRER.
21697         All uses changed.
21698         (DEFINE_FROMLISP_FUNC, DEFINE_TOLISP_FUNC): Remove.
21699         (intmax_t_from_lisp, intmax_t_to_lisp, dump_off_from_lisp)
21700         (dump_off_to_lisp): Define without using macros,
21701         (dump_off_from_lisp): Add an eassert range check.
21702         (DUMP_FIELD_COPY): Simplify.
21704 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
21706         Avoid casting -1 to possibly-unsigned enum
21708         * src/alloc.c (mark_maybe_pointer):
21709         * src/pdumper.h (pdumper_object_p_precise):
21710         Use pdumper_valid_object_type_p.
21711         * src/pdumper.c (pdumper_find_object_type_impl):
21712         * src/pdumper.h (pdumper_find_object_type):
21713         Return int, not enum Lisp_Type.  All callers changed.
21714         * src/pdumper.h (PDUMPER_NO_OBJECT): Do not cast -1 to enum
21715         Lisp_Type; in theory, C18 says this could yield 7, which would
21716         mean PDUMPER_NO_OBJECT == Lisp_Float (!).
21717         (pdumper_valid_object_type_p): New function.
21719 2019-09-03  Juri Linkov  <juri@linkov.net>
21721         Small fix for text-mode display
21723         * lisp/tab-line.el (tab-line-tab-name): Try to use truncate-string-to-width.
21725         Try to fix compilation errors on macOS
21727 2019-09-03  Daniel Colascione  <dancol@dancol.org>
21729         Run tramp cleanup in correct buffer
21731         Fixes bug #37297.
21733         * lisp/net/tramp.el (tramp-process-sentinel): Do process-end cleanup
21734         in the tramp buffer, not a random file buffer.
21736 2019-09-03  Paul Eggert  <eggert@cs.ucla.edu>
21738         Sync consing_until_gc with gc-cons-threshold
21740         Add watchers for gc-cons-threshold and gc-cons-percentage
21741         that update consing_until_gc accordingly.
21742         Suggested by Eli Zaretskii (Bug#37006#52).
21743         * src/alloc.c (consing_threshold, bump_consing_until_gc)
21744         (watch_gc_cons_threshold, watch_gc_cons_percentage):
21745         New functions.
21746         (garbage_collect_1): Use consing_threshold.
21747         (syms_of_alloc): Arrange to watch gc-cons-threshold and
21748         gc-cons-percentage.
21750 2019-09-03  Juri Linkov  <juri@linkov.net>
21752         Text-mode display of the tab-bar and emulation of clicking on a tty.
21754         * lisp/tab-bar.el (tab-bar-mouse): New command bound to mouse-1 on [tab-bar].
21756         * lisp/xt-mouse.el (xterm-mouse-event): Use `tab-bar' when clicking
21757         on the tab-bar that is on the second row below menu-bar.
21759         * src/frame.c (set_tab_bar_lines): New function.
21760         (frame_windows_min_size): Add FRAME_TAB_BAR_LINES.
21761         (make_initial_frame): Call set_tab_bar_lines.
21762         (store_frame_param): Call set_tab_bar_lines for Qtab_bar_lines prop.
21763         (Fframe_parameters): Call store_in_alist for Qtab_bar_lines.
21765         * src/xdisp.c (display_tab_bar): New function.
21766         (redisplay_window): Call display_tab_bar when `FRAME_WINDOW_P (f)'
21767         is NULL on a tty.
21769 2019-09-03  Alan Mackenzie  <acm@muc.de>
21771         Use left margin to hold "=>" to indicate current error in fringeless windows
21773         This applies to compilation-mode.  It amends the fix for bug #36832.
21775         * lisp/progmodes/compile.el (compilation-arrow-overlay): renamed from
21776         overlay-arrow-overlay.
21777         (compilation-margin-string, compilation--dummy-string): New variables.
21778         (compilation-set-up-arrow-spec-in-margin)
21779         (compilation-tear-down-arrow-spec-in-margin): New functions.
21780         (compilation-set-overlay-arrow): Rewritten to use the new variables/functions.
21782 2019-09-03  Michael Albinus  <michael.albinus@gmx.de>
21784         Fix Bug#37202
21786         * lisp/shadowfile.el (shadow-debug): New defvar.
21787         (shadow-read-files): Suppress error if there's no TODO file.
21789         * test/lisp/shadowfile-tests.el (shadow-debug): Set to nil.
21790         (shadow--tests-cleanup): New defun.  Apply to all tests.  (Bug#37202)
21791         (shadow-test06-literal-groups): Cleanup temp buffer.
21792         (shadow-test08-shadow-todo): Add debug messages.
21793         (top): Cleanup initially.
21795 2019-09-02  Juri Linkov  <juri@linkov.net>
21797         * lisp/tab-line.el: Limit the number of window tabs to tab-line-tabs-limit.
21799         * lisp/tab-line.el: Display truncated tab name in the tooltip.
21801 2019-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21803         Update from Gnulib
21805         This incorporates:
21806         2019-08-25 intprops.h, verify.h: port better to clang
21807         2019-08-21 New strip-trailing-space option for srclist-update
21808         * .gitattributes: Remove doc/misc/texinfo.tex special case,
21809         which is no longer needed now that Gnulib trims blank-at-eol.
21810         * build-aux/install-sh, doc/misc/texinfo.tex, lib/intprops.h:
21811         * lib/regex_internal.c, lib/verify.h: Copy from Gnulib.
21813 2019-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21815         * doc/lispref/files.texi (Standard File Names): Mention .emacs.d too.
21817 2019-09-02  Robert Pluim  <rpluim@gmail.com>
21819         Reword documentation markup description
21821         * etc/NEWS: Reword temporary note about documentation updates.
21823 2019-09-02  Robert Pluim  <rpluim@gmail.com>
21825         Add 'nsm-trust-local-network' to NEWS
21827         * etc/NEWS: Describe 'nsm-trust-local-network', and warn against its
21828         use.
21830 2019-09-01  Glenn Morris  <rgm@gnu.org>
21832         * admin/admin.el (set-version): Check for empty NEWS sections.
21834 2019-09-01  Juri Linkov  <juri@linkov.net>
21836         Try to add more tab-bar support on macos
21838         Try to add more tab-bar support on Windows
21840 2019-09-01  Juri Linkov  <juri@linkov.net>
21842         * src/nsterm.m: Fix arguments to window_from_coordinates function call
21844         Thanks to Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org>
21846 2019-09-01  Martin Rudalics  <rudalics@gmx.at>
21848         Fixes to build on Windows
21850         * src/w32fns.c (w32_set_tab_bar_lines, w32_change_tab_bar_height):
21851         New functions.
21853         * src/w32term.c (w32_create_terminal): Set change_tab_bar_height_hook
21854         to w32_change_tab_bar_height.
21856 2019-09-01  Juri Linkov  <juri@linkov.net>
21858         Add more aliases switch-to-tab, previous-tab, next-tab
21860 2019-09-01  Juri Linkov  <juri@linkov.net>
21862         Non-graphical access to frame-local tabs (named window configurations)
21864         * lisp/tab-bar.el (make-tab, delete-tab, tab-bar-list)
21865         (tab-bar-list-next-line, tab-bar-list-prev-line)
21866         (tab-bar-list-unmark, tab-bar-list-backup-unmark)
21867         (tab-bar-list-delete, tab-bar-list-delete-backwards)
21868         (tab-bar-list-execute, tab-bar-list-select)
21869         (tab-bar-list-mouse-select): New commands.
21870         (tab-bar-list-noselect, tab-bar-list-current-tab)
21871         (tab-bar-list-delete-from-list): New functions.
21872         (tab-bar-list-column): New defvar.
21874 2019-09-01  Noam Postavsky  <npostavs@gmail.com>
21876         Fix non-deterministic process test
21878         * test/src/process-tests.el (set-process-filter-t): Don't assume
21879         subprocess output will come in a single chunk, keep waiting for more
21880         data until next "prompt" is read from subprocess.
21882         (cherry picked from commit aa49aa884053d0e8b33efe265f2aade19d1f3f3d)
21884 2019-09-01  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21886         Fix load-theme bug with user-emacs-directory
21888         * lisp/custom.el (custom-theme-directory): Delay initialization,
21889         since the value depends on user-emacs-directory (Bug#37256).
21891 2019-09-01  Mattias Engdegård  <mattiase@acm.org>
21893         Clarify what counts as whitespace in `string-blank-p'
21895         * lisp/emacs-lisp/subr-x.el (string-blank-p): Expand doc string.
21897 2019-08-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
21898             Noam Postavsky  <npostavs@gmail.com>
21900         package.el: Allow Package-Requires to span multiple lines (Bug#36301)
21902         * lisp/emacs-lisp/package.el (lm-header-multiline): Declare
21903         function.
21904         (package-buffer-info): Parse Package-Requires with
21905         lm-header-multiline instead of lm-header.
21906         (Bug#36301)
21908 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
21910         Make user-emacs-directory a variable
21912         This is in response to Eli’s review here:
21913         https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
21914         * lisp/subr.el (user-emacs-directory): defvar, not defconst
21916 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
21918         Improve documentation for recent XDG-related changes
21920         Adjust documentation in the light of Eli’s review here:
21921         https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
21922         * doc/emacs/custom.texi (Init File, Find Init):
21923         * doc/lispref/files.texi (Standard File Names):
21924         * doc/lispref/os.texi (Init File):
21926 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
21928         * doc/lispref/customize.texi: Fix typo.
21930 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
21932         Calculate user-emacs-directory on startup
21934         Problem reported by Glenn Morris (Bug#583#56).
21935         * lisp/startup.el (startup--xdg-config-default): New constant.
21936         (startup--xdg-config-home-emacs): New var.
21937         (startup--xdg-or-homedot): New function.
21938         (normal-top-level): Use it to set user-emacs-directory early on.
21939         (command-line): Also use it to determine the startup init directory.
21940         * lisp/subr.el (user-emacs-directory): Just initialize to nil.
21942 2019-08-31  Juri Linkov  <juri@linkov.net>
21944         Frame-local tab-bar and window-local tab-line.
21946         * etc/NEWS: Add 'tab-bar-mode' and 'global-tab-line-mode'.
21948         * etc/TODO: Remove tab-related items.
21950         * lisp/cus-start.el: Add tab-bar-mode, tab-bar-max-label-size.
21952         * lisp/frame.el (frame-notice-user-settings): handle tab-bar-lines.
21954         * lisp/loadup.el: Load "tab-bar".
21956         * lisp/menu-bar.el (menu-bar-options-save): Add tab-bar-mode.
21957         (menu-bar-showhide-menu): Define showhide-tab-bar.
21959         * lisp/startup.el (tab-bar-images-pixel-height): New defconst.
21960         (command-line): Reset tab-bar-mode.
21961         (x-apply-session-resources): Add "tabBar", "TabBar".
21963         * lisp/subr.el (read-key): Add tab-bar.
21965         * lisp/tab-bar.el: New file.
21966         * lisp/tab-line.el: New file.
21968         * lisp/window.el (window--dump-frame): Add tab-bar-height.
21970         * src/dispextern.h (enum window_part): Add ON_TAB_LINE.
21971         (struct glyph_matrix): Add tab_line_p.
21972         (struct glyph_row): Add tab_line_p.
21973         (MATRIX_TAB_LINE_ROW): New macro.
21974         (MATRIX_FIRST_TEXT_ROW): Handle more mode lines.
21975         (MR_PARTIALLY_VISIBLE_AT_TOP): Add WINDOW_TAB_LINE_HEIGHT.
21976         (MATRIX_TAB_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT)
21977         (DESIRED_TAB_LINE_HEIGHT): New macros.
21978         (enum face_id): Add TAB_BAR_FACE_ID and TAB_LINE_FACE_ID.
21979         (struct it): Add tab_line_p.
21980         (tab_bar_item_idx, tab_bar_item_image): New enums.
21981         (DEFAULT_TAB_BAR_LABEL_SIZE, DEFAULT_TAB_BAR_BUTTON_MARGIN)
21982         (DEFAULT_TAB_BAR_BUTTON_RELIEF, DEFAULT_TAB_BAR_IMAGE_HEIGHT):
21983         New constants.
21985         * src/dispnew.c (adjust_glyph_matrix): Use window_wants_tab_line.
21986         (shift_glyph_matrix): Add WINDOW_TAB_LINE_HEIGHT.
21987         (clear_current_matrices, clear_desired_matrices):
21988         Call clear_glyph_matrix on tab_bar_window.
21989         (blank_row): Add WINDOW_TAB_LINE_HEIGHT.
21990         (required_matrix_height): Change 2 to 3.
21991         (fake_current_matrices): Reset tab_line_p.
21992         (adjust_frame_glyphs_for_window_redisplay): Handle tab_bar_window.
21993         Add FRAME_TAB_BAR_HEIGHT and FRAME_TAB_BAR_LINES.
21994         (free_glyphs): Handle tab_bar_window.
21995         (update_frame): Handle tab_bar_window.
21996         (update_window): Handle row->tab_line_p.
21997         (scrolling_window): Change arg type from bool to int.
21998         Change header_line_p to tab_line_p.
21999         (buffer_posn_from_coords): Add window_wants_tab_line.
22000         (mode_line_string): Use MATRIX_TAB_LINE_ROW for part ON_TAB_LINE.
22002         * src/frame.c (frame_default_tab_bar_height): New internal variable.
22003         (adjust_frame_size): Handle tab_bar_window.
22004         (make_frame): Reset tab_bar_redisplayed, tab_bar_resized and
22005         last_tab_bar_item.
22006         (Ftab_bar_pixel_width): New function.
22007         (frame_parms): Add tab-bar-lines.
22008         (gui_figure_window_size): Add new arg tabbar_p.
22009         (syms_of_frame): Add Qtab_bar_size, Qupdate_frame_tab_bar,
22010         Qfree_frame_tab_bar, Qtab_bar_lines, Stab_bar_pixel_width.
22011         Add Qtab_bar_lines to frame_inhibit_implied_resize.
22012         (tab-bar-mode): New variable.
22014         * src/frame.h (GCALIGNED_STRUCT): Add tab_bar_window,
22015         desired_tab_bar_string, current_tab_bar_string.
22016         (GCALIGNED_STRUCT): Add tab_bar_items, last_tab_bar_item,
22017         minimize_tab_bar_window_p, tab_bar_redisplayed, tab_bar_resized,
22018         tab_bar_lines, tab_bar_height, n_tab_bar_rows, n_tab_bar_items.
22019         (fset_tab_bar_items, fset_tab_bar_window)
22020         (fset_current_tab_bar_string, fset_desired_tab_bar_string):
22021         New inlines.
22022         (FRAME_TAB_BAR_LINES, FRAME_TAB_BAR_HEIGHT): New macros.
22023         (FRAME_TOP_MARGIN, FRAME_TOP_MARGIN_HEIGHT):
22024         Use FRAME_TAB_BAR_LINES.
22026         * src/fringe.c (draw_fringe_bitmap_1, update_window_fringes):
22027         Add WINDOW_TAB_LINE_HEIGHT.
22029         * src/gtkutil.c (xg_frame_set_char_size): Add FRAME_TABBAR_WIDTH.
22030         (x_wm_set_size_hint): Add FRAME_TABBAR_WIDTH.
22032         * src/keyboard.c (read_char): Handle Qtab_bar.
22033         (kbd_buffer_get_event): Handle TAB_BAR_EVENT.
22034         (make_lispy_position): Add WINDOW_TAB_LINE_HEIGHT.
22035         Handle TAB_BAR_EVENT.
22036         (tab_bar_items_vector, tab_bar_item_properties, ntab_bar_items):
22037         New internal variables.
22038         (tab_bar_items, process_tab_bar_item, set_prop_tab_bar)
22039         (parse_tab_bar_item, init_tab_bar_items, append_tab_bar_item):
22040         New functions.
22041         (read_char_x_menu_prompt, read_key_sequence): Handle Qtab_bar.
22042         (tab-bar-separator-image-expression): New variable.
22044         * src/keymap.c (syms_of_keymap): Add Qtab_bar and Qtab_line.
22046         * src/menu.c (x_popup_menu_1, Fx_popup_dialog): Handle Qtab_bar.
22048         * src/termhooks.h (enum event_kind): Add TAB_BAR_EVENT.
22049         (GCALIGNED_STRUCT): Add change_tab_bar_height_hook.
22051         * src/w32fns.c (w32_frame_parm_handlers): Add w32_set_tab_bar_lines.
22053         * src/w32term.c (w32_draw_window_cursor): Add WINDOW_TAB_LINE_HEIGHT.
22055         * src/window.c (window_body_height): Add WINDOW_TAB_LINE_HEIGHT.
22056         (Fwindow_tab_line_height): New function.
22057         (coordinates_in_window): Use window_wants_tab_line with
22058         CURRENT_TAB_LINE_HEIGHT.
22059         (window_relative_x_coord): Add ON_TAB_LINE.
22060         (Fcoordinates_in_window_p): Add ON_TAB_LINE.
22061         (window_from_coordinates): Add new arg tab_bar_p.
22062         (Fwindow_line_height): Use window_wants_tab_line with
22063         WINDOW_TAB_LINE_HEIGHT.
22064         (Fwindow_lines_pixel_dimensions): Add WINDOW_TAB_LINE_HEIGHT.
22065         (make_window): Set tab_line_height to -1.
22066         (window_wants_tab_line): New function.
22067         (window_internal_height): Use window_wants_tab_line.
22068         (window_scroll_pixel_based): Add WINDOW_TAB_LINE_HEIGHT.
22069         (Frecenter): Set minimize_tab_bar_window_p to 1.
22070         (GCALIGNED_STRUCT): Add frame_tab_bar_lines and frame_tab_bar_height.
22071         (Fcurrent_window_configuration): Set frame_tab_bar_lines and
22072         frame_tab_bar_height.
22073         (set_window_scroll_bars): Add WINDOW_TAB_LINE_HEIGHT.
22074         (syms_of_window): Add Qtab_line_format and Swindow_tab_line_height.
22076         * src/window.h (GCALIGNED_STRUCT): Add tab_line_height.
22077         (WINDOW_TAB_BAR_P, WINDOW_TAB_LINE_HEIGHT, WINDOW_TAB_LINE_LINES):
22078         New macros.
22079         (WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y, WINDOW_TAB_LINE_HEIGHT):
22080         Add WINDOW_TAB_BAR_P.
22082         * src/xdisp.c (window_box_height): Add window_wants_tab_line with
22083         MATRIX_TAB_LINE_ROW and CURRENT_TAB_LINE_HEIGHT.
22084         (pos_visible_p): Use window_wants_tab_line.
22085         Add WINDOW_TAB_LINE_HEIGHT.
22086         (get_glyph_string_clip_rects): Add WINDOW_TAB_LINE_HEIGHT.
22087         (get_phys_cursor_geometry): Add WINDOW_TAB_LINE_HEIGHT.
22088         (remember_mouse_glyph): Use MATRIX_TAB_LINE_ROW for part
22089         ON_TAB_LINE.
22090         (init_iterator): Use MATRIX_TAB_LINE_ROW for TAB_LINE_FACE_ID.
22091         Add WINDOW_TAB_LINE_HEIGHT.  Add window_wants_tab_line.
22092         (Fwindow_text_pixel_size): Add WINDOW_TAB_LINE_HEIGHT.
22093         (prepare_menu_bars): Call update_tab_bar.
22094         (update_tab_bar, build_desired_tab_bar_string)
22095         (display_tab_bar_line, tab_bar_height, Ftab_bar_height)
22096         (redisplay_tab_bar, tab_bar_item_info, get_tab_bar_item)
22097         (handle_tab_bar_click, note_tab_bar_highlight): New functions.
22098         (compute_window_start_on_continuation_line): Use window_wants_tab_line.
22099         (try_cursor_movement): Use window_wants_tab_line with
22100         CURRENT_TAB_LINE_HEIGHT.
22101         (redisplay_window): Use window_wants_tab_line with
22102         CURRENT_TAB_LINE_HEIGHT.
22103         (try_window_reusing_current_matrix): Use window_wants_tab_line
22104         with WINDOW_TAB_LINE_HEIGHT.
22105         (Fdump_tab_bar_row): New function.
22106         (compute_line_metrics): Add WINDOW_TAB_LINE_HEIGHT.
22107         (display_line): Use window_wants_tab_line.
22108         (display_mode_line): Set tab_line_p to true if face_id is
22109         TAB_LINE_FACE_ID.
22110         (Fformat_mode_line): Handle Qtab_line and Qtab_bar.
22111         (gui_clear_end_of_line): Add WINDOW_TAB_LINE_HEIGHT.
22112         (erase_phys_cursor): Use WINDOW_TAB_LINE_HEIGHT.
22113         (show_mouse_face): Use tab_bar_window.
22114         (note_mode_line_or_margin_highlight): Use MATRIX_TAB_LINE_ROW for
22115         area ON_TAB_LINE.
22116         (note_mouse_highlight): Call note_tab_bar_highlight,
22117         (expose_frame): Handle tab_bar_window.
22118         (syms_of_xdisp): Add Sdump_tab_bar_row and Stab_bar_height.
22119         (auto-resize-tab-bars, auto-raise-tab-bar-buttons)
22120         (tab-bar-border, tab-bar-button-margin, tab-bar-button-relief)
22121         (tab-bar-max-label-size): New variables.
22123         * src/xfaces.c (lookup_basic_face): Add TAB_LINE_FACE_ID and
22124         TAB_BAR_FACE_ID.
22125         (syms_of_xfaces): Define Qtab_bar and Qtab_line.
22127         * src/xfns.c (x_set_tab_bar_lines, x_change_tab_bar_height):
22128         New functions.
22129         (xic_set_statusarea): Add FRAME_TABBAR_TOP_HEIGHT.
22130         (frame_geometry): Add FRAME_TAB_BAR_HEIGHT and Qtab_bar_size.
22132         * src/xterm.c (x_draw_image_relief): Use tab_bar_button_relief.
22133         (x_draw_image_relief): Use TAB_BAR_FACE_ID.
22134         (handle_one_xevent): Handle tab_bar_window.
22135         (x_set_window_size_1): Add FRAME_TABBAR_WIDTH.
22136         (x_create_terminal): Set change_tab_bar_height_hook.
22138         * src/xterm.h (struct x_output): Add tabbar_top_height,
22139         tabbar_bottom_height, tabbar_left_width, tabbar_right_width
22140         tabbar_widget, tabbar_in_hbox, tabbar_is_packed.
22141         (FRAME_TABBAR_TOP_HEIGHT): Add FRAME_TABBAR_TOP_HEIGHT,
22142         FRAME_TABBAR_BOTTOM_HEIGHT, FRAME_TABBAR_HEIGHT,
22143         FRAME_TABBAR_LEFT_WIDTH, FRAME_TABBAR_RIGHT_WIDTH,
22144         FRAME_TABBAR_WIDTH.
22146 2019-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22148         Check instead of relying on NOTREACHED
22150         NOTREACHED was designed for traditional lint decades ago,
22151         and _Noreturn now normally subsumes its function.
22152         In the one case in Emacs where NORETURN might help and _Noreturn does
22153         not, check for NOTREACHED instead of assuming it.
22154         * lib-src/etags.c (main):
22155         * src/xterm.c (x_connection_closed):
22156         Remove NOTREACHED after a call to a _Noreturn function, as NOTREACHED
22157         is no longer needed there.  Also, one of the NOTREACHEDs was
22158         misplaced, which defeated traditional lint checking anyway.
22159         * lib-src/pop.c (pop_getline): Redo so as to not need NOTREACHED.
22160         * src/emacs.c (main): Use eassume (false) rather than NOTREACHED,
22161         so that running with ENABLE_CHECKING catches any internal error
22162         causing the toplevel Frecursive_edit to return.
22164 2019-08-31  Glenn Morris  <rgm@gnu.org>
22166         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): More cleanup.
22168 2019-08-31  Alan Mackenzie  <acm@muc.de>
22170         Clarify the use of left/right-margin-width in determining current margin width
22172         * doc/lispref/display.texi (Display-Margins):  Clarify that
22173         left/right-margin-width can not be used to determine the current margin width,
22174         and that window-margins must be used instead.
22176 2019-08-31  Andreas Schwab  <schwab@linux-m68k.org>
22178         Fix compilation with CHECK_STRUCTS
22180         * src/pdumper.c (dump_hash_table): Update hash of Lisp_Hash_Table.
22182 2019-08-30  Eli Zaretskii  <eliz@gnu.org>
22184         Avoid signaling errors from ls-lisp--insert-directory on macOS
22186         * lisp/ls-lisp.el (ls-lisp-sanitize): Don't assume the
22187         directory entries for ".." and "." will either both be present
22188         or both absent.  (Bug#37236)
22190 2019-08-30  Mattias Engdegård  <mattiase@acm.org>
22192         * src/floatfns.c: Check against __FINITE_MATH_ONLY__ (bug#37140)
22194 2019-08-30  Michael Albinus  <michael.albinus@gmx.de>
22196         Extend tramp--test-check-files  (Bug#37228)
22198         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Test also
22199         `directory-files-and-attributes'.  (Bug#37228)
22201 2019-08-30  Koichi Arakawa  <arakawa@pp.iij4u.or.jp>  (tiny change)
22203         Fix Tramp's directory-files-and-attributes-with-stat  (Bug#37228)
22205         * lisp/net/tramp-sh.el
22206         (tramp-do-directory-files-and-attributes-with-stat): Handle file
22207         names with spaces.  (Bug#37228)
22209 2019-08-30  Paul Eggert  <eggert@cs.ucla.edu>
22211         emacsclient: adjust to new config file location
22213         * lib-src/emacsclient.c (open_config): New arg XDG, to respect
22214         XDG_CONFIG_HOME, consistently with Emacs proper.  Caller changed.
22215         Use XDG convention if available, falling back on the old names
22216         if not.
22218 2019-08-30  Paul Eggert  <eggert@cs.ucla.edu>
22220         Prefer ~/.config/emacs to ~/.emacs.d if neither exists
22222         That way, when Emacs starts in a fresh home directory,
22223         it prefers the new (XDG) convention rather than the old one.
22224         * lisp/files.el (locate-user-emacs-file): Make the parent
22225         directories of user-emacs-directory if needed.  This is useful
22226         if user-emacs-directory is "~/.config/emacs" and "~/.config"
22227         does not yet exist.
22228         * lisp/startup.el (command-line):
22229         * lisp/subr.el (user-emacs-directory):
22230         Prefer XDG_CONFIG_HOME to ~/.emacs.d if neither exists.
22232 2019-08-30  Nick Drozd  <nicholasdrozd@gmail.com>
22234         Minor copyedits in ido.texi
22236         * doc/misc/ido.texi (Overview)
22237         (Interactive Substring Matching, Prefix Matching)
22238         (Regexp Matching, Hidden Buffers and Files)
22239         (Changing List Order, Find File At Point, Misc)
22240         (All Matching, Replacement): Fix wording, markup and punctuation.
22241         (Bug#37225)
22243 2019-08-29  Glenn Morris  <rgm@gnu.org>
22245         Merge from origin/emacs-26
22247         1af1240 (origin/emacs-26, emacs-26) ; Remove empty NEWS sections
22248         96dd019 (tag: emacs-26.3-rc1, tag: emacs-26.3) * etc/HISTORY: Add Ema...
22250         # Conflicts:
22251         #       etc/NEWS
22253 2019-08-29  Glenn Morris  <rgm@gnu.org>
22255         Merge from origin/emacs-26
22257         70829f8 ; ChangeLog.3 update
22259         # Conflicts:
22260         #       ChangeLog.3
22262 2019-08-29  Glenn Morris  <rgm@gnu.org>
22264         Merge from origin/emacs-26
22266         290fe4d * ; ChangeLog.3 update
22267         e8f176b * etc/NEWS: Delete temporary markup.
22269         # Conflicts:
22270         #       ChangeLog.3
22271         #       etc/NEWS
22273 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
22275         Add new "make help" target
22277         * GNUmakefile: Add new "help" target that shows a brief summary of
22278         common make targets.  (Bug#12411)
22279         * INSTALL
22280         * etc/NEWS: Announce it.
22282 2019-08-29  Lars Ingebrigtsen  <larsi@gnus.org>
22284         Tweak shr background colour handling
22286         * lisp/net/shr.el (shr-fill-line): Extend the background to the
22287         end of the line when folding lines.
22289 2019-08-28  Michael Albinus  <michael.albinus@gmx.de>
22291         Clarify meaning of <filename> in test/README
22293 2019-08-28  Paul Eggert  <eggert@cs.ucla.edu>
22295         Don't worry about pre-1.0.0 alsa-lib include
22297         Problem reported by Ergus in:
22298         https://lists.gnu.org/r/emacs-devel/2019-08/msg00563.html
22299         * configure.ac (ALSA_SUBDIR_INCLUDE): Do not define.
22300         * src/sound.c: Assume ALSA_SUBDIR_INCLUDE.
22302 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
22304         Use XDG conventions more consistently
22306         Fit in better with the XDG conventions.
22307         Something like this was suggested in 2008 (Bug#583)
22308         and the XDG conventions seem to have settled down by now.
22309         * doc/emacs/custom.texi (Init File, Init Syntax, Find Init):
22310         * doc/lispref/files.texi (Standard File Names):
22311         * doc/lispref/os.texi (Init File):
22312         * doc/misc/url.texi (Customization):
22313         * etc/NEWS:
22314         Adjust accordingly.
22315         * lisp/startup.el (startup--load-user-init-file):
22316         If init-file-name is nil, do not load from it; instead
22317         just use the alt-file.
22318         (find-init-path): Remove; no longer used.
22319         (command-line): Don't check twice for XDG.
22320         Look at XDG_CONFIG_HOME instead of assuming it's ~/.config.
22321         Prefer XDG configuration if it exists; the user can disable
22322         this by setting XDG_CONFIG_HOME to some other place.
22323         * lisp/subr.el (user-emacs-directory):
22324         Prefer XDG configuration if it exists.
22326 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
22328         Port recent gnutls fixes to gcc -Wpointer-sign
22330         * src/gnutls.c (Fgnutls_format_certificate):
22331         Fix pointer signedness problem.
22333 2019-08-27  Juri Linkov  <juri@linkov.net>
22335         Browser-like Info-history button menu (bug#37184)
22337         * doc/misc/info.texi (Help-Int): Using tool-bar to navigate history.
22339         * lisp/info.el (Info-history-menu): New function.
22340         (Info-history-back-menu, Info-history-forward-menu): New commands.
22341         (Info-mode-map): Bind Info-history-back-menu and
22342         Info-history-forward-menu to tool-bar on C-key.
22344 2019-08-27  Michael Albinus  <michael.albinus@gmx.de>
22346         Deactivate part of tramp--test-check-files on macOS (Bug#36940)
22348         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Do not
22349         search for environment variables on macOS.  (Bug#36940)
22351 2019-08-27  Eli Zaretskii  <eliz@gnu.org>
22353         Fix crashes on MS-Windows when using GnuTLS connections
22355         * src/gnutls.c (init_gnutls_functions) [WINDOWSNT]: Define and
22356         load gnutls_free by an explicit call to GetProcAddress.
22357         (gnutls_free) [WINDOWSNT]: Define as a macro that dereferences
22358         a function pointer.  (Bug#31946)
22359         (Fgnutls_format_certificate): Use make_string_from_bytes
22360         instead of going through an intermediate malloc'ed buffer.
22362 2019-08-27  Alex Branham  <alex.branham@gmail.com>
22364         Fix filename completion in shell mode buffers
22366         * lisp/shell.el (shell-dynamic-complete-functions): Move
22367         pcomplete-completions-at-point down the list so that filename
22368         completion has a chance to complete before pcompletion.
22370         Fixes bug#34330
22372 2019-08-27  Michael Albinus  <michael.albinus@gmx.de>
22374         * test/Makefile.in (test_template): Declare target FOO.log.
22376 2019-08-27  Lars Ingebrigtsen  <larsi@gnus.org>
22378         Fix completion in `read-library-name'
22380         * lisp/emacs-lisp/find-func.el (read-library-name): Only list
22381         .el/.el.gz files when completing (bug#36945).
22383 2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>
22385         Make link widgets obey mouse-1-click-follows-link
22387         * lisp/wid-edit.el (widget-link-keymap): New variable, a keymap to use
22388         inside a link widget.
22389         ('link widget): Restore the :follow-link property and add
22390         widget-link-keymap as the :keymap property (bug#15682).
22392 2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>
22394         Adapt recentf.el to the change in the Widget Library
22396         * lisp/recentf.el (recentf-open-files-item): Stop overriding
22397         :follow-link property of the link widgets, since now it should
22398         work as expected (bug#15682).
22400 2019-08-26  Mauro Aranda  <maurooaranda@gmail.com>
22402         Create push-button widgets instead of links in epa *Keys* buffer
22404         * lisp/epa.el (epa--select-keys): Make OK and Cancel into buttons
22405         (bug#15682).
22407 2019-08-26  Paul Eggert  <eggert@cs.ucla.edu>
22409         Fix Tramp rounding of file sizes and inode numbers
22411         * lisp/net/tramp-sh.el (tramp-perl-file-attributes)
22412         (tramp-perl-directory-files-and-attributes)
22413         (tramp-do-file-attributes-with-stat)
22414         (tramp-do-directory-files-and-attributes-with-stat):
22415         Format file sizes and inode numbers without trailing ".0",
22416         to avoid rounding errors when absolute values exceed 2**53
22417         (Bug#36940#94).  This fixes the problem for Emacs 27 and later,
22418         and doesn't hurt in earlier Emacs.
22420 2019-08-26  Stefan Kangas  <stefankangas@gmail.com>
22422         Prefer display-line-numbers over linum in docs and one defcustom
22424         * doc/misc/efaq.texi: Replace linum with display-line-numbers.
22425         * lisp/progmodes/prog-mode.el (prog-mode-hook): Replace linum-mode
22426         with display-line-numbers-mode in :options.  (Bug#37120)
22428 2019-08-26  Juri Linkov  <juri@linkov.net>
22430         * src/keyboard.c (parse_tool_bar_item): Use CAPTION when HELP is unavailable
22432         while adding equivalent key binding to the tooltip. (Bug#36156)
22434 2019-08-26  Eli Zaretskii  <eliz@gnu.org>
22436         Fix crashes in networking with GnuTLS on MS-Windows
22438         * src/gnutls.c (init_gnutls_functions) [WINDOWSNT]: Define and
22439         load gnutls_free.
22440         (Fgnutls_format_certificate): Use gnutls_free instead of
22441         xfree.  This prevents crashes on MS-Windows, since the memory
22442         being released was allocated inside GnuTLS.  (Bug#31946)
22444 2019-08-25  Lars Ingebrigtsen  <larsi@gnus.org>
22446         Allow finding gpg2 binaries when gpg2 has an "unknown" version string
22448         * lisp/epg-config.el (epg-find-configuration): Allow finding a
22449         usable configuration even if the version string looks like "gpg
22450         (GnuPG) 2.2.15-unknown" (bug#35629).
22452 2019-08-25  Teemu Likonen  <tlikonen@iki.fi>
22454         Only use --sender for gpg when gpg supports it
22456         * lisp/epg-config.el (epg-required-version-p): New function (bug#37025).
22458         * lisp/gnus/mml-sec.el (mml-secure-epg-sign):
22459         * lisp/epg.el (epg-start-sign):
22460         (epg-start-encrypt): Use it to only use --sender when the gpg
22461         binary supports it.
22463 2019-08-25  Lars Ingebrigtsen  <larsi@gnus.org>
22465         Fix ede-proj-project class
22467         * lisp/cedet/ede/proj.el (ede-proj-project): Make class inherit
22468         from eieio-named to get object-name slot (bug#37181).
22470 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22472         Fix bug with non-paletted transparent PNGs
22474         Adapted from a fix by YAMAMOTO Mitsuharu (Bug#37153#77).
22475         * src/image.c (png_load_body): Fix bug with non-paletted
22476         transparent images.
22478 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22480         Fix misdisplay of PNG paletted images
22482         Problem reported by Roland Winkler (Bug#37153).
22483         Derived from a patch suggested by YAMAMOTO Mitsuharu (Bug#37153#62).
22484         * src/image.c (png_get_valid) [WINDOWSNT]:
22485         Do not dynamically link this function.
22486         (png_get_tRNS) [WINDOWSNT && PNG_tRNS_SUPPORTED]:
22487         Dynamically link this function instead.
22488         (png_load_body): Do not assume that every paletted image supplies
22489         only transparency data.  Fix typo in use of transparent_p.
22491 2019-08-25  Michael Albinus  <michael.albinus@gmx.de>
22493         Fix a further part of Bug#36940
22495         * lisp/net/tramp-sh.el (tramp-perl-file-attributes)
22496         (tramp-perl-directory-files-and-attributes)
22497         (tramp-do-file-attributes-with-stat)
22498         (tramp-do-directory-files-and-attributes-with-stat): Return size
22499         and inode as floating number.  (Bug#36940).
22501 2019-08-25  Alan Mackenzie  <acm@muc.de>
22503         Introduce new value t for compilation-context-lines to eliminate scrolling
22505         In particular, to prevent scrolling in a window lacking a left fringe.
22506         Instead, a visible arrow "=>" is inserted before column zero.  This fixes
22507         bug #36832.
22509         * lisp/progmodes/compile.el (compilation-context-lines): Add the new value t.
22510         (compilation-set-window): Amend to handle compilation-context-lines being t.
22511         (overlay-arrow-overlay): New variable holding an overlay with before-string
22512         property "=>".
22513         (compilation-set-overlay-arrow): New function which manipulates
22514         overlay-arrow-overlay.
22515         (compilation-goto-locus, compilation-find-file): In addition to calling
22516         compilation-set-window, also call compilation-set-overlay-arrow.
22518         * doc/emacs/building.texi (Compilation Mode): Document the new value t which
22519         compilation-context-lines can take.
22521         * etc/NEWS: Add an entry for this change.
22523 2019-08-25  Alex Ott  <alexott@gmail.com>
22525         Fix minor problems in TUTORIAL.ru
22527         This fixes wording and avoids visiting the tutorial in
22528         Ruby mode.
22530 2019-08-25  Eli Zaretskii  <eliz@gnu.org>
22532         Fix a recent change in coding.c
22534         This partially reverts the changes in "extern function cleanup".
22535         * src/coding.c (encode_string_utf_8, decode_string_utf_8): Now
22536         extern again.  They should NOT be static, as they are intended
22537         to be used by the likes of json.c, where we need
22538         highly-optimized code for processing UTF-8 strings.  E.g.,
22539         decode_string_utf_8 beats make_string_from_utf8 by a factor of
22540         2 to 5 in a large number of scenarios.
22542 2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>
22544         Use ' instead of ` in NEWS
22546 2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>
22548         Use `autoconf-mode' for Autoconf .m4 files
22550         * lisp/files.el (auto-mode-alist): Use `autoconf-mode' (instead of
22551         `m4-mode') for acinclude.m4/aclocal.m4/acsite.m4 files (bug#37133).
22553 2019-08-24  Alex Branham  <alex.branham@gmail.com>
22555         The `gnus*-1' functions shouldn't be interactive
22557         * lisp/gnus/gnus-start.el (gnus-no-server-1): This function
22558         shouldn't be interactive (bug#37022).
22559         (gnus-1): Ditto.
22561 2019-08-24  Lars Ingebrigtsen  <larsi@gnus.org>
22563         Disallow just hitting RET in gnus-mime-replace-part
22565         * lisp/gnus/gnus-art.el (gnus-mime-replace-part): Don't replace
22566         the part if the file to replace it with doesn't exist (bug#36864).
22568 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22570         Clarify Fx_parse_geometry initialization
22572         * src/frame.c (Fx_parse_geometry): Clarify why local init
22573         isn’t needed.
22575 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22577         Tweak time arithmetic performance
22579         * src/timefns.c (time_arith): Prefer mpz_divexact to mpz_tdiv_q
22580         when either will do.
22582 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22584         Speed up % and mod with fixnum denom
22586         * src/data.c (integer_remainder): New function.  When the
22587         numerator is a bignum and the denominator is small, this function
22588         uses mpz_tdiv_ui, which should be faster than mpz_tdiv_r.
22589         (Frem, Fmod): Use it.
22591 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22593         Tweak integer mod performance
22595         * src/data.c (integer_mod): Use mpz_tdiv_r not mpz_mod, as that’s
22596         more similar to the fixnum case, is a bit more efficient, and
22597         otherwise the later ‘sgn_r < 0’ code is useless anyway.
22599 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22601         Make (mod 1.0 0) consistent with (/ 1.0 0)
22603         * src/data.c (Fmod): Do not signal an error for (mod 1.0 0), for
22604         the same reason (/ 1.0 0) does not signal an error.
22605         * test/src/data-tests.el (data-tests-mod-0): New test.
22607 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22609         extern function cleanup
22611         Most of these functions can be static.  A few are unused.
22612         * src/coding.c (encode_string_utf_8, decode_string_utf_8):
22613         Define only if ENABLE_UTF_8_CONVERTER_TEST, as they're
22614         not needed otherwise.
22615         * src/coding.c (encode_string_utf_8, decode_string_utf_8):
22616         * src/data.c (integer_mod):
22617         * src/fns.c (base64_encode_region_1, base64_encode_string_1):
22618         * src/ftfont.c (ftfont_get_fc_charset):
22619         Now static.
22620         * src/sysdep.c (verrprintf): Remove; unused.
22622 2019-08-24  Noam Postavsky  <npostavs@gmail.com>
22624         Fix non-deterministic process test
22626         * test/src/process-tests.el (set-process-filter-t): Don't assume
22627         subprocess output will come in a single chunk, keep waiting for more
22628         data until next "prompt" is read from subprocess.
22630 2019-08-24  Eli Zaretskii  <eliz@gnu.org>
22632         Revert "Recompute user-emacs-directory-relative defcustoms one more time"
22634         This reverts commit bb5cd7c4caf415e40836edbbc4e62b0dd411d73f.
22635         See bug#37173.
22637 2019-08-24  Robert Pluim  <rpluim@gmail.com>
22639         Fix DNS tests
22641         * test/src/process-tests.el: (lookup-family-specification,
22642         lookup-unicode-domains, unibyte-domain-name, lookup-google,
22643         non-existent-lookup-failure): Skip on Hydra, which doesn't have DNS.
22644         Fix buggy test condition.  (Bug#37165)
22646 2019-08-24  Michael Albinus  <michael.albinus@gmx.de>
22648         Fix some problems of Bug#36940
22650         * test/lisp/net/tramp-tests.el (tramp-test22-file-times): Do not
22651         compare time value lists by `equal'.  (Bug#36940).
22652         (tramp-test30-make-process): Adapt "kill" message to match on macOS.
22654 2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22656         Tweak gnutls-peer-status reporting
22658         * src/gnutls.c (Fgnutls_peer_status): Report :compression and
22659         :encrypt-then-mac only if the underlying GnuTLS library has
22660         the corresponding features.  This give the Elisp caller a bit
22661         more information about the peer status.
22662         * lisp/net/nsm.el (nsm-protocol-check--compression):
22663         Don’t worry about compression in newer GnuTLS versions
22664         that do not support compression.
22666 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
22668         Mention new usage of `invalid-read-syntax' in the manual
22670         * doc/lispref/errors.texi (Standard Errors): Document "trailing
22671         garbage" use of `invalid-read-syntax' (bug#24649).
22673 2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22675         Clarify compiler-pacifier in frame.c
22677         * src/frame.c (Fx_parse_geometry): Pacify the compiler in a
22678         different way, so that the human reader can more easily see
22679         that the initializations are unnecessary.
22681 2019-08-23  Eli Zaretskii  <eliz@gnu.org>
22683         Fix compilation --without--x
22685         * src/xdisp.c (extend_face_to_end_of_line): Fix a recent
22686         change that moved the initialization of default_face.
22687         Reported by Glenn Morris <rgm@gnu.org>.
22689 2019-08-23  Eli Zaretskii  <eliz@gnu.org>
22691         Avoid a compilation warning in w32.c
22693         * src/w32.c (logon_network_drive): Avoid compilation warning
22694         about strncpy arguments.
22696 2019-08-23  Eli Zaretskii  <eliz@gnu.org>
22698         Avoid compilation warning in frame.c
22700         * src/frame.c (Fx_parse_geometry): Avoid compilation warning
22701         about x and y being used without initializing them.
22703 2019-08-23  Noam Postavsky  <npostavs@gmail.com>
22705         Print macro modified macro keys as characters not integers
22707         * lisp/macros.el (macros--insert-vector-macro): Pass all elements to
22708         'prin1-char', not just those that satisfy characterp (because characters
22709         which have modifier bits set wouldn't qualify otherwise).
22710         'prin1-char' will return nil if it can't handle the argument (e.g.,
22711         for symbols representing function keys).
22713 2019-08-23  Robert Pluim  <rpluim@gmail.com>
22715         Fix compilation of process.c
22717         * src/process.c (network_lookup_address_info_1): [!HAVE_GAI_STRERROR]:
22718         Use make_fixnum instead of make_number.  (Bug#37158).
22720 2019-08-23  Michael Heerdegen  <michael_heerdegen@web.de>
22722         Hi-lock lines up to right margin (Bug#15934)
22724         * lisp/hi-lock.el (hi-lock-line-face-buffer): Change used regexp so
22725         that a line terminating newline character is included in the match.
22727 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
22729         Rename renamed nsm.el variables and functions back
22731         * doc/emacs/misc.texi (Network Security): Start working on
22732         updating the NSM bits, but it's unclear how much of the new stuff
22733         to document.
22735         * lisp/net/nsm.el: Rename all nsm-tls-check-* functions to
22736         nsm-protocol-check--* to bring them back into line with the
22737         documentation.
22738         (network-security-protocol-checks): Renamed back again from
22739         `nsm-tls-checks', as this variable is documented and can't just go
22740         away.
22742 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
22744         Move all NSM tests away from the `low' level
22746         * lisp/net/nsm.el (network-security-level, nsm-tls-checks): Make
22747         `low' a "check nothing" setting again, and move all the `low'
22748         checks back to `medium'.  This makes the test suite work again.
22750 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
22752         Tweak previous tar-mode time stamp code
22754         * lisp/tar-mode.el (tar-header-block-summarize): Tweak previous
22755         commit to output the time stamp in the exact same way that GNU tar
22756         does.
22758 2019-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22760         Get the Gnutls code compiling on Fedora 30
22762         The recent changes caused the build to fail on Fedora 30 when built
22763         with --enable-gcc-warnings, among other things with diagnostics that
22764         gnutls_compression_get and gnutls_compression_get_name are deprecated
22765         (this started with GnuTLS 3.6).  Fix this by refusing to call these
22766         obsolescent and now-dummy functions in GnuTLS 3.6 and later.  However,
22767         this is just a temporary workaround to get the build working; a real
22768         fix is needed, as network-stream-tests fail.
22769         * src/gnutls.c (HAVE_GNUTLS_COMPRESSION_GET): New macro.
22770         (gnutls_compression_get, gnutls_compression_get_name):
22771         Define only if HAVE_GNUTLS_COMPRESSION_GET.
22772         (init_gnutls_functions): Load the two functions only if
22773         HAVE_GNUTLS_COMPRESSION_GET.
22774         (emacs_gnutls_certificate_export_pem): Use alloca instead of xmalloc.
22775         (Fgnutls_peer_status): Just return "NULL" if the functions
22776         are deprecated.
22777         (Fgnutls_format_certificate): Fix pointer signedness glitches.
22778         * src/process.c: Fix spacing.
22780 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
22782         Put error output from M-! at the end of the error buffer
22784         * lisp/simple.el (shell-command-on-region): Put the error output
22785         at the end of the buffer instead of wherever point is (bug#7513).
22786         This avoids interleaving error output.
22788 2019-08-23  Robert Pluim  <rpluim@gmail.com>
22790         Move default face lookup
22792         * src/xdisp.c (extend_face_to_end_of_line): Move default face
22793         lookup lower.
22795 2019-08-23  Robert Pluim  <rpluim@gmail.com>
22797         Correct description of network-lookup-address-info
22799         * doc/lispref/processes.texi (Misc Network): Remove erroneous text
22800           about port numbers
22802 2019-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
22804         Remove debugging from previous shr.el patch
22806 2019-08-23  Eli Zaretskii  <eliz@gnu.org>
22808         Fix recent changes in gnutls.c
22810         * src/gnutls.c: Fix typos that broke the MS-Windows build.
22811         (Fgnutls_peer_status_warning_describe): Fix incomplete error
22812         message string.
22814 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22816         Avoid an infloop in shr when filling text with :align-to properties
22818         * lisp/net/shr.el (shr-fill-line): Only join together URL buttons
22819         if there are any URL buttons.
22821 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22823         Fix Gnus display of timestamps that's less than a second old
22825         * lisp/gnus/gnus-art.el (article-lapsed-string): The elapsed
22826         seconds may be a fractional second.  In that case, just say "now".
22828 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22830         Really save games scores to the games scores directory
22832         * lisp/play/gamegrid.el
22833         (gamegrid-add-score-with-update-game-score): Save games scores to
22834         `gamegrid-user-score-file-directory' by default (bug#36971).
22836 2019-08-22  Damien Cassou  <damien@cassou.me>
22838         Add imenu support to xref
22840         * lisp/progmodes/xref.el (xref--imenu-prev-index-position)
22841         (xref--imenu-extract-index-name): Add functions to get imenu support.
22842         (xref--xref-buffer-mode): Set imenu variables to the new functions.
22843         * etc/NEWS: Add corresponding entry (bug#36974).
22845 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22847         Give a better error message when reading invalid "\unicode" escapes.
22849         * src/lread.c (read_escape): Give a clearer error message on
22850         Unicode escape sequences (bug#36988).
22852 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22854         Clarify doc string of cl-pushnew
22856         * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Clarify doc string
22857         (bug#37016).
22859 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22861         Fix interaction between url-handler-mode and browse-url
22863         * lisp/net/browse-url.el (browse-url): Don't expand any URLs (like
22864         "man:") that have a scheme when using `url-handler-mode' (bug#37056).
22866 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22868         Use ISO8601 time formats in tar-mode
22870         * lisp/tar-mode.el (tar-clip-time-string): Make obsolete (bug#37130).
22871         (tar-header-block-summarize): Use ISO8601 time instead of
22872         home-brew format.
22874 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22876         Make dired recognize .lz files
22878         * lisp/dired-aux.el (dired-compress-file-suffixes): Recognize .lz
22879         (lzip) compressed files (bug#37136).
22881 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22883         Fix too-long lines in nsm.el
22885         * lisp/net/nsm.el: Fix some too-long lines and some terminology in
22886         the doc strings/comments.
22888 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22890         Mention new NSM warnings
22892 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22894         Tweak the warning display to be less like a TLS decoding page
22896         * lisp/net/nsm.el (nsm-parse-subject, nsm-certificate-part):
22897         Restore functions for parsing subjects.
22898         (nsm-format-certificate): Use them to display more user-friendly
22899         data.  Also change the display to have fewer lines again so that
22900         the data of interest isn't pushed off the screen.
22902 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22904         Enable sorting paragraphs when the final paragraph has no newline
22906         * lisp/sort.el (sort-paragraphs): Ensure that when sorting
22907         paragraphs, the final paragraph ends with a newline (bug#21785).
22909 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22911         Signal an error on `M-x shell-mode'
22913         * lisp/shell.el (shell-mode): This mode can't usefully be called
22914         interactively (and is somewhat destructive, as it disables
22915         `undo'), and it's usually confused with `shell-script-mode'
22916         (bug#19812).  So signal an error if it's used interactively.
22918 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22920         Make ibuffer-mark-by-file-name-regexp work on the displayed file name
22922         * lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Perform the
22923         matching on the abbreviated (i.e., displayed) file name, and not
22924         the complete name (bug#18859).  This seems like the more expected
22925         action.
22927 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22929         Have `M-x battery' list all batteries under GNU/Linux
22931         * lisp/battery.el (battery-upower-device): Remove (bug#25559).
22932         (battery--find-linux-sysfs-batteries): New function.
22933         (battery-status-function, battery-linux-sysfs): Use it to list all
22934         batteries, no matter what they're called.
22936 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22938         Signal `invalid-read-syntax' for "trailing garbage"
22940         * src/minibuf.c (string_to_object): Signal `invalid-read-syntax'
22941         instead of the generic `error' for "trailing garbage following
22942         expression" (bug#24649).
22944 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22946         Fix skeleton edebug spec
22948         * lisp/skeleton.el (skeleton-edebug-spec): Fix edebug spec
22949         (bug#24779).
22951 2019-08-22  Lars Ingebrigtsen  <larsi@gnus.org>
22953         Run quit-window-hook from the correct buffer
22955         * lisp/window.el (quit-window): Run the hook from the buffer
22956         specified by the WINDOW parameter.
22958 2019-08-22  Eli Zaretskii  <eliz@gnu.org>
22960         Recompute user-emacs-directory-relative defcustoms one more time
22962         * lisp/startup.el (command-line): Re-evaluate the
22963         custom-delayed predefined variables one more time after
22964         loading the user's init file.  (Bug#37116)
22966 2019-08-22  Stefan Kangas  <stefankangas@gmail.com>
22968         Fix minor checkdoc errors in package.el
22970         * lisp/emacs-lisp/package.el (package-all-keywords)
22971         (package-menu--generate, package-archive-priority): Doc fixes.
22973 2019-08-22  Stefan Kangas  <stefankangas@gmail.com>
22975         Signal user-error on duplicate package refresh
22977         * lisp/emacs-lisp/package.el (package-menu-refresh): Signal a
22978         user-error if there is already a refresh running in the
22979         background.  Doc fix.  (Bug#36707)
22981 2019-08-22  Stefan Kangas  <stefankangas@gmail.com>
22983         * doc/misc/efaq.texi: Note the inclusion year.  (Bug#37142)
22985 2019-08-22  Eli Zaretskii  <eliz@gnu.org>
22987         Improve documentation of 'ispell-skip-html'
22989         * lisp/textmodes/ispell.el (ispell-skip-html): Doc fix.
22990         (Bug#37141)
22992 2019-08-22  Michael Albinus  <michael.albinus@gmx.de>
22994         * doc/misc/tramp.texi: Use @acronym{GVFS}.
22996 2019-08-22  Paul Eggert  <eggert@cs.ucla.edu>
22998         Fix Qunbound-Qnil confusion in clrhash patch
23000         Problem reported by Stefan Monnier.
23001         * src/fns.c (hash_clear): Fix typo I introduced in my previous
23002         patch here, by setting keys to Qunbound not Qnil.
23004 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
23006         Remove no-longer-needed workaround for GC bug
23008         * src/keymap.c (describe_vector): Remove old workaround for GC bug.
23009         This workaround, introduced in 1993-02-19T05:43:54Z!rms@gnu.org,
23010         has not been needed for some time.  Problem reported by Pip Cet in:
23011         https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
23013 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
23015         Don’t debug fset by default
23017         This GC bug seems to have been fixed, so the check is no longer
23018         needed in production code.  From a suggestion by Pip Cet in:
23019         https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
23020         * src/alloc.c (SUSPICIOUS_OBJECT_CHECKING) [!ENABLE_CHECKING]:
23021         Do not define.
23022         (find_suspicious_object_in_range, detect_suspicious_free):
23023         Expand to proper dummy expressions if !SUSPICIOUS_OBJECT_CHECKING.
23024         * src/data.c (Ffset): Convert test to an eassert.
23026 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
23028         Fix clrhash bug when hash table needs rehashing
23030         Problem reported by Pip Cet in:
23031         https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
23032         * src/fns.c (maybe_resize_hash_table): Prefer ASET to gc_aset
23033         where either will do.  Simplify appending of Qunbound values.
23034         Put index_size calculation closer to where it’s needed.
23035         (hash_clear): If hash_rehash_needed_p (h), don’t clear the
23036         nonexistent hash vector.  Use memclear to speed up clearing.
23037         * src/lisp.h (HASH_TABLE_SIZE): Check that the size is positive,
23038         and tell that to the compiler.
23040 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
23042         * src/buffer.c: Fix comment typo.
23044 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
23046         Don’t hard-loop on cycles in ‘read’ etc.
23048         Problem for ‘read’ reported by Pip Cet in:
23049         https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html
23050         * src/fns.c (Frequire): Protect against circular current-load-list.
23051         * src/lread.c (Fget_load_suffixes):
23052         Protect against circular load-suffixes or load-file-rep-suffixes.
23053         (Fload): Protect against circular loads-in-progress.
23054         (openp): Protect against circular PATH and SUFFIXES.
23055         (build_load_history): Protect against circular load-history or
23056         current-load-list.
23057         (readevalloop_eager_expand_eval): Protect against circular SUBFORMS.
23058         (read1): Protect against circular data.
23059         * test/src/lread-tests.el (lread-circular-hash): New test.
23061 2019-08-21  Nicolas Petton  <nicolas@petton.fr>
23063         * etc/HISTORY: Add Emacs 26.3 release release date.
23065 2019-08-21  Nicolas Petton  <nicolas@petton.fr>
23067         Bump Emacs version to 26.3
23069         * README:
23070         * configure.ac:
23071         * msdos/sed2v2.inp:
23072         * nt/README.W32: Bump Emacs version.
23074 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
23076         Make hide-ifdef-mode-prefix-key customisable
23078         * lisp/progmodes/hideif.el (hide-ifdef-mode-prefix-key): Make into
23079         a defcustom since it seems like this is something that should be
23080         user-customisable (bug#8922).
23082 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
23084         Use `quit-window-hook' in Info instead of having its own command
23086         * doc/misc/info.texi (Help-Q): Info now uses `quit-window'.
23088         * lisp/info.el (info-standalone): Adjust doc string.
23089         (Info-exit): Made into obsolete alias.
23090         (Info-mode-map): Bind "q" to `quit-window'.
23091         (Info-mode-menu): Adjust.
23092         (info-tool-bar-map): Ditto.
23093         (Info-mode): Adjust doc string.
23094         (Info-mode): If Info is standalone, kill Emacs on "q".
23096 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
23098         Adjust quit-window-hook documentation
23100         * doc/lispref/windows.texi (Quitting Windows): Adjust
23101         documentation of quit-window-hook (bug#9867).
23103 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
23105         Mention quit-window-hook in "Standard Hooks"
23107         * doc/lispref/hooks.texi (Standard Hooks): Mention
23108         quit-window-hook (bug#9867).
23110 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
23112         Call `quit-window-hook' in the `quit-window' command only
23114         * lisp/window.el (quit-restore-window): Don't run quit-window-hook
23115         here...
23116         (quit-window): ... but here instead.  Callers that call the former
23117         programmatically can decide themselves whether to call the hook.
23118         (quit-window-hook): Fix doc string.
23120 2019-08-21  Lars Ingebrigtsen  <larsi@gnus.org>
23122         Fix the interactive spec for set-frame-width/height
23124         * src/frame.c (Fset_frame_width):
23125         (Fset_frame_height): Use `prefix-numeric-value' to get the proper
23126         numeric value (bug#9970).
23128 2019-08-21  Stefan Kangas  <stefankangas@gmail.com>
23130         * lisp/mail/flow-fill.el: Change todo comment to not mention XEmacs.
23132 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
23134         Be more careful about pointers to bignum vals
23136         This uses ‘const’ to be better at catching bugs that
23137         mistakenly attempt to modify a bignum value.
23138         Lisp bignums are supposed to be immutable.
23139         * src/alloc.c (make_pure_bignum):
23140         * src/fns.c (sxhash_bignum):
23141         Accept Lisp_Object instead of struct Lisp_Bignum *, as that’s
23142         simpler now.  Caller changed.
23143         * src/bignum.h (bignum_val, xbignum_val): New inline functions.
23144         Prefer them to &i->value and XBIGNUM (i)->value, since they
23145         apply ‘const’ to the result.
23146         * src/timefns.c (lisp_to_timespec): Use mpz_t const *
23147         to point to a bignum value.
23149 2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23151         Update mini-gmp
23153         * src/mini-gmp.c: Sync from upstream.  This incorporates:
23154         2019-08-13 Silence a couple of warnings
23156 2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23158         Avoid some excess precision in time arithmetic
23160         * doc/misc/emacs-mime.texi (time-date):
23161         Adjust example to match new behavior.
23162         * etc/NEWS: Mention this.
23163         * lisp/calendar/time-date.el (decoded-time-add)
23164         (decoded-time--alter-second):
23165         Don’t lose underestimate precision of seconds component.
23166         * src/bignum.c (mpz): Grow by 1.
23167         * src/timefns.c (trillion_factor): New function.
23168         (timeform_sub_ps_p): Remove.
23169         (time_arith): Avoid unnecessarily-large hz, by reducing the hz
23170         to a value no worse than the worse hz of the two arguments.
23171         The result is always exact unless an error is signaled.
23172         * test/src/timefns-tests.el (timefns-tests--decode-time):
23173         New function.
23174         (format-time-string-with-zone): Test (decode-time LOOK ZONE t)
23175         resolution as well as its numeric value.
23177 2019-08-20  Noam Postavsky  <npostavs@gmail.com>
23179         Respect global-eldoc-mode in minibuffers (Bug#36886)
23181         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Accept
23182         a BODY parameter.
23183         * doc/lispref/modes.texi (Defining Minor Modes): Document new
23184         parameter.
23185         * etc/NEWS: Announce it.
23187         * lisp/simple.el (read--expression): Move eldoc-mode setup to...
23188         * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): ... here,
23189         new function.
23190         (global-eldoc-mode): Add or remove it to
23191         eval-expression-minibuffer-setup-hook when enabling or disabling
23192         global-eldoc-mode.  This enables eldoc in the minibuffer (solving
23193         Bug#27202), only when global-eldoc-mode is enabled.
23195 2019-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23197         Support larger TIMEs in (time-convert TIME t)
23199         Also, improve the doc to match current behavior.
23200         * doc/lispref/os.texi (Time Conversion): Document that
23201         time-convert signals an error for infinite or NaN args,
23202         and that (time-convert TIME t) is exact otherwise.
23203         Mention float-time as an alternative to time-convert.
23204         (Time Calculations): Document that time-add and time-subtract
23205         are exact and do not decrease HZ below the minimum of their args.
23206         * src/timefns.c (decode_float_time): Don’t signal an error for
23207         floating-point arguments whose base-FLT_RADIX exponent is not less
23208         than DBL_MANT_DIG.  Instead, convert them to (TICKS . 1) values.
23209         Use two (instead of three) integer exponent comparisons in the
23210         typical case.
23211         * test/src/timefns-tests.el (time-arith-tests):
23212         Add more floating-point tests, including some tests
23213         that the old code fails.
23215 2019-08-20  Stephen Leake  <stephen_leake@stephe-leake.org>
23217         Delete built-in ada-mode; Gnu ELPA is a good replacement
23219         * doc/misc/Makefile.in (INFO_COMMON): Delete ada-mode.
23221         * doc/misc/ada-mode.texi: Delete.
23223         * etc/NEWS: Mention ada-mode deleted.
23225         * lisp/progmodes/ada-mode.el: Delete.
23227         * lisp/progmodes/ada-prj.el: Delete.
23229         * lisp/progmodes/ada-stmt.el: Delete.
23231         * lisp/progmodes/ada-xref.el: Delete.
23233 2019-08-20  Michael Albinus  <michael.albinus@gmx.de>
23235         Another attempt to fix bug#32645
23237         * test/lisp/autorevert-tests.el ()
23238         (auto-revert-test02-auto-revert-deleted-file):
23239         * test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
23240         Check `file-notify-valid-p', not that the descriptor is nil.
23242 2019-08-20  Glenn Morris  <rgm@gnu.org>
23244         Merge from origin/emacs-26
23246         615cff4 (origin/emacs-26) Fix process filter documentation (Bug#13400)
23247         beb1d22 Fix query-replace-regexp undo feature
23249         # Conflicts:
23250         #       test/lisp/replace-tests.el
23252 2019-08-20  Glenn Morris  <rgm@gnu.org>
23254         Merge from origin/emacs-26
23256         0b810eb Fix a typo in char-width-table
23257         3f00db7 Minor update in admin/notes/unicode
23258         bcd0115 Fix lisp indent infloop on unfinished strings (Bug#37045)
23259         5f992d1 Improve commentary in composite.el
23260         3a04be2 ; Improve commentary in xdisp.c
23261         15de1d1 Fix markup in dired-x.texi
23262         bda7fc7 ; Fix typo in a doc string of speedbar.el
23263         6f57ef9 * src/callproc.c (Fcall_process): Doc fix.
23265         # Conflicts:
23266         #       doc/misc/dired-x.texi
23267         #       lisp/international/characters.el
23268         #       src/callproc.c
23270 2019-08-20  Ulrich Müller  <ulm@gentoo.org>
23272         * configure.ac (HAVE_JPEG): Test for window system. (Bug#36995)
23274 2019-08-20  Mauro Aranda  <maurooaranda@gmail.com>
23276         Don't display wrong ElDoc information when inside ELisp strings or comments
23278         * lisp/progmodes/elisp-mode.el (elisp--fnsym-in-current-sexp): Since
23279         forward-sexp assumes point is not in a string or comment, avoid
23280         calling it and then checking if point is inside a string, since that
23281         sometimes will fail with awkward results.  (Bug#35567)
23283 2019-08-19  Lars Ingebrigtsen  <larsi@gnus.org>
23285         Output `auto-coding-alist' in `describe-current-coding-system'
23287         * lisp/international/mule-diag.el
23288         (describe-current-coding-system): Also output the contents of
23289         `auto-coding-alist', which take precedence over
23290         `file-coding-system-alist' (bug#9575).
23292 2019-08-19  Lars Ingebrigtsen  <larsi@gnus.org>
23294         Add a new hook: `quit-window-hook'
23296         * doc/lispref/windows.texi (Quitting Windows): Mention in.
23298         * lisp/window.el (quit-restore-window): Run the new
23299         `quit-window-hook' before doing anything else (bug#9867).
23300         (quit-window): Note that the hook will be run in the doc string.
23302         * lisp/window.el (quit-window-hook): New variable.
23304 2019-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23306         Fix org-table 65536-second bug
23308         * lisp/org/org-table.el (org-table-message-once-per-second):
23309         Fix bug when clock difference goes past a 65536-second boundary.
23310         Don’t assume particular format for current-time result.
23312 2019-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23314         Fix time-add/time-sub validity checking
23316         * src/timefns.c (time_arith): Check the first arg for
23317         validity even if the second arg is not finite.
23318         * test/src/timefns-tests.el (time-arith-tests): Test this.
23320 2019-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
23322         * lisp/erc/erc-stamp.el: Fix erc-echo-timestamp (bug#22700)
23324         Use lexical-binding.
23325         (erc-add-timestamp): Store the timestamp in a closure placed in
23326         cursor-sensor-functions rather than stashing it in an ad-hoc
23327         `timestamp` property.
23328         (erc-echo-timestamp): Simplify accordingly.
23330 2019-08-18  Lars Ingebrigtsen  <larsi@gnus.org>
23332         Allow set-frame-height/set-frame-width to be used interactively
23334         * doc/lispref/frames.texi (Frame Size): Document it.
23336         * src/frame.c (Fset_frame_height):
23337         (Fset_frame_width): Make into commands that use the numeric prefix
23338         to set height/width (bug#9970).
23340 2019-08-18  Štěpán Němec  <stepnem@gmail.com>
23342         Add an advice-add/interactive spec example
23344         * doc/lispref/functions.texi (Core Advising Primitives): Add an
23345         advice-add example that extends the `interactive' spec (bug#17871).
23347 2019-08-18  Johan Claesson  <johanclaesson@bredband.net>
23349         Invalidate dir-locals-directory-cache when writing dir-local file
23351         * lisp/files-x.el (modify-dir-local-variable): Remove file from
23352         the cache when writing to ensure that we load the new version
23353         later (bug#13860).
23355 2019-08-18  Noam Postavsky  <npostavs@gmail.com>
23357         Handle more subprocess chunking in M-x man (Bug#36927)
23359         * lisp/man.el (Man-bgproc-filter): Make sure not to chop man sections
23360         by narrowing.
23361         (Man-highlight-references0): Revert previous fix, as it's no longer
23362         needed.
23363         * test/lisp/man-tests.el (man-tests-filter-strings): New function.
23364         (man-bgproc-filter-buttonize-includes): New test.
23366 2019-08-18  Paul Eggert  <eggert@cs.ucla.edu>
23368         Improve bignum_integer static checking
23370         * src/bignum.h (bignum_integer): Now returns pointer-to-const,
23371         to catch trivial mistakes where the caller might try to modify
23372         a Lisp bignum.  Lisp bignums are supposed to be immutable.
23373         All callers changed.
23375 2019-08-18  Eli Zaretskii  <eliz@gnu.org>
23377         Attempt to fix assertion violation in eval.c
23379         * src/eval.c (Fautoload): Fix an assertion violation in
23380         make_fixnum.  Reported by martin rudalics <rudalics@gmx.at>.
23382 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
23384         Make `browse-url-of-buffer' work from zip files
23386         * lisp/net/browse-url.el (browse-url-of-buffer): Make `C-c C-v'
23387         work in HTML buffers visited from zip files and the like
23388         (bug#10318).
23390 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
23392         Fix org-timer-show-remaining-time > 1 hour
23394         * lisp/org/org-timer.el (org-timer-show-remaining-time):
23395         Don’t assume the remaining time is less than one hour.
23396         Simplify.  The simplification removes the need for a
23397         decode-time, and fixes a typo I introduced recently.
23399 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
23401         Make `describe-function' say that disabled functions are disabled
23403         * lisp/help-fns.el (help-fns--disabled): New function (bug#10853).
23404         (help-fns-describe-function-functions): Add it to the list of
23405         function help functions.
23407 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
23409         Make newline-and-indent take a numeric prefix
23411         * lisp/simple.el (newline-and-indent): Take a prefix argument to
23412         say how many times to perform its action (bug#10927).
23414 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
23416         Issue a message on `C-x o' and there's no other window
23418         * lisp/window.el (other-window): Issue a message when the user
23419         types `C-x o' and there's no other window to select (bug#10999).
23421 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
23423         Issue a message on `C-x 1' when there's nothing to do
23425         * lisp/window.el (delete-other-windows): Make `C-x 1' issue a
23426         message when there's no other windows to delete (bug#10999).
23428 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
23430         Doc clarification in two comment-* functions
23432         * lisp/newcomment.el (comment-padright, comment-padleft): Note
23433         that `comment-normalize-vars' must be called first (bug#11944).
23435 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
23437         Add FIXMEs for subsecond support
23439         This adds FIXMEs to areas where Lisp code should support
23440         subsecond information in broken-down timestamps.
23441         It also fixes some unnecessary truncation of timestamps, and
23442         ports the code to a hypothetical future Emacs version where
23443         (decode-time) returns subsecond timestamps by default.
23444         * lisp/calc/calc-forms.el (calc-time, math-iso-dt-to-date)
23445         (calcFunc-now):
23446         * lisp/calendar/icalendar.el (icalendar--add-decoded-times):
23447         * lisp/calendar/iso8601.el (iso8601-parse-interval):
23448         Truncate seconds to an integer, and add a FIXME about
23449         subseconds support.
23450         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime)
23451         (icalendar--decode-isoduration):
23452         Add a FIXME about subseconds support.
23453         * lisp/gnus/gnus-delay.el (gnus-delay-article):
23454         Don’t truncate seconds to an integer, as there’s no need
23455         to do that here.
23456         * lisp/gnus/gnus-util.el (gnus-seconds-today)
23457         (gnus-seconds-month, gnus-seconds-year):
23458         * lisp/gnus/message.el (message-make-expires-date):
23459         * lisp/org/org-timer.el (org-timer-show-remaining-time):
23460         * lisp/vc/ediff-mult.el (ediff-format-date):
23461         Truncate seconds to an integer, as that’s what’s wanted here.
23462         * lisp/midnight.el (midnight-next):
23463         Ceiling seconds to an integer, as that’s what wanted here.
23465 2019-08-17  Juri Linkov  <juri@linkov.net>
23467         * lisp/frameset.el (frameset-restore): Make sure last-focus frame has focus.
23469         Call select-frame-set-input-focus to restore focus on the frame
23470         that had last-focus-update frame parameter before saving frameset.
23471         (Bug#36894)
23473 2019-08-17  Lars Ingebrigtsen  <larsi@gnus.org>
23475         Doc clarification for call-interactively
23477         * src/callint.c (Fcall_interactively): Be explicit about what we
23478         mean by "inquire" in the doc string (bug#15653).
23480 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
23482         Port test harness to Solaris 10
23484         * test/Makefile.in (ELFILES): Port to Solaris 10, where
23485         ‘find’ does not support ‘-path’.
23487 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
23489         Update from Gnulib
23491         This incorporates:
23492         2019-08-17 intprops: port to Oracle Developer Studio 12.6
23493         2019-08-14 intprops: support uchar, ushort _WRAPV dests
23494         * lib/intprops.h: Copy from Gnulib.
23496 2019-08-17  Eli Zaretskii  <eliz@gnu.org>
23498         Improve support of the ancient Egyptian script
23500         * lisp/international/fontset.el (script-representative-chars)
23501         (setup-default-fontset): Add Egyptian.  (Bug#15420)
23503 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
23505         Have time-add etc. respect CURRENT_TIME_LIST too
23507         * src/timefns.c (time_arith) [!CURRENT_TIME_LIST]:
23508         Don’t generate a list, since CURRENT_TIME_LIST is false.
23510 2019-08-16  Eli Zaretskii  <eliz@gnu.org>
23512         Fix a recent documentation change
23514         * doc/emacs/windows.texi (Other Window): Add a cross-reference
23515         to "Rebinding".  (Bug#12431)
23517 2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>
23519         More-compatible subsecond calendrical timestamps
23521         Instead of appending a subseconds member to the result of
23522         ‘decode-time’, this keeps the format unchanged unless you give
23523         a new optional argument to ‘decode-time’.  Also, the augmented
23524         format now puts the subsecond info in the SECONDS element, so
23525         the total number of elements is unchanged; this is more
23526         compatible with code that expects the traditional 9 elements,
23527         such as ‘(pcase decoded-time (`(,SEC ,MIN ,HOUR ,DAY ,MON
23528         ,YEAR ,DOW ,DST ,ZONE) ...) ...)’.
23529         * doc/lispref/os.texi, doc/misc/emacs-mime.texi, etc/NEWS:
23530         * lisp/net/soap-client.el (soap-decode-date-time):
23531         * lisp/simple.el (decoded-time):
23532         Document the new behavior.
23533         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
23534         * lisp/calendar/iso8601.el (iso8601-parse)
23535         (iso8601-parse-time, iso8601-parse-duration)
23536         (iso8601--decoded-time):
23537         * lisp/calendar/parse-time.el (parse-time-string):
23538         * lisp/calendar/time-date.el (decoded-time-add)
23539         (decoded-time--alter-second):
23540         * lisp/org/org.el (org-parse-time-string):
23541         * lisp/simple.el (decoded-time):
23542         * src/timefns.c (Fdecode_time, Fencode_time):
23543         * test/lisp/calendar/icalendar-tests.el:
23544         (icalendar--decode-isodatetime):
23545         * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
23546         (test-iso8601-date-dates, test-iso8601-date-obsolete)
23547         (test-iso8601-date-weeks, test-iso8601-date-ordinals)
23548         (test-iso8601-time, test-iso8601-combined)
23549         (test-iso8601-duration, test-iso8601-intervals)
23550         (standard-test-dates, standard-test-time-of-day-fractions)
23551         (standard-test-time-of-day-beginning-of-day)
23552         (standard-test-time-of-day-utc)
23553         (standard-test-time-of-day-zone)
23554         (standard-test-date-and-time-of-day, standard-test-interval):
23555         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
23556         * test/src/timefns-tests.el (format-time-string-with-zone)
23557         (encode-time-dst-numeric-zone):
23558         Revert recent changes that added a SUBSECS member to
23559         calendrical timestamps, since that component is no longer
23560         present (the info, if any, is now in the SECONDS member).
23561         * lisp/calendar/time-date.el (decoded-time-add)
23562         (decoded-time--alter-second):
23563         Support fractional seconds in the new form.  Simplify.
23564         * src/timefns.c (Fdecode_time): Support new arg FORM.
23565         (Fencode_time): Support subsecond resolution.
23566         * test/src/timefns-tests.el (format-time-string-with-zone)
23567         (decode-then-encode-time): Test subsecond calendrical timestamps.
23569 2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>
23571         Broaden format-seconds to Lisp timestamps
23573         * lisp/calendar/time-date.el (format-seconds):
23574         Accept any Lisp timestamp instead of insisting on a number.
23576 2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>
23578         Subtracting “now” from “now” should yield zero
23580         * src/timefns.c (time_arith): Arrange for (time-subtract nil
23581         nil) to yield 0, to be consistent with (time-equal-p nil nil).
23582         * test/lisp/calendar/time-date-tests.el (test-time-since): New test.
23584 2019-08-16  Paul Eggert  <eggert@cs.ucla.edu>
23586         Fix time-add rounding bug
23588         Without this fix, time arithmetic yielded results that were not
23589         mathematically accurate, even though the exact results were
23590         representable; for example, (time-add 0 1e-13) yielded a timestamp
23591         equal to 0 instead of to 1e-13.
23592         * lisp/timezone.el (timezone-time-from-absolute):
23593         Let time-add do its thing rather than using floating point
23594         internally, which has rounding errors.  We now have bignums and so
23595         don’t need floating point to avoid overflow issues.
23596         * src/timefns.c (timeform_sub_ps_p): New function.
23597         (time_arith): If either argument is a float, represent the
23598         result exactly instead of discarding sub-ps info.
23599         * test/lisp/timezone-tests.el (timezone-tests-time-from-absolute):
23600         Don’t assume (HI LO US PS) timestamp format.
23601         * test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
23602         Don’t assume that time-add discards sub-ns info.
23603         * test/src/timefns-tests.el (time-rounding-tests):
23604         Add regression test to detect time-add rounding bug.
23606 2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>
23608         Mention `next-multiframe-window' when talking about `other-window'
23610         * doc/emacs/windows.texi (Other Window): Mention
23611         the `next-multiframe-window' command here (which is otherwise not
23612         documented in the manual) (bug#12431).
23614 2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>
23616         Add missing skeleton entries in autotype.texi
23618         * doc/misc/autotype.texi: Add missing entries found in the doc
23619         string to `skeleton-insert' (bug#12563).
23621 2019-08-16  Alex Branham  <alex.branham@gmail.com>
23623         Make checkdoc check cl-lib function docstrings
23625         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
23626         Remove calls to delete-region to avoid deleting final " (bug#26328).
23627         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring)
23628         (checkdoc-defun-info): Include cl-defun, cl-defgeneric,
23629         cl-defmethod.
23630         (checkdoc-this-string-valid-engine): Add cl-lib supported
23631         keywords.
23632         (checkdoc-defun-info): Ensure function parameters are a
23633         "flat" list (bug#37034).
23635 2019-08-16  Alex Branham  <alex.branham@gmail.com>
23637         Avoid deleting closing quotation mark in checkdoc
23639         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
23640         Remove calls to delete-region to avoid deleting final " (bug#26328).
23642 2019-08-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23644         Revert "package.el: Allow Package-Requires to span multiple lines (Bug#36301)"
23646         This reverts commit 19c1e4c81c7442dea48253e5961b6e54d78b6f0a.
23648         This commit broke some package tests, reverting for now.
23650 2019-08-16  Lars Ingebrigtsen  <larsi@gnus.org>
23652         Mention that text properties are removed in substitute-command-keys
23654         * src/doc.c (Fsubstitute_command_keys): Restore the bit in the doc
23655         string that mentions that text properties is removed (bug#17052).
23657 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23659         Add some examples in "Adding Generalized Variables"
23661         * doc/lispref/variables.texi (Adding Generalized Variables): Add
23662         examples for `gv-define-expander' and `gv-letplace' (bug#13343).
23664 2019-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23666         package.el: Allow Package-Requires to span multiple lines (Bug#36301)
23668         * lisp/emacs-lisp/package.el (lm-header-multiline): Declare
23669         function.
23670         (package-buffer-info): Parse Package-Requires with
23671         lm-header-multiline instead of lm-header.
23672         (Bug#36301)
23674 2019-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
23676         Do not recreate full URL for proxied HTTPS requests (Bug#35969)
23678         * lisp/url/url-http.el (url-http-create-request): Do not recreate
23679         full URL for proxied HTTPS requests.
23680         (url-https-proxy-after-change-function): Do not bind
23681         url-http-proxy to nil before calling url-http-create-request.
23682         (Bug#35969)
23684 2019-08-15  Andreas Merziger  <andreas.merziger@online.de>
23686         Make diary-european-date-forms elements mutually exclusive
23688         * lisp/calendar/calendar.el (diary-european-date-forms): Make the
23689         elements mutually exclusive (bug#13536).
23691 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23693         Fix up previous cl-def* changes in bovine
23695         * lisp/cedet/semantic/bovine/el.el (lambda): cl-defun* doesn't
23696         exist (bug#17005).
23697         (lambda): Add cl-defstruct.
23698         (semantic-up-context): Add cl- forms.
23700 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23702         Reimplement the `fill-flowed' function to respect space stuffing
23704         * lisp/mail/flow-fill.el (fill-flowed): Reimplement the function
23705         to respect space-stuffing (bug#17190).
23707         * test/lisp/mail/flow-fill-tests.el
23708         (fill-flow-tests-fill-flowed-stuffed): New test.
23709         (fill-flow-tests-fill-flowed-decode): Rename the test so that it
23710         actually runs.
23712 2019-08-15  Alex Branham  <alex.branham@gmail.com>
23714         Fix eshell-mode-map initialization
23716         * lisp/eshell/esh-mode.el (eshell-mode-map, eshell-command-map): Set
23717         up normal keymaps and prefix commands rather than re-initializing them
23718         in each eshell buffer
23720         * lisp/eshell/em-cmpl.el (eshell-cmpl-mode-map, eshell-cmpl-mode)
23721         (eshell-cmpl-initialize):
23722         * lisp/eshell/em-hist.el (eshell-hist-mode-map, eshell-hist-mode)
23723         (eshell-hist-initialize):
23724         * lisp/eshell/em-pred.el (eshell-pred-mode-map, eshell-pred-mode)
23725         (eshell-pred-initialize):
23726         * lisp/eshell/em-prompt.el (eshell-prompt-mode-map, eshell-prompt-mode)
23727         (eshell-prompt-initialize):
23728         * lisp/eshell/em-rebind.el (eshell-rebind-mode-map, eshell-rebind-mode)
23729         (eshell-rebind-initialize):
23730         * lisp/eshell/esh-arg.el (eshell-arg-mode-map, eshell-arg-mode)
23731         (eshell-arg-initialize):
23732         * lisp/eshell/esh-proc.el (eshell-proc-mode-map, eshell-proc-mode)
23733         (eshell-proc-initialize):
23734         * lisp/eshell/esh-var.el (eshell-var-mode-map, eshell-var-mode)
23735         (eshell-var-initialize): Create a new minor mode with a keymap and
23736         call it in the module initialization function.
23738         bug#33808
23739         bug#22792
23741 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23743         Rename variables and functions with "auto-load" in their names
23745         * doc/emacs/building.texi (Lisp Libraries): Adjust documentation.
23747         * lisp/help-fns.el (help--symbol-completion-table): Adjust usage.
23749         * lisp/help-fns.el (help-enable-completion-autoload): Change name
23750         from auto-load and declare an obsolete alias (bug#13418).
23752         * lisp/help.el (help-enable-autoload): Ditto.
23754         * lisp/progmodes/vhdl-mode.el: Ditto.
23755         (vhdl-create-mode-menu, vhdl-mode): Adjust usage.
23756         (vhdl-autoload-project): Rename from auto-load and declare an
23757         obsolete alias.
23759 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23761         Remove mentions of XEmacs from the Gnus manual and faq
23763         * doc/misc/gnus-faq.texi:
23764         * doc/misc/gnus.texi: Remove references to XEmacs throughout.
23766 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23768         Mention what effect nil has as the prompt for read-event/char/etc
23770         * doc/lispref/commands.texi (Reading One Event): Mention that ""
23771         has the same effect as nil as a prompt.
23773         * src/lread.c (Fread_event, Fread_char_exclusive, Fread_char):
23774         Mention what happens when PROMPT is nil/"" in the doc string
23775         (bug#15012).
23777 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23779         etc/NEWS: Note that `list-processes' includes port numbers now.
23781 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23783         Fix typeof portability issue with bitfields
23785         Problem reported by Glenn Morris in:
23786         https://lists.gnu.org/r/emacs-devel/2019-08/msg00300.html
23787         * src/lisp.h (lisp_h_make_fixnum): Use typeof (+(n)) instead
23788         of typeof (n), so that it works with compilers that do
23789         not allow typeof to be applied to a bitfield.
23791 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23793         Fix rounding errors with float timestamps
23795         When converting from float to (TICKS . HZ) form, do the
23796         conversion exactly.  When converting from (TICKS . HZ) form to
23797         float, round to even precisely.  This way, successfully
23798         converting a float to (TICKS . HZ) and back yields a value
23799         numerically equal to the original.
23800         * src/timefns.c (flt_radix_power_size): New constant.
23801         (flt_radix_power): New static var.
23802         (decode_float_time): Convert the exact numeric value rather
23803         than guessing TIMESPEC_HZ resolution.
23804         (s_ns_to_double): Remove; no longer needed.
23805         (frac_to_double): New function.
23806         (decode_ticks_hz): It is now the caller’s responsibility to
23807         pass a valid TICKS and HZ.  All callers changed.
23808         Use frac_to_double to round (TICKS . HZ) precisely.
23809         (decode_time_components): When decoding nil, use
23810         decode_ticks_hz since it rounds precisely.
23811         (syms_of_timefns): Initialize flt_radix_power.
23812         * test/src/timefns-tests.el (float-time-precision): New test.
23814 2019-08-15  Michael Albinus  <michael.albinus@gmx.de>
23816         Give auto-revert-test02-auto-revert-deleted-file a chance on hydra
23818         * test/lisp/autorevert-tests.el
23819         (auto-revert-test02-auto-revert-deleted-file): Don't skip on hydra.
23821 2019-08-15  Michael Albinus  <michael.albinus@gmx.de>
23823         Improve Tramp manual
23825         * doc/misc/tramp.texi (GVFS based methods): Explain using `ftp'
23826         and `smb' methods.
23828 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23830         Debug out-of-range make_fixnum args
23832         With --enable-checking, make_fixnum (N) now checks that N is
23833         in fixnum range.  Suggested by Pip Cet in:
23834         https://lists.gnu.org/r/emacs-devel/2019-07/msg00548.html
23835         A new function make_ufixnum (N) is for the rare cases where N
23836         is intended to be unsigned and is in the range 0..INTMASK.
23837         * configure.ac (AC_C_TYPEOF): Add.
23838         (HAVE_STATEMENT_EXPRESSIONS): Resurrect this macro.
23839         * src/fns.c (Frandom, hashfn_eq, hashfn_equal, hashfn_user_defined):
23840         * src/profiler.c (hashfn_profiler):
23841         Use make_ufixnum rather than make_fixum, since the argument is
23842         an unsigned integer in the range 0..INTMASK rather than a signed
23843         integer in the range MOST_NEGATIVE_FIXNUM..MOST_POSITIVE_FIXNUM.
23844         Typically this is for hashes.
23845         * src/lisp.h (lisp_h_make_fixnum_wrap) [USE_LSB_TAG]:
23846         Rename from lisp_h_make_fixnum.
23847         (lisp_h_make_fixnum): Redefine in terms of lisp_h_make_fixnum_wrap.
23848         Check for fixnum overflow on compilers like GCC that
23849         have statement expressions and typeof.
23850         (FIXNUM_OVERFLOW_P): Move up.
23851         (make_fixnum): Check for fixnum overflow.
23852         (make_ufixnum): New function, which checks that the arg
23853         fits into 0..INTMASK range.
23855 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23857         Fix some fixnum overflow problems in ccl.c
23859         * src/ccl.c (ccl_driver, Fccl_execute, Fccl_execute_on_string):
23860         Don’t assume CCL registers fit into fixnums.
23862 2019-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23864         Port mod-test-nanoseconds to 32-bit Emacs
23866         * test/src/emacs-module-tests.el (mod-test-nanoseconds):
23867         Don’t assume -1000000000 is a fixnum.
23869 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23871         Include port numbers in `M-x list-processes'
23873         * lisp/simple.el (list-processes--refresh): Include the port
23874         numbers in the network connection list (bug#13604).
23876 2019-08-15  Lars Ingebrigtsen  <larsi@gnus.org>
23878         Add some cl- concept index entries
23880         * doc/misc/cl.texi (Argument Lists): Add a couple of concept index
23881         entried (bug#13606).
23883 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23885         Clarify the doc string of complete-with-action
23887         * lisp/minibuffer.el (complete-with-action): Doc string
23888         clarification (bug#13993).
23890 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23892         Clean up Gnus manual reference to XEmacs variables
23894         * doc/misc/gnus.texi (XVarious): Remove section about XEmacs
23895         variables that have been removed.
23897 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23899         Minor Scroll Bars clarification
23901         * doc/emacs/frames.texi (Scroll Bars): Clarify what we mean by
23902         "customize" here (bug#14321).
23904 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23906         Arrange custom-face-attributes closer to how heavy they are
23908         * lisp/cus-face.el (custom-face-attributes): Arrange the weights
23909         more in order of how heavy they are (bug#15526).
23911 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23913         Use gnus-summary-button-forward in gnus-summary-mode-map
23915         * lisp/gnus/gnus-sum.el (gnus-summary-mode-map): Use
23916         `gnus-summary-button-forward' instead of the obsolete
23917         `gnus-summary-widget-forward'.
23919 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
23921         Remove INT_ADD_WRAPV bug workarounds
23923         * src/alloc.c (free_cons):
23924         * src/casefiddle.c (do_casify_multibyte_string):
23925         * src/editfns.c (styled_format):
23926         * src/image.c (png_load_body):
23927         Remove recent workarounds for INT_ADD_WRAPV bugs since
23928         the bugs have been fixed (Bug#37006).
23930 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23932         Add C-b/f/p/n keystrokes in `M-x snake'
23934         * lisp/play/snake.el (snake-mode-map): Add the C-b/f/p/n in
23935         addition to the cursor keys (bug#16720).
23937 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
23939         Update from Gnulib
23941         This incorporates:
23942         2019-08-14 intprops: pacify picky GCC
23943         2019-08-14 intprops: support unsigned *_WRAPV results
23944         2019-08-12 verify: improve diagnostic quality in recent GCC
23945         * lib/intprops.h, lib/verify.h: Copy from Gnulib.
23947 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23949         Add cl-def* forms to bovine/el.el
23951         * lisp/cedet/semantic/bovine/el.el (lambda): Add the cl-def*
23952         variations to allow semantic to find the definitions (bug#17005).
23954 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23956         Don't alter function name face height in manoj-dark theme
23958         * etc/themes/manoj-dark-theme.el (manoj-dark): Don't alter the
23959         height of function name faces, because this makes many tabulated
23960         modes not longer line up (bug#17042).
23962 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23964         Respect the BUFFER parameter in `fill-flowed'
23966         * lisp/mail/flow-fill.el (fill-flowed): `current-buffer' is always
23967         non-nil, so respect the BUFFER parameter.  Also add a doc string.
23969 2019-08-14  Lars Ingebrigtsen  <larsi@gnus.org>
23971         Output the maintainer and author(s) in the package description buffer
23973         * lisp/emacs-lisp/package.el (describe-package-1): Output
23974         maintainer and author(s) (bug#17573).
23975         (package--print-email-button): New function.
23977 2019-08-14  Eli Zaretskii  <eliz@gnu.org>
23979         Fix fetching URLs with stuff that looks like HTTP headers
23981         * lisp/url/url-http.el (url-http-parse-headers): Narrow the
23982         buffer to the headers at the beginning to make sure
23983         url-handle-content-transfer-encoding uses the correct
23984         headers.  (Bug#37023)
23986 2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>
23988         Don’t increase consing_until_gc when out of memory
23990         * src/alloc.c (memory_full): Don’t increase consing_until_gc.
23991         Suggested by Eli Zaretskii (Bug#37006#46).
23993 2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>
23995         Let consing_until_gc exceed EMACS_INT_MAX
23997         This builds on the previous patch.
23998         * src/alloc.c (consing_until_gc): Now of type intmax_t,
23999         since gc-cons-threshold can be up to INTMAX_MAX.  All uses changed.
24000         * src/lisp.h (CONSING_CT_MAX, consing_ct): Remove.
24002 2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>
24004         Let consing_until_gc exceed INTPTR_MAX
24006         Suggested by Eli Zaretskii (Bug#37006#46).
24007         * src/alloc.c (consing_until_gc): Now of type consing_ct.
24008         All uses changed, so gc-cons-threshold no longer saturates
24009         against OBJECT_CT_MAX.
24010         (object_ct): Move typedef here from lisp.h.
24011         * src/lisp.h (consing_ct, CONSING_CT_MAX): New type and macro.
24012         (OBJECT_CT_MAX): Remove.  Replace all uses with CONSING_CT_MAX.
24014 2019-08-13  Paul Eggert  <eggert@cs.ucla.edu>
24016         Fix GC threshold typo
24018         Problem reported by Eli Zaretskii (Bug#37006#25).
24019         * src/alloc.c (garbage_collect_1): Fix typo in threshold calc.
24020         Go back to dividing by 10 since the numerator’s a constant now.
24021         Problem introduced in 2019-07-21T02:40:03Z!eggert@cs.ucla.edu.
24023 2019-08-13  Eli Zaretskii  <eliz@gnu.org>
24025         Improve documentation of 'diff-font-lock-prettify'
24027         * lisp/vc/diff-mode.el (diff-font-lock-prettify): Doc fix.
24029         * etc/NEWS: Minor copyedits.
24031 2019-08-13  Eli Zaretskii  <eliz@gnu.org>
24033         Fix initialization of user-defined fringe bitmaps in daemon mode
24035         * src/fringe.c (gui_init_fringe): Rename from w32_init_fringe
24036         or x_cr_init_fringe, and make unconditionally compiled; all
24037         callers changed.  Do nothing if the frame's
24038         redisplay_interface doesn't implement the define_fringe_bitmap
24039         method.  Set up any user-defined fringe bitmaps in addition to
24040         the standard bitmaps.
24041         Suggested by Liam Quinlan <liamkquinlan@gmail.com> in
24042         https://lists.gnu.org/r/emacs-devel/2019-08/msg00259.html.
24044         (w32_reset_fringes) [HAVE_NTGUI]: Do nothing if the frame's
24045         redisplay_interface doesn't implement the
24046         destroy_fringe_bitmap method.
24048         * src/w32fns.c (Fx_create_frame): Call gui_init_fringe when
24049         the first GUI frame is created for this session.
24050         * src/dispextern.h (w32_init_fringe): Rename to
24051         gui_init_fringe and make unconditional.
24052         (x_cr_init_fringe): Remove prototype.
24054 2019-08-12  Óscar Fuentes  <ofv@wanadoo.es>
24056         * lisp/password-cache.el: adapt test to change in password-in-cache-p
24058 2019-08-12  Michael Albinus  <michael.albinus@gmx.de>
24060         Quote file names properly in Tramp
24062         * lisp/net/tramp.el (tramp-handle-file-truename)
24063         (tramp-handle-insert-directory):
24064         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
24065         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
24066         (tramp-sh-handle-insert-directory):
24067         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
24068         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
24069         Use `tramp-compat-directory-name-p'.
24071         * lisp/net/tramp.el (tramp-drop-volume-letter)
24072         (tramp-handle-file-truename):
24073         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
24074         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
24075         (tramp-sh-handle-file-truename):
24076         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
24077         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
24078         (tramp-sudoedit-handle-make-symbolic-link): Quote properly.
24080         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote)
24081         (tramp-compat-file-name-unquote): Add optional argument TOP.
24083 2019-08-12  Michael Albinus  <michael.albinus@gmx.de>
24085         Handle symbolic links properly in Tramp gfvs methods
24087         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-readable-p):
24088         Handle symbolic links.
24090 2019-08-12  Michael Albinus  <michael.albinus@gmx.de>
24092         Fix caching problem in Tramp smb method
24094         * lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
24095         Add "file-entries",
24097 2019-08-11  Paul Eggert  <eggert@cs.ucla.edu>
24099         Prefer signed when testing for signed overflow
24101         * src/alloc.c (free_cons):
24102         * src/casefiddle.c (do_casify_multibyte_string):
24103         * src/editfns.c (styled_format):
24104         * src/image.c (png_load_body):
24105         Use signed arguments to INT_MULTIPLY_WRAPV etc.  This doesn’t fix
24106         any bugs, but GCC emits better code when all args are signed.
24107         Also, this removes the need for an if in free_cons (Bug#37006).
24109 2019-08-11  Óscar Fuentes  <ofv@wanadoo.es>
24111         password-cache: differentiate null values from non-existent entries
24113         * lisp/password-cache.el (password-in-cache-p, password-cache-add):
24114           properly detect non-existent entry.  (Bug#36834)
24116 2019-08-11  Eli Zaretskii  <eliz@gnu.org>
24118         Fix garbage collection
24120         * src/alloc.c (free_cons): Avoid false positives in
24121         INT_ADD_WRAPV.  (Bug#37006)
24123 2019-08-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
24125         Prompt for new sieve script names in sieve management
24127         * lisp/net/sieve.el (sieve-edit-script): Otherwise the user ends up
24128         with a script named '<new script>.sieve'.
24130 2019-08-11  Michael Albinus  <michael.albinus@gmx.de>
24132         Retrieve start time from remote machine, use compat attrib functions
24134         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-access-time)
24135         (tramp-compat-file-attribute-status-change-time): New defaliases.
24137         * test/lisp/net/tramp-tests.el (tramp--test-start-time): New defvar.
24138         (tramp--test-file-attributes-equal-p)
24139         (tramp-test19-directory-files-and-attributes): Use it.
24140         (tramp-test18-file-attributes)
24141         (tramp--test-file-attributes-equal-p, tramp-test20-file-modes)
24142         (tramp-test22-file-times, tramp--test-check-files):
24143         Use `tramp-compat-file-attribute-*' functions.
24145 2019-08-10  Glenn Morris  <rgm@gnu.org>
24147         Set custom :version for recently modified undo options
24149         * lisp/cus-start.el (undo-limit, undo-strong-limit, undo-outer-limit):
24150         Bump :version.
24152 2019-08-10  Stefan Kangas  <stefankangas@gmail.com>
24154         * doc/emacs/calendar.texi (Time Intervals): Doc fix.
24156 2019-08-10  Stefan Kangas  <stefankangas@gmail.com>
24158         Double undo limits
24160         * src/undo.c (syms_of_undo) <undo_limit, undo_strong_limit>
24161         <Vundo_outer_limit>: Double undo limits.  (Bug#31104)
24163 2019-08-10  Glenn Morris  <rgm@gnu.org>
24165         Merge from origin/emacs-26
24167         0860ac0 (origin/emacs-26) Improve documentation of features that use ...
24168         fae1ff6 Fix docstrings in pong
24169         82a2894 Improve doc strings of 'append-to-buffer' and friends
24170         cb0403d Fix octave-mode ElDoc support
24171         691790b Avoid Groff hanging on MS-Windows when invoked by "M-x man"
24173 2019-08-10  Glenn Morris  <rgm@gnu.org>
24175         Merge from origin/emacs-26
24177         e7818cb Fix nnmail-expiry-wait docs and custom :types
24178         8b7c776 * lisp/simple.el (kill-do-not-save-duplicates): Doc fix.  (Bu...
24180 2019-08-10  Michael Albinus  <michael.albinus@gmx.de>
24182         Use a time offset when comparing times of local and remote machines
24184         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
24185         Use a time offset in order to compensate different times on local
24186         and remote machines.
24188 2019-08-10  Mauro Aranda  <maurooaranda@gmail.com>
24190         Fix pong collision detection
24192         * lisp/play/pong.el (pong-update-game): If the ball hit the bat where
24193         bats are positioned, draw again the bat cell in the old ball
24194         position.  (Bug#20579).
24195         Also, avoid changing the direction of the ball right after hitting the
24196         bats, and improve the collision detection against the borders.
24198 2019-08-10  Alex Gramiak  <agrambot@gmail.com>
24200         Set up defined_color_hook for the initial frame
24202         * src/terminal.c (init_initial_terminal): Set up the
24203         defined_color_hook.  This avoids crashes when running
24204         in batch mode with code that manipulates colors.
24205         (Bug#36019)
24207 2019-08-10  Philippe Schnoebelen  <schnoebelen.ph@gmail.com>  (tiny change)
24209         Support bool-vectors in cl-extra.el
24211         * lisp/emacs-lisp/cl-extra.el (cl-coerce): Support bool-vector.
24213 2019-08-09  Juri Linkov  <juri@linkov.net>
24215         * lisp/frameset.el (frameset--minibufferless-last-p): Add comments (bug#36894)
24217 2019-08-09  Eli Zaretskii  <eliz@gnu.org>
24219         Fix highlighting in man pages displayed by "M-x man"
24221         * lisp/man.el (Man-highlight-references0): Handle the case
24222         when a section is divided between 2 or more chunks of text
24223         received from the 'man' program.  (Bug#36927)
24225 2019-08-09  Eli Zaretskii  <eliz@gnu.org>
24227         Fix doc strings modified in recent changes
24229         * src/xfns.c (Fx_change_window_property)
24230         (Fx_delete_window_property, Fx_window_property)
24231         (Fx_window_property_attributes): Doc fixes.
24233 2019-08-08  Noah Friedman  <friedman@splode.com>
24235         Provide better target window consistency across x window property functions.
24237         Use the argument name WINDOW-ID instead of SOURCE for same.
24238         Revise docstrings to clarify semantics of FRAME and WINDOW-ID.
24240         (Fx_change_window_property): Use `target_window' instead of `w'.
24241         This is consistent with other related functions.
24242         Finalize its value before blocking input.
24244         (Fx_window_property):
24245         (Fx_window_property_attributes): Use `window_id' instead of `source'.
24247         (Fx_delete_window_property): New optional arg window_id.
24249 2019-08-08  Noah Friedman  <friedman@splode.com>
24251         (Fx_change_window_property): Rename SOURCE arg to WINDOW-ID
24253 2019-08-08  Noah Friedman  <friedman@splode.com>
24255         (Fx_change_window_property): Add optional arg SOURCE.
24257         This provides symmetry with Fx_window_property, so that the window
24258         need not be an actual emacs frame.  This is useful for modifying
24259         properties of parent windows (specified with --parent-id to emacs) or
24260         generally assisting the window manager.
24262 2019-08-08  Stefan Kangas  <stefankangas@gmail.com>
24264         Use "python -m pdb" when "pdb" is missing in M-x pdb
24266         * lisp/progmodes/gud.el (gud-pdb-command-name): Use "python -m pdb"
24267         when "pdb" is missing.  (Bug#21521)
24269 2019-08-08  Noam Postavsky  <npostavs@gmail.com>
24271         Say how to enable event designators in the eshell manual
24273         * doc/misc/eshell.texi (History): Mention that event designators need
24274         to be enabled.
24275         * etc/NEWS: Mark corresponding entry as documented in manual.
24277 2019-08-08  Michael Albinus  <michael.albinus@gmx.de>
24279         Work on Tramp backward compatibility
24281         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
24282         (tramp-adb-handle-rename-file):
24283         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
24284         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
24285         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
24286         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
24287         (tramp-smb-handle-rename-file):
24288         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
24289         Use `tramp-compat-directory-name-p'.
24291 2019-08-08  Michael Albinus  <michael.albinus@gmx.de>
24293         Improve time arithmetic in tramp--test-file-attributes-equal-p
24295         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
24296         Improve time arithmetic.
24298 2019-08-08  Michael Albinus  <michael.albinus@gmx.de>
24300         Suppress false alarm in Tramp
24302         * lisp/net/tramp.el (tramp-dissect-file-name): Suppress false alarm.
24304 2019-08-08  Stefan Kangas  <stefankangas@gmail.com>
24306         Suppress interactive-only warnings in undo-tests.el (Bug#36565)
24308         * test/src/undo-tests.el (undo-test-region-deletion)
24309         (undo-test-region-example, undo-test-marker-adjustment-nominal)
24310         (undo-test-region-t-marker, undo-test-marker-adjustment-moved)
24311         (undo-test-region-mark-adjustment): Suppress interactive-only warnings
24312         by using funcall-interactively.
24314 2019-08-08  Mattias Engdegård  <mattiase@acm.org>
24316         Suppress relint errors in fortran.el
24318         * lisp/progmodes/fortran.el (fortran-indent-to-column):
24319         Suppress relint complaints about duplicated character in skip-set;
24320         it's intentional and harmless.
24322 2019-08-08  Mattias Engdegård  <mattiase@acm.org>
24324         Fix XTerm OSC 52 selection retrieval (bug#36879)
24326         When asking XTerm for the selection via OSC 52, use ST as string
24327         terminator in the request to get ST as terminator in the reply,
24328         because BEL is messy to receive in many ways.
24330         * lisp/term/xterm.el (gui-backend-get-selection):
24331         Use ST as string terminator in request and reply.
24332         Use a time-out when reading the reply.
24334 2019-08-07  Glenn Morris  <rgm@gnu.org>
24336         Tests need to be moved when source files are
24338         * test/lisp/obsolete/cl-tests.el: Move from test/lisp/emacs-lisp.
24340 2019-08-07  Michael Albinus  <michael.albinus@gmx.de>
24342         Continue to work on Bug#36940
24344         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
24345         Make the check more precise.  (Bug#36940)
24347 2019-08-07  Robert Pluim  <rpluim@gmail.com>
24349         Change nsm-should-check to look at local subnets
24351         * lisp/net/nsm.el (nsm-network-same-subnet): New function.  Checks
24352         if an ip address is in the same subnet as another one.
24353         (nsm-should-check): Use nsm-network-same-subnet to see if we're
24354         connecting to a local subnet machine.  Remove checks for RFC1918 addresses.
24356         * test/lisp/net/nsm-tests.el: New file.  Test nsm-should-check functionality.
24358 2019-08-07  Robert Pluim  <rpluim@gmail.com>
24360         fixup! Implement hostname->ip lookup function
24362 2019-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24364         Re-port dump_bitset_clear to -fsanitize=undefined
24366         * src/pdumper.c (dump_bitset_clear): Skip the memset if the
24367         size is zero, because in that case the destination might be NULL.
24368         This fixes a bug introduced in 2019-07-26T06:17:52Zeggert@cs.ucla.edu.
24369         Add a comment to make the bug less likely to reoccur.
24371 2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24373         * lisp/gnus/message.el (message-sendmail-f-is-evil): Revert recent change
24375         (bug#36937)
24377 2019-08-06  Michael Albinus  <michael.albinus@gmx.de>
24379         Fix Bug#36940
24381         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
24382         Make the check more precise.  (Bug#36940)
24383         (tramp-test19-directory-files-and-attributes): Move some checks to
24384         `tramp--test-file-attributes-equal-p'.
24386 2019-08-06  Alan Mackenzie  <acm@muc.de>
24388         C++ Mode: Prevent End of statement being found after {} in "count << vec{} <<"
24390         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Check for
24391         operators which cannot start a statement, which may follow a closing brace.
24392         Don't recognise an end of statement in such a case.
24394         * lisp/progmodes/cc-langs.el (c-operator-re, c-bin-tern-operators)
24395         (c-unary-operators, c-non-after-{}-operators, c-non-after-{}-ops-re): New lang
24396         consts and vars.
24398 2019-08-06  Eli Zaretskii  <eliz@gnu.org>
24400         Fix minor compilation problems on MS-Windows
24402         * src/w32fns.c (Fdefault_printer_name): Fix size of local
24403         buffer.
24404         * src/image.c [WINDOWSNT]: Test __MINGW_MAJOR_VERSION as well
24405         to shut up compiler warnings.
24407 2019-08-06  Mattias Engdegård  <mattiase@acm.org>
24409         Fix various Calc date conversions (bug#36822)
24411         * lisp/calc/calc-forms.el (math-absolute-from-gregorian-dt):
24412         Rewrite in a way that I understand, and that actually seems to work.
24413         (math-absolute-from-julian-dt): Use Julian, not Gregorian, leap year
24414         rules for counting days within a year.
24415         (math-julian-date-beginning, math-julian-date-beginning-int):
24416         Change constants to be consistent with their doc strings and the code:
24417         use Rata Die epoch at Dec 31, 1 BC Gregorian proleptic, not Julian.
24418         * doc/misc/calc.texi (Date Forms): Correct difference between Julian
24419         Day and Rata Die.
24420         * test/lisp/calc/calc-tests.el (calc-test-calendar): New test.
24422 2019-08-06  Mattias Engdegård  <mattiase@acm.org>
24424         Add conditional operator xor to subr.el
24426         Suggested by Oleh Krehel and implemented by Basil Contovounesios in
24427         the following thread:
24428         https://lists.gnu.org/r/emacs-devel/2019-07/msg00547.html
24430         * lisp/array.el (xor): Move unused function from here...
24431         * lisp/subr.el: ...to here, and improve.
24432         * lisp/gnus/spam.el (spam-xor):
24433         * lisp/play/5x5.el (5x5-xor):
24434         * lisp/proced.el (proced-xor):
24435         * lisp/progmodes/idlwave.el (idlwave-xor):
24436         * lisp/vc/diff-mode.el (diff-xor): Define as obsolete aliases of,
24437         and replace all uses with, xor.
24438         * lisp/jsonrpc.el: Remove unused dependency on array.el.
24439         * lisp/org/org.el (org-xor): Move from here...
24440         * lisp/org/org-compat.el (org-xor): ...to here, as a compatibility
24441         shim for xor.
24442         * lisp/progmodes/idlw-shell.el (idlwave-shell-enable-all-bp):
24443         * lisp/simple.el (exchange-point-and-mark):
24444         * lisp/windmove.el (windmove-display-in-direction): Use xor.
24445         * lisp/strokes.el (strokes-xor): Remove commented-out xor
24446         implementation.
24448         * doc/lispref/control.texi (Control Structures): Extend menu entry
24449         for new combining condition.
24450         (Combining Conditions):
24451         * etc/NEWS (Lisp Changes): Document xor.
24453         * test/lisp/subr-tests.el (subr-test-xor): New test.
24455 2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24457         Move cl.el to lisp/obsolete
24459         * lisp/emacs-lisp/cl.el: Move from here...
24460         * lisp/obsolete/cl.el: ...to here.
24462         * lisp/subr.el (do-after-load-evaluation): Use "deprecated" in the
24463         message when loading packages from lisp/obsolete.
24465 2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24467         * lisp/mail/rfc2047.el (rfc2047-encodable-p): Don't require `message`.
24469         Use bound-and-true-p rather than requiring `message` to get
24470         message-posting-charset (since it defaults to nil anyway).
24472 2019-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
24474         * lisp/mh-e: Use cl-lib
24476         Also, use underscore prefixes and defvar in preparation for lexical binding
24478         * lisp/mh-e/mh-acros.el: Require cl-lib instead of cl.
24479         Rename all cl.el uses by adding `cl-` prefix.
24480         (mh-require-cl): Remove.  Not needed any more.  Remove all calls.
24481         (mh-defstruct): Remove.  Replace all uses with cl-defstruct.
24482         (mh-dlet*): New macro.
24484         * lisp/mh-e/mh-comp.el (mh-user-agent-compose): Fold all ignored
24485         optional args into the &rest arg.
24487         * lisp/mh-e/mh-e.el: Require cl-lib instead of using mh-require-cl.
24488         (mh-variants): Don't add-to-list on a local var.
24490         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer): Use shorter arg
24491         names that don't collide with global vars.
24493         * lisp/mh-e/mh-mime.el (mh-insert-mime-button):
24494         (mh-insert-mime-security-button): Use mh-dlet*.
24496         * lisp/mh-e/mh-search.el (mh-swish-next-result, mh-grep-next-result)
24497         (mh-namazu-next-result): Use `or`.
24499         * lisp/mh-e/mh-thread.el (mh-thread-generate)
24500         (mh-thread-prune-containers): Use underscore rather than declare+ignore.
24502         * lisp/mh-e/mh-tool-bar.el (mh-tool-bar-define): Use mh-dlet*.
24503         (mh-tool-bar-define): Prefer the more precise \`...\' regexp ops.
24504         Prefer Elisp's `eval-and-compile` over `cl-eval-when`.
24506         * lisp/mh-e/mh-xface.el (mh-picon-get-image): Don't use
24507         mh-funcall-if-exists for ietf-drums-parse-address.
24508         Avoid the use of `cl-return` and hence use plain `defun`.
24509         Replace some `cl-loop` with `dolist`.
24511 2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24513         decode-time now returns subsec too
24515         The list that decode-time returns now contains an extra
24516         trailing component that counts the subseconds part of the
24517         original timestamp (Bug#36549).
24518         This builds on a suggestion by Lars Ingebrigtsen in:
24519         https://lists.gnu.org/r/emacs-devel/2019-07/msg00734.html
24520         * doc/lispref/os.texi (Time Conversion):
24521         * doc/misc/emacs-mime.texi (time-date):
24522         * etc/NEWS: Document this.
24523         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
24524         * lisp/calendar/iso8601.el (iso8601-parse)
24525         (iso8601-parse-time, iso8601-parse-duration)
24526         (iso8601--decoded-time):
24527         * lisp/calendar/parse-time.el (parse-time-string):
24528         * lisp/calendar/time-date.el (make-decoded-time)
24529         (decoded-time-set-defaults):
24530         * lisp/org/org.el (org-fix-decoded-time)
24531         (org-parse-time-string):
24532         * src/timefns.c (Fdecode_time):
24533         Generate subsec member for decoded time.
24534         * lisp/calendar/time-date.el (decoded-time-add)
24535         Add the decoded subsec too.
24536         * lisp/simple.el (decoded-time): New subsec member.
24537         * src/data.c (Frem): Simplify zero-check to match that of new Fmod.
24538         (integer_mod): New function, with most of the guts of the old Fmod.
24539         Remove redundant zero-check.
24540         (Fmod): Use it.
24541         * src/timefns.c (Fencode_time): Handle new subsec member
24542         or (with the obsolescent calling convention) subsec arg.
24543         It defaults to 0.
24544         * test/lisp/calendar/icalendar-tests.el:
24545         (icalendar--decode-isodatetime):
24546         * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
24547         (test-iso8601-date-dates, test-iso8601-date-obsolete)
24548         (test-iso8601-date-weeks, test-iso8601-date-ordinals)
24549         (test-iso8601-time, test-iso8601-combined)
24550         (test-iso8601-duration, test-iso8601-intervals)
24551         (standard-test-dates, standard-test-time-of-day-fractions)
24552         (standard-test-time-of-day-beginning-of-day)
24553         (standard-test-time-of-day-utc)
24554         (standard-test-time-of-day-zone)
24555         (standard-test-date-and-time-of-day, standard-test-interval):
24556         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
24557         * test/src/timefns-tests.el (format-time-string-with-zone)
24558         (encode-time-dst-numeric-zone):
24559         Adjust to match new behavior.
24561 2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24563         New function time-convert
24565         This replaces the awkward reuse of encode-time to both convert
24566         calendrical timestamps to Lisp timestamps, and to convert Lisp
24567         timestamps to other forms.  Now, encode-time does just the
24568         former and the new function does just the latter.
24569         The new function builds on a suggestion by Lars Ingebrigtsen in:
24570         https://lists.gnu.org/r/emacs-devel/2019-07/msg00801.html
24571         and refined by Stefan Monnier in:
24572         https://lists.gnu.org/r/emacs-devel/2019-07/msg00803.html
24573         * doc/lispref/os.texi (Time of Day, Time Conversion):
24574         * doc/misc/emacs-mime.texi (time-date):
24575         * etc/NEWS: Update documentation.
24576         * lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
24577         * lisp/calendar/time-date.el (seconds-to-time, days-to-time):
24578         * lisp/calendar/timeclock.el (timeclock-seconds-to-time):
24579         * lisp/cedet/ede/detect.el (ede-detect-qtest):
24580         * lisp/completion.el (cmpl-hours-since-origin):
24581         * lisp/ecomplete.el (ecomplete-add-item):
24582         * lisp/emacs-lisp/cl-extra.el (cl--random-time):
24583         * lisp/emacs-lisp/timer.el (timer--time-setter)
24584         (timer-next-integral-multiple-of-time):
24585         * lisp/find-lisp.el (find-lisp-format-time):
24586         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
24587         * lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
24588         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
24589         * lisp/gnus/nnrss.el (nnrss-normalize-date):
24590         * lisp/gnus/nnspool.el (nnspool-request-newgroups):
24591         * lisp/net/ntlm.el (ntlm-compute-timestamp):
24592         * lisp/net/pop3.el (pop3-uidl-dele):
24593         * lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
24594         * lisp/org/org-clock.el (org-clock-get-clocked-time)
24595         (org-clock-resolve, org-resolve-clocks, org-clock-in)
24596         (org-clock-out, org-clock-sum):
24597         * lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
24598         * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
24599         * lisp/proced.el (proced-format-time):
24600         * lisp/progmodes/cc-cmds.el (c-progress-init)
24601         (c-progress-update):
24602         * lisp/progmodes/cperl-mode.el (cperl-time-fontification):
24603         * lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
24604         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
24605         (vhdl-fix-case-region-1):
24606         * lisp/tar-mode.el (tar-octal-time):
24607         * lisp/time.el (emacs-uptime):
24608         * lisp/url/url-auth.el (url-digest-auth-make-cnonce):
24609         * lisp/url/url-util.el (url-lazy-message):
24610         * lisp/vc/vc-cvs.el (vc-cvs-parse-entry):
24611         * lisp/vc/vc-hg.el (vc-hg-state-fast):
24612         * lisp/xt-mouse.el (xterm-mouse-event):
24613         * test/lisp/emacs-lisp/timer-tests.el:
24614         (timer-next-integral-multiple-of-time-2):
24615         Use time-convert, not encode-time.
24616         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
24617         Don’t use now-removed FORM argument for encode-time.
24618         It wasn’t crucial anyway.
24619         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add time-convert.
24620         * lisp/emacs-lisp/elint.el (elint-unknown-builtin-args):
24621         Update encode-time signature to match current arg set.
24622         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
24623         Use timer-convert with t rather than doing it by hand.
24624         * src/timefns.c (time_hz_ticks, time_form_stamp, lisp_time_form_stamp):
24625         Remove; no longer needed.
24626         (decode_lisp_time): Rturn the form instead of having a *PFORM arg.
24627         All uses changed.
24628         (time_arith): Just return TICKS if HZ is 1.
24629         (Fencode_time): Remove argument FORM.  All callers changed.
24630         Do not attempt to encode time values; just encode
24631         decoded (calendrical) times.
24632         Unless CURRENT_TIME_LIST, just return VALUE since HZ is 1.
24633         (Ftime_convert): New function, which does the time value
24634         conversion that bleeding-edge encode-time formerly did.
24635         Return TIME if it is easy to see that it is already
24636         of the correct form.
24637         (Fcurrent_time): Mention in doc that the form is planned to change.
24638         * test/src/timefns-tests.el (decode-then-encode-time):
24639         Don’t use (encode-time nil).
24641 2019-08-05  Paul Eggert  <eggert@cs.ucla.edu>
24643         Fix minor Org timestamp inefficiencies
24645         * lisp/org/org-id.el (org-id-time-to-b36):
24646         Remove unnecessary ‘or’.
24647         * lisp/org/org.el (org-parse-time-string):
24648         Remove unnecessary ‘encode-time’.
24650 2019-08-05  Juri Linkov  <juri@linkov.net>
24652         * lisp/cus-start.el: Add :safe to display-fill-column-indicator (bug#36861)
24654         (display-fill-column-indicator)
24655         (display-fill-column-indicator-column)
24656         (display-fill-column-indicator-character): Add :safe predicates.
24658 2019-08-05  Juri Linkov  <juri@linkov.net>
24660         * lisp/frameset.el (frameset--minibufferless-last-p): Fix pcase-let.
24662         This makes frameset sorting stable.  (Bug#36894)
24664 2019-08-05  Juri Linkov  <juri@linkov.net>
24666         * lisp/dired-x.el (dired-guess-shell-alist-default): Use git when possible.
24668         Check for Git backend and provide "git apply" for patch files (bug#36895).
24670 2019-08-05  Juri Linkov  <juri@linkov.net>
24672         * lisp/dired.el (dired-special): Rename face from dired-socket (bug#24547).
24674         (dired-re-special): Rename from dired-re-socket.
24676 2019-08-05  Juri Linkov  <juri@linkov.net>
24678         * lisp/isearch.el (isearch-define-mode-toggle): Ensure isearch-mode is active.
24680         Call 'isearch-mode' when it's nil.  (Bug#36871)
24682 2019-08-05  Eli Zaretskii  <eliz@gnu.org>
24684         Fix compilation with CHECK_STRUCTS
24686         * src/pdumper.c (dump_hash_table): Update hash of
24687         HASH_Lisp_Hash_Table.  (Bug#36929)
24689 2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>
24691         Revert "Make `view-lossage' output of chars read from `read-char' more logical"
24693         This reverts commit 1abf76877847226daa5ab7e07000ac1d4aba3478.
24695         This change apparently led to problems with kmacro.
24697 2019-08-05  Michael Albinus  <michael.albinus@gmx.de>
24699         Improve Tramp's caching
24701         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
24702         (tramp-handle-write-region):
24703         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory)
24704         (tramp-adb-handle-delete-directory)
24705         (tramp-adb-handle-delete-file, tramp-adb-handle-write-region)
24706         (tramp-adb-handle-set-file-modes)
24707         (tramp-adb-handle-set-file-times, tramp-adb-handle-copy-file)
24708         (tramp-adb-handle-rename-file):
24709         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
24710         (tramp-gvfs-handle-delete-directory)
24711         (tramp-gvfs-handle-delete-file)
24712         (tramp-gvfs-handle-make-directory)
24713         (tramp-gvfs-handle-set-file-modes)
24714         (tramp-gvfs-handle-set-file-times, tramp-gvfs-set-file-uid-gid):
24715         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
24716         (tramp-rclone-handle-delete-directory)
24717         (tramp-rclone-handle-delete-file):
24718         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
24719         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
24720         (tramp-sh-handle-add-name-to-file)
24721         (tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file)
24722         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
24723         (tramp-sh-handle-write-region):
24724         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
24725         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
24726         (tramp-smb-handle-delete-directory)
24727         (tramp-smb-handle-delete-file)
24728         (tramp-smb-handle-make-directory-internal)
24729         (tramp-smb-handle-make-symbolic-link)
24730         (tramp-smb-handle-rename-file, tramp-smb-handle-write-region):
24731         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-add-name-to-file)
24732         (tramp-sudoedit-do-copy-or-rename-file)
24733         (tramp-sudoedit-handle-delete-directory)
24734         (tramp-sudoedit-handle-delete-file)
24735         (tramp-sudoedit-handle-set-file-modes)
24736         (tramp-sudoedit-handle-set-file-times)
24737         (tramp-sudoedit-handle-make-symbolic-link): Do not flush all file
24738         properties of upper directory.
24740         * lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
24741         New defun.
24742         (tramp-flush-file-properties, tramp-flush-directory-properties):
24743         Use it.
24745         * test/lisp/net/tramp-tests.el (tramp-time-diff): Declare.
24746         (tramp--test-file-attributes-equal-p): Handle also modification
24747         and status change time.
24749 2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>
24751         Make `view-lossage' output of chars read from `read-char' more logical
24753         * lisp/help.el (view-lossage): Use the new data format to output
24754         data from `read-char' and the like in a more understandable
24755         fashion (bug#21867).
24757         * src/keyboard.c (command_loop_1): Record (in recent_keys) the end
24758         of commands.
24759         (Frecent_keys): Don't include `end-of-command' in non-command outputs.
24760         (syms_of_keyboard): Define `end-of-command'.
24762 2019-08-05  Lars Ingebrigtsen  <larsi@gnus.org>
24764         save-some-buffers-default-predicate doc clarification
24766         * lisp/files.el (save-some-buffers-default-predicate): Clarify
24767         calling convention.
24769 2019-08-05  Martin Rudalics  <rudalics@gmx.at>
24771         Fix doc-strings of 'display-buffer-*' functions (Bug#19461)
24773         * lisp/window.el (display-buffer-in-atom-window)
24774         (display-buffer-in-side-window, display-buffer-record-window)
24775         (display-buffer-use-some-frame, display-buffer-same-window)
24776         (display-buffer-reuse-window, display-buffer-pop-up-frame)
24777         (display-buffer-pop-up-window, display-buffer-in-child-frame)
24778         (display-buffer-in-direction, display-buffer-below-selected)
24779         (display-buffer-at-bottom, display-buffer-in-previous-window)
24780         (display-buffer-use-some-window)
24781         (display-buffer--maybe-pop-up-frame-or-window)
24782         (display-buffer--maybe-pop-up-frame): Fix doc-strings
24783         (Bug#19461).
24785 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
24787         Fix one more 2019-08-04 regex lint
24789         Problem clarified by Mattias Engdegård in:
24790         https://lists.gnu.org/r/emacs-devel/2019-08/msg00087.html
24791         * lisp/isearch.el (isearch-symbol-regexp):
24792         Remove \s@ from regexp as it cannot match.
24794 2019-08-04  Basil L. Contovounesios  <contovob@tcd.ie>
24796         Support reverting Apropos buffers (bug#36588)
24798         * lisp/apropos.el (apropos--current): New variable akin to
24799         help-xref-stack-item storing information for revert-buffer.
24800         (apropos--revert-buffer): New function.
24801         (apropos-mode): Use it as revert-buffer-function.
24802         (apropos-command, apropos, apropos-library, apropos-value)
24803         (apropos-local-value, apropos-documentation): Set apropos--current
24804         in low-level commands, i.e., those which do not call other commands.
24806 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
24808         Fix 2019-08-04 regex lint
24810         Problem reported by Mattias Engdegård in:
24811         https://lists.gnu.org/r/emacs-devel/2019-08/msg00085.html
24812         * lisp/calendar/diary-lib.el (diary-glob-file-regexp-prefix):
24813         Omit unnecessary ‘\’ before ordinary char.
24814         * lisp/cedet/inversion.el (inversion-decoders):
24815         * lisp/org/ob-haskell.el (org-babel-haskell-export-to-lhs):
24816         Omit unnecessary ‘?’ after nullable pattern.
24817         * lisp/org/org-capture.el (org-capture-fill-template):
24818         Match upper-case as well as lower-case letters.
24819         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
24820         (c-after-change-mark-abnormal-strings):
24821         Simplify ‘.|\r’ to ‘.’.
24822         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
24823         Put ‘-’ at end of bracket expression.
24825 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
24827         Tweak time arithmetic performance
24829         * src/timefns.c (lispint_arith): New function, which
24830         should be a bit faster if B is 0, or if A is a bignum
24831         and B a fixnum with absolute value in unsigned long range.
24832         (time_arith): Use it.
24834 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
24836         Improve time function doc
24838         * doc/misc/emacs-mime.texi (time-date): Don’t give
24839         parse-iso8601-time-string in the example, as the function is
24840         not autoloaded.
24841         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
24842         No need to call encode-time or use floating point here.
24844 2019-08-04  Eli Zaretskii  <eliz@gnu.org>
24846         Fix the MS-Windows build broken by recent changes
24848         * src/inotify.c (syms_of_inotify) <Qignored>: Don't define here...
24849         * src/coding.c (syms_of_coding) <Qignored>: ...define it here,
24850         because it is needed also on platforms that don't compile
24851         inotify.c.
24853 2019-08-04  Paul Eggert  <eggert@cs.ucla.edu>
24855         Minor fix to recent coding.c change
24857         * src/coding.c (get_buffer_gap_address):
24858         Don’t assume string or buffer length fits in int.
24859         Also, improve wording of comments.
24861 2019-08-04  Michael Albinus  <michael.albinus@gmx.de>
24863         * .dir-locals.el: Enable `bug-reference-mode' for further major modes.
24865 2019-08-04  Lars Ingebrigtsen  <larsi@gnus.org>
24867         Capitalise a couple of node names
24869         * doc/lispref/functions.texi (Advising Functions): Capitalise node
24870         names (bug#17717).
24871         (Advice Combinators, Porting Old Advice): Capitalise.
24873 2019-08-04  Michael Heerdegen  <michael_heerdegen@web.de>
24875         Clarify macroexp-let* doc string
24877         * lisp/emacs-lisp/macroexp.el (macroexp-let2*): Clarify doc
24878         string (bug#19371).
24880 2019-08-04  K. Handa  <handa@gnu.org>
24882         Add Unicode-safe UTF-8 converter
24884         * src/coding.c (encode_string_utf_8, decode_string_utf_8): New functions.
24885         * src/coding.h (encode_string_utf_8, decode_string_utf_8): Extern them.
24887 2019-08-04  Lars Ingebrigtsen  <larsi@gnus.org>
24889         Core Advising Primitives `interactive' clarification
24891         * doc/lispref/functions.texi (Core Advising Primitives): Clarify
24892         when the interactive spec is a function (bug#17871).
24894 2019-08-04  Michael Albinus  <michael.albinus@gmx.de>
24896         Implement set-file-* functions for tramp-gvfs.el
24898         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping):
24899         Add "gvfs-set-attribute".
24900         (tramp-gvfs-file-name-handler-alist):
24901         Add `tramp-gvfs-handle-set-file-modes',
24902         `tramp-gvfs-handle-set-file-times' and
24903         `tramp-gvfs-handle-set-file-uid-gid'.
24904         (tramp-gvfs-handle-set-file-modes)
24905         (tramp-gvfs-handle-set-file-times)
24906         (tramp-sh-handle-set-file-uid-gid): New defuns.
24908         * lisp/net/tramp.el (tramp-handle-write-region): Set file modes.
24910         * test/lisp/net/tramp-tests.el (tramp-test20-file-modes)
24911         (tramp-test22-file-times): Do not skip for tramp-gvfs.el.
24913 2019-08-04  Martin Rudalics  <rudalics@gmx.at>
24915         Fix two mouse drag and drop issues (Bug#28620, Bug#36269)
24917         Allow 'mouse-drag-and-drop-region' to move/copy text from one
24918         frame to another (Bug#28620).  Prevent mouse avoidance mode from
24919         interfering with 'mouse-drag-and-drop-region' (Bug#36269).
24921         * lisp/avoid.el (mouse-avoidance-ignore-p): Suspend avoidance
24922         when 'track-mouse' equals 'dropping'.
24923         * lisp/mouse.el (mouse-drag-and-drop-region): Set
24924         'track-mouse' to 'dropping'.  Continue reading events also
24925         when switching frames.
24926         * src/keyboard.c (Finternal_track_mouse): Rename from
24927         Ftrack_mouse.
24928         (some_mouse_moved): Return NULL also when mouse is not tracked.
24929         (show_help_echo, readable_events, kbd_buffer_get_event): Don't
24930         check whether mouse is tracked, some_mouse_moved does it now.
24931         (track_mouse): Rename variable from do_mouse_tracking.  Adjust
24932         all users.  In doc-string explain meanings of special values
24933         'dragging' and 'dropping'.
24934         * src/nsterm.m (ns_mouse_position): During drag and drop
24935         consider last mouse frame only when there is no currently
24936         focused frame.
24937         * src/w32fns.c (w32_wnd_proc): Don't set mouse capture during a
24938         drag and drop operation.
24939         * src/w32term.c (w32_mouse_position): Track frame under mouse
24940         during mouse drag and drop.
24941         (mouse_or_wdesc_frame): New function.
24942         (w32_read_socket): Call mouse_or_wdesc_frame on mouse events.
24943         * src/xdisp.c (define_frame_cursor1): Don't change mouse cursor
24944         shape during mouse drag and drop.
24945         (syms_of_xdisp): New symbol Qdropping.
24946         * src/xterm.c (XTmouse_position): Allow mouse drag and drop move
24947         to another frame
24948         (mouse_or_wdesc_frame): New function.
24949         (handle_one_xevent): Use mouse_or_wdesc_frame for mouse events.
24951 2019-08-03  Noam Postavsky  <npostavs@gmail.com>
24953         Improved ChangeLog generation for vc log (Bug#16301)
24955         * lisp/vc/diff-mode.el (diff-find-source-location): Fix docstring.
24957         * lisp/vc/add-log.el (change-log-unindented-file-names-re)
24958         (change-log-read-entries, change-log-read-defuns)
24959         (change-log-insert-entries):
24960         * lisp/vc/diff-mode.el (diff-add-log-current-defuns):
24961         * lisp/vc/log-edit.el (log-edit--insert-filled-defuns)
24962         (log-edit-fill-entry): New functions.
24963         (log-edit-mode): Set `log-edit-fill-entry' as
24964         `fill-paragraph-function'.
24965         (log-edit-generate-changelog-from-diff): New command.
24966         (log-edit-mode-map): Bind it to C-c C-w.
24967         * doc/emacs/maintaining.texi (Types of Log File, Log Buffer):
24968         * CONTRIBUTE: Document it.
24969         * etc/NEWS: Announce it.
24970         * test/lisp/vc/log-edit-tests.el (log-edit-fill-entry)
24971         (log-edit-fill-entry-joining): New tests.
24973 2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
24975         Fix Gnus group name reference in gnus-mark-xrefs-as-read
24977         * lisp/gnus/gnus-sum.el (gnus-mark-xrefs-as-read): There's already a
24978         local binding for "group", don't need another "name". This was left
24979         over from the obarray-to-hashtable change.
24981 2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
24983         Temporarily preserve encoded Gnus group names in Gnus files
24985         Non-ascii Gnus groups should be written to files in their encoded
24986         version until we're ready to bump Gnus' version and add an upgrade
24987         routine.
24989         * lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format):
24990         * lisp/gnus/gnus-agent.el (gnus-category-read):
24991           (gnus-category-write): Handle non-ascii group names appropriately.
24992         * lisp/gnus/gnus-registry.el (gnus-registry--munge-group-names): New
24993           function to encode/decode group names.
24994           (gnus-registry-fixup-registry):
24995           (gnus-registry-save): Use function.
24997 2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
24999         Remove Gnus group name encoding/decoding
25001         This completes the process started in c1b63af445. Gnus group names are
25002         now fully decoded inside the Gnus system.
25004         * lisp/gnus/gnus-agent.el (gnus-agent-file-coding-system): Change
25005           default to utf-8-emacs.
25006           (gnus-agent-decoded-group-names, gnus-agent-decoded-group-name):
25007           Remove variable and function. Remove all usage in this file.
25008         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-names,
25009           gnus-cache-unified-group-names, gnus-cache-decoded-group-name):
25010           Remove these variables and function. Remove all usage in this file.
25011         * lisp/gnus/gnus-group.el (gnus-tmp-decoded-group): Remove this
25012           variable, gnus-tmp-group is now decoded.
25013           (gnus-group-completing-read): Don't encode or decode group names
25014           here.
25015           (gnus-group-make-group): Remove ENCODED argument.
25016         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Decode group
25017           names here.
25018         * lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
25019           check for encoded group names and decode.
25020           (gnus-active-to-gnus-format): Make sure incoming group names are
25021           decoded.
25022           (gnus-read-newsrc-el-file): Check for encoded group names in
25023           gnus-topic-alist.
25024         * lisp/gnus/nnagent.el: Don't use a unibyte buffer.
25025         * lisp/gnus/nnheader.el (nnheader-file-coding-system): Switch default
25026           from 'raw-text to 'undecided, on the assumption that 'undecided will
25027           probably write 'utf-8-emacs unless the user has arranged things
25028           otherwise.
25029         * lisp/gnus/nnimap.el (nnimap-decode-gnus-group,
25030           nnimap-encode-gnus-group): Remove functions and their use.
25031         * lisp/gnus/nnmail.el (nnmail-parse-active): Remove encoding.
25032           (nnmail-active-file-coding-system): Default to 'utf-8-emacs instead
25033           of 'raw-text.
25034           (nnmail-group-names-not-encoded-p): Obsolete this variable; stop
25035           using it.
25036         * lisp/gnus/gnus-art.el:
25037         * lisp/gnus/gnus-cus.el:
25038         * lisp/gnus/gnus-msg.el:
25039         * lisp/gnus/gnus-start.el:
25040         * lisp/gnus/gnus-sum.el:
25041         * lisp/gnus/gnus.el:
25042         * lisp/gnus/nnml.el:
25043         * lisp/gnus/message.el:
25044         * lisp/gnus/nnrss.el: Stop using gnus-group-decoded-name in all these
25045           files.
25047 2019-08-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
25049         Fix ordering of Gnus groups after yanking
25051         * lisp/gnus/gnus-start.el (gnus-group-change-level): Fix docstring to
25052         note that the inserted group is inserted *before* the PREVIOUS
25053         group. Fix indexing -- shouldn't have been adding one to the index.
25055 2019-08-03  Paul Eggert  <eggert@cs.ucla.edu>
25057         Remove stale .pdmp files with ‘make clean’
25059         Problem reported by Sven Joachim (Bug#36907).
25060         * admin/make-emacs: Simplify, now that clean does versionclean.
25061         * src/Makefile.in ($(etc)/DOC, versionclean, extraclean):
25062         Don’t ignore rm -f failures.
25063         (versionclean): Also remove emacs-*.*.*[0-9].pdmp and ../etc/DOC*.
25064         (clean): Depend on versionclean and simplify.
25066 2019-08-03  Glenn Morris  <rgm@gnu.org>
25068         * doc/lispref/display.texi (SVG Images): Remove menu.
25070         Not needed since SVG Path Commands was changed to not be a node.
25072 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25074         Clarify hi-lock-file-patterns-prefix doc string
25076         * lisp/hi-lock.el (hi-lock-file-patterns-prefix): Clarify doc
25077         string (bug#17993).
25079 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25081         Mention `themed-value' in Variable Definitions node
25083         * doc/lispref/customize.texi (Variable Definitions): Mention
25084         `themed-value' (bug#17996).
25086 2019-08-03  Oleh Krehel  <ohwoeowho@gmail.com>
25088         calc mode line touch up
25090         * lisp/calc/calc.el (calc-set-mode-line): Don't put excessive
25091         white space in mode line (bug#18079).
25093 2019-08-03  Paul Eggert  <eggert@cs.ucla.edu>
25095         Fix rare undefined behaviors in replace-match
25097         * src/search.c (Freplace_match): Simplify by caching search_regs
25098         components.  Fix sanity check for out-of-range subscripts;
25099         it incorrectly allowed negative subscripts, subscripts
25100         equal to search_regs.num_regs, and it had undefined
25101         behavior for subscripts outside ptrdiff_t range.
25102         Improve wording of newly-introduced replace-match diagnostic.
25103         Rework use of opoint, to avoid setting point to an out-of-range value
25104         in rare cases involving modification hooks.
25106 2019-08-03  Pierre-Yves Luyten  <py@luyten.fr>  (tiny change)
25108         cua-rect help: check for 'control value
25110         * lisp/emulation/cua-rect.el (cua-help-for-rectangle): Check for
25111         'control value (bug#18120).
25113 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25115         delete-backward/forward-char doc string clarification
25117         * lisp/simple.el (delete-backward-char): Doc string clarification
25118         (bug#18192).
25119         (delete-forward-char): Ditto.
25121 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25123         ido-find-file doc string addition
25125         * lisp/ido.el (ido-find-file): Mention ido-reread-directory
25126         (bug#18275).  Suggested by Rob Browning.
25128 2019-08-03  Kevin Ryde  <user42_kevin@yahoo.com.au>
25130         easy-menu-define doc string fix
25132         * lisp/emacs-lisp/easymenu.el (easy-menu-define): Docstring :label and
25133         :help of the menu itself.
25135 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25137         Add some function index entries for ido.texi
25139         * doc/misc/ido.texi: Add index entries for functions (bug#18691).
25141 2019-08-03  Andreas Politz  <politza@hochschule-trier.de>
25143         Tweak tq queue processing
25145         * lisp/emacs-lisp/tq.el (tq-process-buffer): Pop the queue before
25146         calling the function because the function may add new entries to
25147         the queue (bug#19016).  Also report errors.
25149 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25151         Tweak tango-dark-theme highlight face
25153         * etc/themes/tango-dark-theme.el (class): Make highlight a bit
25154         less yellow to make the cursor visible on it (bug#19189).
25156 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25158         Fix error message in replace-match for subexpressions
25160         * src/search.c (Freplace_match): Output a more understandable
25161         error message when replacing a subexpression (bug#19208).
25163 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25165         Clarify Freplace_match logic
25167         * src/search.c (Freplace_match): Add some doc strings to clarify
25168         the logic and do a minor clean up (bug#19208).
25170 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25172         Don't refer to non-existent functions in mode line examples
25174         * doc/lispintro/emacs-lisp-intro.texi (Mode Line): Ditto.
25176         * doc/lispref/modes.texi (Mode Line Top): In the :eval example,
25177         use a function that exists to avoid confusion (bug#19224).
25179 2019-08-03  Lars Ingebrigtsen  <larsi@gnus.org>
25181         Fix previous macroexp-progn doc string fix
25183         * lisp/emacs-lisp/macroexp.el (macroexp-progn): Fix previous doc
25184         string clarification.
25186 2019-08-03  Eli Zaretskii  <eliz@gnu.org>
25188         Minor doc fix in etags.el
25190         * lisp/progmodes/etags.el
25191         (etags-xref-find-definitions-tag-order): Doc fix.  (Bug#32510)
25193 2019-08-03  Eli Zaretskii  <eliz@gnu.org>
25195         Improve documentation of debugging Lisp syntax error
25197         * doc/lispref/debugging.texi (Syntax Errors, Excess Open)
25198         (Excess Close): Name the commands invoked by the key
25199         sequences.  Add cross-references to appropriate sections of
25200         the Emacs manual.  (Bug#21385)
25202 2019-08-03  Eli Zaretskii  <eliz@gnu.org>
25204         Improve documentation of 'display-buffer-*' functions
25206         * lisp/window.el (display-buffer-in-atom-window)
25207         (display-buffer-in-side-window, display-buffer-same-window)
25208         (display-buffer--maybe-same-window)
25209         (display-buffer-reuse-window)
25210         (display-buffer-reuse-mode-window)
25211         (display-buffer-pop-up-frame, display-buffer-pop-up-window)
25212         (display-buffer--maybe-pop-up-frame-or-window)
25213         (display-buffer--maybe-pop-up-frame)
25214         (display-buffer-in-child-frame, display-buffer-in-direction)
25215         (display-buffer-below-selected, display-buffer-at-bottom)
25216         (display-buffer-in-previous-window)
25217         (display-buffer-use-some-window, display-buffer-no-window):
25218         More details about the ALIST argument in the doc string.  (Bug#19461)
25220 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25222         macroexp doc fixes
25224         * lisp/emacs-lisp/macroexp.el (macroexp-progn): Doc clarification
25225         (bug#19371).
25226         (macroexp-let*): Doc fix.
25228 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25230         macroexp--cons doc fix
25232         * lisp/emacs-lisp/macroexp.el (macroexp--cons): Doc fix (bug#19371).
25234 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25236         Fix some minor inconsistencies in the Package examples
25238         * doc/lispref/package.texi (Simple Packages): Use one of the
25239         approved keywords (bug#19490).
25241         * doc/lispref/tips.texi (Library Headers): Use URL instead of
25242         Homepage to make things consistent with "Simple Packages".
25244 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25246         Don't but out on ~/.git files in ede
25248         * lisp/cedet/ede/detect.el (ede--detect-ldf-root-predicate): Make
25249         this work with ~/ as the dir (bug#19521).
25251 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25253         browse-url doc string fixup
25255         * lisp/net/browse-url.el (browse-url-browser-function)
25256         (browse-url-secondary-browser-function): Mention each other in the
25257         doc strings.
25259 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25261         Make Info-find-file ensure that Info is initialised
25263         * lisp/info.el (Info-find-file): Ensure that Info is initialised,
25264         because libraries call that function (bug#19880).
25266 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25268         Fix progression in hideshow.el
25270         * lisp/progmodes/hideshow.el (hs-hide-all): Ensure progression in
25271         a less brittle fashion (bug#19892).
25273 2019-08-02  Michael Heerdegen  <michael_heerdegen@web.de>
25275         Fix example code in hideshow.el
25277         * lisp/progmodes/hideshow.el: The original example would infloop
25278         (bug#19892).
25280 2019-08-02  Michael Albinus  <michael.albinus@gmx.de>
25282         Use default value of `parse-time-months' in tramp-smb.el
25284         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry): Use default
25285         value of `parse-time-months'.
25287 2019-08-02  Tassilo Horn  <tsdh@gnu.org>
25289         Improve pretty-printing of multiple JSON snippets in a region
25291         * lisp/json.el (json-pretty-print): Improve pretty-printing of
25292         multiple JSON snippets in a region.  Don't lose the region contents
25293         starting with the first non-JSON-parseable text.  Also, don't swallow
25294         errors that occurred while parsing (bug#34160).
25296 2019-08-02  Alan Mackenzie  <acm@muc.de>
25298         CC Mode: Fix error in macro cache.  This fixes bug #36802
25300         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Add in a cond arm
25301         to handle the change position being less than the recorded CPP construct end.
25303 2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>
25305         Make gravatar.el more configurable
25307         For discussion, see the following thread:
25308         https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
25310         * etc/NEWS: Announce changes in gravatar.el user options.
25312         * lisp/image/gravatar.el (gravatar-cache-ttl): Change :type to
25313         number of seconds without changing the default value and while still
25314         accepting other timestamp formats.
25315         (gravatar-rating): Restrict :type to ratings recognized by Gravatar.
25316         (gravatar-size): Allow nil as a value, in which case Gravatar's
25317         default size is used.
25318         (gravatar-default-image, gravatar-force-default): New user options
25319         controlling the Gravatar query parameters 'default' and
25320         'forcedefault', respectively.
25321         (gravatar-base-url): Use HTTPS.
25322         (gravatar--query-string): New helper function to facilitate testing.
25323         (gravatar-build-url): Use it.
25325         * test/lisp/image/gravatar-tests.el (gravatar-size)
25326         (gravatar-default-image, gravatar-force-default)
25327         (gravatar-build-url): New tests.
25329 2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>
25331         Fix some minor gravatar.el issues
25333         For discussion, see the following thread:
25334         https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
25335         * lisp/image/gravatar.el (gravatar-hash): Trim leading and trailing
25336         whitespace in given address, as per the Gravatar docs.
25337         (gravatar-retrieve-synchronously): Silence call to
25338         url-retrieve-synchronously for consistency with gravatar-retrieve.
25339         (gravatar-retrieved): Only cache buffer on successful retrieval.
25340         * test/lisp/image/gravatar-tests.el: New file.
25342 2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>
25344         DRY in gravatar.el
25346         For discussion, see the following thread:
25347         https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
25348         * lisp/image/gravatar.el (gravatar-data->image): Remove.
25349         (gravatar-retrieve, gravatar-retrieve-synchronously): Reuse
25350         url-fetch-from-cache and gravatar-retrieved to reduce duplication.
25351         (gravatar-retrieved): Only cache buffer if url-current-object is
25352         non-nil and return result of callback.  This affords reusing this
25353         function in cached URL buffers.
25355 2019-08-02  Basil L. Contovounesios  <contovob@tcd.ie>
25357         Use lexical-binding for Gravatar support
25359         For discussion, see the following thread:
25360         https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
25361         * lisp/gnus/gnus-gravatar.el: Use lexical-binding.  Link custom
25362         group 'gnus-gravatar' to 'gravatar'.
25363         (gnus-gravatar-size, gnus-gravatar-too-ugly): Doc fix.
25364         (gnus-gravatar-insert): Check liveness of article buffer sooner.
25365         (gnus-treat-from-gravatar, gnus-treat-mail-gravatar): Use
25366         interactive spec "p" instead of emulating it.
25367         * lisp/image/gravatar.el: Use lexical-binding.
25368         (gravatar-cache-expired): Remove.  Change all callers to use
25369         url-cache-expired instead.
25370         (gravatar-get-data, gravatar-retrieve)
25371         (gravatar-retrieve-synchronously): Simplify.
25373 2019-08-02  Alan Mackenzie  <acm@muc.de>
25375         CC Mode: Fix spurious recognition of operators beginning with, e.g. "or"
25377         This fixes bug #36801.
25379         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens-re): Use c-make-keywords-re
25380         rather than regexp-opt to make an optimised regexp out of a list of tokens.
25382 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25384         pdb doc clarification
25386         * lisp/progmodes/gud.el (pdb): Clarify what the parameters mean
25387         (bug#20106).
25389 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25391         Mention that some dired commands work on the current file, too
25393         * lisp/dired-aux.el (dired-do-search): Mention that it works on
25394         file under point (bug#20194).
25395         (dired-do-find-regexp-and-replace): Ditto.
25396         (dired-do-find-regexp): Ditto.
25398 2019-08-02  Alan Mackenzie  <acm@muc.de>
25400         CC Mode: Fix the timing of application and removal of string fence properties
25402         This fixes bug #36897.
25404         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check
25405         string fence text properties are actually present on string delimiters before
25406         trying to remove them.
25407         (c-before-change): Amend the nesting of unwind-protect, widen,
25408         c-restore-string-fences, and c-clear-string-fences.  Move
25409         invalidate-state-cache to outside of the widening.
25410         (c-after-change): Amend the nesting of unwind-protect, widen,
25411         c-restore-string-fences, and c-clear-string-fences.
25413 2019-08-02  Lars Ingebrigtsen  <larsi@gnus.org>
25415         Use "rebinding keys" in the "Rebinding" section of the manual
25417         * doc/emacs/custom.texi (Rebinding): Use the term "rebinding keys"
25418         instead of "redefining keys", because the former seems more
25419         logical (bug#21036).
25421 2019-08-02  Mattias Engdegård  <mattiase@acm.org>
25423         Clean up file-size-function
25425         It is now called `byte-count-to-string-function', and used instead of
25426         calling `file-size-human-readable' directly where appropriate.
25428         * lisp/files.el (file-size-human-readable-iec): New.
25429         (file-size-function): Rename to byte-count-to-string-function.  Better
25430         default value.  Eliminate lambda.  Better default for custom choice.
25431         Put in group `files'.  More descriptive doc string.  Move.
25432         (out-of-memory-warning-percentage, warn-maybe-out-of-memory)
25433         (get-free-disk-space):
25434         * lisp/dired.el (dired-number-of-marked-files):
25435         * lisp/url/url-http.el (url-http-simple-after-change-function)
25436         (url-http-content-length-after-change-function):
25437         Use byte-count-to-string-function.
25438         * test/lisp/files-tests.el (files-test-file-size-human-readable):
25439         Test file-size-human-readable-iec.
25441 2019-08-02  Eli Zaretskii  <eliz@gnu.org>
25443         Mention font-backend related crashes in PROBLEMS
25445         * etc/PROBLEMS: Mention the crash in the Cairo build when
25446         .emacs.desktop messes with font-backend.  (Bug#36835)
25448 2019-08-01  Paul Eggert  <eggert@cs.ucla.edu>
25450         Fix two parse-time-months invalid assumptions
25452         * lisp/gnus/nnimap.el: Do not require parse-time.
25453         * lisp/gnus/nnimap.el (nnimap-find-expired-articles):
25454         * lisp/net/pop3.el (pop3-make-date):
25455         Just use system-time-locale and format-time-string; no need to
25456         refer to parse-time-months.
25457         * lisp/net/pop3.el (parse-time-months): Remove defvar.
25458         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
25459         Add FIXME comment about this.
25461 2019-08-01  Paul Eggert  <eggert@cs.ucla.edu>
25463         Port standard-test-interval to Los Angeles
25465         * test/lisp/calendar/iso8601-tests.el (standard-test-interval):
25466         Use UTC to avoid DST glitches in the test.
25468 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25470         Document that --eval makes emacsclient ignore -n
25472         * doc/man/emacsclient.1: Mention that -n is ignored if --eval is
25473         given (bug#20524).
25475 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25477         Document batch-byte-compile directory behavior
25479         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile): Document the
25480         behaviour with directories (bug#20867).
25482 2019-08-01  Stefan Monnier  <monnier@iro.umontreal.ca>
25484         * lisp/gnus/message.el (message-sendmail-f-is-evil): Update :version
25486 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25488         Update URL in comment in gomoku.el
25490         * lisp/play/gomoku.el: Update the URL in the comments (bug#21300).
25492 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25494         Fix reference to `tags-loop-continue' in doc string
25496         * lisp/dired-aux.el (dired-do-search): Refer to
25497         `fileloop-continue' instead of the obsolete `tags-loop-continue'
25498         (bug#21475).
25500 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25502         Mention `C-h b' in the Keymaps node
25504         * doc/emacs/custom.texi (Keymaps): Mention `C-h b' here (bug#21653).
25506 2019-08-01  Daniel Barrett  <dbarrett@blazemonger.com>  (tiny change)
25508         Add PDF to the DocBook notation class
25510         * etc/schema/dbnotn.rnc: PDF is among the document types accepted
25511         (bug#21882).
25513 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25515         Say that while returns nil
25517         * src/eval.c (Fwhile): Say that while always returns nil
25518         (bug#22006).
25520 2019-08-01  Glenn Morris  <rgm@gnu.org>
25522         * doc/lispref/display.texi (SVG Images): Add menu for subsection.
25524         Again.  This is needed for makeinfo-4.13.
25526 2019-08-01  Eli Zaretskii  <eliz@gnu.org>
25528         Fix the ELisp manual part of a recent commit
25530         * doc/lispref/display.texi (SVG Images): Fix markup of "SVG
25531         Path Commands".  It is no longer a @node, but a @subheading.
25533 2019-08-01  Basil L. Contovounesios  <contovob@tcd.ie>
25535         Fix property stripping in image-file-yank-handler
25537         Fix proposed by Martin Rudalics <rudalics@gmx.at> in:
25538         https://lists.gnu.org/r/emacs-devel/2008-12/msg00945.html
25539         * lisp/image-file.el (image-file-yank-handler): Handle case when
25540         yank-excluded-properties is t.
25542 2019-08-01  Basil L. Contovounesios  <contovob@tcd.ie>
25544         Fix usage of remove-text-properties
25546         * lisp/allout-widgets.el (allout-decorate-item-icon):
25547         * lisp/emacs-lisp/chart.el (chart-goto-xy):
25548         * lisp/forms.el (forms--make-format)
25549         (forms--make-format-elt-using-text-properties):
25550         * lisp/htmlfontify.el (hfy-unmark-trailing-whitespace):
25551         * lisp/net/newst-plainview.el (newsticker-hide-entry)
25552         (newsticker-show-entry):
25553         * lisp/nxml/nxml-mode.el (nxml-cleanup):
25554         * lisp/obsolete/longlines.el (longlines-unshow-hard-newlines)
25555         (longlines-encode-region):
25556         * lisp/org/ob-exp.el (org-babel-exp-process-buffer):
25557         * lisp/org/org-agenda.el (org-agenda-show-new-time):
25558         * lisp/progmodes/cc-defs.el
25559         (c-clear-char-property-with-value-function)
25560         (c-clear-char-property-with-value-on-char-function):
25561         * lisp/progmodes/ebrowse.el (ebrowse--hide):
25562         * lisp/progmodes/gdb-mi.el (gdb-send):
25563         * lisp/progmodes/idlw-shell.el
25564         (idlwave-retrieve-expression-from-level):
25565         * lisp/progmodes/make-mode.el (makefile-fill-paragraph):
25566         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
25567         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
25568         * lisp/tmm.el (tmm-remove-inactive-mouse-face):
25569         Always pass an explicit plist to remove-text-properties.
25571         * lisp/dired.el (dired--unhide):
25572         * lisp/facemenu.el (facemenu-add-face):
25573         * lisp/htmlfontify.el (hfy-fontify-buffer):
25574         * lisp/iimage.el (iimage-mode-buffer):
25575         * lisp/image-file.el (image-file-yank-handler):
25576         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
25577         * lisp/textmodes/tex-mode.el (latex-env-before-change):
25578         * test/src/undo-tests.el (undo-test0):
25579         Use remove-list-of-text-properties in place of
25580         remove-text-properties where appropriate.
25582 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25584         Doc string clarification for defcustom
25586         * lisp/custom.el (defcustom): Mention `custom-declare-variable' in
25587         the doc string(bug#22703).
25589 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25591         Make `C-u RET' in erc use the secondary browser
25593         * lisp/erc/erc-button.el (erc-button-alist): Use the version of
25594         `browse-url' that interprets `C-u RET' as using the secondary browser.
25596 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25598         Use decoded-time accessors in vc-cvs
25600         * lisp/vc/vc-cvs.el (vc-cvs-parse-entry): Use decoded-time
25601         accessors for results from `parse-time-string'.
25603 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25605         Use decoded-time accessors in gnus-demon
25607         * lisp/gnus/gnus-demon.el (gnus-demon-time-to-step): Use
25608         decoded-time accessors for results from `parse-time-string'.
25610 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25612         Use decoded-time accessors in esh-util
25614         * lisp/eshell/esh-util.el (eshell-parse-ange-ls): Use decoded-time
25615         accessors for results from `parse-time-string'.
25617 2019-08-01  Lars Ingebrigtsen  <larsi@gnus.org>
25619         Remove some compat code in esh-util
25621         * lisp/eshell/esh-util.el (eshell-parse-ange-ls): Remove
25622         older-Emacs compat code.
25624 2019-08-01  Martin Rudalics  <rudalics@gmx.at>
25626         Add example for removing scroll bars/fringes from mini windows (Bug#8868)
25628         * doc/lispref/display.texi (Fringe Size/Pos): Mention example
25629         for how to permanently remove fringes from minibuffer windows.
25630         (Scroll Bars): Add example for how to permanently remove
25631         scroll bars and fringes from minibuffer windows.
25633 2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>
25635         format-time-string subsumes time-zone-format
25637         * lisp/calendar/time-date.el (time-zone-format):
25638         * test/lisp/calendar/time-date-tests.el (test-time-zone-format):
25639         Remove.
25640         * lisp/gnus/nnrss.el (nnrss-normalize-date):
25641         Use format-time-string instead of time-zone-format.
25643 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25645         Revert "Revert "Add support for paths to svg.el""
25647         This reverts commit 0a2461be9edb218bf9ca56156d8966a2421f13a7.
25649         Copyright paperwork is now in place, so the patch mistakenly applied
25650         can now be re-applied.
25652 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25654         Restore `replace-region-contents' in json-pretty-print
25656         * lisp/json.el (json-pretty-print): Switch back to using
25657         `replace-region-contents' to preserve markers and fonts which went
25658         missing when fixing the bug
25659         (bug#34160).
25660         (json-pretty-print-max-secs): Restore, too.
25662 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25664         Add more icalendar tests (for the isodatetime parser)
25666         * test/lisp/calendar/icalendar-tests.el
25667         (icalendar-tests--decode-isodatetime): Test
25668         `icalendar--decode-isodatetime'.
25670 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25672         Rewrite `url-dav-process-date-property' to use parse-time
25674         * lisp/url/url-dav.el (url-dav-iso8601-regexp): Remove.
25675         (url-dav-process-date-property): Rewrite to use
25676         `parse-iso8601-time-string'.
25678 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25680         Fix time zone in previous rewrite of newsticker--decode-iso8601-date
25682         * lisp/net/newst-backend.el (newsticker--decode-iso8601-date):
25683         According to the tests, this function should default to the Z time
25684         zone.
25686 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25688         Rewrite `parse-iso8601-time-string' to use `iso8601-parse'
25690         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Use
25691         `iso8601-parse'.
25692         (parse-time-iso8601-regexp): Remove.
25694 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25696         Allow timezone defaults in decoded-time-set-defaults
25698         * lisp/calendar/time-date.el (decoded-time-set-defaults): Allow
25699         passing in a default time zone, as this seems to be something
25700         callers seem to do.
25702 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25704         Default DST to "undecided" in decoded-time-set-defaults
25706         * lisp/calendar/time-date.el (decoded-time-set-defaults): When we
25707         don't have a zone or a DST, set DST to "undecided".
25709 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25711         decoded-time-dst doc fix
25713         * lisp/simple.el (decoded-time): Doc fix for dst (note -1 value).
25715 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25717         Use iso8601-parse in nnrss
25719         * lisp/gnus/nnrss.el (nnrss-normalize-date): Use iso8601-parse
25720         instead of hand-rolled parser.
25722         * test/lisp/gnus/nnrss-tests.el: New file.
25724 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25726         Make time-zone-format take a SHORT parameter
25728         * lisp/calendar/time-date.el (time-zone-format): Accept an
25729         optional SHORT parameter.
25731 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25733         Add new function time-zone-format
25735         * lisp/calendar/time-date.el (time-zone-format): New function.
25737 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25739         `decoded-time-set-defaults' refactored out from iso8601 code
25741         * lisp/calendar/iso8601.el (iso8601--encode-time):
25742         * lisp/calendar/time-date.el (decoded-time-set-defaults):
25743         Refactor out from `iso8601--encode-time', because it's helpful
25744         in other contexts.
25746 2019-07-31  Lars Ingebrigtsen  <larsi@gnus.org>
25748         Have newsticker use iso8601 to parse dates
25750         * lisp/net/newst-backend.el (newsticker--decode-iso8601-date): Use
25751         iso8601 to parse.
25753 2019-07-31  Michael Albinus  <michael.albinus@gmx.de>
25755         Call file notification actions properly in filenotify-tests.el
25757         * test/lisp/filenotify-tests.el (file-notify--test-wait-for-events):
25758         Rename from `file-notify--wait-for-events'.  Adapt all callees.
25759         (file-notify--test-cleanup): Reset also `file-notify--test-event'
25760         and `file-notify--test-file nil'.
25761         (file-notify--test-event-desc, file-notify--test-event-action):
25762         New accessor functions.
25763         (file-notify-test02-rm-watch, file-notify--test-event-test)
25764         (file-notify--test-with-actions-check)
25765         (file-notify--test-with-actions-explainer): Use them.
25766         (file-notify--test-with-actions-check)
25767         (file-notify--test-with-actions-explainer)
25768         (file-notify--test-with-actions): Rename them from *-events-*.
25769         Rename also internal variables accordingly.  Adapt all callees.
25771 2019-07-31  Michael Albinus  <michael.albinus@gmx.de>
25773         Distinguish different file notification events
25775         * lisp/filenotify.el (file-notify--watch): Add docstring.
25776         (file-notify-descriptors, file-notify--rm-descriptor)
25777         (file-notify--pending-rename): Adapt docstring.
25778         (file-notify): New defstruct.
25779         (file-notify-handle-event): Rename argument to OBJECT.  Use
25780         accessor functions of the defstruct.
25782 2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>
25784         Avoid intern calls for builtin syms
25786         * src/casefiddle.c (Fdowncase_region):
25787         * src/eval.c (Fdefvaralias):
25788         Use builtin symbol rather than calling intern.
25790 2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>
25792         Fix Fload infile problem
25794         * src/lread.c (Fload): Close window of vulnerability
25795         where the wrong stream could have been closed.
25797 2019-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
25799         * src/lread.c (close_infile_unwind): Remove leftover debug code
25801 2019-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
25803         * src/lread.c (infile): Set/reset it like a dynamically scoped variable
25805         I've seen segfaults where `infile` is nil when we get to
25806         readbyte_from_file, presumably because Fload set it to NULL (via
25807         close_infile_unwind) just before returning to its caller which was
25808         probably itself within another read/load and for some reason
25809         readevalloop didn't get to re-set `infile` like it used to do at every
25810         iteration.  I was not able to really track down the bug, but the way
25811         `infile` was set/reset seemed fragile and managing it like a standard
25812         dynamically-scoped var seems both safer (and more efficient since we
25813         don't need readevalloop to constantly re-set it).
25815         (readchar): Assert that `infile` is set if using a function the depends on it.
25816         (readbyte_from_file): Assert that `infile` is set.
25817         (close_infile_unwind): Reset `infile` to its previous value rather than
25818         to NULL.
25819         (Fload): Remember the previous value of `infile` before chaning it.
25820         (readevalloop): Don't set `infile` any more.
25822 2019-07-31  Paul Eggert  <eggert@cs.ucla.edu>
25824         Clarify (lognot bignum)
25826         * doc/lispref/numbers.texi (Bitwise Operations):
25827         Say that (= (lognot n) (- -1 n)).
25829 2019-07-31  Michael Albinus  <michael.albinus@gmx.de>
25831         Fix an error in tramp-sh-inotifywait-process-filter
25833         * lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
25834         Add default FILE to returned event, if inotifywait doesn't tell us.
25836 2019-07-31  Noam Postavsky  <npostavs@gmail.com>
25838         Remove no-longer relevant xref
25840         * doc/lispref/positions.texi (List Motion): Remove xref, the text it
25841         references was removed in 2018-02-15 "Document
25842         open-paren-in-column-0-is-defun-start being of less importance".
25844 2019-07-30  Glenn Morris  <rgm@gnu.org>
25846         Merge from origin/emacs-26
25848         8fbe462 (origin/emacs-26) ; * doc/lispref/positions.texi (List Motion...
25849         1d9efc0 Add index for "\( in strings" (Bug#25195)
25850         304e96f Fix doc-string of 'fit-window-to-buffer' (Bug#36848)
25851         d4c4987 Update view-mode docstring
25852         d6ca1fc ; * lisp/term.el: Add missing / to esc seq commentary.
25853         b3e2073 Fix subproc listening when setting filter to non-t (Bug#36591)
25854         f671950 * etc/NEWS.25: Belatedly announce rcirc-reconnect-delay.
25855         7f42277 Mention term.el's \032 dir tracking in commentary (Bug#19524)
25856         16a529e Remove upload functionality of package-x from the elisp manual
25857         78e6c2a * etc/AUTHORS: Update.
25858         086a56e Clarify Gravatar docs
25859         0592467 * doc/lispref/display.texi (Defining Faces): Say a face can't...
25861         # Conflicts:
25862         #       doc/emacs/programs.texi
25863         #       etc/AUTHORS
25864         #       lisp/term.el
25866 2019-07-30  Noam Postavsky  <npostavs@gmail.com>
25868         * lisp/emacs-lisp/let-alist.el: Bump version to 1.0.6 (Bug#23244).
25870 2019-07-30  Stefan Monnier  <monnier@iro.umontreal.ca>
25872         * lisp/gnus/message.el: Reduce redundancy with send-mail-function
25874         (message-send-mail-function) <function>: Remove `local-library` tests
25875         for libs distributed with Emacs.
25876         (message-use-send-mail-function): New function.
25877         (message-default-send-mail-function): Default to it, and remove cases
25878         already handled by it.
25879         (message--default-send-mail-function): New function.
25880         (message-send-mail-function) <variable>: Use it as new default.
25881         (message-sendmail-f-is-evil): Obey mail-specify-envelope-from if available.
25882         (message-check, message-with-reply-buffer): Use `declare`.
25883         (message-smtpmail-send-it): smtpmail accepts mail-header-separator,
25884         so simplify and declare obsolete.
25885         (message-send-mail-with-mailclient): Declare obsolete.
25886         (message-check-news-body-syntax): Don't presume that the checksum is
25887         a fixnum.
25889 2019-07-30  Juri Linkov  <juri@linkov.net>
25891         * lisp/bindings.el (mode-line-defining-kbd-macro): New defvar.
25893         (minor-mode-alist): Use it for `defining-kbd-macro'.  (Bug#36564)
25895 2019-07-30  Stefan Monnier  <monnier@iro.umontreal.ca>
25897         * lisp/mail/sendmail.el (sendmail-send-it): Add FIXMEs.
25899         Remove redundant :groups in the file, as well.
25901 2019-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
25903         Merge commit '9b480db6732c6d2e886838f112d9bd46fc8989bf'
25905 2019-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
25907         Improve doc strings for some -search-path variables
25909         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-search-path):
25910         Improve doc string.
25912         * lisp/progmodes/compile.el (compilation-search-path): Improve doc
25913         string.
25915         * lisp/progmodes/grep.el (grep-search-path): Improve doc string.
25917 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
25919         Make `C-u RET' on URLs in Gnus buffers use the secondary browser
25921         * lisp/gnus/gnus-art.el (gnus-button-alist): Make `C-u RET' on
25922         URLs use the secondary browse-url browser.
25924 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
25926         Tweak `browse-url-add-buttons' for better button.el comp
25928         * lisp/net/browse-url.el (browse-url-add-buttons): Make browse-url
25929         buttons be understood by `forward-button' and the like.
25931 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
25933         Add a new conveniency function to browse-url
25935         * lisp/net/browse-url.el (browse-url-button-open-url): Add a new
25936         conveniency function.
25938 2019-07-30  Dmitry Gutov  <dgutov@yandex.ru>
25940         Support filename matches in etags xref backend
25942         * lisp/progmodes/etags.el (etags--xref-find-definitions):
25943         Support filename matches (bug#32510).
25945 2019-07-30  Dmitry Gutov  <dgutov@yandex.ru>
25947         Guard against flymake-no-changes-timeout being nil
25949         * test/lisp/progmodes/flymake-tests.el
25950         (flymake-tests--wait-for-backends): Guard against
25951         flymake-no-changes-timeout being nil (in personal configurations)
25952         to help when running tests interactively.
25954 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
25956         Call out the Gnus widget->button makeover in NEWS
25958 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
25960         Convert Emacs article buffers from widget.el to button.el
25962         * lisp/gnus/gnus-art.el (gnus-mime-button-map)
25963         (gnus-url-button-commands, gnus-insert-mime-button)
25964         (gnus-mime-display-alternative)
25965         (gnus-article-extend-url-button, gnus-article-add-button)
25966         (gnus-insert-prev-page-button, gnus-insert-next-page-button)
25967         (gnus-mime-security-button-map)
25968         (gnus-insert-mime-security-button): Ditto.
25970         * lisp/gnus/gnus-html.el (gnus-html-displayed-image-map)
25971         (gnus-html-wash-images, gnus-html-put-image): Ditto.
25973         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button): Ditto.
25975         * lisp/gnus/gnus-sum.el (gnus-summary-widget-forward)
25976         (gnus-summary-button-forward, gnus-summary-widget-backward)
25977         (gnus-summary-button-backward, gnus-collect-urls-primary-text)
25978         (gnus-collect-urls, gnus-summary-browse-url): Stop using widgets
25979         and star using button.el buttons instead.
25981         * lisp/gnus/mm-decode.el (mm-shr, mm-handle-filename): Don't
25982         convert shr buttons into widgets.
25984 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
25986         Mark shr buttons as button.el buffers
25988         * lisp/net/shr.el (shr-urlify): Mark buttons as button.el buffers
25989         for easier reuse in buttonified buffers.
25991 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
25993         Convert ` to ' in two recent NEWS entries
25995 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
25997         Extend button.el to take callback data
25999         * doc/lispref/display.texi (Button Buffer Commands)
26000         (Button Buffer Commands): Document this.
26001         * lisp/button.el (backward-button, forward-button): Accept a
26002         NO-ERROR parameter.
26003         (button-activate): Make it possible to have specific data in the
26004         callback action.
26006 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26008         Re-fix dired-pop-to-buffer obsoletion reference
26010         * lisp/dired.el (dired-pop-to-buffer): Re-fix obsoletion reference
26011         (bug#26243).
26013 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26015         Revert "Make `ispell-change-dictionary' only list installed dictionaries"
26017         This reverts commit 848712b481e16f5c96fed6344c2f7d71a8d52ed1.
26019         There could be dictionaries available (set via command-line options for the
26020         speller, for instance) that would not be returned.
26022 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26024         Use decoded time accessors in ediff-mult
26026         * lisp/vc/ediff-mult.el (ediff-format-date): Use decoded time
26027         accessors.
26029 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26031         Use decoded time accessors in pop3
26033         * lisp/net/pop3.el (pop3-make-date): Use decoded time
26034         accessors.
26036 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26038         Use decoded time accessors in esh-util
26040         * lisp/eshell/esh-util.el (eshell-parse-ange-ls): Use decoded time
26041         accessors.
26043 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26045         Use decoded time accessors in in em-ls
26047         * lisp/eshell/em-ls.el (eshell-ls-file): Use decoded time
26048         accessors.
26050 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26052         Use decoded time accessors in timer
26054         * lisp/emacs-lisp/timer.el (run-at-time): Use decoded time
26055         accessors.
26057 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26059         Use decoded time accessors in timeclock
26061         * lisp/calendar/timeclock.el (timeclock-day-base): Use decoded time
26062         accessors.
26064 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26066         Use decoded time accessors in time-date
26068         * lisp/calendar/time-date.el (time-to-days): Use decoded time
26069         accessors.
26071 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26073         Use decoded time accessors in appt
26075         * lisp/calendar/appt.el (appt-check, appt-make-list): Use decoded
26076         time accessors.
26078 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26080         Fix syntax error in previous calc-forms change
26082         * lisp/calc/calc-forms.el (calc-time): Fix previous decoded time
26083         change.
26085 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26087         Use decoded time accessors in calendar
26089         * lisp/calendar/icalendar.el (icalendar--add-decoded-times)
26090         (icalendar--convert-sexp-to-ical):
26091         * lisp/calendar/calendar.el (calendar-current-date):
26092         * lisp/calendar/cal-dst.el (calendar-dst-find-data)
26093         (calendar-dst-find-startend): Use decoded time accessors.
26095 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26097         Use decoded time accessors in Gnus
26099         * lisp/gnus/nnimap.el (nnimap-find-expired-articles):
26100         * lisp/gnus/nndiary.el (nndiary-compute-reminders)
26101         (nndiary-last-occurrence, nndiary-next-occurrence):
26102         * lisp/gnus/message.el (message-make-expires-date):
26103         * lisp/gnus/gnus-util.el (gnus-seconds-today)
26104         (gnus-seconds-month, gnus-seconds-year):
26105         * lisp/gnus/gnus-demon.el (gnus-demon-time-to-step):
26106         * lisp/gnus/gnus-art.el (article-make-date-line): Use decoded time
26107         accessors.
26109 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26111         Use decoded time accessors in calc
26113         * lisp/calc/calc-forms.el (calc-time, math-this-year)
26114         (calcFunc-now): Use decoded time accessors.
26116 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26118         Use decoded time accessors in proced
26120         * lisp/proced.el (proced-format-start): Use decoded time accessors.
26122 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26124         Make description of text properties on the form `(string ...)' work
26126         * lisp/descr-text.el (describe-property-list): Don't special-case
26127         for symbols that have widget properties here (bug#22957).  It's
26128         not documented that this function should do that, and looking at
26129         the code, it doesn't seem like this function is actually used for
26130         doing that, either.  This makes describing some text properties
26131         that are on the form `(string ...)' work.
26133 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26135         Use the elisp xref backend in profiler buffers
26137         * lisp/profiler.el (profiler--xref-backend): New function (bug#23455).
26138         (profiler-report-mode): Use it to use the elisp xref handler when
26139         hitting `M-.' in profiler buffers.
26141 2019-07-30  Lars Ingebrigtsen  <larsi@gnus.org>
26143         Adjust time-date tests to tweaked format
26145 2019-07-29  Juri Linkov  <juri@linkov.net>
26147         Highlight keyboard macro recording mode with read color in the mode-line
26149         * lisp/bindings.el (minor-mode-alist): Propertize " Def"
26150         with 'error' face for defining-kbd-macro.  (Bug#36564)
26152 2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>
26154         * lisp/progmodes/vhdl-mode.el: Use cl-lib when available
26156         (vhdl--pushnew): New macro.  Use it instead of `pushnew`.
26157         (emacs-major-version): Don't bother checking (featurep 'xemacs)
26158         since that is always (< emacs-major-version 25) as well.
26160 2019-07-29  Juri Linkov  <juri@linkov.net>
26162         * lisp/info.el (Info-toc-insert): Suppress same section names as node names.
26164         Add indentation to section lines.  (Bug#23142)
26166 2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>
26168         * lisp/simple.el (decoded-time): Use `cl-defstruct`
26170 2019-07-29  Stefan Monnier  <monnier@iro.umontreal.ca>
26172         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add slot option :documentation
26174         Use it to improve the docstring of the accessor functions.
26176         * doc/misc/cl.texi: Rename menu entry to "CL-Lib".
26177         (Structures): Add ':documentation' and mention ':type' as well,
26178         which we don't completely ignore any more.
26180 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
26182         Tweak how mm-display-external handles windows
26184         * lisp/gnus/mm-decode.el (mm-display-external): Don't delete other
26185         buffers when displaying parts (bug#22861) because that should be
26186         up to the user, probably.
26188 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
26190         Add further documentation about semicolon use
26192         * doc/lispref/tips.texi (Comment Tips): Document the sub-heading
26193         convention (bug#23060) as explained by Stefan on StackExchange.
26195 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
26197         Add an ISO 8601 parsing library
26199         * doc/lispref/os.texi (Time Parsing): Document it.
26201         * lisp/calendar/iso8601.el: New file.
26203         * test/lisp/calendar/iso8601-tests.el: Test ISO8601 parsing functions.
26205 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
26207         Add support for dealing with decoded time structures
26209         * doc/lispref/os.texi (Time Conversion): Document the new
26210         functions that work on decoded time.
26211         (Time Calculations): Document new date/time functions.
26213         * lisp/simple.el (decoded-time-second, decoded-time-minute)
26214         (decoded-time-hour, decoded-time-day, decoded-time-month)
26215         (decoded-time-year, decoded-time-weekday, decoded-time-dst)
26216         (decoded-time-zone): New accessor functions for decoded time values.
26218         * lisp/calendar/time-date.el (date-days-in-month)
26219         (date-ordinal-to-time): New functions.
26220         (decoded-time--alter-month, decoded-time--alter-day)
26221         (decoded-time--alter-second, make-decoded-time): New functions
26222         added to manipulate decoded time structures.
26224         * src/timefns.c (Fdecode_time): Mention the new accessors.
26226         * test/lisp/calendar/time-date-tests.el: New file to test the
26227         decoded time functions and the other new functions.
26229 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
26231         Fix compilation warning in mh-*.el
26233         * lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output):
26234         * lisp/mh-e/mh-search.el (mh-index-parse-search-regexp): Avoid
26235         warning about `values-list' by using `cl-values-list' insead.
26237 2019-07-29  Lars Ingebrigtsen  <larsi@gnus.org>
26239         Avoid error when killing rcirc buffer
26241         * lisp/net/rcirc.el (rcirc-kill-buffer-hook): Delete the process
26242         in the buffer when killing server buffers to avoid triggering
26243         errors from the sentinel (bug#23168).
26245 2019-07-28  Juri Linkov  <juri@linkov.net>
26247         * lisp/char-fold.el: Rename char-fold-make-table to char-fold--make-table.
26249 2019-07-28  Juri Linkov  <juri@linkov.net>
26251         Move some uncontroversial char-folding pairs from test data to default values
26253         * lisp/char-fold.el (char-fold--default-include)
26254         (char-fold--default-exclude): Add some default values.
26256         * test/lisp/char-fold-tests.el (char-fold--test-without-customization)
26257         (char-fold--test-with-customization): Move some test data to
26258         default values.  Add more data for tests to pass.   (Bug#35689)
26260 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26262         Rename the new `browse-url-external-browser' variable
26264         * lisp/net/shr.el (shr-external-browser, shr-browse-url):
26265         * lisp/net/eww.el (eww-browse-with-external-browser)
26266         (eww-follow-link):
26267         * lisp/net/browse-url.el
26268         (browse-url-secondary-browser-function)
26269         (browse-url-button-open):
26270         * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Rename from
26271         `browse-url-external-browser' to
26272         `browse-url-secondary-browser-function'.
26274 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26276         Make let-alist work with vectors
26278         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search):
26279         Descend into vectors, too, looking for dotted variables (bug#23244).
26281         Test case:
26283         (let-alist '((a . 1) (b . 2))
26284           `[,(+ .a) ,(+ .a .b .b)])
26286 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26288         Make the image keymaps not extend after the image
26290         * lisp/image.el (insert-image): Make all the properties
26291         rear-nonsticky.  Before this change, the keymap would extend after
26292         the image.
26294 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26296         Fix when calling prettify-symbols-mode more than once
26298         * lisp/progmodes/prog-mode.el (prettify-symbols-mode): Allow
26299         calling this mode several times without the earlier symbol alist
26300         shadowing the newer (bug#23255).
26302 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26304         Abbreviate directory names the same way as file names in C-x C-b
26306         * lisp/buff-menu.el (Buffer-menu--pretty-file-name): Abbreviate
26307         directory file names, too (bug#23355).
26309 2019-07-28  Andreas Schwab  <schwab@linux-m68k.org>
26311         * admin/notes/git-workflow: Replace git-new-workdir with git
26312         worktree and remove draft marker.
26314 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26316         Tweak tango-dark-theme
26318         * etc/themes/tango-dark-theme.el: Add a lighter background color
26319         to `header-line' (bug#23359).
26321 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26323         Scale images in iimage-mode
26325         * lisp/iimage.el (iimage-mode-buffer): Scale images down to the
26326         width/height of the buffer (bug#23434).  Also add `image-map' to
26327         the images so that they can be further scaled.
26329 2019-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
26331         Make atomic cell update in data area.
26333         * lisp/ses.el (ses-write-cells): Set inhibit-quit to t during the data
26334           area write.
26336 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26338         Make URLs in package descriptions into links
26340         * lisp/emacs-lisp/package.el (describe-package-1): Make the URLs
26341         in package descriptions into links (bug#23480).
26343 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26345         Enable browse-url to buttonize buffers
26347         This patch also moves the internal/external browser logic from
26348         shr to browse-url, where it belongs more naturally.
26350         * doc/misc/eww.texi (Basics): Adjust to browse-url-external-browser.
26352         * doc/misc/gnus.texi (Article Commands): Ditto.
26354         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Default to
26355         `browse-url-button-regexp', which has taken over the definition
26356         previously enjoyed by this variable.
26358         * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Adjust usage.
26360         * lisp/net/browse-url.el (browse-url--browser-defcustom-type): New
26361         internal variable...
26362         (browse-url-browser-function, browse-url-external-browser): Used
26363         by these two; the latter of which is a new variable.
26364         (browse-url-botton-regexp): New variable.
26365         (browse-url-button-map): New keymap.
26366         (browse-url-button): New face.
26367         (browse-url-add-buttons): New function to add clickable browse-url
26368         buttons to almost any buffer.
26369         (browse-url-button-open): New command.
26370         (browse-url-button-copy): New command.
26372         * lisp/net/eww.el (eww-browse-with-external-browser)
26373         (eww-follow-link): Adjust usage.
26375         * lisp/net/shr.el (shr-external-browser): Make an obsolete alias
26376         of `browse-url-external-browser'.
26377         (shr-browse-url): Adjust usage.
26379 2019-07-28  Alan Mackenzie  <acm@muc.de>
26381         CC Mode.  Fix (c-beginning-of-defun -1) getting stuck with structs.
26383         In particular, with an initialization such as struct foo {..} bar = {...};
26385         * lisp/progmodes/cc-cmds.el (c-forward-to-nth-EOF-{): Rename to
26386         c-forward-to-nth-EOF-\;-or-}, and when the starting (or ending) position is in
26387         the "variable" part of a struct/class/union/enum/etc., move to after the
26388         terminating semicolon.  Adjust the counting such that N only gets decremented
26389         on a successful movement over {..}.
26390         (c-beginning-of-defun, c-end-of-defun): Rename the calls to
26391         c-forward-to-nth-EOF-}, as above.
26393 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26395         Make cl-values-list signal an error if its argument isn't a list
26397         * lisp/emacs-lisp/cl-lib.el (cl-values-list): Signal an error if
26398         LIST isn't a list (bug#23597).
26400 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26402         Have emacsbug only warn the user when sending to the bug address
26404         * lisp/mail/emacsbug.el (report-emacs-bug-hook): Only ask for
26405         confirmation if we're really sending the bug report to the bug
26406         address.  If the user is sending it somewhere else (to themselves,
26407         for instance), the warning is misleading.
26409 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26411         Allow the user to send a bug report after initially saying "no"
26413         * lisp/mail/emacsbug.el (report-emacs-bug-hook): Don't remove the
26414         address in the To: header (or the hook) after the user has said
26415         "no" (bug#23799).  This made it impossible for the user to do
26416         touch-ups and then resent the bug report.
26418 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26420         Always set the state of the "Show hidden files" gtk button
26422         * src/gtkutil.c (xg_get_file_with_chooser): Always set the state
26423         of the "Show hidden files" button (bug#23977).  If not, the
26424         visible state and the actual state get out of sync.
26426 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26428         Make `ispell-change-dictionary' only list installed dictionaries
26430         * lisp/textmodes/ispell.el (ispell-find-aspell-dictionaries): If
26431         the backend (i.e., aspell/hunspell) provided a list of languages,
26432         don't add the base list (bug#24050).
26433         (ispell-set-spellchecker-params): Ditto.
26435 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26437         Clean up conf-mode-syntax-table slightly
26439         * lisp/textmodes/conf-mode.el (conf-mode-syntax-table): Remove
26440         superfluous backslash in ?\'.
26442 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26444         Mark block/char devices the same as sockets in dired
26446         * lisp/dired.el (dired-re-socket): Also mark block and char
26447         devices with the socket face (bug#24547).
26449 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26451         `unknown' test case now works
26453 2019-07-28  Lars Ingebrigtsen  <larsi@gnus.org>
26455         Fix testcover.el usage of edebug.el symbols
26457         * lisp/emacs-lisp/testcover.el (testcover-before)
26458         (testcover-after, testcover-mark)
26459         (testcover-analyze-coverage-edebug-after): Adjust usage of
26460         `unknown' to `edebug-unknown' in testcover.el in addition to
26461         edebug.el (bug#25471).
26463 2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26465         * lisp/emacs-lisp/autoload.el: Make progress info more informative.
26467         (update-directory-autoloads): Include the name of the target file.
26469 2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26471         * lisp/emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Fix bug#34757
26473         This fix was provided by Pip Cet <pipcet@gmail.com>.  It tightens the
26474         code that tries to recognize a bytecode sequence as being a simple
26475         function call (to then decompile it), which occasionally misfired.
26477         I added some minor changes found while investigating this issue.
26479         (byte-compile): Handle corner case where byte-compile-top-level returns
26480         a non-self-evaluating expression.
26481         (byte-compile-out-toplevel): Remove support for `progn` and `t` values
26482         of output-type which aren't used anywhere.
26484 2019-07-27  Alan Third  <alan@idiocy.org>
26486         Fix stretch glyphs overlap with line above (bug#36633)
26488         * src/nsterm.m (ns_dumpglyphs_stretch): Move overwriting of the
26489         clipping rectangle to after performing clipping.
26491 2019-07-27  Paul Eggert  <eggert@day>
26493         Fix arithmetic overflow in GC consing count
26495         * src/alloc.c (allow_garbage_collection):
26496         Redo expression to avoid signed arithmetic overflow
26497         in an intermediate expression when CONSING is negative.
26499 2019-07-27  Alan Mackenzie  <acm@muc.de>
26501         Java Mode: Fix handling of nested generics ending in >>>.
26503         This fixes bug #24671.
26505         * lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): remove,
26506         transforming into ...
26507         (c-multichar->-op-not->>->>>-regexp) New lang const/var.
26509         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): use the new
26510         c-multichar->-op-not->>->>>-regexp in place of the old
26511         c-multichar->-op-not->>-regexp.
26513 2019-07-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
26515         Adjust location of Gnus group split setup process
26517         Updating group splits requires the gnus-newsrc-hashtb to be
26518         initialized. Previously this failed silently, now it errors.
26520         * lisp/gnus/gnus-mlspl.el (gnus-group-split-setup): Don't call the
26521         update when loading the user's init file, that's too early. Use
26522         appropriate hooks depending on AUTO-UPDATE.
26523         * doc/misc/gnus.texi (Group Mail Splitting): Change mention in docs.
26525 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26527         Touch of latin-ltx input method for long arrows
26529         * lisp/leim/quail/latin-ltx.el: Map all the \\long.*arrow inputs
26530         to the long characters instead of the normal ones (i.e., LONG
26531         RIGHTWARDS ARROW instead of RIGHTWARDS ARROW) (bug#24302).
26533 2019-07-27  Eli Zaretskii  <eliz@gnu.org>
26535         Fix documentation of 'redisplay-highlight-region-function'
26537         * lisp/simple.el (redisplay-highlight-region-function): Fix
26538         last change.  (Bug#24701)
26540 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26542         Tweak font-locking in conf-mode for "#foo { bar" lines
26544         * lisp/textmodes/conf-mode.el (conf-font-lock-keywords): Don't
26545         font-lock comments as keywords (bug#24355).
26547 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26549         Make dired fontify pipes and sockets
26551         * lisp/dired.el (dired-socket): New face for pipes and sockets
26552         (bug#24547).
26553         (dired-re-socket): New regexp to match them.
26554         (dired-font-lock-keywords): Use them.
26556 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26558         Add a doc string to redisplay-highlight-region-function
26560         * lisp/simple.el (redisplay-highlight-region-function): Add a doc
26561         string (bug#24701).
26563 2019-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
26565         * lisp/progmodes/compile.el: Fix bug#36803.
26567         Make sure all mode-lines are updated when compilation-in-progress
26568         is changed since it's visible globally.
26570         (compilation--update-in-progress-mode-line): New function.
26571         (compilation-start, compilation-sentinel): Use it.
26573 2019-07-27  Alan Mackenzie  <acm@muc.de>
26575         CC Mode: Stop /**/ spuriously fontifying as a doc comment under gtkdoc
26577         Also fix infinite loops by correcting two regexps.
26579         * lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
26580         (c-last-open-c-comment-start-on-line-re): Correct the regexp fragments
26581         "\\*+[^/]" to "\\*+\\([^*/]\\|$\\)".
26583         * lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Disallow /**/ for
26584         doc comment fontification.
26586 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26588         Doc fix for package-menu-filter
26590         * lisp/emacs-lisp/package.el (package-menu-filter): Document the
26591         use of arc:ARCHIVE and status:STATUS (bug#24883).
26593 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26595         Allow serial-term to take an optional argument for line-mode
26597         * lisp/term.el (serial-term): Allow taking an optional argument to
26598         avoid term-raw-mode (bug#24922).
26600         * doc/lispref/processes.texi (Serial Ports): Document it.
26602 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26604         Only insert XML declarations in nxml-mode when the buffer is empty
26606         * lisp/nxml/nxml-mode.el (nxml-mode): Don't insert the XML
26607         declaration unless it's an empty buffer (bug#24978).  This avoids
26608         the problem of the declaration being inserted by mistake when
26609         opening XML files from archives and the like -- the file doesn't
26610         exist on the file system there, either, so it would typically lead
26611         to doubled XML declarations.
26613 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26615         edebug.el comment fix
26617         * lisp/emacs-lisp/edebug.el: Fix comment referring to non-existent
26618         variable (bug#25188).
26620 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26622         Clarify yank-pop doc string
26624         * lisp/simple.el (yank-pop): Mention `kill-ring' to make it more
26625         clear what the command is doing (bug#25196).
26627 2019-07-27  Eli Zaretskii  <eliz@gnu.org>
26629         Move tty-colors-tests.el to its proper directory.
26631 2019-07-27  Pip Cet  <pipcet@gmail.com>
26633         Use the CSS convention for #RGB colors (bug#36304)
26635         * src/xterm.c (x_parse_color): Change interpretation of #RGB color
26636         triplets to match CSS rather than X conventions.
26638         * lisp/term/tty-colors.el (tty-color-standard-values): Change
26639         interpretation of #RGB color triplets to match CSS rather than X
26640         conventions.  Allow upper-case digits.  Fix rgb:R/G/B
26641         interpretation.
26643         * doc/emacs/display.texi (Colors): Specify the convention used for
26644         "#RGB" color triplets.
26646         * test/lisp/term/tty-colors-tests.el: New file.
26648         * etc/NEWS: Mention the change.
26650 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26652         Allow global-auto-revert-ignore-buffer to be a predicate function
26654         * lisp/autorevert.el (global-auto-revert-ignore-buffer): Allow
26655         this to be a predicate function (bug#25277).
26656         (auto-revert--global-add-current-buffer): Use it.
26658 2019-07-27  Pip Cet  <pipcet@gmail.com>
26660         Don't double-decompress cached HTTP responses (bug#36773)
26662         * lisp/url/url-http.el (url-handle-content-transfer-encoding): Modify
26663         the message headers as well as the message body to reflect
26664         decompression.
26665         * lisp/mail/mail-utils.el (mail-fetch-field): Add DELETE argument, to
26666         delete header lines included in the result.
26668 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26670         Rename coverage symbols in edebug to avoid collisions
26672         * lisp/emacs-lisp/edebug.el (edebug-clear-coverage): Use
26673         edebug-unknown and edebug-ok-coverage instead of unknown and
26674         ok-coverage to avoid naming collisions with packages that use
26675         those two symbols (bug#25471).
26676         (edebug--update-coverage, edebug-display-freq-count): Ditto.
26678 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26680         Allow directory-files-recursively to follow symlinks
26682         * doc/lispref/files.texi (Contents of Directories): Document it.
26684         * lisp/files.el (directory-files-recursively): Allow following
26685         symlinks.
26687 2019-07-27  Lars Ingebrigtsen  <larsi@gnus.org>
26689         define-derived-mode doc string clarification
26691         * lisp/emacs-lisp/derived.el (define-derived-mode): Doc string
26692         clarification about the keywords (bug#26301).
26694 2019-07-26  Noam Postavsky  <npostavs@gmail.com>
26696         Clarify docstring of last-command-event.
26698         * src/keyboard.c (syms_of_keyboard) <last-command-event>: Reword docstring.
26700 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
26702         Adjust remaining uses of `NILP (HASH_HASH)`.
26704         * src/json.c (lisp_to_json_toplevel_1):
26705         * src/pdumper.c (dump_hash_table_stable_p, hash_table_contents):
26706         * src/print.c (print, print_vectorlike):
26707         * src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
26708         Use `EQ (HASH_KEY, Qunbound)` instead of `NILP (HASH_HASH)`.
26710 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
26712         Don't dump the `hash` vector if it will need to be recomputed anyway
26714         * src/fns.c (hash_table_rehash): Only set `hash` field at the end.
26715         (sweep_weak_table): Only set slot of `hash` vector when that vector exists.
26716         (Fhash_table_count): No need to hash_rehash_if_needed any more.
26718         * src/lisp.h (hash_rehash_needed_p): Test the presence of `hash` instead.
26720         * src/pdumper.c (check_hash_table_rehash, dump_hash_table):
26721         Set `hash` to nil to indicate that the table needs to be rehashed.
26723 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
26725         * src/fns.c: Use `EQ (key, Qunbound)` to check if a slot is in use
26727         (make_hash_table): Use Qunbound for the key_and_value table.
26728         (maybe_resize_hash_table): Set new key_and_value slots to Qunbound.
26729         (hash_table_rehash): Don't bother copying the old table of hashes since
26730         we're recomputing it completely.
26731         (hash_table_rehash): Use hash_rehash_needed_p more.
26732         (hash_put): Add assertion that the slot was indeed considered empty.
26733         (hash_remove_from_table, hash_clear, sweep_weak_table): Set empty
26734         slot's key to Qunbound.
26735         (Fmaphash): Use `EQ (key, Qunbound)` to check if a slot is in use.
26737         * src/lisp.h (struct Lisp_Hash_Table): Update comments.
26739 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
26741         * src/fns.c (hash_index_size): New function, extracted from make_hash_table
26743         (make_hash_table, maybe_resize_hash_table): Use it.
26745         * src/pdumper.c (check_hash_table_rehash): Use hash_rehash_needed_p.
26747 2019-07-26  Alan Mackenzie  <acm@muc.de>
26749         CC Mode.  Create lang vars for certain skipping expressions at compile time
26751         This saves repeated calculations at run time.
26753         * lisp/progmodes/cc-langs.el (c-stmt-boundary-skip-chars)
26754         (c-stmt-boundary-skip-list, c-stmt-boundary-skip-chars-with-comma)
26755         (c-stmt-boundary-skip-list-with-comma): New lang constants/variables.
26757         * lisp/progmodes/cc-engine.el (c-commas-bound-stmts): New variable
26758         (c-beginning-of-statement-1): Set c-commas-bound-stmts rather than
26759         c-stmt-delim-chars.
26760         (c-crosses-statement-barrier-p): Remove the now unneeded calculations of
26761         c-stmt-delim-chars.  Set skip chars to one of the new lang variables, and
26762         later to a substring of it.
26763         (c-at-statement-start-p): Set c-syntactic-skip-backward from the new
26764         variables.
26765         (c-at-expression-start-p): Bind c-commas-bound-stmts.  Use
26766         c-stmt-delim-chars-with-comma rather than c-stmt-delim-chars in a backward
26767         scan.
26768         (c-guess-basic-syntax): Bind c-commas-bound-stmts rather than
26769         c-stmt-delim-chars to itself.  Bind c-commas-bound-stmts to t at another place
26770         rather than setting c-stmt-delim-chars to c-stmt-delim-chars-with-comma.
26772 2019-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
26774         * src/fns.c (maybe_resize_hash_table): Obey rehash_size (bug#25743)
26776 2019-07-26  Paul Eggert  <eggert@cs.ucla.edu>
26778         Fix recently-introduced file-name-absolute-p typo
26780         Fix a bug introduced in 2019-07-24T21:28:13!eggert@cs.ucla.edu.
26781         * src/fileio.c (file_name_absolute_p):
26782         ~/foo is also absolute (Bug#36809).
26783         * test/src/fileio-tests.el (fileio-tests--file-name-absolute-p):
26784         Rename from fileio-tests--no-such-user and add more tests.
26786 2019-07-26  Paul Eggert  <eggert@cs.ucla.edu>
26788         Fix ‘make check’ failure
26790         Problem introduced in 2019-07-26T07:08:40!larsi@gnus.org.
26791         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
26792         Don’t count "0 unexpected" as unexpected.
26794 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26796         Tweak the display in gnus-summary-browse-url
26798         * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Don't force
26799         article conf, because the command may be called from the article
26800         buffer (which may be the only buffer displayed).
26802 2019-07-26  Noam Postavsky  <npostavs@gmail.com>
26804         * lisp/mail/footnote.el (footnote--local-advice): Add missing comma.
26806 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26808         Separate out the "/" prefix into a named keymap in ibuffer
26810         * lisp/ibuffer.el (ibuffer--filter-map): Separate out into its own
26811         keymap (bug#25797).
26812         (ibuffer-mode-map): Bind the "/" key to it.
26814 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26816         Add version tag to smtpmail-servers-requiring-authorization
26818         * lisp/mail/smtpmail.el
26819         (smtpmail-servers-requiring-authorization): Add version tag.
26821 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26823         Remove interactive spec from eshell-source-file
26825         * lisp/eshell/em-script.el (eshell-source-file): This function
26826         can't work as an interactive command, so remove the interactive
26827         spec (bug#26057).
26829 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26831         Clarify when gpg2 and gpg are used in the epg-gpg-program doc string
26833         * lisp/epg-config.el (epg-gpg-program): Doc string clarification
26834         (bug#26090).
26836 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26838         Make ffap find {/etc} files again
26840         * lisp/ffap.el (ffap-string-at-point-mode-alist): Make
26841         (ffap-file-at-point) work on {/etc} again (bug#26190).
26843 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26845         Fix obsoletion notice in dired-pop-to-buffer
26847         * lisp/dired.el (dired-pop-to-buffer): `dired-mark-pop-up' doesn't
26848         seem to have anything to do with this function, so saying that
26849         it's a replacement seems misleading (bug#26243).
26851 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26853         Minor rewording of a couple of sentences in define-derived-mode doc
26855         * lisp/emacs-lisp/derived.el (define-derived-mode): Reword
26856         documentation to be less whimsical (bug#26301).
26858 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26860         Doc clarification in time-stamp-pattern
26862         * lisp/time-stamp.el (time-stamp-pattern): Try to document what
26863         the examples mean (bug#26335).
26865 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26867         Add a NEWS item about smtpmail-servers-requiring-authorization
26869 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26871         Allow specifying that SMTP auth should always be used
26873         * doc/misc/smtpmail.texi (Authentication): Document it.
26875         * lisp/mail/smtpmail.el
26876         (smtpmail-servers-requiring-authorization): New variable (bug#26359).
26877         (smtpmail-via-smtp): Use it.
26879 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26881         Clarify last-command-event doc string
26883         * src/keyboard.c (syms_of_keyboard): Clarify the doc string
26884         (bug#26626).
26886 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26888         Add an autoload cookie to package-upload-file
26890         * lisp/emacs-lisp/package-x.el (package-upload-file): Add an
26891         autoload cookie (bug#26724).
26893 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26895         Tweak prompt when symlinking in dired
26897         * lisp/dired-aux.el (dired-do-create-files): Fix prompt when
26898         sym/hardlinking (bug#26870).
26900 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26902         Don't infloop in url.el when sending invalid basic auth
26904         * lisp/url/url-http.el (url-http-handle-authentication): Bail out
26905         if the wrong credentials were passed to the server instead of
26906         inflooping (bug#27022).
26908 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26910         Further tweak dired-compress error message
26912         * lisp/dired-aux.el (dired-compress): The function is called on
26913         both compression and uncompression, so be more ambiguous in the
26914         error message.
26916 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26918         Tweak the error message on dired compression failures
26920         * lisp/dired-aux.el (dired-compress): Fix error message.
26922 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26924         Remove debugging left in previous patch
26926         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
26927         Provide completion for `ignore-error'.
26929 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26931         Add new macro `ignore-error'
26933         * doc/lispref/control.texi (Handling Errors): Document
26934         `ignore-error'.
26935         * lisp/subr.el (ignore-error): New macro.
26937         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
26938         Provide completion for `ignore-error'.
26940 2019-07-26  Lars Ingebrigtsen  <larsi@gnus.org>
26942         Always include the number of unexpected results here too
26944         * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Always include the
26945         number of unexpected results here as well.
26947 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
26949         Don't run gpg when loading package.el
26951         * lisp/emacs-lisp/package.el (package-check-signature): Don't run
26952         gpg on startup, but just default to `allow-unsigned'.
26953         (package-check-signature): New function to check whether a OpenPGP
26954         configuration is found when `allow-unsigned'.
26955         (package--check-signature-content, package--check-signature)
26956         (package--download-one-archive, package-refresh-contents)
26957         (package-install-from-archive): Use function instead of variable
26958         throughout.
26959         * doc/emacs/package.texi (Package Installation): Document this.
26961 2019-07-25  Paul Eggert  <eggert@cs.ucla.edu>
26963         Minor pdumper tweaks
26965         * src/pdumper.c (dump_hash_table_stable_p):
26966         Bool vectors and bignums are also stable keys.
26967         (decode_emacs_reloc, drain_reloc_list, Fdump_emacs_portable):
26968         (dump_bitset_clear): Simplify use of memset.
26970 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
26972         Tweak the behaviour of thing-at-point--end-of-sexp
26974         * lisp/thingatpt.el (thing-at-point--end-of-sexp): Don't return
26975         nil when called with point between two parentheses (bug#29499).
26977 2019-07-25  Paul Eggert  <eggert@cs.ucla.edu>
26979         Don't crash when parsing bad SVG data
26981         Derived from a patch by Pip Cet (Bug#36773#47).
26982         * src/image.c (svg_load_image): Work around librsvg 2.40.13 bug.
26984 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
26986         Fix mouse-1 in profiler-report-mode-map
26988         * lisp/profiler.el (profiler-report-mode-map): Make `mouse-1'
26989         respect `mouse-1-click-follows-link' (bug#30515).
26991 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
26993         Make cl-destructuring-bind errors a bit more understandable
26995         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Make errors
26996         when giving the wrong number of arguments to the bindings form
26997         more informational (bug#29345).
26999 2019-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
27001         Don't set marks on imap groups when there are no marks to set
27003         * lisp/gnus/nnimap.el (nnimap-update-qresync-info): This code runs in
27004         a fairly tight loop and shouldn't call all these functions if not
27005         necessary.
27007 2019-07-25  Alan Mackenzie  <acm@muc.de>
27009         * lisp/progmodes/cc-awk.el (c-awk-var-num-ket-re): Remove /x80-/xff from it.
27011 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
27013         Tweak the sizing of the shr placeholder images on HiDPI screens
27015         * lisp/net/shr.el (shr-make-placeholder-image): We have already
27016         computed the size of the placeholder including the scale, so force
27017         the automatic scale to 1.  This will make the placeholder the
27018         correct size on HiDPI screen.
27020 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
27022         Make `C-u w' in the Gnus Summary buffer open externally
27024         * doc/misc/gnus.texi (Article Commands): Document new behaviour.
27026         * lisp/gnus/gnus-sum.el (gnus-shorten-url): New function.
27027         (gnus-summary-browse-url): Change function to make `C-u' use the
27028         external browser (as Gnus does when you hit URLs manually).  Don't
27029         use an initial input.
27031 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
27033         Tweak previous footnote-mode patch
27035         * lisp/mail/footnote.el (footnote--local-advice): Ensure that the
27036         variable really is local.
27038 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
27040         Fix setting fill-paragraph-function in footnote-mode
27042         * lisp/mail/footnote.el (footnote--local-advice): New macro
27043         refactored out from the code used to advice
27044         footnote--adaptive-fill-function in footnote-mode.
27045         (footnote-mode): Use it to advice both that variable and
27046         fill-paragraph-function (the latter to avoid overwriting the major
27047         mode's value) (bug#27775)
27048         (footnote--fill-paragraph): Adjust calling convention now that
27049         it's an :around advice.
27051 2019-07-25  Eli Zaretskii  <eliz@gnu.org>
27053         Fix HarfBuzz support on MS-Windows
27055         * src/w32uniscribe.c [HAVE_HARFBUZZ]: Include hb-ot.h.
27056         (fn_hb_ot_font_set_funcs, hb_ot_font_set_funcs): Define.
27057         (w32hb_get_font): Call hb_ot_font_set_funcs after creating the
27058         hb_font_t object, to make the code work with versions of
27059         HarfBuzz before 2.0.0.  Problem reported by Stephen Leake
27060         <stephen_leake@stephe-leake.org>.  Solution suggested by
27061         Khaled Hosny <dr.khaled.hosny@gmail.com> in
27062         https://lists.freedesktop.org/archives/harfbuzz/2019-July/007412.html.
27064 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
27066         Fix many-compilations case of compilation-goto-in-progress-buffer
27068         * lisp/progmodes/compile.el (compilation-goto-in-progress-buffer):
27069         Fix thinko in initial version of the function in the
27070         many-compilations case.
27072 2019-07-25  Eli Zaretskii  <eliz@gnu.org>
27074         Fix recent commit in xref.el
27076         * lisp/progmodes/xref.el (xref-file-name-display): Doc fix.
27078         * etc/NEWS: Fix the corresponding entry.
27080 2019-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
27082         Leave note about removing gnus-start-news-server
27084         * lisp/gnus/gnus-int.el (gnus-nntp-server): Once this option is gone,
27085         that whole function can go.
27087 2019-07-25  Nobuyoshi Nakada  <nobu@ruby-lang.org>
27089         Strip trailing whitespaces at the end of converted do block
27091         * lisp/progmodes/ruby-mode.el (ruby-brace-to-do-end):
27092         Strip trailing whitespaces at the end of converted do block
27093         (bug#36756).
27095         https://bugs.ruby-lang.org/issues/16014
27096         https://github.com/syl20bnr/spacemacs/issues/12548
27098 2019-07-25  Lars Ingebrigtsen  <larsi@gnus.org>
27100         Clarify in the manual when to use function-key-map
27102         * doc/misc/efaq.texi (No Escape key):
27103         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard): Change back to
27104         function-key-map from local-function-key-map, because these
27105         bindings apply to all terminals.
27107         * doc/lispref/keymaps.texi (Translation Keymaps): Clarify in what
27108         circumstances you may still want to use function-key-map.
27110 2019-07-24  Juri Linkov  <juri@linkov.net>
27112         * lisp/vc/vc.el (vc-log-search): Fix docstring (bug#36644).
27114         * lisp/vc/vc-git.el (vc-git-log-search): Add docstring.
27116 2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>
27118         Do not treat ~nosuchuser as an absolute file name
27120         Derived from Ken Brown’s patch (Bug#36502#97).
27121         * doc/lispref/files.texi (Relative File Names):
27122         * etc/NEWS: Document this.
27123         * src/fileio.c (user_homedir): New function.
27124         (Fexpand_file_name, file_name_absolute_p): Use it.
27125         (search_embedded_absfilename): Simplify via file_name_absolute_p.
27126         * test/src/fileio-tests.el (fileio-tests--no-such-user): New test.
27128 2019-07-24  Sam Steingold  <sds@gnu.org>
27130         Add `gnus-collect-urls-primary-text'
27132         * lisp/gnus/gnus-sum.el (gnus-collect-urls-primary-text): Add defcustom.
27133         (gnus-collect-urls): Use it.
27134         (gnus-summary-browse-url): Mention it in the docstring.
27136 2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>
27138         Port double-slash test to z/OS
27140         * admin/merge-gnulib (GNULIB_MODULES): Add double-slash-root.
27141         Emacs was already using this Gnulib module indirectly, so this
27142         is merely noting that there is now a direct dependency.
27143         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
27144         * src/fileio.c (search_embedded_absfilename):
27145         Use DOUBLE_SLASH_IS_DISTINCT_ROOT instead of (WINDOWSNT || CYGWIN).
27146         Simplify.
27148 2019-07-24  Paul Eggert  <eggert@cs.ucla.edu>
27150         Update from Gnulib
27152         This incorporates:
27153         2019-07-16 update-copyright: Make it work again
27154         * build-aux/config.guess, build-aux/update-copyright:
27155         Copy from Gnulib.
27157 2019-07-24  Sam Steingold  <sds@gnu.org>
27159         Avoid potential extensive verbosity in gnus-summary-browse-url
27161         * lisp/wid-edit.el (widget-move): Accept suppress-echo argument.
27162         * lisp/gnus/gnus-sum.el (gnus-collect-urls): Use it.
27164 2019-07-24  Lars Ingebrigtsen  <larsi@gnus.org>
27166         Use input-decode-map in the manuals
27168         * doc/misc/edt.texi (Changes):
27169         * doc/emacs/custom.texi (Terminal Init): Use input-decode-map
27170         instead of local-function-key-map, according to Stefan Monnier.
27172 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
27174         Use destructuring in filenotify backend handlers
27176         * lisp/filenotify.el (file-notify--callback-inotify)
27177         (file-notify--callback-kqueue, file-notify--callback-w32notify)
27178         (file-notify--callback-gfilenotify, file-notify--callback): Use cl-defun.
27180 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
27182         Use defstruct instead of list for filenotify pending-rename
27184         * lisp/filenotify.el (file-notify--rename): New defstruct.
27185         (file-notify--pending-rename): Changed type.
27186         (file-notify--handle-event): Adapt to new type.
27188 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
27190         Refactor the callback half of filenotify.el
27192         Split callback code into backend-specific and general parts.  Refactor
27193         pending event, which is always a rename, to include relevant
27194         information only.  General clean-up.
27196         * lisp/filenotify.el (file-notify--pending-event): Rename.
27197         (file-notify--event-watched-file, file-notify--event-file-name)
27198         (file-notify--event-file1-name, file-notify--event-cookie): Remove.
27199         (file-notify--rename, file-notify--expand-file-name)
27200         (file-notify--callback-inotify, file-notify--callback-kqueue)
27201         (file-notify--callback-w32notify, file-notify--callback-gfilenotify)
27202         (file-notify--call-handler, file-notify--handle-event): New.
27203         (file-notify-callback): Split general parts into
27204         file-notify--call-handler and file-notify--handle-event.
27205         (file-notify--add-watch-inotify, file-notify--add-watch-kqueue)
27206         (file-notify--add-watch-w32notify)
27207         (file-notify--add-watch-gfilenotify): Use new callbacks.
27209 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
27211         Don't use internal filenotify function in test
27213         * test/lisp/filenotify-tests.el
27214         (file-notify--test-file, file-notify--test-add-watch): New.
27215         (file-notify--test-event-test, file-notify--test-event-handler)
27216         (file-notify-test02-rm-watch, file-notify-test03-events)
27217         (file-notify-test05-file-validity, file-notify-test07-many-events)
27218         (file-notify-test08-backup, file-notify-test09-watched-file-in-watched-dir):
27219         Avoid using the internal `file-notify--event-watched-file' so that it
27220         can be removed from filenotify.el.
27221         Instead, pass the file name to the callback as an extra argument;
27222         use `file-notify--test-add-watch' instead of `file-notify-add-watch'.
27224 2019-07-24  Mattias Engdegård  <mattiase@acm.org>
27226         Local definitions of accessors only used in test
27228         * test/lisp/filenotify-tests.el (file-notify--test-event-file)
27229         (file-notify--test-event-file1, file-notify--test-event-test)
27230         (file-notify--test-event-handler):
27231         Define accessors locally, so that they can be removed from filenotify.el.
27233 2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27235         soap-client: Do not double-encode duplicate types
27237         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Eliminate
27238         duplicates from type hierarchy before encoding values.
27240 2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27242         soap-client: Encode simple type attributes
27244         * lisp/net/soap-client.el (soap-encode-xs-simple-type-attributes):
27245         Encode simple type attributes.
27247 2019-07-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27249         soap-client: Allow attributes and a value
27251         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Allow
27252         attributes and a value to be specified in the same element.
27254 2019-07-24  Andreas Schwab  <schwab@suse.de>
27256         * lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Allow nil
27257         for modseq.
27259 2019-07-23  Juri Linkov  <juri@linkov.net>
27261         Customizable char-fold with char-fold-symmetric, char-fold-include (bug#35689)
27263         * doc/emacs/search.texi (Lax Search): Document
27264         char-fold-symmetric, char-fold-include, char-fold-exclude.
27266         * lisp/char-fold.el (char-fold--default-include)
27267         (char-fold--default-exclude, char-fold--default-symmetric)
27268         (char-fold--previous): New defconsts.
27269         (char-fold-include, char-fold-exclude, char-fold-symmetric):
27270         New defcustoms.
27271         (char-fold-make-table): Use them.
27272         (char-fold-update-table): New function called at top-level.
27274         * test/lisp/char-fold-tests.el (char-fold--test-no-match-exactly)
27275         (char-fold--permutation): New functions.
27276         (char-fold--test-without-customization)
27277         (char-fold--test-with-customization): New tests.
27279 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
27281         Merge pdumper.c and alloc.c builtin symbol tests
27283         * src/alloc.c (c_symbol_p): Move from here ...
27284         * src/lisp.h (c_symbol_p): ... to here, and make it more portable
27285         to hypothetical platforms where pointers are wider than ptrdiff_t.
27286         * src/pdumper.c (dump_builtin_symbol_p): Use c_symbol_p.
27288 2019-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
27290         Make "Compiling" in the mode line a clickable command
27292         * lisp/progmodes/compile.el (compilation-goto-in-progress-buffer):
27293         New command.
27294         (compilation-in-progress): Don't put the in-progress mode-line
27295         marker among the minor modes (because it's not a minor mode), and
27296         add a command that allows you to switch to the in-progress
27297         compilation buffer (bug#27252).
27299 2019-07-23  Robert Pluim  <rpluim@gmail.com>
27301         Follow decomposition chains when constructing char-fold-table
27303         * lisp/char-fold.el (char-fold-make-table): Decompose the
27304         decomposition of each character, adding equivalences to the original
27305         character, until no more decompositions are left.
27307 2019-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
27309         Refer to local-function-key-map in various manuals
27311         * doc/misc/viper.texi (Key Bindings):
27312         * doc/misc/efaq.texi (X key translations for Emacs)
27313         (No Escape key):
27314         * doc/misc/edt.texi (Changes):
27315         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
27316         * doc/emacs/custom.texi (Terminal Init): Refer to
27317         local-function-key-map instead of function-key-map, since the
27318         latter isn't supposed to be changed (bug#27490).
27320 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
27322         Improve pdumper doc; say unexec is deprecated
27324         Say that pdumping cannot redump unless -batch is used.  Say that
27325         the traditional unexec dumping method is by default not available,
27326         and is deprecated.  Don't call dump files "portable", as dump files
27327         are not any more portable than the Emacs executables themselves.
27328         Just call them "dump files".  Similar, prefer "portable dumper"
27329         (since the dumper code is portable) to "portable dumping" (since
27330         the dump file is not).  Be more systematic about calling them
27331         "dump files" instead of "dumped images" or whatnot.
27333 2019-07-23  Stefan Monnier  <monnier@iro.umontreal.ca>
27335         * src/fns.c (hashfn_user_defined): Make sure we always return a fixnum.
27337 2019-07-23  Alan Mackenzie  <acm@muc.de>
27339         Fix problems in CC Mode with " being entered into a comment at EOB.
27341         * lisp/progmodes/cc-engine.el (c-full-lit-near-cache): Amend the definition
27342         such that an element's END element will be nil if the pertinent literal is
27343         open at EOB.
27344         (c-full-pp-to-literal): Before setting the aforementioned END element, check
27345         that we're no longer in a literal.  (c-literal-limits): When
27346         c-full-pp-to-literal returns a list with a nil END element, replace this by
27347         (point-max) to keep the interface of c-literal-limits unchanged.
27349         * lisp/progmodes/cc-mode.el (c-after-change-mark-abnormal-strings): Having
27350         found a string quote, check it is not inside an unterminated comment (i.e. one
27351         at EOB).
27353 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
27355         Support "%x" etc. formats on more floats
27357         * doc/lispref/strings.texi (Formatting Strings): Document this.
27358         * src/editfns.c (styled_format): Support %o, %x, and %X on
27359         finite floats less than zero or greater than UINTMAX_MAX.
27360         * test/src/editfns-tests.el (format-%x-large-float)
27361         (read-large-integer, format-%o-negative-float):
27362         Adjust tests to match extended behavior.
27363         Rename the latter test from format-%o-invalid-float,
27364         since the float is no longer invalid.
27366         * test/src/editfns-tests.el (format-%x-large-float)
27367         (read-large-integer): Test this.
27369 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
27371         Tweak performance of cmpfn_profiler
27373         * src/profiler.c (cmpfn_profiler):
27374         Improve performance when VECTORP (bt1) && EQ (bt1, bt2).
27376 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
27378         Avoid overexposing fixnums for hash codes
27380         Following a suggestion by Stefan Monnier in:
27381         https://lists.gnu.org/r/emacs-devel/2019-07/msg00530.html
27382         * doc/lispref/hash.texi (Creating Hash, Defining Hash):
27383         * src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal, Fmake_hash_table):
27384         Don’t insist that hash codes be fixnums, reverting
27385         the recent doc changes to the contrary.
27386         * src/bytecode.c (exec_byte_code): Special-case only the eq case,
27387         as the others aren’t worth tuning now that we treat bignum hashes
27388         like fixnums.
27389         * src/fns.c (hashfn_user_defined): If the hash code is a bignum,
27390         reduce its hash down to a fixnum.
27392 2019-07-22  Stefan Kangas  <stefankangas@gmail.com>
27394         Document normal usage in ibuffer.el
27396         * lisp/ibuffer.el (Commentary): Document normal usage.  (Bug#5608)
27397         Remove redundant :group args.
27399 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
27401         Do not pdump user-defined hashtabs
27403         * src/pdumper.c (dump_hash_table_stable_p):
27404         Signal an error if a hash table has user-defined tests (Bug#36769).
27405         * src/fns.c (hashfn_user_defined): Now extern.
27407 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
27409         Keep track of consing while GC’s inhibited
27411         * src/alloc.c (allow_garbage_collection): Do not discard the count
27412         of consing that occurred while GC was inhibited.
27413         Problem and initial fix reported by Pip Cet in:
27414         https://lists.gnu.org/r/emacs-devel/2019-07/msg00523.html
27416 2019-07-22  Pip Cet  <pipcet@gmail.com>
27418         Avoid byte compiler warning for subr.el
27420         * lisp/subr.el (number-sequence): Simplify to avoid byte compiler warning.
27422 2019-07-22  Paul Eggert  <eggert@cs.ucla.edu>
27424         Remove no-longer-needed integer overflow code
27426         * lisp/calculator.el (calculator-number-to-string):
27427         Use truncate, not calculator-truncate, since integer
27428         overflow cannot occur here.
27429         * lisp/calendar/cal-persia.el (calendar-persian-year-from-absolute):
27430         * lisp/gnus/gnus-agent.el (gnus-agent-read-article-number):
27431         * lisp/gnus/nnmaildir.el (nnmaildir--group-maxnum)
27432         (nnmaildir--new-number):
27433         * lisp/scroll-bar.el (scroll-bar-scale):
27434         * lisp/simple.el (beginning-of-buffer, end-of-buffer):
27435         Simplify, now that integer overflow cannot occur.
27437 2019-07-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
27439         Adjust regexp for parsing IMAP header response
27441         * lisp/gnus/nnimap.el (nnimap-transform-headers): The first header
27442         might have no value, or a continuation header might start with a
27443         newline.
27445 2019-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
27447         * lisp/progmodes/opascal.el: Tweak code to ease edebugging
27449         (opascal-strings): Inline in its sole use.
27450         (opascal-save-excursion): Add Edebug spec.
27451         (opascal-is): Remove.  Use `memq` directly instead.
27452         (opascal--in): New pcase pattern.
27453         (opascal-literal-end-pattern): Remove unused function.
27454         (opascal--scan-non-whitespace-backward): New macro.
27455         (opascal-block-start, opascal-else-start, opascal-is-use-clause-end)
27456         (opascal-previous-indent-of, opascal-section-indent-of)
27457         (opascal-enclosing-indent-of): Use it.
27458         (opascal-corrected-indentation): Presume we're already at first token.
27459         (opascal-indent-line): Use indent-line-to.
27460         (opascal-new-comment-line): Declare obsolete.
27461         (opascal-mode-map): Keep the default M-j binding instead.
27463 2019-07-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
27465         Fix case of IMAP Noselect flag
27467         * lisp/gnus/nnimap.el (nnimap-get-groups): We should be looking for
27468         %Noselect, not %NoSelect.
27470 2019-07-22  Mattias Engdegård  <mattiase@acm.org>
27472         Remove some obsolete integer overflow handling
27474         * lisp/subr.el (number-sequence):
27475         * lisp/org/org-gnus.el (org-gnus-follow-link):
27476         * lisp/ls-lisp.el (ls-lisp-insert-directory):
27477         Remove dead code guarding against integer overflow.
27479 2019-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
27481         * lisp/progmodes/opascal.el: Allow inline `var` decl in `for` (bug#36348)
27483         (opascal-enclosing-indent-of): Ignore decls "neutered" by delimiter.
27485 2019-07-22  Mattias Engdegård  <mattiase@acm.org>
27487         Make tramp test regexp more robust
27489         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
27490         Match a greater variety of human-readable size values.
27492 2019-07-22  Michael Albinus  <michael.albinus@gmx.de>
27494         Support history files in remote shells (Bug#36742)
27496         * doc/emacs/misc.texi (Shell Ring): Mention history file for
27497         remote shells.
27499         * lisp/shell.el (shell--start-prog): New buffer-local variable.
27500         (shell): Set it.
27501         (shell-mode): Handle history file for remote shells. (Bug#36742)
27503 2019-07-22  Martin Rudalics  <rudalics@gmx.at>
27505         Handle persistence of windows' scroll bar and fringes settings (Bug#36193)
27507         * doc/lispref/display.texi (Fringe Size/Pos): Document new
27508         argument PERSISTENT of 'set-window-fringes'.
27509         (Scroll Bars): Document new argument PERSISTENT of
27510         'set-window-scroll-bars'.  Mention that HORIZONTAL-TYPE must
27511         be 'bottom' to show a horizontal scroll bar on mini windows.
27512         * lisp/window.el (window-min-pixel-height): For mini windows the
27513         minimum height is one line.
27514         (window--min-size-1): Use value returned by
27515         'window-min-pixel-height' when dealing with mini windows.
27516         (window--resize-mini-window): Try to handle horizontal scroll
27517         bars and size restrictions more accurately.
27518         (window--state-put-2): Handle persistence of scroll bar
27519         settings.
27520         * src/frame.c (make_frame): Allow horizontal scroll bars in
27521         mini windows.
27522         (adjust_frame_size): Drop PIXELWISE argument in
27523         'resize_frame_windows' calls.
27524         * src/window.c (set_window_buffer): Don't override WINDOW's
27525         scroll bar and fringe settings when marked as persistent.
27526         (resize_frame_windows): Drop fourth argument PIXELWISE - SIZE
27527         is always specified in terms of pixels.  Try to handle height
27528         of mini windows more accurately.
27529         (grow_mini_window, shrink_mini_window): Use body height of
27530         mini window when calculating expected height change.  Take
27531         horizontal scroll bars into account.
27532         (struct saved_window): Two new members to handle persistence
27533         of window fringes and scroll bars.
27534         (Fset_window_configuration, save_window_save): Handle
27535         persistence of fringes and scroll bars.
27536         (set_window_fringes, set_window_scroll_bars): New arguments
27537         PERSISTENT.  Make dimension checks more accurate.
27538         (Fset_window_fringes): New argument PERSISTENT.
27539         (Fwindow_fringes, Fwindow_scroll_bars): Add PERSISTENT to
27540         return values.
27541         (Fset_window_scroll_bars): New argument PERSISTENT.  In
27542         doc-string mention that 'bottom' must be specified to get a
27543         horizontal scroll bar in mini windows.
27544         (compare_window_configurations): Add checks for persistence of
27545         fringes and scroll bars.
27546         * src/window.h (struct window): New boolean slots
27547         'fringes_persistent' and 'scroll_bars_persistent'.
27548         (WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Allow horizontal scroll bars
27549         for mini windows.
27550         (resize_frame_windows): Remove fourth argument of
27551         'resize_frame_windows' in external declaration.
27552         * src/xdisp.c (resize_mini_window): Use box text height to
27553         tell whether mini window height changed.
27554         (set_horizontal_scroll_bar): Set mini window's horizontal
27555         scroll bar when its type is specified as 'bottom'.
27556         * etc/NEWS: Mention new options for 'set-window-fringes' and
27557         'set-window-scroll-bars'.
27559 2019-07-21  Alan Mackenzie  <acm@muc.de>
27561         Implement C++ Mode attributes.  This fixes bug #36650.
27563         * lisp/progmodes/cc-engine.el (c-looking-at-c++-attribute)
27564         (c-enclosing-c++-attribute, c-slow-enclosing-c++-attribute): New macro and
27565         functions.
27566         (c-crosses-statement-barrier-p): Add [ into skip-chars for C++ Mode, and use
27567         it to detect and skip over an attribute whilst scanning forward.
27568         (c-sws-lit-type): Use the new value 'attribute.
27569         (c-invalidate-sws-region-before): Put a save-match-data around this function.
27570         Detect and handle an enclosing attribute at either END or BEG.
27571         (c-invalidate-sws-region-after): Handle C++ attributes.
27572         (c-forward-sws, c-backward-sws): Handle C++ attributes.
27574         * lisp/progmodes/cc-mode.el (c-fl-decl-end): Detect and handle point being
27575         inside a C++ attribute.
27577 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
27579         Fix lifetime error in previous patch
27581         Problem reported by Pip Cet in:
27582         https://lists.gnu.org/r/emacs-devel/2019-07/msg00520.html
27583         * src/alloc.c (inhibit_garbage_collection): Use new function.
27584         (allow_garbage_collection): Accept intmax_t, not pointer.
27585         * src/eval.c (default_toplevel_binding, do_one_unbind)
27586         (backtrace_eval_unrewind, Fbacktrace__locals, mark_specpdl):
27587         Support SPECPDL_UNWIND_INTMAX.
27588         (record_unwind_protect_excursion): New function.
27589         * src/lisp.h (enum specbind_tag): New constant SPECPDL_UNWIND_INTMAX.
27590         (union specbinding): New member unwind_intmax.
27592 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
27594         Speed up maybe_gc when GC is inhibited
27596         * src/alloc.c (allow_garbage_collection)
27597         (inhibit_garbage_collection): Temporarily bump
27598         consing_until_gc, to improve performance of maybe_gc while
27599         garbage collection is inhibited.  Suggested by Stefan Monnier in:
27600         https://lists.gnu.org/r/emacs-devel/2019-07/msg00511.html
27602 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
27604         Avoid integer overflow in hash table size
27606         * src/fns.c (INDEX_SIZE_BOUND): Use a tighter bound.
27607         (maybe_resize_hash_table): Avoid integer overflow when
27608         checking for hash table size overflow.  Fix confusion
27609         between INDEX_SIZE_BOUND (which is for the index vector)
27610         and hash table size.  Fix typo in debugging message
27611         when ENABLE_CHECKING.
27613 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
27615         Improve doc for hash tables
27617         * doc/lispref/hash.texi (Creating Hash, Defining Hash):
27618         * src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal):
27619         Say that hashes are fixnums.
27620         (Fmake_hash_table): Say that that an integer rehash-size
27621         should be a fixnum.
27622         * doc/lispref/hash.texi (Defining Hash): Say that hash and
27623         comparison functions should be consistent and pure, and should
27624         return quickly.
27626 2019-07-21  Paul Eggert  <eggert@cs.ucla.edu>
27628         pure_alloc returns cleared memory
27630         * src/alloc.c (pure_alloc): Clear any heap-allocated storage.
27631         This is simpler than auditing all the callers to make sure
27632         they don’t assume pure memory is cleared memory, and the
27633         performance implication is nonexistent except when Emacs
27634         is misconfigured.  Also, add an assertion to catch
27635         caller misuse when pure space is exhausted.
27637 2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>
27639         Make the unflag-p parameter in dired-mark-unmarked-files work
27641         * lisp/dired-x.el (dired-mark-unmarked-files): Make the unflag-p
27642         parameter work (bug#27465).
27644 2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>
27646         Don't override SSH_AUTH_SOCK in the example emacs.service file
27648         * etc/emacs.service (ExecStop): Don't override SSH_AUTH_SOCK by
27649         default, because it varies by distribution where the socket is
27650         (bug#27620).
27652 2019-07-21  Lars Ingebrigtsen  <larsi@gnus.org>
27654         Fill footnotes better on `M-q'
27656         * lisp/mail/footnote.el (footnote--fill-paragraph): New function
27657         (bug#27775).
27658         (footnote-mode): Use it.
27660 2019-07-21  Ken Brown  <kbrown@cornell.edu>
27662         Fix expand-file-name for names starting with '~'
27664         * src/fileio.c: (file_name_absolute_no_tilde_p):
27665         New static function.
27666         (Fexpand_file_name): If the current buffer's default-directory
27667         starts with "~user" where "user" is not a valid user name, don't
27668         give the '~' a special meaning.  Just treat the value of
27669         default-directory as a relative name.  (Bug#36502)
27670         * test/src/fileio-tests.el
27671         (fileio-tests--relative-default-directory): Add a test.
27673 2019-07-21  Gemini Lasswell  <gazally@runbox.com>
27675         Fix inline-quote Edebug spec
27677         * lisp/emacs-lisp/inline.el (inline-quote): Fix the edebug spec
27678         (bug#31051).
27680 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
27682         Tweak recent hash-table fix
27684         * src/fns.c (maybe_resize_hash_table): Completely initialize the
27685         new ‘next’ vector before allocating more vectors, as this
27686         preserves locality a bit better and it’s safer not to leave an
27687         uninitialized Lisp object around.  Use next_size instead of
27688         new_size to compute new index size.
27690 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
27692         Fix crash if user test munges hash table
27694         * src/fns.c (restore_mutability)
27695         (hash_table_user_defined_call): New functions.
27696         (cmpfn_user_defined, hashfn_user_defined): Use them.
27697         (make_hash_table, copy_hash_table):
27698         Mark new hash table as mutable.
27699         (check_mutable_hash_table): New function.
27700         (Fclrhash, Fputhash, Fremhash): Use it instead of CHECK_IMPURE.
27701         * src/lisp.h (struct hash_table_test): User-defined functions
27702         now take pointers to struct Lisp_Hash_Table, not to struct
27703         hash_table_test.  All uses changed.
27704         (struct Lisp_Hash_Table): New member ‘mutable’.
27705         * src/pdumper.c (dump_hash_table): Copy it.
27706         * test/src/fns-tests.el (test-hash-function-that-mutates-hash-table):
27707         New test, which tests for the bug.
27709 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
27711         Simplify hashfn/cmpfn calling convention
27713         * src/fns.c (cmpfn_eql, cmpfn_equal, cmpfn_user_defined)
27714         (hashfn_eq, hashfn_equal, hashfn_eql, hashfn_user_defined):
27715         * src/profiler.c (cmpfn_profiler, hashfn_profiler):
27716         Use new calling convention where the return value is a fixnum
27717         instead of EMACS_UINT.  While we’re at it, put the hash table
27718         at the end, since that’s a bit simpler and generates better
27719         code (at least on the x86-64).  All callers changed.
27720         * src/fns.c (hash_lookup): Store fixnum rather than EMACS_UINT.
27721         All callers changed.
27722         (hash_put): Take a fixnum rather than an EMACS_UINT.
27723         All callers changed.  Remove unnecessary eassert (XUFIXNUM does it).
27724         * src/lisp.h (struct hash_table_test):
27725         Adjust signatures of cmpfn and hashfn.
27727 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
27729         Inhibit GC after inhibit_garbage_collection
27731         Without this patch, there are unlikely ways that garbage
27732         collection could occur (sometimes causing undefined behavior)
27733         even when inhibit_garbage_collection is in effect.
27734         * src/alloc.c (garbage_collection_inhibited): New var.
27735         (pure_alloc): Increment it if pure space is exhausted, so that
27736         garbage_collect_1 no longer needs to inspect
27737         pure_bytes_used_before_overflow.
27738         (allow_garbage_collection): New function.
27739         (inhibit_garbage_collection): Increment the new variable rather
27740         than specbinding a user variable.
27741         (garbage_collect_1): Do not garbage collect if the new variable
27742         is set, rather than if pure_bytes_used_before_overflow is set.
27744 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
27746         Simplify maybe_gc implementation
27748         * src/alloc.c (consing_until_gc): New variable, replacing the
27749         combination of consing_since_gc and gc_relative_threshold.
27750         All uses changed.
27751         (byte_ct): Move decl here from lisp.h.
27752         (memory_full_cons_threshold): New an enum constant.
27753         (free_cons): Check for integer overflow in
27754         statistics calculation.
27755         * src/lisp.h (object_ct): Move decl here from alloc.c.
27756         (OBJECT_CT_MAX): New macro.
27757         (maybe_gc): Simplify accordingly.
27759 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
27761         Rename ‘pure’ to ‘purecopy’
27763         * src/lisp.h (struct Lisp_Hash_Table): Rename ‘pure’ member to
27764         ‘purecopy’, as the old name was quite confusing (it did not
27765         mean the hash table was pure).  All uses changed.
27767 2019-07-20  Paul Eggert  <eggert@cs.ucla.edu>
27769         Fix hash table overallocation etc.
27771         * src/fns.c (set_hash_key_and_value, set_hash_next)
27772         (set_hash_hash, set_hash_index): Remove.  All uses removed.
27773         (maybe_resize_hash_table): Don’t update h->next until it’s
27774         known that all the allocations succeeded, to avoid trashing
27775         the hash table if memory is exhausted.  Don’t overallocate the
27776         other vectors.  Don’t output growth message if the hash table
27777         didn’t actually grow due to allocation failure.  Assume C99
27778         decls after statements.
27780 2019-07-20  Noam Postavsky  <npostavs@gmail.com>
27782         Merge from emacs-26
27784         150bdfe43a Handle completely undecoded input in term (Bug#29918)
27785         021f32cca1 * doc/misc/forms.texi (Control File Format): Fix a doc error.
27786         76538d09b7 Fix typo in package-alist docstring
27787         b2fde4b5e8 * doc/lispref/text.texi (Mode-Specific Indent): Fix a typo...
27788         7e62778548 ; Another minor change in 'bidi-display-reordering's doc s...
27789         4455ddbe56 Improve doc string of 'bidi-display-reordering'
27790         34ee26dd93 Add warning to bidi-display-reordering doc string
27792         # Conflicts:
27793         #       lisp/term.el
27794         #       test/lisp/term-tests.el
27796 2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>
27798         Use lexical-binding in compface.el
27800         * lisp/image/compface.el: Use lexical-binding.  Extend Keywords
27801         header.
27802         (uncompface): Call call-process-region directly.
27804 2019-07-20  Oleh Krehel  <ohwoeowho@gmail.com>
27806         * lisp/files.el (file-size-function): Add :version tag
27808 2019-07-20  Stefan Monnier  <monnier@iro.umontreal.ca>
27810         * test/manual/indent/octave.m (spmd): Add test for last change
27812         * lisp/progmodes/octave.el (matchedrules): Add `spmd...end` (bug#36703)
27814 2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>
27816         Fix last change to format-spec
27818         * doc/lispref/text.texi (Interpolated Strings): Use @result and fix
27819         typos.
27820         * lisp/format-spec.el: Avoid loading subr-x at runtime.
27821         (format-spec--parse-modifiers): Optimize slightly.
27823 2019-07-20  Basil L. Contovounesios  <contovob@tcd.ie>
27825         Allow counter-clockwise rotations in image-rotate
27827         * lisp/image.el (image-rotate): Extend with an optional argument
27828         specifying the rotation in degrees (bug#35421).
27829         * doc/lispref/display.texi (Showing Images):
27830         * etc/NEWS: Document the change.
27831         * test/lisp/image-tests.el (image-rotate): New test.
27833 2019-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
27835         Mark the gnus-article-date-headers NEWS entry as documented
27837 2019-07-20  Adam Sjøgren  <asjo@koldfront.dk>
27839         Enable showing local time and lapsed time in Gnus
27841         * lisp/gnus/gnus-art.el (article-make-date-combine-with-lapsed) factor
27842         code out into new function, used for providing both combined-lapsed
27843         and combined-local-lapsed.
27845 2019-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
27847         Clean up code in nnimap-parse-flags slightly
27849         * lisp/gnus/nnimap.el (nnimap-parse-flags): Clean up code
27850         slightly, removing redundant checks for `end'.
27852 2019-07-20  Eli Zaretskii  <eliz@gnu.org>
27854         Fix last change
27856         * etc/NEWS: Call out the change in matching REGEXP.
27858         * lisp/files.el (magic-mode-alist)
27859         (magic-fallback-mode-alist): Doc fix.  (Bug#36401)
27861 2019-07-20  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
27863         Make REs in magic-(fallback-)mode-alist case-sensitive.
27865         These variables are used for well-defined file formats where relaxed
27866         case matching is not wanted usually.
27868         * lisp/files.el (magic-mode-alist, magic-fallback-mode-alist): Update
27869         the doc string.
27870         (set-auto-mode): Make looking-at for elements of magic-mode-alist and
27871         magic-fallback-mode-alist use case-fold-search == nil.
27872         * lisp/files.el (files-test-magic-mode-alist-re-baseline)
27873         (files-test-magic-mode-alist-re-no-match)
27874         (files-test-magic-mode-alist-re-case-diff): Add.
27876 2019-07-20  Stefan Kangas  <stefankangas@gmail.com>
27878         Make finder-exit use quit-window (Bug#33610)
27880         * lisp/finder.el (finder-exit): Quit window instead of
27881         deleting.  This restores previous contents of the window,
27882         if any, that was usurped by "C-h p" to show the list of
27883         packages.
27885 2019-07-20  Mauro Aranda  <maurooaranda@gmail.com>
27887         Remove duplicated code in octave-eldoc-function
27889         * lisp/progmodes/octave.el (octave-eldoc-function): The
27890         test of position of the opening parenthesis in
27891         inferior-octave-process was duplicated.  Remove one of
27892         the tests.  (Bug#36557)
27894 2019-07-19  Oleh Krehel  <ohwoeowho@gmail.com>
27896         * lisp/files.el (file-size-function): New defcustom
27898 2019-07-19  Mattias Engdegård  <mattiase@acm.org>
27900         Neater free disk space formatting
27902         * lisp/files.el (get-free-disk-space): Update doc string.
27903         Use `iec' style and proper spacing.
27905 2019-07-19  Martin Rudalics  <rudalics@gmx.at>
27907         Have 'display-buffer-reuse-window' prefer window on selected frame (Bug#36680)
27909         * lisp/window.el (display-buffer-reuse-window): Preferably reuse
27910         window on selected frame (Bug#36680).
27911         * doc/lispref/windows.texi (Buffer Display Action Functions): Say
27912         that 'display-buffer-reuse-window' prefers window on the selected
27913         frame.
27915 2019-07-18  Noam Postavsky  <npostavs@gmail.com>
27917         Don't load elec-pair in elisp-mode (Bug#36539)
27919         * lisp/progmodes/elisp-mode.el (emacs-lisp-set-electric-text-pairs):
27920         New function.
27921         (emacs-lisp-mode): Add it to electric-pair-mode-hook, if elec-pair
27922         hasn't been loaded yet.
27924 2019-07-18  Stefan Kangas  <stefankangas@gmail.com>
27926         Use lexical-binding in help-fns-tests.el (Bug#36585)
27928         * test/lisp/help-fns-tests.el: Use lexical-binding.  Doc fix.
27930 2019-07-18  Stefan Kangas  <stefankangas@gmail.com>
27932         Declare mwheel-install obsolete (Bug#36553)
27934         * lisp/mwheel.el: Update `Commentary' section.
27935         (mwheel-install): Declare obsolete in favor of mouse-wheel-mode.
27936         * etc/NEWS: Announce it.
27938 2019-07-18  Juri Linkov  <juri@linkov.net>
27940         * lisp/vc/vc-git.el (vc-git-log-search): Remove shell-quote-argument.
27942         (Bug#36644)
27944 2019-07-18  Simen Heggestøyl  <simenheg@gmail.com>
27946         Use lexical-binding in asm-mode.el and add tests
27948         * lisp/progmodes/asm-mode.el: Use lexical-binding.
27949         (asm-comment-char): Remove redundant :group arg.
27950         (asm-mode): Use `setq-local'.
27951         (asm-calculate-indentation): Remove moot `or'.
27953         * test/lisp/progmodes/asm-mode-tests.el: New file with tests for
27954         asm-mode.el.
27956 2019-07-18  Michael Albinus  <michael.albinus@gmx.de>
27958         Determine `file-notify' handler in Tramp from `special-event-map'.
27960         * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
27961         (tramp-sh-gvfs-monitor-dir-process-filter)
27962         (tramp-sh-inotifywait-process-filter): Determine `file-notify'
27963         handler from `special-event-map'.
27965 2019-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
27967         * lisp/server.el (server-ensure-safe-dir): Revert part of b663c8372495
27969         A non-cosmetic change that was mistakenly included.
27971 2019-07-18  Glenn Morris  <rgm@gnu.org>
27973         Update a tramp test for get-free-disk-space change
27975         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
27976         Handle optional unit suffix in free space.
27978 2019-07-18  Oleh Krehel  <ohwoeowho@gmail.com>
27980         * lisp/files.el (get-free-disk-space): Use file-size-human-readable
27982         Since there is no longer an option to do:
27984             (setq directory-free-space-args "-Pmh")
27986 2019-07-18  Eli Zaretskii  <eliz@gnu.org>
27988         * lisp/abbrev.el (abbrev-prefix-mark): Fix a typo.  (Bug#36715)
27990 2019-07-17  Eric Abrahamsen  <eric@ericabrahamsen.net>
27992         Fix indexing of Gnus entry in gnus-group-unsubscribe-group
27994         * lisp/gnus/gnus-group.el (gnus-group-unsubscribe-group): Hopefully
27995           that's the last of these.
27997 2019-07-17  Stephen Leake  <stephen_leake@stephe-leake.org>
27999         Add xref-file-name-display
28001         * lisp/progmodes/xref.el (xref-file-name-display): New user variable.
28002         (xref-location-group): Use it.
28004         * etc/NEWS: Mention it.
28006 2019-07-17  Nick Drozd  <nicholasdrozd@gmail.com>
28008         * test/lisp/progmodes/cc-mode-tests.el: Add a test with /***/ in #define lines
28010 2019-07-17  Alan Mackenzie  <acm@muc.de>
28012         * lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Fix faulty regexp
28014 2019-07-16  Glenn Morris  <rgm@gnu.org>
28016         An electric test is now passing
28018         * test/lisp/electric-tests.el
28019         (electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings):
28020         Seems to pass since today's cc-mode changes.
28022 2019-07-16  Glenn Morris  <rgm@gnu.org>
28024         * lisp/wid-edit.el: Previous change needs subr-x.
28026 2019-07-16  Sam Steingold  <sds@gnu.org>
28028         Treat the "Link" link in gnus-summary-browse-urls specially
28030         * lisp/gnus/gnus-sum.el (gnus-collect-urls): Make sure that
28031         the URL labeled "Link" is the first in the return list.
28032         (gnus-summary-browse-url): Use the 1st URL as the default.
28033         * lisp/wid-edit.el (widget-text): New function.
28035 2019-07-16  Alan Mackenzie  <acm@muc.de>
28037         CC Mode: allow bogusly "adjacent" double quote marks to pair up syntactically
28039         For this introduce the text property c-fl-syn-tab to "mirror" syntax-table.
28041         * lisp/progmodes/cc-defs.el (c-is-escaped, c-will-be-escaped, c-put-syn-tab)
28042         (c-clear-syn-tab, c-clear-syn-tab-properties, c-with-extended-string-fences):
28043         new macros.
28044         (c-point): Use c-is-escaped
28045         (c-search-forward-char-property, c-search-backward-char-property)
28046         (c-search-forward-char-property-with-value-on-char)
28047         (c-search-forward-char-property-without-value-on-char): Fix regexp error
28048         involving \n.
28050         * lisp/progmodes/cc-engine.el (c-semi-pp-to-literal): User
28051         c-with-extended-string-fences around a parse-partial-sexp.
28052         (c-full-get-near-cache-entry): Fix an off-by-one error.
28053         (c-full-pp-to-literal): Avoid writing duplicate entries into a cache.
28054         (c-after-change-unmark-raw-strings): Use c-clear-syn-tab-properties.
28056         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Clear the c-fl-syn-tab
28057         properties, too.
28058         (c-basic-common-init): Mark c-fl-syn-tab as a non-sticky text property.
28059         (c-depropertize-new-text): Also handle c-fl-syn-tab.
28060         (c-multiline-string-check-final-quote, c-parse-quotes-after-change): Use
28061         c-is-escaped.
28062         (c-fl-syn-tab-region): New variable.
28063         (c-clear-string-fences, c-restore-string-fences, c-remove-string-fences): New
28064         functions.
28065         (c-before-change-check-unbalanced-strings)
28066         (c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
28067         Use the new functions and macros.
28068         (c-before-change, c-after-change, c-font-lock-fontify-region): Restore the
28069         syntax-table text properties from c-fl-syn-tab text properties for these
28070         functions.
28071         (c-electric-pair-inhibit-predicate): Test the c-fl-syn-tab property rather
28072         than syntax-table.
28074 2019-07-16  Basil L. Contovounesios  <contovob@tcd.ie>
28076         Fix failing secrets-test03-items
28078         * test/lisp/net/secrets-tests.el: Use lexical-binding.
28079         (secrets-test03-items): Do not assume :xdg:schema attribute is
28080         silently added to the front of the collection (bug#36694).
28081         (secrets-test04-search, secrets-test-all): Quote function symbols as
28082         such.
28084 2019-07-16  Mattias Engdegård  <mattiase@acm.org>
28086         Fix calc number formatting with digit grouping (bug#36689)
28088         The functions math-format-hex and math-format-octal were not
28089         implemented, yet called, leading to a crash when using hex or octal
28090         radix with digit grouping.
28092         * test/lisp/calc/calc-tests.el (calc-test-format-radix): New test.
28093         * lisp/calc/calc-ext.el: Don't declare non-existing functions.
28094         (math--format-integer-fancy): Don't call non-existing functions.
28095         * lisp/calc/calc-bin.el (math-format-binary, math-binary-digits):
28096         Simplify, fixing 0-padding bug.
28098 2019-07-16  Lars Ingebrigtsen  <larsi@gnus.org>
28100         Revert "Add support for paths to svg.el"
28102         This reverts commit d6bc55ae2dc98c83e58a28e380ce4bcf2ed00bb3.
28104         Paperwork not ready for Felix Klee; will reapply once that's in place.
28106 2019-07-16  Lars Ingebrigtsen  <larsi@gnus.org>
28108         Revert "* doc/lispref/display.texi (SVG Images): Add menu for subsection."
28110         This reverts commit e5cd597c7736b587f80c16fde1c53f904d921310.
28112         Paperwork nod ready for the SVG Path patch.
28114 2019-07-16  Mattias Engdegård  <mattiase@acm.org>
28116         Set revert-buffer-function in ert-results-mode
28118         * lisp/emacs-lisp/ert.el (ert-results-mode): Set revert-buffer-function
28119         to re-run the same test selection.  It is a good fit and permits use of
28120         the standard "g" key binding.
28122 2019-07-16  Stephen Berman  <stephen.berman@gmx.net>
28124         Prevent infinite loop on entering wdired-mode
28126         * lisp/wdired.el (wdired-preprocess-symlinks): Remove unneeded use
28127         of beginning-of-line, which also triggers an infinite loop in a
28128         find-dired buffer that doesn't end with a newline (see discussion
28129         in bug#35609).
28131 2019-07-15  Juri Linkov  <juri@linkov.net>
28133         * lisp/vc/vc.el (vc-log-search): New command (bug#36644).
28135         * lisp/vc/vc-git.el (vc-git-log-search): New function.
28136         (vc-git-log-view-mode): Check vc-log-view-type for log-search.
28138 2019-07-15  Juri Linkov  <juri@linkov.net>
28140         * lisp/vc/vc-dir.el (vc-dir-search): Remove lambda.
28142         (Bug#31578) Thanks to Dmitry Gutov <dgutov@yandex.ru>
28144 2019-07-15  Juri Linkov  <juri@linkov.net>
28146         * lisp/frame.el (make-frame-on-display): Use x-display-list in completion.
28148         (Bug#29713)
28150 2019-07-15  Juri Linkov  <juri@linkov.net>
28152         * lisp/progmodes/sh-script.el (sh-assignment): Put delete-selection on symbol
28154 2019-07-15  Glenn Morris  <rgm@gnu.org>
28156         * doc/lispref/display.texi (SVG Images): Add menu for subsection.
28158 2019-07-15  Stefan Monnier  <monnier@iro.umontreal.ca>
28160         * lisp/gnus/nntp.el: Use lexical-binding
28162         (nntp-server-action-alist): Expose the code to the compiler.
28163         (nntp-with-open-group-function): No need to obfuscate identifiers any more.
28164         (nntp-authinfo-rejected): Use `define-error`.
28166 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28168         Fix INITIAL-INPUT cons handling in ido-read-internal
28170         * lisp/ido.el (ido-read-internal): Is INITIAL-INPUT is a cons that
28171         specifies cursor position, adjust the number to be palatable for
28172         `read-for-minibuffer' (bug#27807).
28174 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28176         Fix saving certificates in the NSM on high security levels
28178         * lisp/net/nsm.el (nsm-check-certificate): `nsm-fingerprint-ok-p'
28179         will save the fingerprint in the correct temporary/permanent
28180         storage, so saving it once more (in the permanent storage) if the
28181         security level is high or greater is a mistake (bug#27823).
28183 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28185         Tweak mouse-face highlighting of Occur buffers
28187         * lisp/replace.el (occur-engine): Ensure that the mouse highlight
28188         is done over the entire line (bug#27846).
28190 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28192         open-dribble-file doc string clarification
28194         * src/keyboard.c (Fopen_dribble_file): Clarify when the file is
28195         closed, and when events are written to the file (bug#27996).
28197 2019-07-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
28199         Possibly skip IMAP server FETCH responses
28201         See bug#35433
28203         * lisp/gnus/nnimap.el (nnimap-transform-headers): Skip FETCH responses
28204           that only provide message flags, not message headers.
28206 2019-07-15  Felix E. Klee  <felix.klee@inka.de>
28208         Add support for paths to svg.el
28210         * doc/lispref/display.texi (SVG Images): Document svg-path,
28211         svg-clip-path and svg-node (bug#32359).
28213         * doc/lispref/display.texi (SVG Path Commands): New node.
28215         * lisp/svg.el (svg--plist-delete, svg--path-command-symbol)
28216         (svg--elliptical-arc-coordinates, svg--elliptical-arc-command)
28217         (svg--moveto-command, svg--closepath-command)
28218         (svg--lineto-command, svg--horizontal-lineto-command)
28219         (svg--vertical-lineto-command, svg--curveto-command)
28220         (svg--smooth-curveto-command)
28221         (svg--quadratic-bezier-curveto-command)
28222         (svg--smooth-quadratic-bezier-curveto-command)
28223         (svg--eval-path-command, svg-path, svg-clip-path, svg-node): New
28224         functions.
28226 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28228         Revert "Add edebug specs for inline.el"
28230         This reverts commit ed29d9fe5286ab6ecfb2bfa5a015b9945a84512b.
28232         The edebug specs were already in the declare form, and in addition, it didn't fix the problem.
28234 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28236         Mention changing the font size in the Emacs manual
28238         * doc/emacs/frames.texi (Fonts): Mention changing the font scale
28239         (bug#28196).
28241 2019-07-15  Samuel Bronson  <naesten@gmail.com>
28243         Mark semantic functions correctly in defcustom
28245         * lisp/cedet/semantic/format.el (semantic-format-tag-custom-list):
28246         Mark functions correctly in defcustom (bug#28267).
28248 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28250         Clarify doc of isearch-wrap-function
28252         * lisp/isearch.el (isearch-wrap-function): Doc clarification
28253         (bug#28388).
28255 2019-07-15  Robert Pluim  <rpluim@gmail.com>
28257         Don't delete GnuTLS boot parameters too early
28259         * src/process.c (connect_network_socket): Don't delete the GnuTLS
28260         boot parameters until after we've managed to connect at the IP
28261         level (bug#36660).
28263 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28265         Fix *Messages* grouping in C-Mouse-1 buffer menu
28267         * lisp/mouse.el (mouse-buffer-menu-mode-groups): Don't group the
28268         *Messages* buffer with Mail/News (bug#32007).
28270 2019-07-15  Michael Albinus  <michael.albinus@gmx.de>
28272         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
28274         Don't cancel if debug buffers aren't appended.
28276 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28278         Make directory-files-recursively take a PREDICATE parameter
28280         * lisp/files.el (directory-files-recursively): Take an optional
28281         PREDICATE parameter (bug#28567).
28283         * doc/lispref/files.texi (Contents of Directories): Document it.
28285 2019-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
28287         Tweak gv-define-setter debug setting
28289         * lisp/emacs-lisp/gv.el (gv-define-setter): Change edebug spec
28290         from body to def-body (bug#28729).
28292 2019-07-15  Michael Albinus  <michael.albinus@gmx.de>
28294         Fix edge cases in Tramp's copy
28296         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
28297         Special handling for "rsync".
28298         (tramp-find-inline-compress): Make check more robust on MS Windows.
28300 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28302         package-archive-priorities doc addition
28304         * lisp/emacs-lisp/package.el (package-archive-priorities):
28305         Document that negative priorities will lead to packages not being
28306         updated (bug#28897).
28308 2019-07-14  Glenn Morris  <rgm@gnu.org>
28310         Stop wdired tests leaving behind symlink /tmp/emacs1000
28312         * test/lisp/wdired-tests.el (server-socket-dir): Make effective.
28314 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28316         Mark octave-block-offset as a safe local variable
28318         * lisp/progmodes/octave.el (octave-block-offset): Mark as safe as
28319         a local variable (bug#28916).
28321 2019-07-14  Glenn Morris  <rgm@gnu.org>
28323         Update a ffap test
28325         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
28326         Update for incompatible ffap-other-window change.
28328 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28330         Make elint understand condition-case-unless-debug
28332         * lisp/emacs-lisp/elint.el (elint-special-forms): Teach elint
28333         about `condition-case-unless-debug' (bug#29585).
28335 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28337         Fix prompting in functions like ffap-read-only
28339         * lisp/ffap.el (ffap-prompter, ffap-other-window)
28340         (ffap-other-frame, ffap-read-only)
28341         (ffap-read-only-other-window, ffap-read-only-other-frame)
28342         (ffap-alternate-file, ffap-alternate-file-other-window)
28343         (ffap-literally): Rework to be able to specify different prompts
28344         for different actions (bug#30284) and don't use
28345         `call-interactively' all over the place.
28347 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28349         Make describe-face also output the version information
28351         * lisp/help-fns.el (describe-variable-custom-version-info): Allow
28352         taking a type as an optional input, so this can be used for faces,
28353         too (bug#30527).
28355         * lisp/faces.el (describe-face): Use this to output the version
28356         information.
28358 2019-07-14  Alan Third  <alan@idiocy.org>
28360         Use correct colorspace for XBM images
28362         * src/nsimage.m ([EmacsImage setXBMColor:]): Use 'generic RGB' color
28363         space.
28365 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28367         Revert "Make describe-face also output the version information"
28369         This reverts commit a7aae1473c1aed7758b550a23cda61ee17668e23.
28371         The patch broke the build.
28373 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28375         Tweak bug ID prompting in gnus-group--read-bug-ids
28377         * lisp/gnus/gnus-group.el (gnus-group--read-bug-ids): Default to
28378         current bug id on RET.
28380 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28382         Make describe-face also output the version information
28384         * lisp/help-fns.el (describe-variable-custom-version-info): Allow
28385         taking a type as an optional input, so this can be used for faces,
28386         too (bug#30527).
28388         * lisp/faces.el (describe-face): Use this to output the version
28389         information.
28391 2019-07-14  Noam Postavsky  <npostavs@gmail.com>
28393         Use ngettext in vc-dir-clean-files
28395         * lisp/vc/vc-dir.el (vc-dir-clean-files): Use ngettext to separate
28396         pluralization from format string.
28398 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28400         Tweak background colour handling in shr
28402         * lisp/net/shr.el (shr-fill-line): Keep the background colour on
28403         the newline and the indentation.
28405 2019-07-14  Lars Ingebrigtsen  <larsi@gnus.org>
28407         Rename vc-dir-delete-files-no-vc to vc-dir-clean-files
28409         * doc/emacs/maintaining.texi (VC Directory Commands): Adjust
28410         command name.
28412         * lisp/vc/vc-dir.el (vc-dir-clean-files): Rename from
28413         vc-dir-delete-files-no-vc, and work on unregistered files only
28414         (bug#31732).
28415         (vc-dir-menu-map): Adjust command name.
28417 2019-07-14  Eric Ludlam  <zappo@gnu.org>
28419         Allow bad tags in Scheme
28421         * admin/grammars/scheme.by (scheme-in-list): Allow bad tags in
28422         Scheme (bug#36521).
28424 2019-07-13  Nick Drozd  <nicholasdrozd@gmail.com>
28426         * etc/NEWS: Announce new Georgian inputs.  (Bug#36639)
28428         * etc/HELLO: Fix name of Georgian language
28430         * lisp/leim/quail/georgian.el: Add georgian-nuskhuri input method
28432         * lisp/leim/quail/georgian.el: Add missing characters to georgian input
28434         * lisp/leim/quail/georgian.el: Add georgian-qwerty input method
28436 2019-07-13  Stefan Kangas  <stefankangas@gmail.com>
28438         Restore focus to Bookmark List after editing annotation
28440         There are two entry points to bookmark-edit-annotation-mode: the first
28441         when we add a bookmark and bookmark-use-annotations is non-nil; the
28442         second when bookmark-bmenu-edit-annotation is run from the bookmark
28443         list.  When editing is concluded, in the first case, we should just
28444         quit window.  In the second case, we should instead return to the
28445         bookmark list.
28447         * lisp/bookmark.el (text-property-search): Require.
28448         (bookmark-annotation-name): Make buffer-local and improve doc string.
28449         (bookmark--annotation-from-bookmark-list): New buffer-local variable.
28450         (bookmark-edit-annotation): New argument from-bookmark-list sets
28451         bookmark--annotation-from-bookmark-list.
28452         (bookmark-bmenu-edit-annotation): Call bookmark-edit-annotation with
28453         argument from-bookmark-list set to t.
28454         (bookmark-send-edited-annotation): When editing originated in the
28455         bookmark list, restore focus to bookmark list and move point back to
28456         edited bookmark. (Bug#20150)
28458         (bookmark-edit-annotation-mode): Fix typo.
28459         (bookmark-bmenu-buffer): New variable.
28460         (bookmark-bmenu-surreptitiously-rebuild-list)
28461         (bookmark-bmenu-list): Use it.
28463         * test/lisp/bookmark-tests.el (with-bookmark-bmenu-test): New macro.
28464         (bookmark-tests-set/bookmark-use-annotations-t)
28465         (bookmark-bmenu-edit-annotation/show-annotation)
28466         (bookmark-bmenu-send-edited-annotation)
28467         (bookmark-bmenu-send-edited-annotation/restore-focus): New test cases.
28469 2019-07-13  Marco Wahl  <marcowahlsoft@gmail.com>
28471         New function for scroll-lock-mode to almost always scroll
28473         * lisp/scroll-lock.el (scroll-lock-next-line-always-scroll): New
28474         function.  Opposed to scroll-lock-next-line it does not switch to
28475         forward-line at eob.  S-down is the default key binding for this
28476         function.  (Bug#36494)
28477         * test/lisp/scroll-lock-tests.el: A few tests for
28478         scroll-lock-next-line-always-scroll.
28479         * etc/NEWS: Announce the new command.
28481 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
28483         Fix recent changes
28485         * src/sysstdio.h: Include stdarg.h, for va_list.
28487 2019-07-13  Pip Cet  <pipcet@gmail.com>
28489         Avoid returning negative numbers from `hash-table-count'
28491         * src/fns.c (Fhash_table_count): Rehash argument if necessary.
28493 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28495         * src/lisp.h (struct Lisp_Hash_Table.count): Improve comment.
28497 2019-07-13  Noam Postavsky  <npostavs@gmail.com>
28499         Remove incorrect commentary about #$ in autoloads
28501         * lisp/emacs-lisp/autoload.el (autoload-rubric):
28502         `package-quickstart-refresh' does in fact support load-file-name as
28503         well.
28505 2019-07-13  Noam Postavsky  <npostavs@gmail.com>
28507         Use syntax-ppss-toplevel-pos for defvar search (Bug#34233)
28509         * lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): Use
28510         syntax-ppss-toplevel-pos instead of a raw check of syntax components.
28512 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28514         Avoid interleaving stderr lines when shutting down
28516         * src/emacs.c (shut_down_emacs) [!DOS_NT]: Avoid interleaving
28517         to stderr in the usual case, by using a single write and by
28518         appending a newline.
28519         * src/sysdep.c (emacs_backtrace) [HAVE_BACKTRACE_SYMBOLS_FD]:
28520         Omit newline since shut_down_emacs now does that.
28522 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28524         Use a better buffer size in emacs_perror
28526         * src/sysdep.c (emacs_perror): Since the buffer is for avoiding
28527         interleaving, size it via PIPE_BUF not BUFSIZ.
28528         * src/sysstdio.h (PIPE_BUF): Provide a default.
28530 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28532         Avoid interleaving stderr in dump_fingerprint
28534         * src/fns.c (hexbuf_digest): New function, containing most of
28535         the old make_digest_string.
28536         (make_digest_string): Use it.
28537         * src/pdumper.c (dump_fingerprint): Rewrite to use a single
28538         fprintf call, to avoid interleaving on GNU/Linux.
28540 2019-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28542         Avoid interleaving stderr in a few cases
28544         * src/sysdep.c (buferr): New static var.
28545         (init_standard_fds) [_PC_PIPE_BUF]: Initialize it.
28546         (errstream, errputc, verrprintf, errwrite): New functions.
28547         (close_output_streams): Check buferr status too.
28548         * src/xdisp.c: Include sysstdio.h instead of stdio.h.
28549         (message_to_stderr, vmessage): Use the new functions
28550         to avoid interleaving stderr.
28552 2019-07-13  Andreas Schwab  <schwab@linux-m68k.org>
28554         Revert "Fix typo in sh-assignment-regexp"
28556         This reverts commit 194f370a3da72d560975adc2835254ce251881a7.
28558 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28560         Add edebug specs for inline.el
28562         * lisp/emacs-lisp/inline.el (inline-quote)
28563         (inline-letevals): Add edebug specs (bug#31051).
28565 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28567         Tweak output of doc in advice--make-docstring
28569         * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Make the
28570         bit about the function/macro having an advice into a complete
28571         sentence (bug#31063) and make it less dramatic.
28573 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28575         Add a :format to `text' widgets
28577         * lisp/wid-edit.el (text): Add a :format so that the 'text fields
28578         work (bug#31309).  Suggested by Phil Sainty.
28580 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28582         Doc fix for Finteractive (only %s is allowed)
28584         * src/callint.c (Finteractive): Any other format spec than %s will
28585         bug out with "Format specifier doesn’t match argument type", so
28586         say explicitly that only %s is supported (bug#31314).
28588 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28590         Don't have savehist-save bug out on non-existing directory
28592         * lisp/savehist.el (savehist-save): Ensure that the directory
28593         exists before saving (bug#31348).
28595 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28597         Fix display-fill-column-indicator custom spec typo
28599         * lisp/cus-start.el (standard): Fix typo in
28600         display-fill-column-indicator custom spec.
28602         Debugger entered--Lisp error: (wrong-type-argument stringp integer)
28603           string-match("\\([0-9]+\\)\\(\\.\\([0-9]+\\)\\)?" integer)
28604           customize-version-lessp("25.3" integer)
28605          [...]
28606           customize-changed-options("")
28608 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28610         Make check-declare understand cl-defun
28612         * lisp/emacs-lisp/check-declare.el (check-declare-verify): Add
28613         cl-defun to the defun-ish regexp (bug#31396).
28615 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28617         plist-get/lax-plist-get doc fix
28619         * src/fns.c (Fplist_get): Mention that comparison is done with eq
28620         (bug#31441).
28621         (Flax_plist_get): Refer to plist-get for details.
28623 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28625         citeasnoun in reftex can take an optional parameter
28627         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin):
28628         citeasnoun can take an optional parameter (bug#31476).  Suggested
28629         by Konrad Podczeck.
28631 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28633         Fix typo in sh-assignment-regexp
28635         * lisp/progmodes/sh-script.el (sh-assignment-regexp): Fix typo in
28636         bash regexp that inhibited fontification of stuff like foo.=bar
28637         (bug#31710).
28639 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28641         Mark ediff-before-session-group-setup-hooks as obsolete
28643         * lisp/vc/ediff-mult.el (ediff-before-session-group-setup-hooks):
28644         Mark this apparently unused variable as obsolete (bug#36618).
28646 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28648         Add a way to more conveniently log/debug nnmail splitting
28650         * doc/misc/gnus.texi (Fancy Mail Splitting): Mention it.
28652         * lisp/gnus/nnmail.el (nnmail-debug-splitting): New variable.
28654         * lisp/gnus/nnmail.el (nnmail-log-split): New function.
28655         (nnmail-split-it): Use it.
28657 2019-07-13  Lars Ingebrigtsen  <larsi@gnus.org>
28659         Fix cl-defstruct doc string fix
28661         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Remove sentence from
28662         doc string that was left in by mistake when fixing the arglist
28663         documentation.
28665 2019-07-13  Phil Sainty  <psainty@orcon.net.nz>
28667         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a docstring typo
28669 2019-07-13  Phil Sainty  <psainty@orcon.net.nz>
28671         * lisp/so-long.el (so-long-variable-overrides): Improve doc
28673         Explain the 'line-move-visual' and 'truncate-lines' values.
28675 2019-07-13  Phil Sainty  <psainty@orcon.net.nz>
28677         * lisp/so-long.el (so-long-variable-overrides): Use correct bidi option
28679         Set 'bidi-paragraph-direction' to 'left-to-right', rather than setting
28680         'bidi-display-reordering' to nil, as the latter is only intended for
28681         use when debugging the display code.
28683 2019-07-13  Michael Albinus  <michael.albinus@gmx.de>
28685         Make check for compression programs more robust in Tramp
28687         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size):
28688         Revert change of init value.  We fix this differently.
28689         (tramp-find-inline-compress): Check also the output of the
28690         processes, not only the return code.
28692 2019-07-13  Michael Albinus  <michael.albinus@gmx.de>
28694         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Adapt docstring.
28696 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
28698         Fix TTY menus in GUD and GDB-MI modes
28700         * lisp/menu-bar.el (menu-bar-open): Accept a numerical
28701         argument interactively, and drop down menu at that X
28702         coordinate.
28703         (popup-menu): Detect when MENU is not a list.  (Bug#36613)
28705 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
28707         Avoid loading mule-util at startup
28709         * lisp/international/mule-util.el (char-displayable-p): Move
28710         from here...
28711         * lisp/international/mule.el (char-displayable-p): ...to
28712         here.  This avoids always loading mule-util at startup due
28713         to a call to 'char-displayable-p' in
28714         'startup--setup-quote-display'.
28716 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
28718         Improve documentation of So Long mode
28720         * doc/emacs/trouble.texi (Long Lines): Improve wording, add
28721         indexing, mention the mode name and its main customization
28722         options.
28724 2019-07-13  Stefan Kangas  <stefankangas@gmail.com>
28726         Fix looking up functions like "-e" in cperl-mode
28728         * lisp/progmodes/cperl-mode.el (cperl-perldoc): Handle functions with
28729         leading dash (e.g. "-f"). (Bug#6013)
28731 2019-07-13  Eli Zaretskii  <eliz@gnu.org>
28733         Fix last commit
28735         * etc/NEWS: Fix formatting and punctuation of last change.
28737         * lisp/isearch.el (isearch-highlight-regexp)
28738         (isearch-highlight-lines-matching-regexp): Doc fix.
28740 2019-07-13  Dima Kogan  <dima@secretsauce.net>
28742         Add ability to highlight-lines-matching-regexp directly from Isearch
28744         * lisp/isearch.el: Implement the new functionality.
28745         (isearch-highlight-lines-matching-regexp): New function bound
28746         to 'M-s h l' in isearch.
28747         (isearch--highlight-regexp-or-lines): New internal function.
28749         * etc/NEWS (Search and Replace): Mention this change.
28751         * doc/emacs/search.texi (Special Isearch): Document 'M-s h l'.
28752         (Bug#18241)
28754 2019-07-12  Phil Sainty  <psainty@orcon.net.nz>
28756         Merge branch 'scratch/so-long'
28758         Add tests for so-long.el
28760 2019-07-12  Phil Sainty  <psainty@orcon.net.nz>
28762         Add so-long library
28764         * lisp/so-long.el: New library.
28765         * doc/emacs/trouble.texi (Long Lines): New node covering so-long.el.
28766         * doc/emacs/emacs.texi (Top): Add menu entry for the Long Lines node.
28767         * etc/NEWS: Include under "New Modes and Packages in Emacs 27.1"
28769 2019-07-12  Paul Eggert  <eggert@cs.ucla.edu>
28771         Replace Vdead with tagged pointer
28773         This speeds up ‘make compile-always’ by 0.1% on my platform.
28774         Suggested by Pip Cet in:
28775         https://lists.gnu.org/r/emacs-devel/2019-07/msg00257.html
28776         * src/.gdbinit (pwinx, pgx, xbuffer, xprintstr):
28777         Output dead_object () as "DEAD".
28778         * src/alloc.c (Vdead, DEADP): Remove.
28779         All uses replaced by dead_object () / deadp.
28780         (deadp): New function.
28781         (init_alloc_once_for_pdumper): Remove no-longer-needed
28782         initialization.
28783         * src/lisp.h (dead_object): New function.
28785 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28787         Mention columns width variables in the buffer-menu doc string
28789         * lisp/buff-menu.el (buffer-menu): Mention the variables that can
28790         be used to change the columns widths (bug#36587).
28792 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28794         Mention `M-n' for VALUE in the `set-variable' command
28796         * lisp/simple.el (set-variable): Mention that the current variable
28797         is accessible in `M-n' (bug#36586).
28799 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28801         Mark the new vc-dir-delete command as documented
28803 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28805         Add a new command in vc-dir mode to delete files
28807         * doc/emacs/maintaining.texi (VC Directory Commands): Document it.
28809         * lisp/vc/vc-dir.el (vc-dir-delete-files-no-vc): New command and
28810         keystroke (bug#31732).
28812 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28814         Add more spook.lines
28816         * etc/spook.lines: Add Black Cube (bug#32309)
28817         (https://en.wikipedia.org/wiki/Black_Cube).
28819 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28821         Document fix for cl-defstruct
28823         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Document that we can
28824         have a doc string (bug#32340).
28826 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28828         Allow using wdired in all dired-derived modes
28830         * lisp/wdired.el (wdired-change-to-wdired-mode): Allow using in
28831         dired derived modes (bug#32392).  Suggested by James Nguyen.
28833 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28835         Add some indices for regexp character classes
28837         * doc/lispref/searching.texi (Char Classes): Add some concept
28838         index entries for a handful of character classes (bug#32430).
28840 2019-07-12  Tino Calancha  <tino.calancha@gmail.com>
28842         End predicate `dired-in-this-tree' with '-p'
28844         * lisp/dired.el(dired-in-this-tree-p): Rename from `dired-in-this-tree'.
28845         Add docstring.
28847         (dired-in-this-tree): Define an alias to `dired-in-this-tree-p'.
28849         (dired-buffers-for-dir)
28850         * lisp/dired-aux.el (dired-tree-down, dired-kill-tree)
28851         (dired-insert-subdir, dired-rename-subdir): Update all callers (bug#32892).
28853 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28855         Document format-spec and expand the modifiers it supports
28857         * doc/lispref/text.texi (Interpolated Strings): New section.
28858         * lisp/format-spec.el (format-spec--parse-modifiers)
28859         (format-spec--pad): New functions.
28860         (format-spec): Support more format modifiers (bug#32931).
28862 2019-07-12  Teemu Likonen  <tlikonen@iki.fi>
28864         Use the gpg --sender option
28866         * lisp/epg.el (epg-start-encrypt)
28867         * lisp/gnus/mml-sec.el (mml-secure-epg-encrypt): When
28868         'mml-secure-openpgp-sign-with-sender' is non-nil message sender's
28869         email address (in addition to its old behaviour) will also be used
28870         to set gpg's "--sender email@domain" option.
28872 2019-07-12  Paul Eggert  <eggert@cs.ucla.edu>
28874         * lib-src/make-docfile.c: Fix comment typo.
28876 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28878         Always include the number of unexpected ert tests
28880         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
28881         Always include the number of failed tests, because absence of the
28882         text is not reassuring (bug#36616).
28884 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28886         Fix long credentials when using auth in nnimap.el
28888         * lisp/gnus/nnimap.el (nnimap-login): When base64-ing
28889         credentials, don't let bsae64-encode-string split the result into
28890         several lines, because servers do not understand that (bug#34458).
28892 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28894         Fix long credentials when using auth in url.el
28896         * lisp/url/url-auth.el (url-basic-auth): When base64-ing
28897         credentials, don't let bsae64-encode-string split the result into
28898         several lines, because servers do not understand that (bug#36619).
28900 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28902         Fold rfc2047 headers correctly when narrowed to header value
28904         * lisp/mail/rfc2047.el (rfc2047-fold-region): Fold headers
28905         correctly if narrowed to the header value.
28907 2019-07-12  Juri Linkov  <juri@linkov.net>
28909         * test/lisp/replace-tests.el (replace-tests-with-undo): Override
28911         replace-highlight to emulate clobbering match-data (bug#36328).
28913 2019-07-12  Juri Linkov  <juri@linkov.net>
28915         * lisp/progmodes/compile.el (compilation-filter): `compilation--ensure-parse'
28917         is used instead of `font-lock-ensure' (bug#36564).
28919         * test/lisp/progmodes/compile-tests.el (compile-test-error-regexps)
28920         (compile-test-grep-regexps): Check the number of errors.
28922 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28924         Remove initial and trailing whitespace in message-fetch-field
28926         * lisp/gnus/message.el (message-fetch-field): Remove initial and
28927         trailing whitespace.
28929 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28931         Fix breaking of rfc2047 headers with long words
28933         * lisp/mail/rfc2047.el (rfc2047-fold-region): Don't break lines
28934         right after the Header: field, but wait until the next
28935         whitespace.  (This only makes a difference for words that are very
28936         long (i.e., longer than, say, 60 characters, depending on the
28937         header name length.)
28939 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28941         Refactor rfc2047-fold-region slightly and add a couple of tests
28943         * lisp/mail/rfc2047.el (rfc2047--break-line): Refactor out to
28944         avoid code repetition...
28945         (rfc2047-fold-region): ... from this function.
28947 2019-07-12  Lars Ingebrigtsen  <larsi@gnus.org>
28949         Add comments to rfc2047
28951         * lisp/mail/rfc2047.el (rfc2047-fold-region): Add comments to the
28952         function.
28954 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
28956         Merge from origin/emacs-26
28958         305abae50e Raise required librsvg version so as to match the current use
28959         c6775bc9ca * lisp/net/tramp-sh.el (tramp-inline-compress-start-size):...
28961 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
28963         Check directory in Tramp's {copy,rename}-file
28965         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
28966         (tramp-adb-handle-rename-file):
28967         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
28968         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
28969         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
28970         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
28971         (tramp-smb-handle-rename-file):
28972         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
28973         Check, that NEWNAME is not a directory given as file name.
28975         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
28976         (tramp-test12-rename-file): Extend tests.
28978 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
28980         Re-add tramp-autoload cookie for all defcustoms
28982         * lisp/net/tramp-adb.el (tramp-adb-program)
28983         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
28984         * lisp/net/tramp-cache.el (tramp-persistency-file-name):
28985         * lisp/net/tramp-gvfs.el (tramp-gvfs-zeroconf-domain):
28986         * lisp/net/tramp-rclone.el (tramp-rclone-program):
28987         * lisp/net/tramp-sh.el (tramp-copy-size-limit, tramp-histfile-override)
28988         (tramp-use-ssh-controlmaster-options):
28989         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
28990         (tramp-smb-conf, tramp-smb-winexe-program)
28991         (tramp-smb-winexe-shell-command)
28992         (tramp-smb-winexe-shell-command-switch): Re-add tramp-autoload
28993         cookie for all defcustoms.
28995         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
28996         (tramp-adb-handle-rename-file):
28997         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
28998         * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
28999         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
29000         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
29001         (tramp-smb-handle-rename-file):
29002         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
29003         Check, that NEWNAME is not a directory given as file name.
29005 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
29007         * doc/misc/tramp.texi (Inline methods): Precise about used external programs.
29009 2019-07-12  Michael Albinus  <michael.albinus@gmx.de>
29011         Change Tramp version to 2.4.3-pre
29013         * doc/misc/trampver.texi:
29014         * lisp/net/trampver.el: Change version to "2.4.3-pre".
29016         * lisp/net/tramp.el: Bump version to 2.4.3-pre.
29018 2019-07-11  Paul Eggert  <eggert@cs.ucla.edu>
29020         Tweak builtin symbol order for speed
29022         * lib-src/make-docfile.c (compare_globals):
29023         Make symbols 1 through 4 be t, unbound, error, lambda.
29024         This is in addition to symbol 0 being nil.
29025         This change improved ‘make compile-always’ performance by 0.6%
29026         on my platform.
29028 2019-07-11  Paul Eggert  <eggert@cs.ucla.edu>
29030         Avoid duplicate comparison in describe_map_compare
29032         * src/fns.c (string_version_cmp): New function.
29033         This has most of the old Fstring_version_lessp,
29034         with an assertion to make things a bit clearer.
29035         * src/fns.c (Fstring_version_lessp):
29036         * src/keymap.c (describe_map_compare): Use it (Bug#33237).
29038 2019-07-11  Juri Linkov  <juri@linkov.net>
29040         * lisp/progmodes/compile.el (compilation-filter): Use font-lock-ensure
29042         to update the number of errors in compilation-mode-line-errors
29043         displayed in the mode-line.  (Bug#36564)
29045 2019-07-11  Juri Linkov  <juri@linkov.net>
29047         Better match-data handling in perform-replace
29049         * lisp/replace.el (perform-replace): Don't wrap replace-highlight
29050         in save-match-data.  Use `(nth 0 real-match-data)' instead of
29051         `(match-beginning 0)' after replace-highlight.  (Bug#36328)
29053 2019-07-11  Michael Albinus  <michael.albinus@gmx.de>
29055         Remove lisp/obsolete/xesam.el
29057         * test/lisp/format-spec-tests.el (test-format-unknown): Use `should-error'.
29059 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
29061         Allow passing unknown specs to format-spec
29063         * lisp/format-spec.el (format-spec): Allow passing through format
29064         strings that have no specs (to be able to act as a filter).  Also
29065         add an example.
29066         * test/lisp/format-spec-tests.el (test-format-spec): Add tests for
29067         the new functionality.
29069 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
29071         Add tests for format-spec
29073         Add test to time-stamp.el
29075 2019-07-11  Phil Sainty  <psainty@orcon.net.nz>
29077         Support program switches in 'comint-run' command
29079         * etc/NEWS:
29080         * doc/emacs/misc.texi: Describe new behaviour (bug#33037).
29081         * lisp/comint.el (comint-run): Add optional SWITCHES argument.
29082         With prefix argument C-u, prompt for SWITCHES.
29084 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
29086         Clarify the expand-file-name doc string
29088         * src/fileio.c (Fexpand_file_name): Clarify that "~" in NAME is
29089         expanded, and not just "~/".  Also clarify that ~USER is not
29090         expanded if USER doesn't exist (bug#36490).
29092 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
29094         Tweak the order keystrokes are sorted in keymap listings
29096         * src/keymap.c (describe_map_compare): Change the sorting order of
29097         keystrokes, so that we get the order <f1> <f2> <f11> instead of
29098         <f1> <f11> <f2> (bug#33237).
29100 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
29102         Tweak misterioso header line background color
29104         * etc/themes/misterioso-theme.el (class): Make the header line
29105         background darker so that cedet function names and parameters are
29106         legible (bug#33061).
29108 2019-07-11  Stefan Kangas  <stefankangas@gmail.com>
29110         Remove misleading message in customize
29112         * lisp/cus-edit.el (custom-buffer-create-internal): Remove misleading
29113         message about "Resetting customization items" (bug#22451).
29115 2019-07-11  Lars Ingebrigtsen  <larsi@gnus.org>
29117         Fix C-x C-e with defvars in comments preceding
29119         * lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): When
29120         collecting defvars in the current buffer, ignore the ones that are
29121         in comments or strings (bug#34233).
29123 2019-07-11  Eli Zaretskii  <eliz@gnu.org>
29125         Resurrect SVG support on MS-Windows
29127         * src/image.c (syms_of_image) <Qgio> [HAVE_NTGUI]: New DEFSYM.
29128         (init_svg_functions) [LIBRSVG_CHECK_VERSION >= 2.32.0]: Load
29129         g_file_new_for_path and g_memory_input_stream_new_from_data
29130         from libgio, not from libglib.  (Bug#35548)
29132         * lisp/term/w32-win.el (dynamic-library-alist): Add the libgio
29133         DLL.
29135 2019-07-11  Eli Zaretskii  <eliz@gnu.org>
29137         Avoid assertion violations when resize-mini-windows is nil
29139         * src/xdisp.c (resize_mini_window): Always reset the
29140         mini-window's start point to the beginning of the buffer, even
29141         if resizing is not needed.  This avoids assertion violations
29142         when resize-mini-windows is nil.  (Bug#36595)
29144 2019-07-10  Paul Eggert  <eggert@cs.ucla.edu>
29146         Avoid functions deprecated in librsvg 2.45.1
29148         * src/image.c (init_svg_functions) [WINDOWSNT]:
29149         Load the pre-2.32 or 2.32 functions,
29150         depending on LIBRSVG_CHECK_VERSION.
29151         (svg_load_image): In librsvg 2.32 or later, use
29152         g_memory_input_stream_new_from_data, g_file_new_for_path and
29153         rsvg_handle_new_from_stream_sync rather than the
29154         deprecated-in-2.45 rsvg_handle_write and rsvg_handle_close.
29155         From a patch by YAMAMOTO Mitsuharu (Bug#35548#11).
29157 2019-07-10  Mattias Engdegård  <mattiase@acm.org>
29159         Fix trig simplification crash (bug#33052)
29161         * lisp/calc/calc-alg.el (calcFunc-sec, calcFunc-csc, calcFunc-cot):
29162         Check that `math-known-sin' and `math-known-tan' succeeded before
29163         using their value in arithmetic.
29164         * test/lisp/calc/calc-tests.el (calc-test-trig): Add regression tests.
29166 2019-07-10  Stefan Kangas  <stefankangas@gmail.com>
29168         Small cleanups in asm-mode.el (Bug#36540)
29170         * lisp/progmodes/asm-mode.el: Remove "tools" from "Keywords" header.
29171         Doc fixes.
29172         (asm-comment-char, asm-comment): Doc fixes.
29173         (asm-newline): Redefine as an obsolete function alias for
29174         'newline-and-indent' instead of using a defalias.
29176 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
29178         Add recursion check for comint password prompting
29180         * lisp/comint.el (comint--prompt-recursion-depth): New variable
29181         (bug#33252).
29182         (comint-watch-for-password-prompt): Use it to avoid bugging out
29183         and making Emacs unusable when a shell script is prompting for
29184         passwords in an infloop.
29186 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
29188         Fold too-long headers in Message automatically
29190         * lisp/gnus/message.el (message--fold-long-headers): Header lines
29191         should be no longer than 79 characters before folding
29192         (bug#33313).  Previous comment about 998 octets is about maximum
29193         allowed header field length.
29195 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
29197         Doc clarification in abbrev-prefix-mark
29199         * lisp/abbrev.el (abbrev-prefix-mark): Clarify when the hyphen is
29200         removed (bug#33382).
29202 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
29204         Fix problem with files like "~" in `directory-files-recursively'
29206         * lisp/files.el (directory-files-recursively): Don't bug out on
29207         files like "~" that have special meaning to `expand-file-name'
29208         (bug#36490).
29210 2019-07-10  Stefan Kangas  <stefankangas@gmail.com>
29212         Add new section on reading a bug to admin/notes/bugtracker
29214         * admin/notes/bugtracker: New section "How do I read a bug?" in
29215         "Quickstart" (Bug#36560).
29217 2019-07-10  Lars Ingebrigtsen  <larsi@gnus.org>
29219         Fix pretty-printing of {}
29221         * lisp/json.el (json-pretty-print): Fix reading {}, which returns nil.
29223 2019-07-10  Stefan Kangas  <stefankangas@gmail.com>
29225         Fix warnings in todo-mode-tests.el (Bug#36569)
29227         * test/lisp/calendar/todo-mode-tests.el (todo-test--insert-item):
29228         Fix "Unused lexical argument" warnings.
29230 2019-07-10  Stefan Kangas  <stefankangas@gmail.com>
29232         Fix warning in electric-tests.el (Bug#36570)
29234         * test/lisp/electric-tests.el (plainer-c-mode): Remove duplicate
29235         definition.
29237 2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>
29239         Simplify math-get-calendar-tzinfo
29241         * lisp/calc/calc-forms.el (calendar-current-time-zone-cache):
29242         Remove defvar.
29243         (math-get-calendar-tzinfo): Simplify and do not reach
29244         into caldst’s cache.
29246 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29248         Fix documentation of cl-member
29250         * doc/misc/cl.texi (Lists as Sets): cl-member with no :test is not
29251         equal to memq (because it uses eql) (bug#33655).
29253 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29255         auth-source does not support "host" in .netrc files
29257         * doc/misc/auth.texi (Help for users): Remove mention of "host" in
29258         .netrc files, because it's not supported (bug#33826).
29260 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29262         White-space fix in fortune-compile
29264         * lisp/play/fortune.el (fortune-compile): Reindent function.
29266 2019-07-09  Benjamin Ragheb  <ben@benzado.com>  (tiny change)
29268         Search exec-path for fortune strfile program
29270         * lisp/play/fortune.el (fortune-compile): Search exec-path for
29271         strfile program (bug#33984).
29273 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29275         Remove json-pretty-print-max-secs introduced earlier this year
29277         * lisp/json.el (json-pretty-print-max-secs): Remove the variable
29278         as it's no longer used.
29280 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29282         Fix timezone east of GMT in Calv
29284         * lisp/calc/calc-forms.el (math-calendar-tzinfo): Make timezone
29285         calculation work east of Greenwich.  Fix proposed by David O'Shea
29286         (bug#34075).
29288 2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
29290         * src/fileio.c: Fix bug#36431
29292         (decide_coding_unwind): Re-introduce.  Move text back to the gap.
29293         Return the new `inserted` via the unwind_data.
29294         (Finsert_file_contents): Use it.
29295         Make sure `inserted` is always 0 when we jump straight to `notfound`.
29296         Don't insert the text in the buffer until we know it's properly decoded
29297         for the byteness of the buffer.
29299         * test/src/fileio-tests.el (fileio-tests--insert-file-interrupt):
29300         Allow insert-file-contents to return an empty buffer in case of
29301         non-local exit in set-auto-coding-function.
29303 2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>
29305         Defend fingerprint against even-smarter LTO
29307         * src/pdumper.c (Fdump_emacs_portable, pdumper_load):
29308         Don’t cast volatile to non-volatile pointer, as that does not in
29309         general suffice to prevent a compiler from optimizing away memcmp
29310         and/or memcpy calls.  Instead, copy the fingerprint by hand.
29312 2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
29314         Revert "Turn off bytecode jumptables to avoid Bug#36447"
29316         This reverts commit 122198d2f1aaf0b74c102874cc9b04ae4789f54f.
29317         Should not be needed any more thanks to Pip Cet's patch to hash_table_rehash.
29319 2019-07-09  Pip Cet  <pipcet@gmail.com>
29321         Don't alter shared structure in dumped purecopied hash tables.
29323         * src/fns.c (hash_table_rehash): Make sure we're operating on
29324         fresh copies of ->next, ->index, ->hash.
29326 2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
29328         Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
29330 2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>
29332         Do not alter match data in Fcapitalize etc.
29334         Without this patch, (capitalize "x") can alter the match data,
29335         which is not what users expect.  Problem found by running
29336         morse-tests-unnato-region in a stripped-down Emacs.
29337         Perhaps ‘load’ should also save and restore the match data?
29338         That would be a simpler fix, though arguably incompatible.
29339         * src/lread.c (save_match_data_load): New function.
29340         * src/chartab.c (uniprop_table):
29341         * src/doc.c (reread_doc_file):
29342         * src/eval.c (Fautoload_do_load):
29343         * src/fns.c (Frequire): Use it.
29345 2019-07-09  Paul Eggert  <eggert@cs.ucla.edu>
29347         Port image-type-from-file-header-test to non-SVG Emacs
29349         Problem reported privately by Michael Albinus.
29350         * test/lisp/image-tests.el (image-type-from-file-header-test):
29351         Don’t assume svg is a supported image type.
29353 2019-07-09  Andreas Schwab  <schwab@linux-m68k.org>
29355         Make fingerprint handling compatible with LTO
29357         Tell the compiler that the fingerprint variable is modified unpredictably.
29359         * lib/fingerprint.h (fingerprint): Remove const.
29360         * lib/fingerprint.c (fingerprint): Likewise.
29361         * src/pdumper.c (Fdump_emacs_portable): Cast fingerprint variable.
29362         (pdumper_load): Likewise.
29363         * lib-src/make-fingerprint.c (main): Likewise.
29365 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29367         Fix pretty-printing of multiple JSON objects
29369         * lisp/json.el (json-pretty-print-max-secs): Make obsolete.
29370         (json-pretty-print): Pretty-print all JSON objects in the region
29371         instead of just the first one (and then deleting all other
29372         objects) (bug#34160).
29374 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29376         Revert "Fix pretty-printing of multiple JSON objects"
29378         This reverts commit 48daf77a9d963c05ee198b3ab108c7f0b3686da6.
29380         This apparently led to build errors.
29382 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29384         Fix pretty-printing of multiple JSON objects
29386         * lisp/json.el (json-pretty-print-max-secs): Make obsolete.
29387         (json-pretty-print): Pretty-print all JSON objects in the region
29388         instead of just the first one (and then deleting all other
29389         objects) (bug#34160).
29391 2019-07-09  Michael Albinus  <michael.albinus@gmx.de>
29393         * lisp/simple.el (shell-command): Raise a user-error instead of an error.
29395 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29397         Clarify json-read and json-encode parameters and return values
29399         * lisp/json.el (json-read): Try to clarify what's returned (bug#34242).
29400         (json-encode): Refer to `json-read' about what the input is and
29401         say what error is signaled.
29403 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29405         Fix alternative-email-as-from with empty To headers in Message
29407         * lisp/gnus/message.el (message-use-alternative-email-as-from):
29408         Don't add a "," at the start of the address if the To header
29409         doesn't exist (bug#34293).
29411 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29413         Make gnus-read-ephemeral-emacs-bug-group autoloadable
29415         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
29416         Add an autoload cookie, because the command can be used from
29417         without Gnus.
29419 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29421         Checkdoc would bug out on empty files
29423         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Don't
29424         bug out on malformed Emacs Lisp (bug#34760).
29425         (checkdoc-file-comments-engine): Don't bug out on empty buffers.
29427 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29429         Clarify warning about unknown articles in Gnus
29431         * lisp/gnus/gnus-sum.el (gnus-summary-mark-article-as-unread)
29432         (gnus-mark-article-as-unread): Clarify warning (bug#34990).
29434 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29436         Don't try to save articles in Gnus that have disappeared
29438         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Stop trying
29439         to save articles if the articles have disappeared (bug#35188).
29441 2019-07-09  Mattias Engdegård  <mattiase@acm.org>
29443         Rename font_driver member close -> close_font
29445         * src/alloc.c (cleanup_vector):
29446         * src/xftfont.c (xftfont_driver):
29447         * src/xfont.c (xfont_driver):
29448         * src/nsfont.m (nsfont_driver):
29449         * src/macfont.m (macfont_driver):
29450         * src/ftxfont.c (ftxfont_driver):
29451         * src/ftfont.c (ftfont_driver):
29452         * src/ftcrfont.c (ftcrfont_driver):
29453         * src/font.h (struct font_driver):
29454         * src/font.c (font_clear_cache, font_close_object):
29455         Rename `close' member to `close_font', to avoid clash with preprocessor
29456         define of `close' in nt/inc/ms-w32.h and for consistency with `open_font'.
29458 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29460         Mention `call-process-region' in the `call-process' doc string
29462         * src/callproc.c (Fcall_process): Mention `call-process-region'
29463         (bug#35187).
29465 2019-07-09  Mattias Engdegård  <mattiase@acm.org>
29467         Rename font_driver member open -> open_font
29469         * src/xftfont.c (xftfont_driver):
29470         * src/xfont.c (xfont_driver):
29471         * src/nsfont.m (nsfont_driver):
29472         * src/macfont.m (macfont_driver):
29473         * src/ftxfont.c (ftxfont_driver):
29474         * src/ftfont.c (ftfont_driver):
29475         * src/ftcrfont.c (ftcrfont_driver):
29476         * src/font.h (struct font_driver):
29477         * src/font.c (font_open_entity):
29478         Rename `open' member to `open_font', to avoid clash with preprocessor
29479         define of `open' in lib/fcntl.h and nt/inc/ms-w32.h.  Remove earlier
29480         #undef hack.
29482 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29484         Add a really simple nadvice example
29486         * doc/lispref/functions.texi (Advising Functions): Add a really
29487         trivial and simple example (bug#35250).
29489 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29491         Make two variables for extended command suggestions mention each other
29493         * lisp/simple.el (suggest-key-bindings):
29494         (extended-command-suggest-shorter): Mention each other, because
29495         they are vaguely related (bug#35309).
29497 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29499         Make the manual say what undo-auto-amalgamate does
29501         * doc/lispref/text.texi (Undo): Say what undo-auto-amalgamate does
29502         in addition to describing what amalgamation is (bug#35344).
29504 2019-07-09  Eli Zaretskii  <eliz@gnu.org>
29506         Unbreak the MS-Windows build
29508         * src/font.c (open): Don't undef on WINDOWSNT, as ms-w32.h
29509         redirects it to sys_open.
29511 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29513         .har files are JSON files
29515         * lisp/files.el (auto-mode-alist): Map .har files to
29516         javascript-mode (bug#35407).
29518 2019-07-09  Ryan Brown  <ryan@derivita.com>
29520         Fix for lisp tagbody indentation
29522         * lisp/emacs-lisp/cl-indent.el (lisp-indent-259): Indent PROG
29523         better (bug#36552).
29525 2019-07-09  Lars Ingebrigtsen  <larsi@gnus.org>
29527         Add more quote-end characters to sentence-end-base
29529         * lisp/textmodes/paragraphs.el (sentence-end-base): Add › and »
29530         (bug#36359).
29532 2019-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
29534         * lisp/progmodes/verilog-mode.el: Update Version:
29536         Merge branch 'emacs-26' into trunk
29538 2019-07-09  Mattias Engdegård  <mattiase@acm.org>
29540         Repair macOS build
29542         Avoid macro redefinition of `open' in lib/fcntl.h to break use of it as
29543         a struct member in src/font.c.
29545         * src/font.c: #undef open
29547 2019-07-09  Glenn Morris  <rgm@gnu.org>
29549         Conditionalize result of a bytecomp test
29551         * test/lisp/emacs-lisp/bytecomp-tests.el
29552         (bytecomp-test--switch-duplicates):
29553         Apparently the result depends on byte-compile-cond-use-jump-table.
29555 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
29557         Make delimit-columns-region say what it does
29559         * lisp/delim-col.el (delimit-columns-region): Make the doc string
29560         say a bit more about what it does (bug#35651).
29561         (delimit-columns-rectangle): Refer to the first function.
29563 2019-07-08  Katsumi Yamaoka  <yamaoka@jpl.org>
29565         Allow using @@ in @uref in texinfo
29567         * lisp/textmodes/texinfmt.el (texinfo-format-uref): Allow using @@
29568         in @uref (bug#36186) to allow things like
29569         @uref{mailto:foo@@example.com}.
29571 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
29573         Tweak compilation face in the wheatgrass theme
29575         * etc/themes/wheatgrass-theme.el: The compilation info was too
29576         light to be readable (bug#36203).
29578 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
29580         Don't set url-mime-charset-string from set-language-environment
29582         * lisp/url/url-vars.el (url-set-mime-charset-string): Make
29583         obsolete and don't add to set-language-environment-hook
29584         (bug#36268).  If you loaded url-vars before calling
29585         set-language-environment, you would suddenly get an unusable long
29586         url-mime-charset-string.
29588 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
29590         Remove compat code in url-mime-charset-string
29592         * lisp/url/url-vars.el (url-mime-charset-string): Remove compat code.
29594 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
29596         Tweak messaging in re-builder
29598         * lisp/emacs-lisp/re-builder.el (reb-copy): Say what we copied to
29599         the kill ring.
29601 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
29603         Mention {la,}tex-run-command in the TeX Print info node
29605         * doc/emacs/text.texi (TeX Print): Mention {la,}tex-run-command,
29606         too.  Suggested by Sebastian Urban (bug#36400).
29608 2019-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29610         Avoid some unnecessary stdio.h includes
29612         * src/atimer.c, src/callproc.c, src/coding.c, src/dired.c, src/eval.c:
29613         * src/fringe.c, src/ftcrfont.c, src/ftfont.c, src/ftxfont.c:
29614         * src/gfilenotify.c, src/indent.c, src/kqueue.c, src/menu.c:
29615         * src/scroll.c, src/terminal.c, src/unexcoff.c, src/window.c:
29616         * src/xfont.c, src/xftfont.c:
29617         Do not include stdio.h since it is unused.
29619 2019-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29621         Use fewer locks when accessing stdio
29623         * src/alloc.c, src/bidi.c, src/emacs-module.c, src/pdumper.c:
29624         * src/regex-emacs.c, src/unexhp9k800.c, src/unexmacosx.c:
29625         * src/widget.c, src/xdisp.c, src/xselect.c, src/xterm.c:
29626         Include sysstdio.h instead of stdio.h, to avoid locking
29627         stdio streams in many cases.
29628         * src/alloc.c (test_setjmp):
29629         * src/bidi.c (bidi_dump_cached_states):
29630         * src/cm.c (calccost):
29631         * src/dispnew.c (init_display_interactive):
29632         * src/emacs.c (main):
29633         * src/image.c (convert_mono_to_color_image):
29634         * src/minibuf.c (read_minibuf_noninteractive):
29635         * src/nsfont.m (ns_descriptor_to_entity)
29636         (ns_dump_glyphstring):
29637         * src/nsterm.h (NSTRACE_MSG_NO_DASHES):
29638         * src/nsterm.m (ns_mouse_position)
29639         (sendEvent:, keyDown:, performDragOperation:):
29640         * src/pdumper.c (dump_fingerprint, print_paths_to_root_1):
29641         * src/print.c (debug_print):
29642         * src/regex-emacs.c (debug_putchar, print_fastmap)
29643         (print_partial_compiled_pattern, print_compiled_pattern)
29644         (print_double_string, regex_compile):
29645         * src/term.c (vfatal):
29646         * src/unexhp9k800.c (read_header):
29647         * src/unexmacosx.c (unexec_error):
29648         * src/widget.c (EmacsFrameInitialize):
29649         * src/xdisp.c (message_to_stderr, vmessage, dump_glyph_row)
29650         (Fdump_glyph_matrix, Fdump_frame_glyph_matrix, dump_glyph_string):
29651         * src/xfaces.c (Fdump_colors, Fdump_face):
29652         * src/xselect.c (x_clipboard_manager_error_2):
29653         * src/xterm.c (x_initialize):
29654         * src/xwidget.c (WEBKIT_FN_INIT):
29655         Prefer unlocked calls like fputs to locked calls like fprintf.
29656         * src/charset.c (read_hex):
29657         * src/cm.c (cmputc, cmcheckmagic):
29658         * src/dispnew.c (update_frame, update_frame_with_menu)
29659         (update_frame_1, Fsend_string_to_terminal, Fding)
29660         (bitch_at_user):
29661         * src/emacs.c (main, Fdump_emacs):
29662         * src/emacs-module.c (module_abort):
29663         * src/fileio.c (Fdo_auto_save):
29664         * src/image.c (slurp_file)
29665         (png_read_from_file, png_load_body, our_stdio_fill_input_buffer):
29666         * src/keyboard.c (record_char, kbd_buffer_get_event)
29667         (handle_interrupt):
29668         * src/lread.c (readbyte_from_stdio, read1):
29669         * src/minibuf.c (read_minibuf_noninteractive):
29670         * src/print.c (printchar_to_stream, strout)
29671         (Fredirect_debugging_output):
29672         * src/sysdep.c (reset_sys_modes, close_output_streams)
29673         (procfs_ttyname, procfs_get_total_memory):
29674         * src/term.c (tty_ring_bell, tty_send_additional_strings)
29675         (tty_set_terminal_modes, tty_reset_terminal_modes)
29676         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
29677         (tty_write_glyphs_with_face, tty_insert_glyphs)
29678         (tty_menu_activate):
29679         * src/xfaces.c (Fx_load_color_file):
29680         Simplify by using ordinary calls like putc to explicitly-unlocked
29681         calls like putc_unlocked, since the ordinary calls are now
29682         unlocked anyway.
29683         * src/emacs.c (main, Fdump_emacs):
29684         * src/pdumper.c (Fdump_emacs_portable):
29685         Coalesce adjacent printfs.
29686         * src/nsterm.h: Include sysstdio.h as this file’s macros rely on it.
29687         * src/regex-emacs.c (print_compiled_pattern):
29688         Omit redundant fflush.
29689         * src/sysstdio.h: Include unlocked-io.h.
29690         (clearerr_unlocked, feof_unlocked, ferror_unlocked)
29691         (fflush_unlocked, fgets_unlocked, fputc_unlocked)
29692         (fputs_unlocked, fread_unlocked, fwrite_unlocked)
29693         (getc_unlocked, getchar_unlocked, putc_unlocked)
29694         (putchar_unlocked): Remove these macros; now done by unlocked-io.h.
29695         * src/xwidget.c: Include sysstdio.h.
29697 2019-07-08  Basil L. Contovounesios  <contovob@tcd.ie>
29699         Tidy up sieve.el text formatting
29701         * lisp/net/sieve.el (sieve-edit-script, sieve-upload): Do not pass
29702         arbitrary string as first argument to 'message' (bug#25764).
29703         (sieve-help): Split long string across multiple lines.
29704         (sieve-refresh-scriptlist): Use ngettext.  Fix grammar.
29706 2019-07-08  Stefan Kangas  <stefankangas@gmail.com>
29708         Delegate to rectangle version in delim-col when appropriate
29710         * lisp/delim-col.el (delimit-columns-region): Delegate to
29711         `delimit-columns-rectangle' when called with a rectangular
29712         region (bug#36453).
29714 2019-07-08  Ismail S  <ismail-s.no-reply@github.com>  (tiny change)
29716         Fix minor typo in org-capture-templates
29718         * lisp/org/org-capture.el (org-capture-templates): Fix typo in doc
29719         string (bug#36491).
29721 2019-07-08  Ken Brown  <kbrown@cornell.edu>
29723         Ensure that expand-file-name returns an absolute file name
29725         * src/fileio.c (Fexpand_file_name): Don't directly use the current
29726         buffer's default-directory if it is relative.  Instead replace it
29727         by its expansion relative to invocation-directory.  (Bug#36502)
29728         * test/src/fileio-tests.el
29729         (fileio-tests--relative-default-directory): New test.
29731 2019-07-08  Noam Postavsky  <npostavs@gmail.com>
29733         Turn off bytecode jumptables to avoid Bug#36447
29735         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set
29736         to nil.  We can turn this back on again when Bug#36447 is solved and
29737         we handle dumped hash tables correctly.
29739 2019-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
29741         Remove mention of :group in define-minor-mode info
29743         * doc/lispref/modes.texi (Defining Minor Modes): The :group stuff
29744         in the example and documentation isn't correct since this is not a
29745         global mode and `hunger-mode' therefore isn't customizable
29746         (bug#36501).
29748 2019-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
29750         Improvements to sieve script usability
29752         * lisp/net/sieve-mode.el (sieve-mode-menu): Add
29753           `sieve-upload-and-kill' to the mode menu.
29755         * lisp/net/sieve.el (sieve-manage-mode-menu): Add `sieve-manage-quit'
29756           to the mode menu.
29757           (sieve-help): Mention quitting in mode help.
29758           (sieve-manage-mode): Directly derive from special-mode.
29759           (sieve-edit-script): Start off with unmodified buffer.
29760           (sieve-upload): Set buffer unmodified after successful upload.
29762         Changes are aimed at 1) increasing discoverability of commands and 2)
29763         using buffer modification to help users understand what's happening.
29765 2019-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
29767         Make sure gnus-group-set-info sets both the hashtable and alist
29769         * lisp/gnus/gnus-group.el (gnus-group-set-info): Apparently this
29770           method of updating the group info will only apply to the
29771           gnus-newsrc-hashtb, not gnus-newsrc-alist. Do the alist explicitly.
29773 2019-07-08  Michael Albinus  <michael.albinus@gmx.de>
29775         * doc/misc/tramp.texi (Remote processes): Fix a typo.
29777 2019-07-08  Alan Mackenzie  <acm@muc.de>
29779         Fix coding error in c-forward-decl-or-cast-1.  This fixes bug #36492.
29781         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While testing for,
29782         e.g., foo(), check we've found the ( before trying to go to its position.
29784 2019-07-08  Michael Albinus  <michael.albinus@gmx.de>
29786         Allow chown/chgrp for remote directories on w32
29788         * lisp/dired-aux.el (dired-do-chgrp, dired-do-chown):
29789         Allow them for remote directories, even when run on w32.  See
29790         <https://emacs.stackexchange.com/questions/51477/chown-with-dired-over-tramp-from-windows-machine>.
29792 2019-07-08  Alan Mackenzie  <acm@muc.de>
29794         Fix bug #36474, such that CC Mode quotes work properly in electric-pair-mode
29796         Also finishes the fix for bug #36423.
29798         * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Add an `eval-after-load'
29799         to set electric-pair-inhibit-predicate for existing CC Mode buffers when
29800         elec-pair.elc gets loaded.
29801         (c-basic-common-init): Set electric-pair-inhibit-predicate when a CC Mode mode
29802         gets initialized.
29803         (c-electric-pair-inhibit-predicate): New function.
29805 2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>
29807         * src/xselect.c: Fix comment.
29809         * src/dispnew.c (init_display_interactive): Fix comment to match code.
29811 2019-07-07  Juri Linkov  <juri@linkov.net>
29813         * lisp/vc/vc-dir.el (vc-dir-view-file): New command for consistency with dired
29815         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing):
29816         Remove interactive spec from non-command functions.  (Bug#12492)
29818 2019-07-07  Juri Linkov  <juri@linkov.net>
29820         Handle scroll-error-top-bottom in follow.el and view.el (bug#21893)
29822         * lisp/follow.el (follow-scroll-up-arg, follow-scroll-up-window):
29823         Use scroll-up-command instead of scroll-up.
29824         (follow-scroll-down-arg, follow-scroll-down-window):
29825         Use scroll-down-command instead of scroll-down.
29826         (follow-scroll-up, follow-scroll-down): Handle scroll-error-top-bottom.
29828         * lisp/view.el (view-scroll-lines): Use scroll-down-command
29829         instead of scroll-down and scroll-up-command instead of scroll-up.
29830         (view-really-at-end): Handle scroll-error-top-bottom.
29832 2019-07-07  Juri Linkov  <juri@linkov.net>
29834         * lisp/replace.el (perform-replace): Move save-match-data here
29836         from replace-highlight for isearch-lazy-highlight-new-loop (bug#36328).
29838 2019-07-07  Glenn Morris  <rgm@gnu.org>
29840         Avoid makeinfo error "@code expected braces"
29842         * doc/lispref/searching.texi (Rx Constructs): Fix for makeinfo 4.13.
29844 2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>
29846         Fix typo in previous patch
29848         * src/editfns.c (styled_format): Fix stray ‘pMd’.
29850 2019-07-07  Paul Eggert  <eggert@cs.ucla.edu>
29852         Remove printmax_t etc.
29854         printmax_t etc. were needed only for platforms that lacked
29855         support for printing intmax_t.  These platforms are now so
29856         obsolete that they are no longer practical porting targets.
29857         * src/image.c (gs_load): Fix unlikely buffer overrun
29858         discovered while making these changes.  It was introduced in
29859         2011-07-17T00:34:43!eggert@cs.ucla.edu.
29860         * src/lisp.h (printmax_t, uprintmax_t, pMd, pMu, pMx):
29861         Remove.  All uses replaced by their standard counterparts
29862         intmax_t, uintmax_t, PRIdMAX, PRIuMAX, PRIxMAX.
29864 2019-07-07  Nick Drozd  <nicholasdrozd@gmail.com>
29866         Handle 'abbr' and 'acronym' tags in shr.el
29868         * lisp/net/shr.el (shr-tag-abbr, shr-tag-acronym): New functions
29869         handling 'abbr' and 'acronym' tags, respectively.
29870         * etc/NEWS: Announce change in shr behavior (bug#36475).
29872 2019-07-07  Mattias Engdegård  <mattiase@acm.org>
29874         Shorter `rx' doc string (bug#36496)
29876         * lisp/emacs-lisp/rx.el (rx): Replace long description with a condensed
29877         summary of the rx syntax, with reference to the manual section.
29879 2019-07-07  Mattias Engdegård  <mattiase@acm.org>
29881         Describe the rx notation in the elisp manual (bug#36496)
29883         The additions are excluded from the print version to avoid making it
29884         thicker.
29886         * doc/lispref/elisp.texi (Top): New menu entry.
29887         * doc/lispref/searching.texi (Regular Expressions): New menu entry.
29888         (Regexp Example): Add rx form of the example.
29889         (Rx Notation, Rx Constructs, Rx Functions): New nodes.
29890         * doc/lispref/control.texi (pcase Macro): Describe the rx pattern.
29892 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
29894         Don’t ignore stderr failure when ADDRESS_SANITIZER
29896         * src/emacs.c (close_output_streams): Move from here ...
29897         * src/sysdep.c: ... to here, where it really belongs anyway.
29898         When ADDRESS_SANITIZER, fflush stderr and check for ferror,
29899         to catch stderr output errors even in this case.
29901 2019-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
29903         * lisp/emacs-lisp/nadvice.el: Make it a package separate from `emacs`.
29905         * lisp/finder.el (finder-compile-keywords): Grab version from
29906         package--builtin-versions when available.
29908 2019-07-06  Glenn Morris  <rgm@gnu.org>
29910         Merge from origin/emacs-26
29912         1e6d8e0 (origin/emacs-26) ; * doc/emacs/killing.texi (Secondary Selec...
29913         e2344a7 * lisp/svg.el, lisp/progmodes/ada-mode.el: Fix bug#36360.
29914         ff738ab Minor copyedit of "Font Lock" in user manual
29915         faf99dc Improve description of image descriptors
29916         21351cc ; * src/lread.c (Fread): Make the comment wording more accurate.
29917         d176090 Improve documentation of secondary selections
29918         8910fe1 * src/fns.c (Fmapconcat): Doc fix.  (Bug#36418)
29920         # Conflicts:
29921         #       lisp/svg.el
29923 2019-07-06  Glenn Morris  <rgm@gnu.org>
29925         Merge from origin/emacs-26
29927         e97c043 Fix python.el docstring (Bug#36458)
29928         e660801 ; Add thing-at-point-looking-at test (Bug#35708)
29929         f5b4846 ; Fix typo, insure -> ensure in ChangeLogs
29930         cb8fb59 * lisp/hi-lock.el (hi-lock-line-face-buffer): Doc fix.  (Bug3...
29932 2019-07-06  Glenn Morris  <rgm@gnu.org>
29934         Merge from origin/emacs-26
29936         316f5a3 Fix typo in doc string of file-exists-p (bug#36408)
29937         bfc7c6e * test/lisp/url/url-file-tests.el (url-file): Fix for POSIX f...
29938         13b95e1 Fix typo in windows.texi
29939         8b775c3 Clarify & update (elisp) Writing Emacs Primitives
29940         7648c12 Clarify a subtle issue in the Internals chapter of lispref
29942 2019-07-06  Xu Chunyang  <mail@xuchunyang.me>
29944         * lisp/dom.el (dom-texts): Simplify (Bug#36441).
29946 2019-07-06  Noam Postavsky  <npostavs@users.sourceforge.net>
29948         Use buffer's name for help-mode bookmarks (Bug#24573)
29950         * lisp/help-mode.el (help-bookmark-make-record): Replace buffer
29951         objects with their names in help-args, otherwise the bookmark won't be
29952         readable from the bookmark save file.
29954 2019-07-06  Noam Postavsky  <npostavs@gmail.com>
29956         Add commentary about #$ in autoload files
29958         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add commentary about
29959         `#$' trick.
29961 2019-07-06  Wilson Snyder  <wsnyder@wsnyder.org>
29963         Fix indentation of default clocking definitions.
29965         * lisp/progmodes/verilog-mode.el (verilog-default-clocking-re): Fix indentation of default
29966         clocking definitions, Verilog-Mode bug1457. Reported by Paul Donahue.
29968 2019-07-06  Wilson Snyder  <wsnyder@wsnyder.org>
29970         Backout replacing manually crafted hex regexes with [:xdigit:].
29972         * lisp/progmodes/verilog-mode.el (verilog-delay-re):
29973         (verilog-type-font-keywords, verilog-read-always-signals-recurse):
29974         (verilog-is-number): Backout replacing manually crafted hex regexes with
29975         [:xdigit:] (Bug#36167).  This repairs Verilog-mode regressions;
29976         Verilog-mode maintains back-compatibility with Emacsen before this syntax
29977         was supported.
29979 2019-07-06  Pip Cet  <pipcet@gmail.com>
29981         Update current buffer when changing text properties
29983         * src/textprop.c (add_text_properties_1, set_text_properties)
29984         (set_text_properties_1, Fremove_text_properties): Switch buffer if
29985         necessary.  (Bug#36190)
29987         * doc/lispref/text.texi (Examining Properties): Document performance
29988         FIXME.
29990 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
29992         Update from Gnulib
29994         This incorporates:
29995         2019-07-06 thread, lock, cond, tls: Remove support for Pth threads
29996         2019-07-02 verify: document ‘assume’ better
29997         2019-06-30 Include <stdlib.h> when needed
29998         2019-06-30 inet_ntop, inet_pton: Avoid conflict with native Windows
29999         * build-aux/config.sub, lib/faccessat.c, lib/fcntl.c, lib/fstatat.c:
30000         * lib/readlinkat.c, lib/verify.h, m4/pthread_sigmask.m4:
30001         * m4/sys_socket_h.m4: Copy from Gnulib.
30002         * lib/gnulib.mk.in: Regenerate.
30004 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
30006         Fix [[:xdigit:]] glitch on Solaris
30008         * admin/charsets/mapconv: Revert this [[:xdigit:]] change.
30009         Solaris 10 ‘sed’ does not support [[:xdigit:]].
30011 2019-07-06  Drew Adams  <drew.adams@oracle.com>
30013         Tweak point movement in view-echo-area-messages
30015         * lisp/help.el (view-echo-area-messages): Move the point to the
30016         end of the *Messages* buffer even if it's already displayed
30017         (bug#36343).
30019 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
30021         Remove outdated comment in uniquify.el
30023         * lisp/uniquify.el: Remove outdated comment regarding some ancient
30024         version of uniquify.el (bug#36384).
30026 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
30028         Improve an error message in bookmark.el
30030         * lisp/bookmark.el (bookmark-alist-from-buffer): Improve error
30031         message (bug#36391).
30033 2019-07-06  Basil L. Contovounesios  <contovob@tcd.ie>
30035         Improve Gnus ephemeral bug group browsing
30037         * doc/misc/gnus.texi (Foreign Groups): Update description of
30038         gnus-read-ephemeral-emacs-bug-group for multiple bug
30039         IDs (bug#11961).
30041         * lisp/gnus/gnus-group.el (gnus-bug-group-download-format-alist):
30042         Use HTTPS for Debian's bug tracker.
30043         (gnus-group--read-bug-ids): New function for reading multiple bug
30044         IDs in the minibuffer.  Improves on previous brittle approach of
30045         word-at-point -> read-string -> string-to-number by a) defaulting to
30046         the more accurate bug-reference-bug-regexp or number-at-point
30047         without using the intrusive INITIAL-INPUT argument, and b) not
30048         attempting to parse bug IDs.
30049         (gnus-read-ephemeral-bug-group): Use it.  Extend docstring and
30050         commentary.  Fix handling of multiple bug IDs as either numbers or
30051         strings.  Hoist some string consing out of inner loop.  Delete
30052         temporary file even on error.  Throw more informative error when
30053         url-insert-file-contents successfully returns an error (bug#36433).
30054         (gnus-read-ephemeral-debian-bug-group): Use gnus-group--read-bug-ids
30055         and fix docstring for multiple bug IDs.  Accept optional WINDOW-CONF
30056         like other ephemeral bug group commands.
30057         (gnus-read-ephemeral-emacs-bug-group): Use gnus-group--read-bug-ids
30058         and fix string/numeric ID conversions.  Try loading debbugs-gnu
30059         before testing for debbugs-gnu-summary-mode (bug#36433).
30061 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
30063         Add tests for text-property-search to check prop-match-value
30065         * test/lisp/emacs-lisp/text-property-search-tests.el
30066         (with-match-test): New macro.
30067         (text-property-search-forward-prop-match-match-face-nil-nil)
30068         (text-property-search-forward-prop-match-match-face-bold-t)
30069         (text-property-search-forward-prop-match-match-face-bold-nil)
30070         (text-property-search-backward-prop-match-match-face-nil-nil)
30071         (text-property-search-backward-prop-match-match-face-italic-t)
30072         (text-property-search-backward-prop-match-match-face-italic-nil):
30073         Add test cases to also verify the value of prop-match-value
30074         (bug#36486).
30076 2019-07-06  Eli Zaretskii  <eliz@gnu.org>
30078         Improve the default value of 'doc-view-ghostscript-program'
30080         * lisp/doc-view.el (doc-view-ghostscript-program): Make the
30081         default value dependent on the underlying OS.  (Bug#36357)
30083 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
30085         Make "M-x pdb" use "[:graph:]" to match file names
30087         * lisp/progmodes/gud.el (gud-pdb-marker-regexp): Use "[:graph:]" to
30088         match file name in prompt.  (Bug#34489)
30090 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
30092         * lisp/net/goto-addr.el: Remove leftover XEmacs compat code.  (Bug#36512)
30094         * lisp/bookmark.el (bookmark-set-internal): Doc fix. (Bug#25032)
30096 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
30098         * lisp/bookmark.el (bookmark-quit-flag): Mark unused variable obsolete.
30100         (Bug#36460)
30102 2019-07-06  Stefan Kangas  <stefankangas@gmail.com>
30104         Prefer progress-reporter to 'message' in bookmark.el
30106         * lisp/bookmark.el (bookmark-upgrade-file-format-from-0)
30107         (bookmark-bmenu-execute-deletions): Use progress-reporter.
30108         (Bug#36462)
30110 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
30112         Replace manually crafted hex regexes with [:xdigit:]
30114         * admin/charsets/mapconv:
30115         * build-aux/gitlog-to-changelog (parse_amend_file, git_dir_option):
30116         * lisp/progmodes/verilog-mode.el (verilog-delay-re):
30117         (verilog-type-font-keywords, verilog-read-always-signals-recurse):
30118         (verilog-is-number):
30119         * lisp/progmodes/vera-mode.el (vera-font-lock-keywords):
30120         * test/src/emacs-module-tests.el (mod-test-sum-test):
30121         * lisp/xml.el: (xml--entity-replacement-text):
30122         * lisp/version.el (emacs-repository-version-git):
30123         * lisp/textmodes/sgml-mode.el (sgml-quote):
30124         * lisp/textmodes/css-mode.el (css-escapes-re)
30125         (css--colors-regexp):
30126         * lisp/progmodes/prolog.el (prolog-syntax-propertize-function):
30127         * lisp/progmodes/hideif.el (hif-token-regexp, hif-tokenize):
30128         * lisp/progmodes/ebnf-dtd.el: (ebnf-dtd-attlistdecl)
30129         (ebnf-dtd-entitydecl, ebnf-dtd-lex):
30130         * lisp/progmodes/ebnf-ebx.el (ebnf-ebx-hex-character):
30131         * lisp/progmodes/ebnf-abn.el (ebnf-abn-character):
30132         * lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
30133         (cperl-find-pods-heres):
30134         * lisp/progmodes/cc-mode.el (c-maybe-quoted-number-head)
30135         (c-maybe-quoted-number, c-parse-quotes-before-change)
30136         (c-parse-quotes-after-change, c-quoted-number-head-before-point)
30137         (c-quoted-number-straddling-point):
30138         * lisp/progmodes/ada-mode.el (featurep, ada-in-numeric-literal-p)
30139         (ada-font-lock-keywords):
30140         * lisp/org/org-mobile.el (org-mobile-copy-agenda-files)
30141         * lisp/org/org-table.el (org-table-number-regexp):
30142         (org-mobile-update-checksum-for-capture-file):
30143         * lisp/nxml/xsd-regexp.el (xsdre-gen-categories):
30144         * lisp/nxml/xmltok.el (let*):
30145         * lisp/nxml/rng-xsd.el (rng-xsd-convert-hex-binary)
30146         (rng-xsd-convert-any-uri):
30147         * lisp/nxml/rng-uri.el (rng-uri-file-name-1)
30148         (rng-uri-unescape-multibyte, rng-uri-unescape-unibyte)
30149         (rng-uri-unescape-unibyte-match)
30150         (rng-uri-unescape-unibyte-replace):
30151         * lisp/nxml/rng-cmpct.el (rng-c-process-escapes):
30152         * lisp/nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
30153         * lisp/net/shr-color.el (shr-color->hexadecimal):
30154         * lisp/mail/rfc2231.el (rfc2231-decode-encoded-string):
30155         * lisp/international/mule-cmds.el (read-char-by-name):
30156         * lisp/htmlfontify.el (hfy-hex-regex):
30157         * lisp/gnus/nneething.el (nneething-decode-file-name):
30158         * lisp/gnus/mml-sec.el (mml-secure-find-usable-keys):
30159         * lisp/gnus/gnus-art.el (gnus-button-mid-or-mail-heuristic-alist):
30160         * lisp/faces.el (read-color):
30161         * lisp/epg.el (epg--status-ERRSIG, epg--status-VALIDSIG)
30162         (epg--status-SIG_CREATED, epg--decode-percent-escape)
30163         (epg--decode-hexstring, epg--decode-quotedstring)
30164         (epg-dn-from-string):
30165         * lisp/emulation/cua-rect.el (cua-incr-rectangle):
30166         * lisp/dnd.el (dnd-unescape-uri):
30167         * lisp/cedet/semantic/lex.el (semantic-lex-number-expression):
30168         * lisp/cedet/semantic/java.el (semantic-java-number-regexp):
30169         * lisp/calc/calc-lang.el (pascal):
30170         * lisp/calc/calc-ext.el (math-read-number-fancy):
30171         * lisp/calc/calc-aent.el (math-read-token):
30172         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
30173         (Bug#36167)
30175 2019-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30177         Add HarfBuzz fallbacks for libotf functions used in ftfont_list
30179         * src/ftfont.c [!HAVE_LIBOTF && HAVE_HARFBUZZ]: Include hb-ot.h.
30180         (OTF, OTF_tag) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: New typedefs.
30181         (hbotf_open, hbotf_check_features) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: New
30182         functions.
30183         (OTF_open, OTF_close, OTF_check_features) [!HAVE_LIBOTF && HAVE_HARFBUZZ]:
30184         New macros.
30185         (ftfont_list) [!HAVE_LIBOTF && HAVE_HARFBUZZ]: Use them.
30187 2019-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30189         Avoid crash inside CFCharacterSetIsLongCharacterMember
30191         * src/macfont.m (macfont_supports_charset_and_languages_p)
30192         (macfont_has_char): Don't pass integers outside the Unicode codespace to
30193         CFCharacterSetIsLongCharacterMember.
30195 2019-07-05  Juri Linkov  <juri@linkov.net>
30197         * lisp/replace.el (replace-highlight): Add save-match-data (bug#36328)
30199         * lisp/term/tty-colors.el (tty-color-canonicalize):
30200         Replace string-match with string-match-p.
30202         Thanks to Jayden Navarro <jayden@yugabyte.com> and Alan Mackenzie <acm@muc.de>
30204 2019-07-04  Juri Linkov  <juri@linkov.net>
30206         * lisp/minibuffer.el (minibuffer-message-properties): New variable.
30208         (minibuffer-message): Use it to propertize message unless already
30209         propertized by the caller.
30211         * lisp/simple.el (minibuffer-error-function): Propertize the error.
30213         * lisp/isearch.el (isearch-message-properties): New variable.
30214         (isearch--momentary-message, isearch-message-prefix)
30215         (isearch-message-suffix): Use it.  (Bug#21112)
30217 2019-07-04  Juri Linkov  <juri@linkov.net>
30219         * lisp/char-fold.el (char-fold-to-regexp): Implement arg LAX (bug#36398).
30221         * test/lisp/char-fold-tests.el (char-fold--test-multi-lax): New test.
30223 2019-07-04  Mattias Engdegård  <mattiase@acm.org>
30225         Optimise more inputs to `regexp-opt' (bug#36444)
30227         Use a more precise test to determine whether the input to `regexp-opt'
30228         is safe to optimise when KEEP-ORDER is non-nil, permitting more inputs
30229         to be optimised than before.  For example, ("good" "goal" "go") is now
30230         accepted.
30232         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
30233         More precise test for whether the list is safe w.r.t. KEEP-ORDER.
30234         (regexp-opt--contains-prefix): Remove.
30236         * test/lisp/emacs-lisp/regexp-opt-tests.el: Use lexical-binding.
30237         (regexp-opt-test--permutation, regexp-opt-test--factorial)
30238         (regexp-opt-test--permutations, regexp-opt-test--match-all)
30239         (regexp-opt-test--check-perm, regexp-opt-test--explain-perm)
30240         (regexp-opt-keep-order): Test KEEP-ORDER.
30242 2019-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
30244         * src/coding.c (decode_coding): Improve doc.
30246 2019-07-04  Lars Ingebrigtsen  <larsi@gnus.org>
30248         In Message, respect Content-Type provided by the user
30250         * lisp/gnus/mml.el (mml-parse-1): Respect any Content-Type
30251         inserted by the user instead of insisting on text/plain.
30253 2019-07-04  Alan Mackenzie  <acm@muc.de>
30255         Fix an infinite loop in c-end-of-macro.  Should fix bug #36484
30257         Also fix two faulty regexps, save-match-data, and check c-major-mode-is
30258         'c++-mode where needed.
30260         * lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
30261         (c-last-open-c-comment-start-on-line-re): Handle repeated *s in regexp
30262         correctly.
30264         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Protect
30265         the match-data with save-match-data around regexp operations.
30266         (c-end-of-macro): In the loop handling multiline block comments, check a
30267         comment actually is multiline.
30269         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Only call
30270         c-depropertize-raw-strings-in-region in C++ Mode.
30272 2019-07-03  João Távora  <joaotavora@gmail.com>
30274         Fix Flymake's user-visible accessors of diagnostic positions
30276         Diagnostics are supported by overlays, and they can legitimately move
30277         around.  So flymake-diagnostic-beg and flymake-diagnostic-end must
30278         look up the overlay positions, not the immutable slots of the
30279         flymake--diag structure, which become stale.
30281         * lisp/progmodes/flymake.el (version): Bump to 1.0.8.
30282         (flymake-diagnostic-beg, flymake-diagnostic-end): Use diag's
30283         overlay.
30284         (flymake-show-diagnostic): Use flymake-diagnostic-end,
30285         flymake-diagnostic-beg.
30287 2019-07-03  João Távora  <joaotavora@gmail.com>
30289         Fix Flymake's treatment of region-specific reports
30291         We're supposed to delete intersecting diagnostics in that situation,
30292         but the intersection logic was way off.
30294         * lisp/progmodes/flymake.el (version): Bump to 1.0.7.
30295         (flymake--intersects-p): New helper.
30296         (flymake--handle-report): Fix handling of :region.
30298 2019-07-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
30300         Small fix to writing Gnus dribble change-level entries
30302         * lisp/gnus/gnus-start.el (gnus-group-change-level): PREVIOUS needs to
30303           still be a string when the dribble entry is written, so don't
30304           convert it to an entry until after that's done. Also, we're not
30305           meant to write PREVIOUS itself, we're meant to write the group that
30306           comes _after_ it in the sort-order of gnus-group-list, so do that
30307           instead.
30309 2019-07-03  Stefan Kangas  <stefankangas@gmail.com>
30311         Add tests for bookmark.el (Bug#36452)
30313         * test/lisp/bookmark-resources/example.txt:
30314         * test/lisp/bookmark-resources/test.bmk:
30315         * test/lisp/bookmark-tests.el: New files.
30316         * lisp/bookmark.el: Minor cleanups.
30317         (bookmark-insert-annotation): Signal error on invalid bookmark.
30318         (bookmark-write-file): Add newline at end of file.
30320 2019-07-03  Eli Zaretskii  <eliz@gnu.org>
30322         Fix rotation validity test in image.c
30324         * src/image.c (compute_image_rotation): Fix the validity test
30325         for :rotation values.  This avoids logging error messages when
30326         no :rotation was provided in the image spec.
30328 2019-07-03  Eli Zaretskii  <eliz@gnu.org>
30330         Fix compiler warnings due to a recent commit
30332         * src/xdisp.c (expose_window, expose_frame): Avoid compilation
30333         warnings about printing unsigned values with %d.
30335 2019-07-03  Michael Albinus  <michael.albinus@gmx.de>
30337         Change expected result of a flymake test on emba
30339         * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
30340         Test is now passing on emba.gnu.org, too.
30342 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
30344         Replace TRACE with redisplay_trace, etc.
30346         This simplifies callers and catches trace printf format errors
30347         even with typical (non-debugging) compiles.
30348         * src/dispextern.h (TRACE) [GLYPH_DEBUG]:
30349         Move definitions to xdisp.c if it’s used only there.
30350         * src/xdisp.c (redisplay_trace): New function, replacing TRACE macro.
30351         (move_trace): New function, replacing TRACE_MOVE macro.
30352         All uses changed.
30353         (dump_glyph): When tracing, don’t use %d to format ptrdiff_t,
30354         or %x to format a pointer.
30355         (expose_frame): Redo trace printfs to avoid interleaved output
30356         on GNU/Linux.
30358 2019-07-02  Glenn Morris  <rgm@gnu.org>
30360         Change expected result of a flymake test on hydra
30362         * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
30363         Test is now passing on hydra.nixos.org, since today.
30365 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
30367         * src/json.c (Fjson_insert): Don't temporarily insert invalid bytes in buffer
30369 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
30371         (Finsert_file_contents): Keep buffer consistent in non-local exit
30373         * src/fileio.c (decide_coding_unwind): Delete function.
30374         (Finsert_file_contents): Don't let invalid multibyte byte sequences
30375         escape when we exit non-locally.
30377         * test/src/fileio-tests.el (fileio-tests--insert-file-interrupt): New test.
30379 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
30381         Fix printf formats when DEBUG_TRACE_MOVE
30383         Problem caught by gcc -DDEBUG_TRACE_MOVE -Wformat.
30384         * src/xdisp.c (move_it_in_display_line_to, move_it_to)
30385         (move_it_vertically) [DEBUG_TRACE_MOVE]: Fix printf format typos.
30387 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
30389         * src/insdel.c (insert_from_gap_1): New fun, extracted from insert_from_gap.
30391         (insert_from_gap): Use it.
30392         * src/lisp.h (insert_from_gap_1): Declare it.
30393         * src/json.c (Fjson_insert):
30394         * src/fileio.c (Finsert_file_contents): Use it.
30396 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
30398         * src/coding.c (decode_coding_gap): Remove `chars` argument.
30400         * src/json.c (Fjson_insert):
30401         * src/fileio.c (Finsert_file_contents):
30402         * src/coding.h (decode_coding_gap): Adjust accordingly.
30404 2019-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
30406         * test/src/editfns-tests.el (test-group-name): Accept nil group-name.
30408 2019-07-02  Andreas Schwab  <schwab@linux-m68k.org>
30410         Correct customize type for gnus-group-customize
30412         * lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Add more
30413         group parameters used by nnimap.
30415 2019-07-02  João Távora  <joaotavora@gmail.com>
30417         Correctly reindent previous line in electric-indent-mode
30419         (Bug#35254)
30421         Do this even when electric-indent-inhibit is t, except when the
30422         newline insertion is being performed by electric-layout-mode.
30424         * lisp/electric.el (electric-indent-post-self-insert-function):
30425         Reindent previous line unless operating under
30426         electric-layout-mode.
30427         (electric-layout-post-self-insert-function-1): Bind
30428         electric-indent-inhibit to 'electric-layout-mode.
30430         * test/lisp/electric-tests.el
30431         (electric-layout-control-reindentation): New test.
30433 2019-07-02  João Távora  <joaotavora@gmail.com>
30435         Protect Flymake from being corrupted by backends
30437         A backend building a diagnostic with a nil :type would cause Flymake
30438         to create a diagnostic without an overlay, confusing Flymake's
30439         accounting of overlays and diagnostics
30441         * lisp/progmodes/flymake.el (flymake--highlight-line): Return
30442         non-nil unconditionally.
30444 2019-07-02  João Távora  <joaotavora@gmail.com>
30446         More carefully cleanup Flymake C/C++ backend's temp buffers
30448         Sometimes the Flymake process dies by some means that doesn't involve
30449         a sentinel call for the "exit" status, so we clean up the temporary
30450         buffer as soon as we notice it's not process-alive-p anymore.
30452         * lisp/progmodes/flymake-cc.el (flymake-cc): Broaden cleanup
30453         conditions.
30455 2019-07-02  João Távora  <joaotavora@gmail.com>
30457         Don't create nil-severity diagnostics in the Flymake C/C++ backend
30459         * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): Use
30460         `:error` as a diagnostic severity.
30462 2019-07-02  João Távora  <joaotavora@gmail.com>
30464         Revert "Avoid occasional confusion of Flymake C/C++ backend"
30466         This reverts commit 67c3a3af1d9e2582193d5ea33b6c190e79ad56e6, which
30467         creates more problems than it solves.
30469 2019-07-02  Alan Mackenzie  <acm@muc.de>
30471         CC Mode: Improve handling of unbalanced strings
30473         * lisp/progmodes/cc-fonts.el (c-before-font-lock-functions): Add function
30474         c-after-change-escape-NL-in-string into value for most languages.
30476         * lisp/progmodes/cc-mode.el (c-after-change-escape-NL-in-string): New
30477         function.
30478         (c-before-change-check-unbalanced-strings): Handle the making and breaking of
30479         escaped newlines, by removal or addition of text.
30481 2019-07-02  Mattias Engdegård  <mattiase@acm.org>
30483         Better error message for C-h P RET
30485         Previously:
30486           package--incompatible-p: Wrong type argument: package-desc, nil
30487         Now:
30488           No package specified
30490         * lisp/emacs-lisp/package.el (describe-package): Don't use ## as input.
30492 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
30494         Fix performDragOperation: diagnostic typo
30496         * src/nsterm.m (performDragOperation:): Fix missing newline.
30498 2019-07-01  Paul Eggert  <eggert@cs.ucla.edu>
30500         Fix regex-emacs debug format glitches
30502         These patches affect behavior only if REGEX_EMACS_DEBUG.
30503         * src/regex-emacs.c (debug_putchar): Use unsigned for %x.
30504         (print_compiled_pattern, ENSURE_FAIL_STACK, PUSH_FAILURE_POINT)
30505         (POP_FAILURE_POINT): Use %td for ptrdiff_t.
30506         (print_compiled_pattern, regex_compile, re_match_2_internal):
30507         Put newlines at ends of lines, not at starts of next lines.
30508         Omit white space at line ends.
30510 2019-07-01  Michael Albinus  <michael.albinus@gmx.de>
30512         Minor changes in tramp.texi
30514         * doc/misc/tramp.texi (Obtaining Tramp): Mention file INSTALL.
30515         (Cleanup remote connections): The session timer is also deleted.
30517 2019-07-01  Eli Zaretskii  <eliz@gnu.org>
30519         More XFIXNUM fixes
30521         * src/hbfont.c (hbfont_shape): Don't assume LGLYPH_TO is
30522         always a fixnum.
30523         * src/fontset.c (fontset_find_font): A cleaner test for
30524         matching charset_id.
30526 2019-07-01  Eli Zaretskii  <eliz@gnu.org>
30528         Fix assertion violations in fontset_find_font
30530         * src/fontset.c (fontset_find_font): Don't assume REPERTORY
30531         must be a fixnum.
30533 2019-07-01  Eli Zaretskii  <eliz@gnu.org>
30535         Adjust return value of image-transforms-p
30537         * src/image.c (Fimage_transforms_p):
30538         * doc/lispref/display.texi (Image Descriptors):
30539         image-transforms-p now returns at most (scale rotate90), even
30540         if ImageMagick is available.
30542 2019-07-01  Sam Steingold  <sds@gnu.org>
30544         Extract gnus-collect-urls from gnus-summary-browse-url
30546         * lisp/gnus/gnus-sum.el (gnus-collect-urls): Extract from ...
30547         (gnus-summary-browse-url): Use it here.
30548         Extracting URLs from an article will be useful in BBDB interaction.
30550 2019-07-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30552         Implement the otf_capability method for HarfBuzz
30554         * src/hbfont.c: Include hb-ot.h.
30555         [HAVE_NTGUI]: Add DEF_DLL_FN and #define for hb_tag_to_string,
30556         hb_font_get_face, hb_ot_layout_table_get_script_tags,
30557         hb_ot_layout_table_get_feature_tags, hb_ot_layout_script_get_language_tags,
30558         and hb_ot_layout_language_get_feature_tags.
30559         (hbfont_init_w32_funcs) [HAVE_NTGUI]: Add LOAD_DLL_FN for them.
30560         (hbfont_otf_features, hbfont_otf_capability): New functions.
30562         * src/font.h (hbfont_otf_capability) [HAVE_HARFBUZZ]: Add extern.
30564         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]:
30565         * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
30566         * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]:
30567         * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Populate
30568         otf_capability method with hbfont_otf_capability.
30570 2019-06-30  Paul Eggert  <eggert@cs.ucla.edu>
30572         Remove divide_double
30574         * src/image.c (divide_double): Remove.  All uses replaced
30575         with inline equivalents.  Suggested by Eli Zaretskii in:
30576         https://lists.gnu.org/r/emacs-devel/2019-06/msg01067.html
30578 2019-06-30  Alan Mackenzie  <acm@muc.de>
30580         C++ Mode: change the default doc comment style from nothing to gtkdoc
30582         Also amend a pertinent regular expression.  This fixes bug #11865.
30584         * lisp/progmodes/cc-vars.el (c-doc-comment-style): Insert an entry for
30585         c++-mode, namely gtkdoc.
30587         * lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Amend the regexp
30588         recognizing the introductory "/**" to allow subsequent characters on that
30589         line.
30591 2019-06-30  Michael Albinus  <michael.albinus@gmx.de>
30593         Release Tramp 2.4.2
30595         * lisp/net/tramp.el: Bump version.
30597         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
30598         Add `add-name-to-file' error message.
30599         (tramp--test-ignore-add-name-to-file-error): Make error handler
30600         more explicit about the error.
30602 2019-06-30  Andreas Schwab  <schwab@linux-m68k.org>
30604         Doc fix
30606         * doc/emacs/display.texi (Displaying Boundaries): Document
30607         display-fill-column-indicator-character, not
30608         display-fill-column-indicator-char.
30610 2019-06-30  Andreas Schwab  <schwab@linux-m68k.org>
30612         Fix use of undefined macro
30614         * src/xdisp.c (append_space_for_newline): Use FRAME_FONT only
30615         inside HAVE_WINDOW_SYSTEM.
30616         (extend_face_to_end_of_line): Likewise.
30617         (syms_of_xdisp): Doc fix.
30619 2019-06-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30621         Fix negation in elements of OTF feature list
30623         * src/ftfont.c (ftfont_get_open_type_spec):
30624         * src/macfont.m (macfont_get_open_type_spec): Take bitwise or instead of and.
30626 2019-06-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30628         Fix error in mouse-set-font on GTK 3 with Harfbuzz (Bug#36288)
30630         * src/gtkutil.c (xg_get_font) [HAVE_GTK3]: Remove type property from font
30631         spec.  This effectively undoes the fix for Bug#3228, but gives consistent
30632         results overall.
30634 2019-06-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30636         * src/xfns.c (x_create_tip_frame): Support inhibit-double-buffering.
30638         * src/xfns.c (Fx_show_tip): Call flush_frame.  (Bug#34819)
30640 2019-06-29  Paul Eggert  <eggert@cs.ucla.edu>
30642         Pacify gcc and other image rotation tweaks
30644         * src/image.c: No need to include <float.h> as lisp.h does that.
30645         (matrix3x3_copy): Remove; no longer needed.
30646         (divide_double): New function, to avoid undefined behavior
30647         when dividing by zero on non-IEEE hosts.
30648         (image_set_transform): Simplify transformation computation
30649         by avoiding the need to copy a matrix.  Pacify
30650         gcc 9 -Wdouble-promotion and -Wmaybe-uninitialized.
30651         Avoid unnecessary assignment of width and height.
30652         Improve error reporting for unsupported native image rotation.
30654 2019-06-29  Ken Brown  <kbrown@cornell.edu>
30656         Simplify workaround for Cygwin O_PATH bug
30658         Suggested by Paul Eggert (Bug#36405#22).
30659         * configure.ac (HAVE_CYGWIN_O_PATH_BUG): New AC_DEFINE, for Cygwin
30660         versions 3.0.0 through 3.0.7.
30661         * src/dired.c (O_PATH) [__CYGWIN__]: Remove #undef.
30662         (file_attributes) [HAVE_CYGWIN_O_PATH_BUG]: Don't use O_PATH.
30664 2019-06-29  Eli Zaretskii  <eliz@gnu.org>
30666         Support native image transforms on MS-Windows
30668         This changeset also rearranges native image transform code
30669         for other platforms to make it cleaner, and also removes
30670         the support for native cropping.  For the discussions, see
30671         https://lists.gnu.org/r/emacs-devel/2019-06/msg00242.html
30673         * src/w32term.c (w32_image_rotations_p, transform): New functions.
30674         (w32_draw_image_foreground): If image rotation is requested
30675         and supported, call PlgBlt to transform the image.
30676         (w32_initialize): Populate the PlgBlt function pointer if it
30677         is supported.
30678         * src/w32term.h (w32_image_rotations_p): Add prototype.
30679         * src/dispextern.h (struct image) [HAVE_NTGUI]: New member xform.
30680         * src/image.c (compute_image_rotation): Renamed from
30681         image_set_rotation.  Only compute and returns the rotation
30682         angle; leave the matrix calculation for later.  Log an error
30683         message if the :rotation parameter is not a number.
30684         (image_set_crop): Function deleted.  We no longer support
30685         native cropping, as one can display an image slice instead.
30686         (image_set_transform): Compute the transform matrix in its
30687         entirety here, in two variants: one for XRender and Cairo, the
30688         other for NS and MS-Windows.  call compute_image_size and
30689         compute_image_rotation internally.
30690         (lookup_image) [HAVE_NATIVE_TRANSFORMS]: Call only
30691         image_set_transform.  No need to pass the transform matrix to
30692         image_set_transform.
30693         (Fimage_transforms_p): Return a list of transform capabilities
30694         rather than a simple boolean.  Support TTY frames as well.
30695         * src/nsimage.m (setTransform:): Don't invert the matrix, as
30696         it is already inverted in image.c.
30698         * test/manual/image-transforms-tests.el (test-cropping): State
30699         in the text that only ImageMagick supports cropping.
30701         * doc/lispref/display.texi (Image Descriptors): Update the
30702         documentation of native image transforms.
30703         (ImageMagick Images): Move the description of ':crop' here.
30705         * etc/NEWS: Minor copyedits of the feature announcement.
30707 2019-06-29  Shuguang Sun  <shuguang79@qq.com>
30709         Fix recent change in Tramp
30711         * lisp/net/tramp-adb.el:
30712         * lisp/net/tramp-archive.el:
30713         * lisp/net/tramp-integration.el: Remove superfluous `progn' in
30714         `with-eval-after-load'.
30716 2019-06-29  Lars Ingebrigtsen  <larsi@gnus.org>
30718         Cosmetic fix-up of message-forward-included-headers
30720         * lisp/gnus/message.el (message-forward-included-headers): Use
30721         consistent capitalization in the regexps.
30723 2019-06-29  Eli Zaretskii  <eliz@gnu.org>
30725         Fix display of fringe bitmaps for tooltips in echo area
30727         * src/xdisp.c (display_line): Force redrawing of fringe
30728         bitmaps when redisplaying a minibuffer window with
30729         truncate-lines set to a non-nil value.  (Bug#36308)
30731 2019-06-29  Mattias Engdegård  <mattiase@acm.org>
30733         Allow empty argument to `regexp-opt-charset'
30735         * test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-charset):
30736         Handle nil argument, and use regexp-quote for singletons.
30737         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Expand tests.
30739 2019-06-28  Paul Eggert  <eggert@cs.ucla.edu>
30741         Revert O_PATH change to fileio.c
30743         Ken Brown pointed out it wasn’t needed (Bug#36405#16):
30744         * src/fileio.c (O_PATH) [__CYGWIN__]: Remove #undef.
30746 2019-06-28  Andreas Schwab  <schwab@linux-m68k.org>
30748         * test/src/json-tests.el (json-serialize/object): Fix spacing.
30750 2019-06-28  Pip Cet  <pipcet@gmail.com>
30752         Fix json-serialize/object test failure
30754         * test/src/json-tests.el (json-serialize/object):
30755         Accept failure with different code.
30757 2019-06-28  Mattias Engdegård  <mattiase@acm.org>
30759         Strength-reduce `equal', `eql', `member' and `memql'
30761         When comparing against symbols, turn `equal' and `eql' into `eq',
30762         and `member' and `memql' into `memq'.
30764         * lisp/emacs-lisp/byte-opt.el (byte-optimize--constant-symbol-p)
30765         (byte-optimize-equal, byte-optimize-member): New.
30766         (member, memql, equal, eql): Use new byte-optimizers.
30768 2019-06-28  Stefan Kangas  <stefankangas@gmail.com>
30770         Document bookmark annotations in Emacs Manual (bug#36417)
30772         * doc/emacs/regs.texi (Bookmarks): Document annotations.
30773         * lisp/bookmark.el (bookmark-use-annotations): Clarify docstring.
30775 2019-06-28  Mattias Engdegård  <mattiase@acm.org>
30777         Correct regexp matching of raw bytes
30779         Make regexp matching of raw bytes work in all combination of unibyte
30780         and multibyte patterns and targets, as exact strings and in character
30781         alternatives (bug#3687).
30783         * src/regex-emacs.c (analyze_first):
30784         Include raw byte in fastmap when pattern is a multibyte exact string.
30785         Include leading byte in fastmap for raw bytes in character alternatives.
30786         (re_match_2_internal):
30787         Decrement the byte count by the number of bytes in the pattern character,
30788         not 1.
30789         * test/src/regex-emacs-tests.el (regexp-unibyte-unibyte)
30790         (regexp-multibyte-unibyte, regexp-unibyte-mutibyte)
30791         (regexp-multibyte-multibyte): New tests.
30793 2019-06-28  Michael Albinus  <michael.albinus@gmx.de>
30795         Tramp requires Emacs 24.4
30797         * doc/misc/tramp.texi (Frequently Asked Questions):
30798         Use `with-eval-after-load'. in example.
30800         * doc/misc/trampver.texi: Set variable emacsver.
30802         * lisp/net/tramp.el (tramp-send-string, tramp-call-process)
30803         (tramp-call-process-region, tramp-process-lines):
30804         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
30805         (tramp-adb-sh-fix-ls-output, tramp-adb-maybe-open-connection):
30806         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
30807         (tramp-gvfs-handle-file-notify-add-watch)
30808         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
30809         (tramp-do-copy-or-rename-file-out-of-band)
30810         (tramp-sh-handle-file-notify-add-watch, tramp-find-executable)
30811         (tramp-set-remote-path)
30812         (tramp-open-connection-setup-interactive-shell)
30813         (tramp-maybe-open-connection, tramp-send-command):
30814         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
30815         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
30816         (tramp-smb-handle-set-file-acl)
30817         (tramp-smb-handle-start-file-process)
30818         (tramp-smb-maybe-open-connection):
30819         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-acl):
30820         (tramp-sudoedit-send-command): Use `string-join' and `string-empty-p'.
30822         * lisp/net/tramp-adb.el:
30823         * lisp/net/tramp-archive.el:
30824         * lisp/net/tramp-integration.el:
30825         * lisp/net/tramp-ftp.el: Use `with-eval-after-load'.
30827         * lisp/net/tramp-cmds.el (tramp-cleanup-connection)
30828         (tramp-cleanup-all-connections): Cancel timer.
30830         * lisp/net/tramp-compat.el (subr-x): Require.
30831         (default-toplevel-value): Don't make it a defalias.
30833         * lisp/net/tramp-gvfs.el: Use `dbus-event-error-functions'.  Do
30834         not special handle `split-string'.
30836         * lisp/net/tramp.el: Require Emacs 24.4.
30837         (tramp-password-prompt-regexp): Use `password-word-equivalents'.
30838         (tramp-user-error): Use `user-error'.
30839         (tramp-replace-environment-variables): Use `substitute-env-vars'.
30840         (tramp-wait-for-regexp): Rearrange `with-current-buffer' call.
30841         (tramp-get-local-gid): Use `group-gid'.
30843         * lisp/net/trampver.el: Check for Emacs 24.4.
30845         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
30846         (tramp-test02-file-name-dissect-simplified)
30847         (tramp-test02-file-name-dissect-separate)
30848         (tramp-test03-file-name-host-rules)
30849         (tramp-test03-file-name-method-rules): Don't check for `user-error'.
30851 2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>
30853         Doc fix for Gnus "very wide" reply commands
30855         * lisp/gnus/gnus-msg.el (gnus-summary-very-wide-reply-with-original)
30856         (gnus-summary-very-wide-reply): Clarify what a "very wide reply" is.
30858 2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>
30860         Revert "Fontify _emphasis_ in info nodes"
30862         This reverts commit 72963b4e82eef5767e3172f28bd9bd97f487c98a.
30864         The change incorrectly fontified whole sentences as emphasis.
30866 2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>
30868         Include To and Cc headers when forwarding with Message
30870         * lisp/gnus/message.el (message-forward-included-headers): Include
30871         more of the important headers when forwarded: To and Cc.
30873 2019-06-28  Michael Albinus  <michael.albinus@gmx.de>
30875         * lisp/gnus/gnus-art.el (gnus-article-stop-animations):
30877         Use `cancel-function-timers'.
30879 2019-06-28  Mattias Engdegård  <mattiase@acm.org>
30881         More readable regexp debug output
30883         * src/regex-emacs.c (debug_putchar): New.
30884         (print_fastmap, print_partial_compiled_pattern, print_double_string)
30885         (regex_compile): Use debug_putchar.
30886         (re_match_2_internal): Add newline.
30888 2019-06-28  Mattias Engdegård  <mattiase@acm.org>
30890         Consistently use stderr for debug output in regexp code
30892         * src/regex-emacs.c (DEBUG_PRINT, print_fastmap, print_compiled_pattern)
30893         (print_double_string, regex_compile): Print to stderr instead of stdout.
30895 2019-06-28  Lars Ingebrigtsen  <larsi@gnus.org>
30897         Don't inhibit quit in Gnus when prefetching articles
30899         * lisp/gnus/gnus-async.el (gnus-async-prefetch-next): Don't
30900         inhibit quit when running `gnus-async-prefetch-article'.
30902 2019-06-27  Alex Branham  <alex.branham@gmail.com>
30904         * lisp/simple.el (undo): Make message less enthusiastic
30906 2019-06-27  Ola Nilsson  <ola.nilsson@gmail.com>
30908         Allow underscore in defun-prompt-regex names for sh-script
30910         * lisp/progmodes/sh-script.el (defun-prompt-regexp):
30911         Allow underscore in function names.
30913 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
30915         Improve ‘equal’ and array doc
30917         * doc/lispref/objects.texi (Array Type): Array sizes are
30918         nonnegative fixnums, not arbitrary integers.
30919         (Equality Predicates): Do not say that ‘eq’ equals ‘=’ on bignums.
30920         Do not imply that ‘equal’ must signal an error on circular lists.
30922 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
30924         * src/xfaces.c (resolve_face_name): Simplify.
30926 2019-06-27  Pip Cet  <pipcet@gmail.com>
30928         Remove unnecessary tortoise checks.
30930         * src/fns.c (Fplist_get, Fplist_put, Flax_plist_get)
30931         (Flax_plist_put, Fplist_member): Remove unnecessary check.
30932         * src/json.c (lisp_to_json_toplevel_1): Remove unnecessary check.
30934 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
30936         Work around Cygwin bug with O_PATH
30938         Problem reported by Ken Brown (Bug#36405).
30939         * src/dired.c, src/fileio.c (O_PATH) [__CYGWIN__]: Undef.
30941 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
30943         Omit a few minor unnecessary range checks
30945         Based on Pip Cet’s review (Bug#36370#19).
30946         * src/fileio.c (Fdo_auto_save):
30947         * src/image.c (lookup_image):
30948         * src/textprop.c (Fnext_single_char_property_change):
30949         Prefer XFIXNUM to XFIXNAT for clarity and consistency with
30950         neighboring code, and to avoid unnecessary range checks.
30951         * src/image.c (lookup_image): Omit unnecessary range checks.
30953 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
30955         Improve XFIXNUM cleanup a bit
30957         Based on Pip Cet’s review (Bug#36370#13).
30958         * src/ccl.c (Fccl_execute_on_string): Use clearer indexing.
30959         * src/dosfns.c (Fint86, Fdos_memput):
30960         Avoid runtime checks for negative fixnums when debugging.
30961         This restores the earlier machine code.
30962         * src/lisp.h (XFIXNUM, XUFIXNUM): Use eassert, not eassume.
30963         (XFIXNAT): At the start, merely eassert FIXNUMP rather
30964         than eassuming FIXNATP.  At the end, eassume that the
30965         result is nonnegative.  This restores help to the compiler
30966         that the previous patch mistakenly removed.
30968 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
30970         Clean up use of XFIXNUM etc.
30972         A few bits of the code were relying on the fact that XFIXNUM,
30973         XFIXNAT, and XUFIXNUM do something even with arguments that
30974         are not fixnums/fixnats.  Separate these rare uses out into
30975         XFIXNUM_RAW and XUFIXNUM_RAW.
30976         Problem and original patch reported by Pip Cet (Bug#36370).
30977         * src/ccl.c (Fccl_execute_on_string):
30978         * src/fileio.c (Finsert_file_contents, a_write)
30979         (Fdo_auto_save):
30980         * src/process.c (conv_lisp_to_sockaddr):
30981         * src/textprop.c (Fnext_single_char_property_change)
30982         (Fprevious_single_char_property_change)
30983         (Fnext_property_change, Fnext_single_property_change)
30984         (Fprevious_property_change)
30985         (Fprevious_single_property_change):
30986         Don’t assume fixnums are nonnegative.
30987         * src/ccl.c (Fccl_execute_on_string):
30988         Fix range-checking bug if AREF (status, i) is out of int range.
30989         * src/data.c (arith_driver): Use XFIXNUM_RAW as we want
30990         efficient garbage if the value is not a fixnum.
30991         * src/dosfns.c (Fint86, Fdos_memput):
30992         Check that args are nonnegative.
30993         * src/image.c (lookup_image): Check that args are in range.
30994         * src/lisp.h (lisp_h_XHASH): Use XUFIXNUM_RAW, since this
30995         is for hashing.
30996         (lisp_h_XFIXNAT, XFIXNAT) [USE_LSB_TAG]: Remove macros.
30997         (lisp_h_XFIXNUM_RAW, XFIXNUM_RAW) [USE_LSB_TAG]: New macros, with
30998         the semantics of the old macros without _RAW.
30999         (XFIXNUM_RAW, XUFIXNUM_RAW): New inline functions, with the
31000         semantics of the old functions without _RAW.
31001         (FIXNUMP): Move definition up to avoid forward use.
31002         (XFIXNUM, XFIXNAT, XUFIXNUM): Use eassume to add a runtime
31003         check (when debugging) that the argument has the proper form.
31004         (XFIXNUM, XFIXNAT): Now inline functions only, since they
31005         refer to their arguments more than once now that they use eassume.
31006         * src/textprop.c (Fprevious_single_char_property_change):
31007         Avoid fixnum overflow with invalid input.
31008         (set_text_properties): Fix unlikely failure
31009         to validate arguments, by using EQ instead of XFIXNAT.
31010         * src/w32term.c (w32_draw_glyph_string):
31011         * src/xterm.c (x_draw_glyph_string):
31012         Treat negative minimums as 0 rather than as garbage patterns.
31014 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
31016         Catch duplicate keywords in image specs
31018         * src/image.c (struct image_keyword.count): Now bool, not int,
31019         since it is either 0 or 1.
31020         (parse_image_spec, xpm_image_p): Use bool for boolean.
31021         (parse_image_spec): Fix a bug introduced in
31022         2011-09-21T17:41:20!eggert@cs.ucla.edu that reported only
31023         triplicate (or more) keywords, not duplicates.
31025 2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
31027         Mention the new emacsclient -a/--eval behaviour
31029 2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
31031         emacsclient: ignore --eval parameters when starting alternate editor
31033         * lib-src/emacsclient.c (fail): If the user said --eval, don't
31034         pass those arguments to the alternate editor as file names.
31035         Suggested by a patch from Scott Turner (bug#11474).
31037 2019-06-27  Vasilij Schneidermann  <v.schneidermann@gmail.com>
31039         Allow for retrieving profiler logs after stopping
31041         * lisp/profiler.el (profiler-cpu-log, profiler-memory-log): New
31042         variables.
31043         (profiler-cpu-profile): Work even if the profiler is no longer
31044         running (bug#22114).
31045         (profiler-memory-profile): Ditto.
31046         (profiler-stop): Save the data.
31047         (profiler-reset): Clear the saved data.
31048         (profiler-report-cpu, profiler-report-memory): Report on the saved
31049         data.
31050         (profiler-report): Save the data here, too.
31052 2019-06-27  Dan Nicolaescu  <dann@ics.uci.edu>
31054         Include the date in the bzr annotation buffer
31056         * lisp/vc/vc-bzr.el (vc-bzr-annotate-command)
31057         (vc-bzr-annotate-time)
31058         (vc-bzr-annotate-extract-revision-at-line): Include a date in the
31059         bzr annotation buffer (bug#5428).
31061 2019-06-27  Stefan Kangas  <stefankangas@gmail.com>
31063         Add new ispell-change-dictionary-hook (Bug#1110)
31065         * lisp/textmodes/ispell.el (ispell-change-dictionary-hook): New hook.
31066         (ispell-change-dictionary): Call new hook (bug#1110).
31068 2019-06-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
31070         Add a new regexp variable to control boring winner buffers
31072         * doc/emacs/windows.texi (Window Convenience): Mention it.
31074         * lisp/winner.el (winner-boring-buffers-regexp): New variable.
31076         * lisp/winner.el (winner-set): Use it (bug#11151).
31078 2019-06-27  Ken Brown  <kbrown@cornell.edu>
31080         Fix invoking Emacs via a symlink on Cygwin
31082         * src/emacs.c (load_pdump) [CYGWIN]: Strip ".exe" suffix.
31084 2019-06-27  Lennart Borgman  <lennart.borgman@gmail.com>
31086         Add more fontification to regexp builder mode
31088         * lisp/emacs-lisp/re-builder.el (reb-copy): Work in the presence
31089         of newlines in the regexps.
31090         (reb-change-syntax): Use a dedicated history variable.
31091         (reb-fontify-string-re): Fontify sub-matches.
31092         (reb-regexp-grouping-backslash, reb-regexp-grouping-construct):
31093         New faces.
31094         (reb-string-font-lock-keywords): New variable.
31095         (reb-mark-non-matching-parenthesis): Match parenthesis.
31096         (reb-restart-font-lock): New function.
31098         * lisp/emacs-lisp/re-builder.el (reb-mode-map): Add divider some
31099         dividers (bug#6347).
31101 2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
31103         Rename displayor to displayer in CEDET
31105         * doc/misc/sem-user.texi (Idle Completions Mode): Rename
31106         displayor->displayer throughout.
31107         (Idle Completions Mode): Ditto.
31109         * lisp/cedet/semantic/complete.el: Rename displayor->displayer
31110         throughout and add aliases for all the methods that used that name.
31112 2019-06-27  Dmitry Gutov  <dgutov@yandex.ru>
31114         Use `default-indent-new-line' instead of `indent-new-comment-line'
31116         * lisp/simple.el (default-indent-new-line): Doc string fix.
31118         * lisp/textmodes/refill.el (refill-post-command-function): Make
31119         default-indent-new-line work as indent-new-comment-line.
31121         * lisp/textmodes/refill.el (refill-post-command-function): Bind
31122         `M-C-j' and `M-j' to default-indent-new-line instead of
31123         indent-new-comment-line to allow overriding via
31124         `comment-line-break-function' (bug#12413).
31126 2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
31128         Revert "Apply font-lock in hexl-mode buffers"
31130         This reverts commit 573de396f03684efa89ead24a371b0f4c9bf8d5d.
31132         The change wasn't necessary -- the hexl-mode buffer is automatically fontified.
31134 2019-06-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
31136         Allow generating wiki and mediawiki tables
31138         * lisp/textmodes/table.el (table--generate-source-prologue)
31139         (table--generate-source-epilogue)
31140         (table--generate-source-scan-rows)
31141         (table--generate-source-cells-in-a-row): Insert the wiki/mediawiki
31142         separators.
31144         * lisp/textmodes/table.el (table-source-languages): Add support
31145         for wiki and mediawiki tables (bug#13287).
31147         2019-06-27  Lars Ingebrigtsen  <larsi@gnus.org>
31149                 * doc/emacs/text.texi (Table Misc): Mention the new wiki and
31150                 mediawiki formats.
31152 2019-06-27  Wilfred Hughes  <me@wilfred.me.uk>
31154         Apply font-lock in hexl-mode buffers
31156         * lisp/hexl.el (hexl-mode): After setting font-lock-defaults, we
31157         need to call `font-lock-ensure' to apply hexl-mode faces
31158         (bug#24645).
31160 2019-06-27  Juanma Barranquero  <lekktu@gmail.com>
31162         Add :local specifier to defcustom
31164         * lisp/custom.el (custom-declare-variable): Allow the new :local
31165         parameter (bug#14591).
31166         (defcustom): Document it.
31168 2019-06-27  Paul Eggert  <eggert@cs.ucla.edu>
31170         Tweak ‘error’ and ‘user-error’ doc strings
31172         * lisp/net/tramp.el (tramp-user-error):
31173         * lisp/subr.el (user-error):
31174         Say that user errors are sometimes called pilot errors.
31175         * lisp/subr.el (error, user-error):
31176         Reorder wording to discuss mechanism first, then formatting advice,
31177         rather than going back and forth between the two topics.
31178         Tighten up the wording a bit.
31180 2019-06-27  Stefan Kangas  <stefankangas@gmail.com>
31182         Clarify error and user-error docstrings
31184         * lisp/subr.el (error, user-error)
31185         * lisp/net/tramp.el (tramp-user-error): Change "pilot error" to "user
31186         error" and improve documentation.
31188 2019-06-26  Basil L. Contovounesios  <contovob@tcd.ie>
31190         Remove gnus-bug from report-emacs-bug TODO entry
31192         For discussion, see the following thread:
31193         https://lists.gnu.org/r/emacs-devel/2019-04/msg01196.html
31194         https://lists.gnu.org/r/emacs-devel/2019-06/msg00967.html
31196         * etc/TODO: Remove gnus-bug from list of obsolete bug-reporting
31197         commands now that it is implemented in terms of report-emacs-bug.
31199 2019-06-26  Mattias Engdegård  <mattiase@acm.org>
31201         Document bug in `replace-regexp-in-string'
31203         `replace-regexp-in-string' omits the first START characters of the
31204         input string in its return value.  This is a clear bug, but fixing it
31205         probably causes more trouble; document the behaviour instead (bug#36372).
31207         * doc/lispref/searching.texi (Search and Replace)
31208         * lisp/subr.el (replace-regexp-in-string):
31209         Document current behaviour.
31211 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
31213         * lisp/textmodes/page-ext.el (sort-pages-buffer): Fix typo
31215         Reported by Marco Wahl <marcowahlsoft@gmail.com>.
31216         Update `Commentary:` to use the new command names.
31217         (pages--ctl-x-ctl-p-map): Fix `mark-page` binding.
31218         (pages-directory-mode-map): Update `add-new-page` => `pages-add-new-page`.
31220 2019-06-26  Eli Zaretskii  <eliz@gnu.org>
31222         Support invoking Emacs via a symlink on MS-Windows
31224         * src/w32.c (w32_my_exename): Resolve symlinks in the
31225         executable name, to support searching for the pdumper file
31226         when the executable is found via a symlink.
31227         * src/emacs.c (load_pdump): Add a comment about symlink
31228         resolution on Windows.
31230 2019-06-26  Andrzej P  <andrzej@morgangilbert.co.uk>  (tiny change)
31232         Fix redisplay of registers in gdb-mi
31234         * lisp/progmodes/gdb-mi.el (gdb-update): Call
31235         gdb-get-changed-registers before updating the GDB-MI buffers.
31236         (Bug#16366)
31238 2019-06-26  Lars Ingebrigtsen  <larsi@gnus.org>
31240         Restrict indirect lookups in Fdocumentation_property
31242         * src/doc.c (Fdocumentation_property): Only look up indirect
31243         variables if we've been asked for the variable documentation.
31245 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
31247         Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
31249 2019-06-26  Bruce Stephens  <bruce.stephens@isode.com>
31251         * lisp/calc/calc-ext.el (math-scalarp): Fix typo
31253 2019-06-26  Lars Ingebrigtsen  <larsi@gnus.org>
31255         Fdocumentation_property: Return doc string for indirect variables
31257         * src/doc.c (Fdocumentation_property): When dealing with indirect
31258         variables (i.e., aliases), also check the symbol being pointed to
31259         for the doc string (bug #17180).
31261 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
31263         Revert "* lisp/calc/calc-ext.el (math-scalarp): Fix typo"
31265         This reverts commit 698ff554ac2699ec48fefc85a1307cbc4a183b0d.
31267 2019-06-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
31269         help-C-file-name shouldn't error out if we can't find the name
31271         * lisp/help-fns.el (help-C-file-name): Make help-C-file-name
31272         return nil instead of signaling an error if we can't find the
31273         file name (bug#17250).
31275 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
31277         * test/lisp/calc/calc-tests.el (test-math-bignum, test-calc-23889): Disable
31279         Not applicable any more with native bignums.
31281 2019-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
31283         * lisp/calc/calc-ext.el (math-scalarp): Fix typo
31285 2019-06-26  Noam Postavsky  <npostavs@gmail.com>
31287         Fix (rx-to-string (and (literal STR) (regexp STR)) regression
31289         * lisp/emacs-lisp/rx.el (rx-regexp, rx-literal): Check the cadr of the
31290         form for stringness, not the form itself.
31291         * test/lisp/emacs-lisp/rx-tests.el (rx-to-string-lisp-forms): New test.
31293 2019-06-26  Mattias Engdegård  <mattiase@acm.org>
31295         Merge consecutive constant `concat' args (bug#14769)
31297         Suggested by Shigeru Fukaya <shigeru.fukaya@gmail.com>
31299         * lisp/emacs-lisp/byte-opt.el (byte-optimize-concat): New.
31300         (concat): Add byte-optimizer.
31302 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
31304         * lisp/calc/calc.el: Take advantage of native bignums.
31306         Remove redundant :group args.
31308         (calc-trail-mode): Use inhibit-read-only.
31309         (math-bignum-digit-length, math-bignum-digit-size)
31310         (math-small-integer-size): Delete constants.
31311         (math-normalize): Use native bignums.
31312         (math-bignum, math-bignum-big): Delete functions.
31313         (math-make-float): The mantissa can't be a calc bignum any more.
31314         (math-neg, math-scale-left, math-scale-right, math-scale-rounding)
31315         (math-add, math-sub, math-mul, math-idivmod, math-quotient)
31316         (math-format-number, math-read-number, math-read-number-simple):
31317         Don't bother handling calc bignums.
31318         (math-div10-bignum, math-scale-left-bignum, math-scale-right-bignum)
31319         (math-add-bignum, math-sub-bignum, math-mul-bignum, math-mul-bignum-digit)
31320         (math-div-bignum, math-div-bignum-digit, math-div-bignum-big)
31321         (math-div-bignum-part, math-div-bignum-try, math-format-bignum)
31322         (math-format-bignum-decimal, math-read-bignum): Delete functions.
31323         (math-numdigs): Don't presume that native ints are small enough to use
31324         a slow algorithm.
31326         * lisp/calc/calc-aent.el (calc-do-quick-calc):
31327         * lisp/calc/calc-vec.el (calcFunc-vunpack):
31328         * lisp/calc/calc-alg.el (math-beforep): Don't bother handling calc bignums.
31330         * lisp/calc/calc-bin.el (math-bignum-logb-digit-size)
31331         (math-bignum-digit-power-of-two): Remove constants.
31332         (calcFunc-and, math-binary-arg, calcFunc-or, calcFunc-xor)
31333         (calcFunc-diff, calcFunc-not, math-clip, math-format-twos-complement):
31334         Use Emacs's builtin bignums.
31335         (math-and-bignum, math-or-bignum, math-xor-bignum, math-diff-bignum)
31336         (math-not-bignum, math-clip-bignum)
31337         (math-format-bignum-radix, math-format-bignum-binary)
31338         (math-format-bignum-octal, math-format-bignum-hex): Delete functions.
31339         (math-format-binary): Fix old copy&paste error.
31341         * lisp/calc/calc-comb.el (calc-prime-factors): Adjust for unused arg.
31342         (math-prime-test): math-fixnum is now the identity.
31344         * lisp/calc/calc-ext.el: Require cl-lib.
31345         (math-oddp): Use cl-oddp.  Don't bother with calc bignums.
31346         (math-integerp, math-natnump, math-ratp, math-realp, math-anglep)
31347         (math-numberp, math-scalarp, math-vectorp, math-objvecp, math-primp)
31348         (math-num-natnump, math-objectp, math-check-integer, math-compare):
31349         Don't bother handling calc bignums.
31350         (math-check-fixnum): Use fixnump.
31351         (math-fixnum, math-fixnum-big, math-bignum-test): Remove functions.
31352         (math--format-integer-fancy): Rename from math-format-bignum-fancy.
31353         Adjust for internal bignums.
31355         * lisp/calc/calc-funcs.el (calcFunc-besJ): Use cl-isqrt.
31357         * lisp/calc/calc-macs.el (Math-zerop, Math-integer-negp)
31358         (Math-integer-posp, Math-negp, Math-posp, Math-integerp)
31359         (Math-natnump, Math-ratp, Math-realp, Math-anglep, Math-numberp)
31360         (Math-scalarp, Math-vectorp, Math-objectp, Math-objvecp)
31361         (Math-integer-neg, Math-primp, Math-num-integerp):
31362         Don't bother handling calc bignums.
31363         (Math-bignum-test): Delete function.
31365         * lisp/calc/calc-math.el (math-use-emacs-fn): Remove unused `fx`.
31366         (math-isqrt, math-sqrt): Use cl-isqrt.  Don't bother handling calc bignums.
31367         (math-isqrt-bignum, math-isqrt-bignum-iter, math-isqrt-small):
31368         Delete function.
31370         * lisp/calc/calc-misc.el (math-fixnump, math-fixnatnump): Use fixnump.
31371         (math-evenp): Use cl-evenp.
31372         (math-zerop, math-negp, math-posp, math-div2): Don't bother handling
31373         calc bignums.
31374         (math-div2-bignum): Delete function.
31376 2019-06-25  Noam Postavsky  <npostavs@gmail.com>
31378         Merge from emacs-26
31380         e62ad04963 Fix sgml-mode handling of quotes within parens (Bug#36347)
31381         06b35b2f92 ; * lisp/frame.el: Enhance add-variable-watcher commentary.
31382         572e34bb6f Rename 'make-symbolic-link' argument NEWNAME to LINKNAME
31383         04477adedc Check that length of data returned by sysctl is non-zero
31384         81535eeadb * test/lisp/progmodes/python-tests.el (python-virt-bin): D...
31385         9d48979ca8 Fix Python tests depending on system-type
31386         fcf6cc3177 Fix problem with wdired test when symlinks cannot be created.
31387         4701e0663e Improve wording of documentation of click events
31389         # Conflicts:
31390         #       lisp/textmodes/sgml-mode.el
31391         #       test/lisp/textmodes/sgml-mode-tests.el
31393 2019-06-25  Noam Postavsky  <npostavs@gmail.com>
31395         Merge from emacs-26
31397         2b765c650a Remove outdated comment in winner.el (Bug#36185)
31399 2019-06-25  Noam Postavsky  <npostavs@gmail.com>
31401         Don't bind search-spaces-regexp around possible autoload (Bug#35802)
31403         * lisp/isearch.el (isearch-search-fun-default): Move possible autoload
31404         trigger outside let-binding of search-spaces-regexp.
31405         * lisp/char-fold.el (char-fold-make-table): Remove no longer needed
31406         workaround.
31408         * lisp/info.el (Info-search-whitespace-regexp):
31409         * lisp/isearch.el (search-whitespace-regexp):
31410         * src/search.c (syms_of_search) <search-spaces-regexp>: Add warning
31411         about adding capturing groups to the value.
31413         * test/lisp/char-fold-tests.el: Remove, binding search-spaces-regexp
31414         to a different should be considered a bug.
31416 2019-06-25  Noam Postavsky  <npostavs@gmail.com>
31418         Support (rx (and (regexp EXPR) (literal EXPR))) (Bug#36237)
31420         * lisp/emacs-lisp/rx.el (rx-regexp): Allow non-string forms.
31421         (rx-constituents): Add literal constituent, which is like a plain
31422         STRING form, but allows arbitrary lisp expressions.
31423         (rx-literal): New function.
31424         (rx-compile-to-lisp): New variable.
31425         (rx--subforms): New helper function for handling subforms, including
31426         non-constant case.
31427         (rx-group-if, rx-and, rx-or, rx-=, rx->=, rx-repeat, rx-submatch)
31428         (rx-submatch-n, rx-kleene, rx-atomic-p): Use it to handle non-constant
31429         subforms.
31430         (rx): Document new form, wrap non-constant forms with concat call.
31431         * test/lisp/emacs-lisp/rx-tests.el (rx-tests--match): New macro.
31432         (rx-nonstring-expr, rx-nonstring-expr-non-greedy): New tests.
31433         * etc/NEWS: Announce changes.
31435 2019-06-25  Juanma Barranquero  <lekktu@gmail.com>
31437         Fix PATH_MAX change to lib-src/emacsclient.c
31439         * lib-src/emacsclient.c (get_current_dir_name): Declare pwdlen.
31441 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
31443         Fix previous patch to dired-mark-if
31445         * lisp/dired.el (dired-mark-if): Don't use looking-at to check for
31446         characters.
31448 2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>
31450         Prefer PATH_MAX to MAXPATHLEN
31452         PATH_MAX is standardized, MAXPATHLEN is not.
31453         Also, the Gnulib pathmax module fixes some rare bugs with PATH_MAX.
31454         So prefer PATH_MAX to MAXPATHLEN unless we know the latter is
31455         also correct (for some platform-specific code).
31456         * admin/merge-gnulib (GNULIB_MODULES): Add pathmax.
31457         This module was already present, as a dependency of canonicalize-lgpl,
31458         but now Emacs is using it directly.  Sort.
31459         * lib-src/emacsclient.c: Include stdint.h, pathmax.h.
31460         (get_current_dir_name): Sync to current src/sysdep.c.
31461         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
31462         * src/sysdep.c: Include pathmax.h.
31463         (get_current_dir_name_or_unreachable):
31464         Use PATH_MAX instead of MAXPATHLEN.
31466 2019-06-25  Dima Kogan  <dima@secretsauce.net>
31468         View-search-... now hit all the matches, regardless of window position
31470         * lisp/view.el (view-search): Jump to the next/prev occurrence of
31471         the search, even if it's displayed in the buffer (bug#18131).
31472         This seems more logical than the previous (undocumented) behaviour.
31474 2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>
31476         Avoid some strlen work, primarily via strnlen
31478         * admin/merge-gnulib (GNULIB_MODULES): Add strnlen.
31479         * lib-src/etags.c (find_entries):
31480         * src/emacs.c (main):
31481         * src/nsmenu.m (parseKeyEquiv:):
31482         * src/nsterm.m (ns_xlfd_to_fontname):
31483         * src/term.c (vfatal):
31484         Prefer !*X to !strlen (X).
31485         * lib-src/etags.c (pfnote, add_regex):
31486         * lib-src/pop.c (pop_open):
31487         * lib-src/update-game-score.c (main):
31488         * lwlib/lwlib.c (lw_separator_p):
31489         * src/doprnt.c (doprnt):
31490         * src/emacs.c (main):
31491         * src/inotify.c (inotifyevent_to_event):
31492         * src/keyboard.c (menu_separator_name_p, parse_tool_bar_item):
31493         * src/sysdep.c (get_current_dir_name_or_unreachable):
31494         * src/xdisp.c (store_mode_line_string):
31495         Use strnlen to avoid unnecessary work with strlen.
31496         * lib-src/etags.c (Prolog_functions, prolog_pr)
31497         (Erlang_functions, erlang_func):
31498         Prefer ptrdiff_t to size_t when either will do.
31499         (prolog_pr, erlang_func): New arg LASTLEN, to avoid
31500         unnecessary strlen call. All callers changed.
31501         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
31502         * lib/strnlen.c, m4/strnlen.m4: New files, copied from Gnulib.
31503         * lwlib/lwlib.c (lw_separator_p):
31504         * src/json.c (json_has_prefix):
31505         Use strncmp to avoid unnecessary work with strlen + memcmp.
31506         * src/process.c (set_socket_option): Use SBYTES instead of strlen.
31508 2019-06-25  Emilio C. Lopes  <eclig@gmx.net>  (tiny change)
31510         Support opening a new connection when reverting a telnet buffer
31512         * lisp/net/telnet.el (telnet-connect-command): New variable.
31513         (telnet-revert-buffer): New function.
31514         (telnet-mode): Use `telnet-revert-buffer' as `revert-buffer-function'.
31515         (telnet, rsh): Set `telnet-connect-command' accordingly (bug#18312).
31517 2019-06-25  Arash Esbati  <arash@gnu.org>
31519         Suppress warning about unix-sync in nnmaildir.el
31521         * lisp/gnus/nnmaildir.el (nnmaildir-request-replace-article): Check if the
31522         function `unix-sync' is bound before running it.
31524 2019-06-25  Ivan Shmakov  <ivan@siamics.net>
31526         Check labels in smerge-mode
31528         * lisp/vc/diff.el (diff-check-labels): Separated out into its own
31529         function (bug#18850)...
31530         (diff-no-select): ... from here.
31532         * lisp/vc/smerge-mode.el (smerge-diff): Use diff-check-labels.
31534 2019-06-25  Basil L. Contovounesios  <contovob@tcd.ie>
31536         Avoid using subr-x.el function in files.el
31538         * lisp/files.el (file-size-human-readable): Open code string-empty-p
31539         call.  This was the single occurrence of a subr-x.el function in
31540         files.el, which does not (yet) load subr-x.el.
31542 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
31544         * lisp/emacs-lisp/cl-extra.el (cl-isqrt): Speed up bignum case
31546 2019-06-25  Jonathan Shin Hayase  <pythonnut@gmail.com>
31548         Highlight zsh glob flags and qualifiers in sh-mode
31550         * lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
31551         Add regexps to highlight zsh glob flags and alternate qualifiers
31552         without mistaking them for comments. (bug#19455).
31554 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
31556         Build fix for previous buffers.texi change
31558 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
31560         * etc/NEWS: Fix vocabulary in last change
31562 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
31564         * lisp/tar-mode.el: Use lexical-binding; remove redundant :groups.
31566         (tar-new-entry): Remove unused var `buffer`.
31568 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
31570         Move widen/narrow in tabulated lists to } and {
31572         * doc/emacs/buffers.texi (Several Buffers): Document it.
31574         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
31575         Move widen/narrow to `}' and `{'.
31577 2019-06-25  Glenn Morris  <rgm@gnu.org>
31579         * test/lisp/progmodes/flymake-tests.el (ruby-backend): Skip on hydra.
31581         Another unstable test.
31583 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
31585         * lisp/net/tramp.el (tramp-file-name-handler): Use autoload-do-load
31587 2019-06-25  Ivan Shmakov  <ivan@siamics.net>
31589         Heed default directory in tar-untar-buffer
31591         * lisp/tar-mode.el (tar-untar-buffer): Fix use the value of
31592         default-directory local to the tar-mode buffer (bug#19865).
31594 2019-06-25  David Hull  <david.hull@openx.com>
31596         etags: Fix handling of quoted symbol names in Erlang
31598         * lib-src/etags.c (erlang_attribute): Fix handling of quoted
31599         symbol names in Erlang (bug#24960).
31601 2019-06-25  Paul Eggert  <eggert@cs.ucla.edu>
31603         Update from Gnulib
31605         This incorporates:
31606         2019-06-24 unistd: stddef.h and sys/types.h namespace cleanup
31607         * lib/gnulib.mk.in: Regenerate.
31608         * lib/unistd.in.h: Copy from gnulib.
31610 2019-06-25  Glenn Morris  <rgm@gnu.org>
31612         * lisp/info.el (info-emphasis): Fix doc, version.
31614 2019-06-25  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
31616         Preserve header lines from derived modes in tabulated lists
31618         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
31619         Preserve header line set by derived modes (bug#21025).
31621 2019-06-25  Drew Adams  <drew.adams@oracle.com>
31623         Make dired commands report how many files they mark
31625         * lisp/dired.el (dired-mark-if): Report the number of files marked
31626         when called, not the total number of marked files (bug#22457).
31628 2019-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
31630         * lisp/simple.el (forward-visible-line, end-of-visible-line): Use invisible-p
31632 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
31634         Add a new command to report the number and size of the marked files
31636         2019-06-25  Constantino Calancha  <f92capac@gmail.com>
31638                 * lisp/dired.el (dired-mode-map): New keystroke and menu binding
31639                 (bug#22829).
31641         2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
31643                 * doc/emacs/dired.texi (Marks vs Flags): Document it.
31645                 * lisp/dired.el (dired-number-of-marked-files): New command.
31647 2019-06-25  Phil Sainty  <psainty@orcon.net.nz>
31649         Fix `goto-address-url-regexp'
31651         * lisp/net/goto-addr.el (goto-address-uri-schemes-ignored): New
31652         variable.
31653         (goto-address-uri-schemes): Ditto.
31654         (goto-address-url-regexp): Use them to compose the final regexp.
31656         * lisp/net/goto-addr.el: The URI schemes to be recognised by
31657         `goto-address-mode' were not regexp-quoted (Bug#23343).
31659 2019-06-25  Tino Calancha  <f92capac@gmail.com>
31661         Make winner restore point in all windows that display a buffer
31663         * lisp/window.el (window--before-delete-windows): New defun.
31664         (delete-window, delete-other-windows): Use it.
31665         * lisp/winner.el (winner-set): Use marker in 'window-prev-buffers'
31666         when available and different than the value returned by
31667         'winner-get-point' (bug#23621).
31669 2019-06-25  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
31671         Use xref in cedet
31673         * lisp/cedet/semantic/complete.el (semantic-complete-jump-local)
31674         * lisp/cedet/semantic/analyze/refs.el
31675         (semantic-analyze-proto-impl-toggle): Use xref to handle jumping
31676         (bug#23793).
31678 2019-06-25  Drew Adams  <drew.adams@oracle.com>
31680         Fontify _emphasis_ in info nodes
31682         * lisp/info.el (Info-fontify-node): Fontify _emphasis_ (bug#23798).
31683         (info-emphasis): New face.
31685 2019-06-25  Robert Weiner  <rsw@gnu.org>
31687         Unlispify even more in custom-unlispify-menu-entry
31689         * lisp/cus-edit.el (custom-unlispify-menu-entry): Also allow : and
31690         / as separators in symbols when making the symbols look more
31691         human-readable (bug#23986).
31693 2019-06-25  Michael Shields  <shields@msrl.com>
31695         [PATCH 1/1] Pass frame-parameters to server-create-tty-frame
31697         * lisp/server.el: Pass frame-parameters when creating frames, even
31698         on a tty (bug#24147).
31700 2019-06-25  Basil L. Contovounesios  <contovob@tcd.ie>
31702         Fix recent tex-mode safe-local-variable changes
31704         * lisp/textmodes/tex-mode.el (tex-verbatim-environments): Replace
31705         (delq t ...) with more usual (memq nil ...).
31706         (latex-noindent-environments, latex-noindent-commands): Fix typos
31707         and thinkos in safe-local-variable logic.
31709 2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
31711         Don't delete macuvs.h in extraclean
31713         * admin/unidata/Makefile.in (extraclean): Don't delete macuvs.h,
31714         because it's a checked-in file, and make targets altering
31715         checked-in files is confusing.
31717 2019-06-25  Fritz Stelzer  <brotzeitmacher@gmail.com>  (tiny change)
31719         Make xref-show-xrefs-function a defcustom
31721         * lisp/progmodes/xref.el (xref-show-xrefs-function): Make into a
31722         defcustome (bug#29206).
31724         * lisp/progmodes/xref.el (xref-show-definitions-function): Ditto.
31726 2019-06-25  Antoine Beaupré  <anarcat@orangeseeds.org>  (tiny change)
31728         Add imenu support to package-menu-mode
31730         * lisp/vc/vc-git.el (vc-git-grep-template): Include <C> in
31731         template to be more consistent with lgrep/rgrep (bug#35326).  This
31732         will introduce the --color and -i flags to the "git grep" command.
31734 2019-06-25  Alan Mackenzie  <acm@muc.de>
31736         Fix documentation of inhibit-modification-hooks in overlays + text properties
31738         This fixes bug #25111.
31740         * doc/lispref/display.texi (Overlay Properties): For the hook property
31741         modification-hooks, state that inhibit-modification-hooks is bound to non-nil
31742         when calling its functions.  This also applies to insert-in-front-hooks and
31743         insert-behind-hooks, which refer to modification-hooks.
31745         * doc/lispref/text.texi (Special Properties): For the hook property
31746         modification-hooks, state that inhibit-modification-hooks is NOT bound to
31747         non-nil when calling its functions.  For the hooks insert-in-fron-hooks and
31748         insert-behind-hooks, state that that variable does get bound to non-nil.
31750 2019-06-24  Hong Xu  <hong@topbug.net>
31752         Add imenu support to package-menu-mode
31754         * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Fontify if the major
31755         mode is derived from message-mode (not necessarily equal to
31756         message-mode) (bug#25124).
31758 2019-06-24  Damien Cassou  <damien@cassou.me>
31760         Add imenu support to package-menu-mode
31762         * lisp/emacs-lisp/package.el
31763         (package--imenu-prev-index-position-function
31764         package--imenu-extract-index-name-function): Add Imenu functions
31765         to package-menu-mode (bug#27134).
31767 2019-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
31769         * lisp/textmodes/tex-mode.el (latex-noindent-commands): New custom var
31771         (latex-find-indent): Obey it.
31772         (latex-noindent-environments): Make it into a defcustom as well.
31774 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
31776         Make message_to_stderr do one single fwrite
31778         * src/xdisp.c (message_to_stderr): When running as a batch
31779         process, the output from `message' goes to stderr, and has a
31780         newline appended.  Rewrite the code so that only one fwrite is
31781         performed to enable messages that are shorter than PIPE_BUF
31782         (usually 4096 on modern operating systems) are written out as one
31783         chunk, as this will ensure that the messages are not interleaved
31784         with messages from other processes that are writing at the same
31785         time.  This does not affect other stderr outputs, just the ones
31786         from `message'.
31788 2019-06-24  Kaushal Modi  <kaushal.modi@gmail.com>
31790         Add example for enabling minor modes in .dir-local.el
31792         * doc/emacs/custom.texi (Directory Variables): Add an example that
31793         shows how a minor mode can be enabled in a .dir-local.el (Bug#27639).
31794         Clarify that indent-tabs-mode is not a minor mode.
31796 2019-06-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
31798         * configure.ac: Set HAVE_XFT to no for summary if HAVE_CAIRO is yes.
31800 2019-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
31802         * lisp/svg.el: Prepare for distribution via GNU ELPA
31804         Add a Version: and Package-Requires:.
31805         Don't require subr-x.
31806         Bring Commentary: from the GNU ELPA version of the package.
31807         (svg-remove): Don't use when-let*.
31809 2019-06-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
31811         Tweaks to html mode
31813         * lisp/textmodes/sgml-mode.el (sgml-attributes): Add the "class" and
31814           "id" attributes when needed.
31815           (html-mode-map): Add the `html-div' and `html-span' commands to the
31816           `html-quick-keys' map.
31817           (html-ordered-list, html-unordered-list, html-paragraph): Use the
31818           "\n" element properly.
31819           (html-div, html-span): New HTML skeletons.
31821 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
31823         rectangle--pos-cols shouldn't move point
31825         * lisp/rect.el (rectangle--pos-cols): Don't move point while
31826         calculating the values (bug#25777).
31828 2019-06-24  Eli Zaretskii  <eliz@gnu.org>
31830         Fix MS-Windows build as followup to pdumper executable lookup
31832         * src/w32.c (w32_my_exename): New function.
31833         * src/w32.h (w32_my_exename): Add prototype.
31834         * src/emacs.c (load_pdump_find_executable) [WINDOWSNT]: Find
31835         the actual file name of the program without looking along
31836         PATH, by calling w32_my_exename.
31838         * nt/mingw-cfg.site (ac_cv_func_canonicalize_file_name)
31839         (ac_cv_func_realpath, gl_cv_func_realpath_works): Disable
31840         testing.
31841         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_canonicalize-lgpl): Set
31842         to true.
31844 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
31846         Make C-l in iimage-mode call recenter-top-bottom
31848         * lisp/iimage.el (iimage-recenter): Call `recenter-top-bottom'
31849         instead of `recenter', since that's the default function for `C-l'
31850         (bug#27610).  Suggested by Arne Frederic Maria Döring.
31852 2019-06-24  Michael Albinus  <michael.albinus@gmx.de>
31854         Improve error handling in Tramp
31856         * lisp/net/tramp-compat.el (ls-lisp): Require.
31858         * lisp/net/tramp.el (ls-lisp-use-insert-directory-program):
31859         Don't declare.
31860         (tramp-current-connection): Adapt docstring.
31861         (tramp-debug-message): Adapt function names.
31862         (tramp-error, tramp-run-real-handler): Let-bind `signal-hook-function'.
31863         (tramp-signal-hook-function): New defun.
31864         (tramp-debug-on-error, tramp-condition-case-unless-debug): Remove.
31865         (tramp-file-name-handler): Handle `tramp-current-connection'.
31866         Let-bind `signal-hook-function'.  Use `unwind-protect' instead of
31867         `tramp-condition-case-unless-debug'.
31868         (tramp-handle-insert-directory): Don't require ls-lisp.
31869         (tramp-process-actions): Check, that
31870         `tramp-password-save-function' is non-nil.
31871         (tramp-equal-remote): Handle the case both files are local.
31873         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
31874         Do not bind `tramp-debug-on-error'.
31875         (tramp--test-ignore-make-symbolic-link-error): Make error handler
31876         more explicit about the error.
31878 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
31880         Fix up key bindings in previous tabulated-list patch
31882         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
31883         Actually use `w'/`c' as described in previous patch.
31885 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
31887         Add new commands to widen/narrow tabulated list columns
31889         * doc/emacs/buffers.texi: Document widen/contracting commands in
31890         tabulated list mode.
31891         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Add
31892         keystrokes.
31893         (tabulated-list-widen-current-column): New command.
31894         (tabulated-list-narrow-current-column): Ditto.  The code was
31895         written by Boruch Baum and then tweaked by Drew Adams (bug#32106)
31896         before some white-space changes before the commit.
31898 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
31900         Remove -q from zstd invocation
31902         * lib-src/etags.c (compressors): -q isn't necessary since standard
31903         output goes to /dev/null.  From Michael Albinus (bug#33919).
31905 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
31907         NEWS fix up for Zstandard patches
31909         * etc/NEWS: tramp-archive is a new feature, so no need to say that
31910         specific parts of it are new.  From Michael Albinus.
31912 2019-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
31914         Fix up Zstandard/tramp patch slightly
31916         * lisp/net/tramp-archive.el (tramp-archive-suffixes): Fix tzst
31917         suffix.  From Michael Albinus (bug#33919).
31919 2019-06-24  Alexander Gramiak  <agrambot@gmail.com>
31921         Add Zstandard compression support for Tramp
31923         * lisp/net/tramp-archive.el (tramp-archive-suffixes)
31924         (tramp-archive-compression-suffixes): Add zstd compression suffixes.
31925         * lisp/net/tramp-sh.el (tramp-inline-compress-commands): Add
31926         zstd (de)compression commands.
31928 2019-06-24  Alexander Gramiak  <agrambot@gmail.com>
31930         Add Zstandard compression support for dired
31932         * lisp/dired-aux.el (dired-compress-file-suffixes): Add suffixes for
31933         zstd compressed tarballs and other files.
31934         (dired-compress-file): Treat options found in
31935         `dired-compress-file-suffixes' as arguments instead of part of the
31936         program name.
31938 2019-06-24  Alexander Gramiak  <agrambot@gmail.com>
31940         Add Zstandard compression support for etags
31942         * lib-src/etags.c: (compressors): Add zstd support.
31943         (print_language_names): Report zstd support.
31944         * doc/man/etags.1: Update doc.
31946 2019-06-24  Daniel Colascione  <dancol@dancol.org>
31948         Fix pdumper executable-finding code
31950         * src/emacs.c:
31951         (load_pdump_find_executable): New function.
31952         (load_pdump): Use it.
31954 2019-06-24  Damien Cassou  <damien@cassou.me>
31956         * doc/misc/auth.texi (The Unix password store): Complete rewrite
31958         * etc/NEWS: Describe changes to auth-source-pass
31960         * lisp/auth-source-pass.el: Version 5.0.0
31962 2019-06-24  Damien Cassou  <damien@cassou.me>
31964         Refactoring of auth-source-pass
31966         * lisp/auth-source-pass.el (auth-source-pass--find-match): Refactor by
31967         moving some code to auth-source-pass--disambiguate.
31968         (auth-source-pass--disambiguate)
31969         (auth-source-pass--entries-matching-suffix): New function.
31970         (auth-source-pass--find-match-unambiguous)
31971         (auth-source-pass--select-from-entries)
31972         (auth-source-pass--entry-reducer): Refactor to simplify and improve
31973         logging.
31974         (auth-source-pass--matching-entries)
31975         (auth-source-pass--accumulate-matches): Remove.
31976         * test/lisp/auth-source-pass-tests.el: Complete rewrite to facilitate
31977         maintenance.
31978         (auth-source-pass--have-message-containing): Remove.
31979         (auth-source-pass--have-message-matching)
31980         (auth-source-pass--explain--have-message-matching)
31981         (auth-source-pass--explain-match-entry-p)
31982         (auth-source-pass--includes-sorted-entries)
31983         (auth-source-pass--explain-includes-sorted-entries)
31984         (auth-source-pass--explain-match-any-entry-p)
31985         (auth-source-pass--matching-entries)
31986         (auth-source-pass-match-entry-p)
31987         (auth-source-pass-match-any-entry-p): New function.
31989 2019-06-24  Keith Amidon  <camalot@picnicpark.org>
31991         * lisp/auth-source-pass.el: Add Keith Amidon to authors
31993 2019-06-24  Keith Amidon  <camalot@picnicpark.org>
31995         Minimize entry parsing in auth-source-pass
31997         Prior to this commit, while searching for the most applicable entry
31998         password-store entries were decrypted and parsed to ensure they were
31999         valid.  The entries were parsed in the order they were found on the
32000         filesystem and all applicable entries would be decrypted and parsed,
32001         which varied based on the contents of the password-store and the entry
32002         to be found.
32004         This is fine when the GPG key is cached and each entry can be
32005         decrypted without user interaction.  However, for security some people
32006         have their GPG on a hardware token like a Yubikey setup so that they
32007         have to touch a sensor on the toke for every cryptographic operation,
32008         in which case it becomes inconvenient as each attempt to find an entry
32009         requires a variable number of touches of the hardware token.
32011         The implementation already assumes that names which contain more of
32012         the information in the search key should be preferred so there is an
32013         ordering of preference of applicable entries.  If the decrypt and
32014         parsing is removed from the initial identification of applicable
32015         entries in the store then in most cases a single decrypt and parse of
32016         the most preferred entry will suffice, improving the experience for
32017         hardware token users that require interaction with the token.
32019         This commit implements that strategy.  It is in spirit a refactor of
32020         the existing code.
32022         * lisp/auth-source-pass.el (auth-source-pass--matching-entries): New
32023         function, generate an ordered list of regular expression matchers for
32024         all possible names that could be in the password-store for the entry
32025         to be found and then makes a pass over the password-store entry names
32026         accumulating the matching entries in a list after the regexp that
32027         matched.  This implementation ensures the password-store entry list
32028         still only has to be scanned once.
32029         (auth-source-pass--find-match-unambiguous): Use it to obtain candidate
32030         entries and then parse them one by one until an entry containing the
32031         desired information is located.  When complete, return the parsed data
32032         of the entry instead of the entry name so that the information can be
32033         used directly to construct the auth-source response.
32034         (auth-source-pass--build-result): Update accordingly.
32035         (auth-source-pass--find-match): Update docstring accordingly.
32036         (auth-source-pass--select-one-entry)
32037         (auth-source-pass--entry-valid-p)
32038         (auth-source-pass--find-all-by-entry-name)
32039         (auth-source-pass--find-one-by-entry-name): Remove.
32040         (auth-source-pass--select-from-entries)
32041         (auth-source-pass--accumulate-matches)
32042         (auth-source-pass--entry-reducer)
32043         (auth-source-pass--generate-entry-suffixes)
32044         (auth-source-pass--domains)
32045         (auth-source-pass--name-port-user-suffixes): New functions.
32047         * test/lisp/auth-source-pass-tests.el: One test case was added to the
32048         test suite to verify that only the minimal number of entries are
32049         parsed in common cases.  The
32050         auth-source-pass-only-return-entries-that-can-be-open test case had to
32051         be re-implemented because the function it was used eliminated as the
32052         functionality is provided elsewhere.  All the other fairly substantial
32053         changes to the test suite are the result of mechanical changes that
32054         were required to adapt to auth-source-pass--find-match returning the
32055         data from a parsed password-store entry instead of the entry name.
32057 2019-06-24  Keith Amidon  <camalot@picnicpark.org>
32059         Split out the attribute retrieval form auth-source-pass-get
32061         Eliminate the need to repeatedly retrieve and parse the data for the
32062         entry.  This is generally a good thing since it eliminates repetitions
32063         of the same crypto and parsing operations.  It is especially valuable
32064         when protecting an entry with a yubikey with touch required for crypto
32065         operations as it eliminates the need to touch the yubikey sensor for
32066         each attribute retrieved.
32068         * lisp/auth-source-pass.el (auth-source-pass-get): Extract some code to
32069         `auth-source-pass--get-attr'.
32070         (auth-source-pass--get-attr): New function to get a field value from a
32071         parsed entry.
32072         (auth-source-pass--build-result): Make use of
32073         `auth-source-pass--get-attr` to avoid repeated parsing.
32075 2019-06-24  Keith Amidon  <camalot@picnicpark.org>
32077         Fix auth-source-pass to search for hostname:port/username
32079         auth-source-pass supports entries with username either prefixed to the
32080         hostname with an @ as separator or in a subdirectory under the
32081         hostname.  This was true when there was no port or service included in
32082         the name, but got broken with the introduction of
32083         auth-source-pass-port-separator.
32085         * lisp/auth-source-pass.el (auth-source-pass--find-match-unambiguous): Fix
32086         to match hostname:port/username.
32087         * test/lisp/auth-source-pass-tests.el: Add corresponding tests.
32089 2019-06-24  Iku Iwasa  <iku.iwasa@gmail.com>
32091         Add auth-source-pass-port-separator option
32093         * lisp/auth-source-pass.el (auth-source-pass-port-separator): New
32094         option to specify separator between host and port, default to
32095         colon (":").
32096         (auth-source-pass--find-match-unambiguous): Adapt to make use of the
32097         new variable.
32098         * test/lisp/auth-source-pass-tests.el: Add corresponding tests.
32100 2019-06-24  galaunay  <gaby.launay@tutanota.com>
32102         Add auth-source-pass-filename option
32104         * lisp/auth-source-pass.el (auth-source-pass)
32105         (auth-source-pass-filename): Add option to specify a customized
32106         password-store path.
32107         (auth-source-pass--read-entry)
32108         (auth-source-pass-entries): Use the new option instead of hard-coded
32109         `~/.password-store'.
32111 2019-06-24  Damien Cassou  <damien@cassou.me>
32113         * lisp/auth-source-pass.el (auth-source-pass-get): Add autoload
32115         * lisp/auth-source-pass.el: Version 4.0.2
32117 2019-06-24  Magnus Henoch  <magnus.henoch@gmail.com>  (tiny change)
32119         Fix auth-source-pass to return nil if no entry found
32121         * lisp/auth-source-pass.el (auth-source-pass-search): If there is no
32122         matching entry, auth-source-pass-search should return nil, not (nil).
32123         This lets auth-source fall back to other backends in the auth-sources
32124         list.
32125         * test/lisp/auth-source-pass-tests.el: Add corresponding test.
32127 2019-06-23  Daniel Colascione  <dancol@dancol.org>
32129         Fix locating pdump by symlink
32131         * admin/merge-gnulib (GNULIB_MODULES): Add canonicalize-lgpl module
32132         * build-aux/config.guess, build-aux/gitlog-to-changelog,
32133         build-aux/update-copyright, lib/canonicalize-lgpl.c,
32134         lib/gnulib.mk.in, lib/malloca.c, lib/malloca.h, lib/pathmax.h,
32135         m4/canonicalize.m4, m4/double-slash-root.m4, m4/gnulib-comp.m4,
32136         m4/malloca.m4, m4/pathmax.m4: copy from GNUlib or regenerate from
32137         update
32138         * src/emacs.c: find dump by canonical path
32140 2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>
32142         Document syntax-ppss-context
32144         * doc/lispref/syntax.texi (Parser State): Document it.
32146         * lisp/emacs-lisp/syntax.el (syntax-ppss-context): Add a doc
32147         string (bug#32504).
32149 2019-06-23  Martin Kletzander  <nert.pinx@gmail.com>  (tiny change)
32151         Autojoin channels with same name on different servers in erc
32153         * lisp/erc/erc-join.el (erc-autojoin-channels): Join channels with
32154         the same name on different servers (bug#32723).
32156 2019-06-23  Alex Branham  <alex.branham@gmail.com>
32158         (if-let): Improve docstring by mentioning let*
32160         * lisp/emacs-lisp/subr-x.el (if-let): Clarify that if-let is like
32161         let*, not like let (bug#33550).
32163 2019-06-23  Carlos Pita  <carlosjosepita@gmail.com>
32165         Fix auto-revert resizing in image mode
32167         * lisp/image-mode.el (image-transform-properties): Get image
32168         parameters right after reverting; in particular, compute the
32169         correct max size (bug#33631).
32171 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
32173         Don’t line-buffer stderr
32175         * src/sysdep.c (init_standard_fds) [DOS_NT]: Don’t line-buffer stderr.
32176         This reverts 2019-06-20T07:32:17!eggert@cs.ucla.edu.  See:
32177         https://lists.gnu.org/r/emacs-devel/2019-06/msg00882.html
32179 2019-06-23  Mattias Engdegård  <mattiase@acm.org>
32181         Check validity of rx submatch-n number
32183         * lisp/emacs-lisp/rx.el (rx-submatch): Type and range check (Bug#34373).
32185 2019-06-23  Mattias Engdegård  <mattiase@acm.org>
32187         Optional space and unit in `file-size-human-readable' (bug#35756)
32189         To improve readability of strings produced by
32190         `file-size-human-readable', add two optional arguments:
32192         - SPACE, to provide a string (typically a space or non-breaking space)
32193         to put between the number and unit.  For compatibility, the default is
32194         an empty string.
32196         - UNIT, a string to use as unit.  For compatibility, the default is
32197         "B" in `iec' mode and the empty string otherwise.
32199         Also fix a glitch with small numbers in `iec' mode which caused a
32200         stray "i" in the result.
32202         * lisp/files.el (file-size-human-readable):
32203         Add optional SPACE and UNIT arguments and handle small numbers correctly.
32204         (files--ask-user-about-large-file, warn-maybe-out-of-memory):
32205         Call with `iec' and space.
32206         * test/lisp/files-tests.el (files-test-file-size-human-readable): New test.
32207         * lisp/url/url-http.el (url-http-simple-after-change-function)
32208         (url-http-content-length-after-change-function): Call with `iec' and space.
32209         * etc/NEWS (Lisp Changes): Mention the change.
32211 2019-06-23  Michael Brumlow  <m@brumlow.io>  (tiny change)
32213         (hfy-fontify-buffer): Inhibit read only
32215         * lisp/htmlfontify.el (hfy-fontify-buffer): Inhibit read only to
32216         enable the function to work with text that comes from buffers that
32217         put read-only text properties on things (bug#35025).
32219 2019-06-23  Mauro Aranda  <maurooaranda@gmail.com>
32221         Document Winner mode user options
32223         * doc/emacs/windows.texi (Window Convenience): Add documentation for
32224         the user options winner-dont-bind-my-keys, winner-ring-size and
32225         winner-boring-buffers (bug#35146).
32227 2019-06-23  Alexander Gramiak  <agrambot@gmail.com>
32229         src/bytecode.c (exec_byte_code) Unroll Blist3 and Blist4
32231         * src/bytecode.c (exec_byte_code): Unroll Blist3 and Blist4
32232         (bug#35321).
32234 2019-06-23  Eric Abrahamsen  <eric@ericabrahamsen.net>
32236         Add NEWS entry for new command gnus-summary-browse-url
32238         * etc/NEWS: It is documented in the manual.
32240 2019-06-23  Drew Adams  <drew.adams@oracle.com>
32242         Make ls-lisp--dired ape dired-noselect more closely
32244         * lisp/ls-lisp.el (ls-lisp--dired): Emulate the behaviour of
32245         non-ls-lisp.el dired better by defaulting to default-directory as
32246         dired-noselect does (bug#35390).
32248 2019-06-23  Van L  <van@scratch.space>
32250         Add a Code: tag to subr.el
32252         * lisp/subr.el: Add a Code: tag comment (bug#35595).
32254 2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>
32256         Remove outdate comment about an utf-8 cookie that was removed in 2015
32258 2019-06-23  Nick Drozd  <nicholasdrozd@gmail.com>
32260         Handle 'code' tag in shr.el
32262         * etc/NEWS: Announce change in shr behavior (bug#36247).
32263         * lisp/net/shr.el: Add 'code' tag handling.
32265 2019-06-23  Eric Abrahamsen  <eric@ericabrahamsen.net>
32267         New command gnus-summary-browse-url
32269         * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): New command for
32270           browsing URLs from the article buffer from the summary buffer.
32271           (gnus-summary-mode-map): Bind to "w".
32272           (gnus-summary-article-map): And to "A w".
32273         * doc/misc/gnus.texi (Article Commands): Document.
32275 2019-06-23  Michael Albinus  <michael.albinus@gmx.de>
32277         Improve error handling in tramp-gvfs
32279         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
32280         (tramp-gvfs-get-root-attributes)
32281         (tramp-gvfs-handle-file-attributes): Don't ignore errors.
32282         (tramp-make-goa-name): New defun.
32283         (tramp-gvfs-get-remote-prefix): Use it.
32284         (tramp-gvfs-maybe-open-connection): Raise user errors in case of.
32285         Check also, that GOA accounts are proper.
32286         (tramp-get-goa-accounts): Cache connection property.
32288         * lisp/net/tramp.el (tramp-handle-file-equal-p)
32289         (tramp-handle-file-in-directory-p): Use `tramp-equal-remote'.
32291 2019-06-23  Lars Ingebrigtsen  <larsi@gnus.org>
32293         Document what the `t' value for HIST in `read-string' means
32295         * src/minibuf.c (syms_of_minibuf): Say that `t' means "no history"
32296         (bug#36324).
32297         (Fread_from_minibuffer): Say the same for HIST.
32299 2019-06-22  Simen Heggestøyl  <simenheg@gmail.com>
32301         Split up and add tests for two page.el functions
32303         * lisp/textmodes/page.el (page--count-lines-page): New function
32304         extracted from `count-lines-page'.
32305         (count-lines-page): Extract main logic into `page--count-lines-page'.
32306         (page--what-page); New function extracted from `what-page'.
32307         (what-page): Extract main logic into `page--what-page'.
32309         * test/lisp/textmodes/page-tests.el (page-tests-count-lines-page)
32310         (page-tests-what-page): New tests for `page--count-lines-page' and
32311         `page--what-page'.  (Bug#36009)
32313 2019-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
32315         (with-suppressed-warnings): Also suppress warnings when not byte-compiling
32317         * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Bind
32318         byte-compile--suppressed-warnings when possible.
32320 2019-06-22  Allen Li  <darkfeline@felesatra.moe>
32322         Fix defining inverse abbrevs on previous words (Bug#36243)
32324         * lisp/abbrev.el (inverse-add-abbrev): Skip trailing nonword
32325         characters when defining abbrev.
32327         * test/lisp/abbrev-tests.el (abbrev-edit-save-to-file-test): Add
32328         regression tests.
32330 2019-06-22  Noam Postavsky  <npostavs@gmail.com>
32332         Fix python docstring auto-fill (Bug#36056)
32334         * lisp/progmodes/python.el (python-mode): Set
32335         fill-indent-according-to-mode locally to t.  This lets auto-fill do
32336         the right thing when auto-filling inside a docstring.  The default was
32337         to nil on 2001-11-25 "(fill-indent-according-to-mode): Default to nil"
32338         with the comment that it "screws up CC-mode's filling tricks".  But
32339         presumably it shouldn't be a problem for python-mode.
32340         * test/lisp/progmodes/python-tests.el (python-auto-fill-docstring):
32341         New test.
32343 2019-06-22  Noam Postavsky  <npostavs@gmail.com>
32345         Make rcirc parsing more RFC2812 compliant (Bug#36233)
32347         Do continue to allow multiple spaces between arguments, even though
32348         that is technically not allowed by the RFC.
32349         * lisp/net/rcirc.el (rcirc-process-server-response-1): Fix parsing of
32350         arguments which contain colons.
32351         * test/lisp/net/rcirc-tests.el: New test.
32353 2019-06-22  Noam Postavsky  <npostavs@gmail.com>
32355         * lisp/net/rcirc.el (rcirc-prompt-for-encryption): Simplify.
32357 2019-06-22  Paul Eggert  <eggert@cs.ucla.edu>
32359         Bring macuvs.h back under Git control
32361         * admin/unidata/Makefile.in (maintainer-clean):
32362         Instead of removing macuvs.h here ...
32363         (extraclean): ... Remove it here.
32364         * admin/unidata/uvs.el (uvs-print-table-ivd):
32365         Add to comment explaining why macuvs.h is in Git.
32366         * src/macuvs.h: Regenerate and re-add to Git.
32368 2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>
32370         Respect case-insensite DelSp flow-fill parameter
32372         * lisp/gnus/mm-view.el (mm-inline-text): The DelSp parameter is
32373         case-insentitive, so make it work then it's "Yes" (bug#26775).
32375 2019-06-22  Andreas Schwab  <schwab@linux-m68k.org>
32377         (nnir-notmuch-remove-prefix): Respect MAILDIR
32379         * lisp/gnus/nnir.el (nnir-notmuch-remove-prefix): Respect MAILDIR
32380         and regexp-quote the result (bug#34940).
32382 2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>
32384         Use plain report-emacs-bug instead of gnus-bug
32386         * doc/misc/gnus.texi (Compatibility): Remove mention of deprecated
32387         variable.
32388         * lisp/gnus/gnus-msg.el (gnus-bug): Just use `report-emacs-bug'.
32389         (gnus-bug-kill-buffer): Remove.
32390         (gnus-bug-create-help-buffer, gnus-bug-message): Remove.
32392 2019-06-22  Robert Pluim  <rpluim@gmail.com>
32394         Export Gnus calendar events to org even if they have no description
32396         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event->org-entry):
32397         Don't ignore events that have no description.
32399 2019-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32401         Make ftcr font backend driver more consistent with xft
32403         * src/ftcrfont.c: Include charset.h.
32404         (ftcrfont_has_char): Import font adstyle related code from ftfont_has_char.
32406 2019-06-22  Lars Ingebrigtsen  <larsi@gnus.org>
32408         Remove XEmacs compat code from savehist.el (reworked)
32410         * lisp/savehist.el (savehist-coding-system, savehist-install)
32411         (savehist-uninstall, savehist-save): Remove XEmacs compat code.
32412         (savehist-trim-history): Made obsolete.
32413         (savehist-minibuffer-hook): Update comment to reflect the t value
32414         of HISTORY in `read-string'.
32416 2019-06-22  Christophe Troestler  <Christophe.Troestler@umons.ac.be>  (tiny change)
32418         epg: Use unibyte string to decode percent escapes
32420         * lisp/epg.el (epg--status-USERID_HINT, epg--status-*SIG)
32421         (epg--status-IMPORTED): Call epg--decode-percent-escape-as-utf-8.
32422         (epg--decode-percent-escape): Convert STRING to unibyte.
32423         (epg--decode-percent-escape-as-utf-8): New function.  (Bug#36098)
32425 2019-06-22  Stefan Kangas  <stefankangas@gmail.com>
32427         Add tests for mail/flow-fill.el
32429         * test/lisp/mail/flow-fill-tests.el: New file.
32430         * lisp/mail/flow-fill.el (fill-flowed-encode-tests)
32431         (fill-flowed-test): Make obsolete.  (Bug#36174)
32433 2019-06-22  Stefan Kangas  <stefankangas@gmail.com>
32435         Make toolbar show keyboard equivalents in its tooltips
32437         * src/keyboard.c (parse_tool_bar_item): Add equivalent key binding to
32438         the tooltip string of toolbar buttons.
32439         * etc/NEWS: Announce it.
32440         * etc/TODO: Remove its entry.  (Bug#36156)
32442 2019-06-22  Teemu Likonen  <tlikonen@iki.fi>
32444         Update epg.el algorithm id-name association lists
32446         * lisp/epg.el (epg-pubkey-algorithm-alist)
32447         (epg-digest-algorithm-alist, epg-compress-algorithm-alist): Add
32448         new identifiers from openpgpdefs.h.
32450 2019-06-22  Stefan Kangas  <stefankangas@gmail.com>
32452         Move mantemp.el to obsolete/
32454         * lisp/progmodes/mantemp.el: Move to obsolete/. (bug#34789)
32455         * doc/emacs/ack.texi (Acknowledgments): Remove obsolete library
32456         mantemp.el.
32458 2019-06-22  Eli Zaretskii  <eliz@gnu.org>
32460         Fix an off-by-one error in assertion
32462         * src/fileio.c (Fexpand_file_name): Fix off-by-one error in an
32463         assertion.  This avoids assertion violations when the home
32464         directory is an empty string for some reason.  (Bug#36363)
32466 2019-06-22  Eli Zaretskii  <eliz@gnu.org>
32468         Correct and update the mapping of LaTeX encodings
32470         * lisp/international/latexenc.el
32471         (latex-inputenc-coding-alist): Fix the association of latin5.
32472         (Bug#36253) Uncomment latin10 and map it to iso-8859-16.
32474 2019-06-22  Eli Zaretskii  <eliz@gnu.org>
32476         Avoid using string-make-unibyte in select.el
32478         * lisp/select.el (selection-coding-system): Doc fix.
32479         (xselect--encode-string): For C_STRING, if the text is not
32480         already unibyte, use encode-coding-string instead of
32481         string-make-multibyte to make it unibyte.
32483 2019-06-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32485         Make ftcr font backend driver more consistent with xft
32487         * src/ftcrfont.c (ftcrfont_open): Use metrics of glyph ID 0 if there is no
32488         glyph for an ASCII printable.
32490 2019-06-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32492         * src/font.c (Ffont_xlfd_name): Don't use strcpy for overlapping strings.
32494 2019-06-21  Paul Eggert  <eggert@cs.ucla.edu>
32496         Fix default build-from-Git on macOS
32498         * configure.ac (NS_IMPL_COCOA): Do not default to "yes" if
32499         src/macuvs.h is absent, which is possible in a build from Git.
32501 2019-06-21  Paul Eggert  <eggert@cs.ucla.edu>
32503         Remove src/macuvs.h from Git repository
32505         It can be generated automatically and easily during a normal
32506         bootstrap, so there’s no need to keep it in the repository.
32507         * admin/unidata/Makefile.in (maintainer-clean):
32508         Behave like extraclean and remove macuvs.h etc.
32509         * src/macuvs.h: Remove.
32511 2019-06-21  Lars Ingebrigtsen  <larsi@gnus.org>
32513         Revert "Remove XEmacs compat code from savehist.el"
32515         This reverts commit a97ba6eb305c9db8641c0e65748907cd53dbfa5e.
32517         According to bug#36324, this broke savehist.el
32519 2019-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
32521         * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete
32523         See bug#11649 for an example problem, and emacs-devel discussion
32524         «Prickliness of the "invalid byte code" stuff».
32526         * lisp/wid-edit.el, lisp/wdired.el, lisp/vc/pcvs-util.el:
32527         * lisp/progmodes/executable.el, lisp/mail/sendmail.el:
32528         * lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
32529         * lisp/emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-extra.el:
32530         * lisp/dired-x.el, lisp/dired-aux.el, lisp/calendar/calendar.el:
32531         Don't use byte-compile-dynamic any more.
32533 2019-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
32535         * lisp/vc/ediff-*.el: Use lexical-binding, plus misc cleanup
32537         Re-enable lexical-binding in ediff.  For that, change ediff-find-file
32538         so as not to rely on dynamic scoping in its calling convention.
32540         * lisp/vc/ediff-diff.el: Move `provide` to the end.
32541         Remove redundant :group.
32542         (ediff-exec-process): Disregard current directory.
32543         (ediff-forward-word-function): Use defvar-local.
32545         * lisp/vc/ediff-help.el (ediff-set-help-message): Use functionp.
32547         * lisp/vc/ediff-hook.el (menu-bar-ediff-misc-menu): Make a toggle, as
32548         in the XEmacs menu.
32550         * lisp/vc/ediff-init.el (ediff-defvar-local): Add `doc-string` prop.
32551         (ediff-check-version): Delete function, unused.
32553         * lisp/vc/ediff-mult.el: Move `provide` to the end.
32554         Remove redundant :groups.
32555         (ediff-dir-diffs-buffer-map):
32556         Move initialization into declaration.
32557         (ediff-meta-mode): Use define-derived-mode.
32558         (ediff-intersect-directories): Remove `comparison-func`, unused.
32559         (ediff-prepare-meta-buffer): Fix use of `startup-hooks`.
32561         * lisp/vc/ediff-ptch.el: Move `provide` to the end.
32563         * lisp/vc/ediff-util.el (ediff-add-to-history): Use add-to-history instead.
32565         * lisp/vc/ediff-vers.el (ediff-vc-internal, ediff-vc-merge-internal):
32566         Use push and closures.
32568         * lisp/vc/ediff-wind.el: Remove redundant :groups.
32570         * lisp/vc/ediff.el: Move `provide` to the end.
32571         Remove redundant :groups.
32572         (ediff--magic-file-name, ediff--startup-hook): New vars.
32573         (ediff-find-file): Change calling convention so as not to use
32574         symbols as value cells.
32575         (ediff--buffer-file-name): New function.
32576         (ediff-files-internal): Adjust to new calling convention of ediff-find-file.
32577         (ediff-directories-internal, ediff-directory-revisions-internal)
32578         (ediff-regions-internal): Use push and closures.
32580 2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32582         * src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface.
32584 2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32586         Fix blank tooltips on cairo (Bug#36298)
32588         * src/xterm.h (x_cr_update_surface_desired_size) [USE_CAIRO]: Add extern.
32589         * src/xterm.c (x_cr_update_surface_desired_size) [USE_CAIRO]: Make non-static.
32590         * src/xfns.c (Fx_show_tip) [USE_CAIRO]: Call x_cr_update_surface_desired_size.
32592 2019-06-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32594         Fix broken display by frame maximization on cairo (Bug#23925)
32596         * src/xterm.c (handle_one_xevent) [USE_CAIRO && USE_GTK]: Make calls to
32597         x_cr_update_surface_desired_size coincide with those to xg_frame_resized.
32599 2019-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
32601         * lisp/vc/vc-dir.el (vc-dir-search): Avoid `eval`.
32603 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32605         Fix extraclean in a different way for info+lib/sys
32607         * Makefile.in (extraclean):
32608         * lib/Makefile.in (extraclean): Use rmdir but suppress any
32609         error indication.  That way, ‘make extraclean’ will remove the
32610         directory if it’s empty, and successfully do nothing otherwise.
32612 2019-06-20  Eli Zaretskii  <eliz@gnu.org>
32614         Fix aborts when the value of a display property causes redisplay
32616         * src/xdisp.c (handle_single_display_spec): Protect the bidi
32617         cache from evaluation that triggers redisplay.  (Bug#36312)
32619 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32621         Leave the empty info and lib/sys in extraclean
32623         * lib/Makefile.in: Ditto.
32625         * Makefile.in (extraclean): Don't use GNU-specific rmdir; just
32626         leave the empty directory be.
32628 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32630         Simplify lib-src version printing
32632         * lib-src/Makefile.in (etags_cflags): Remove.
32633         All uses replaced by a simple ‘-o $@’.
32634         (ebrowse${EXEEXT}, emacsclient${EXEEXT}, emacsclientw${EXEEXT}):
32635         Omit -DVERSION= option.
32636         * lib-src/ebrowse.c (VERSION):
32637         * lib-src/emacsclient.c (VERSION):
32638         * lib-src/etags.c (EMACS_NAME, VERSION): Remove.
32639         All uses replaced by PACKAGE_NAME and PACKAGE_VERSION.
32640         * lib-src/ebrowse.c (version):
32641         * lib-src/etags.c (print_version):
32642         Use fputs to output the version info, since that’s fputs_unlocked.
32643         * lib-src/etags.c (PROGRAM_NAME): New macro.
32644         (print_version): Use it.
32646 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32648         Make extraclean return tree to pristine state by deleting more
32650         * src/Makefile.in (extraclean): Remove TAGS and config.in.
32652         * Makefile.in (extraclean): Remove info, configure and
32653         emacsver.texi in extraclean.
32654         * admin/unidata/Makefile.in (extraclean): Make it depend on
32655         distclean to remove .elc files.
32657         * leim/Makefile.in (extraclean): Depend on bootstrap-clean to
32658         remove generated .el files.
32660         * lib/Makefile.in (extraclean): Added target to remove sys
32661         directory and run distclean.
32663         * lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.
32665 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32667         Add doc strings to the ielm * variables
32669         * lisp/ielm.el: (*, **, ***): Add doc strings.
32671 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32673         Don't define *, ** and ** in ielm as real variables
32675         * lisp/ielm.el: (*, **, ***): Change defvars into compiler
32676         directives instead of real variable definitions to avoid polluting
32677         the global Emacs namespace.
32678         (*1, *2, *3): Ditto.
32680 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32682         Fix compilation warning in esh-mode
32684         * lisp/eshell/esh-mode.el (eshell-mode): Remove special binding
32685         for M-. in eshell buffers: The comment indicates that this is
32686         outdated code.
32687         (eshell-find-tag): Make obsolete.
32689 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32691         Fix compilation warning in viper-exp involving tags
32693         * lisp/emulation/viper-ex.el (ex-tag): Use xref/next-error instead
32694         of the deprecated tags functions.
32696 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32698         Declare semantic-*overlay* aliases obsolete
32700         * lisp/cedet/semantic/fw.el: Declare all the semantic-*overlay*
32701         aliases obsolete.
32703 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32705         Throughout cedet, don't use semantic-overlay-* compat aliases
32707 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32709         Remove XEmacs compat code from cedet
32711         * lisp/cedet/srecode/mode.el (srecode-menu-bar):
32712         * lisp/cedet/semantic/wisent/comp.el (wisent-debug-flag)
32713         (wisent-print-results):
32714         * lisp/cedet/semantic/util-modes.el
32715         (semantic-stickyfunc-indent-string)
32716         (semantic-stickyfunc-header-line-format)
32717         (semantic-highlight-func-mode-map):
32718         * lisp/cedet/semantic/symref/list.el
32719         (semantic-symref-list-menu-entries):
32720         * lisp/cedet/semantic/idle.el ()
32721         (semantic-idle-breadcrumbs-popup-menu):
32722         * lisp/cedet/semantic/grammar.el (semantic-grammar-item-value)
32723         (semantic-grammar-create-package)
32724         (semantic-grammar-batch-build-packages)
32725         (semantic-grammar-setup-menu):
32726         * lisp/cedet/semantic/fw.el (semantic-overlay-live-p)
32727         (semantic-event-window, semantic-make-local-hook)
32728         (semantic-run-mode-hooks, semantic-subst-char-in-string)
32729         (semantic-menu-item, semantic-find-file-noselect):
32730         * lisp/cedet/semantic/format.el (semantic-format-face-alist)
32731         (semantic--format-colorize-merge-text):
32732         * lisp/cedet/semantic/decorate/include.el ()
32733         (semantic-decoration-on-include-menu)
32734         (semantic-decoration-on-unknown-include-menu)
32735         (semantic-decoration-on-fileless-include-menu)
32736         (semantic-decoration-on-unparsed-include-menu):
32737         * lisp/cedet/semantic/decorate.el (semantic-set-tag-read-only)
32738         (semantic-tag-read-only-p):
32739         * lisp/cedet/mode-local.el (activate-mode-local-bindings):
32740         * lisp/cedet/data-debug.el (data-debug-overlay-properties): Remove
32741         XEmacs compat code.
32743 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32745         Remove XEmacs compat code from gravatar.el
32747         * lisp/image/gravatar.el (gravatar-retrieve): Remove XEmacs compat code
32749 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32751         Remove XEmacs compat code from erc
32753         * lisp/erc/erc-button.el (button, erc-button-keymap)
32754         (erc-button-setup, erc-button-add-button): Remove XEmacs compat code.
32756         * lisp/erc/erc-compat.el (erc-replace-match-subexpression-in-string):
32758         * lisp/erc/erc-log.el (erc-log-file-coding-system):
32760         * lisp/erc/erc-menu.el (menu):
32762         * lisp/erc/erc-stamp.el (erc-timestamp-use-align-to):
32764         * lisp/erc/erc-track.el (erc-modified-channels-object, track)
32765         (erc-track-mouse-face):
32767         * lisp/erc/erc.el (erc-update-undo-list)
32768         (erc-quit-reason-various, erc-part-reason-various, erc-cmd-SV)
32769         (erc-input-message, erc-get-channel-mode-from-keypress)
32770         (erc-update-mode-line-buffer):
32772 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32774         Remove XEmacs compat code from table.el
32776         * lisp/textmodes/table.el:
32777         (table-disable-menu, null, table-recognize-cell)
32778         (table--make-cell-map, table--update-cell)
32779         (table--update-cell-widened, table--update-cell-heightened)
32780         (table--read-from-minibuffer, table--untabify)
32781         (table--update-cell-face, table--warn-incompatibility)
32782         (table--fill-region, table--set-timer): Remove XEmacs compat code.
32784 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32786         Remove XEmacs compat code from dns-mode.el
32788         * lisp/textmodes/dns-mode.el (dns-mode): Remove XEmacs compat code.
32790 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32792         Clean up eieio-custom slightly
32794         * lisp/emacs-lisp/eieio-custom.el: Remove commented out code.
32796 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32798         Remove XEmacs compat code from checkdoc.el
32800         * lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode-map): Remove
32801         XEmacs compat code.
32803 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32805         Clean up after previous viper patch
32807         * lisp/emulation/viper-ex.el (viper-get-ex-address-subr): Fix
32808         syntax error in last checkin.
32809         (viper-ex): Don't use now-obsolete function.
32811 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32813         Remove most of the XEmacs compat code from viper*.el
32815         * lisp/emulation/viper-cmd.el ()
32816         (viper-insert-state-post-command-sentinel)
32817         (viper-change-state-to-vi, viper-change-state-to-insert)
32818         (viper-change-state-to-emacs, viper-escape-to-state)
32819         (viper-special-read-and-insert-char, viper-toggle-key-action)
32820         (viper-prefix-arg-value, viper-prefix-arg-com)
32821         (viper-digit-argument, viper-command-argument, )
32822         (viper-exec-Yank, viper-repeat, viper-forward-char)
32823         (viper-backward-char, viper-forward-word, viper-forward-Word)
32824         (viper-end-of-word, viper-end-of-Word, viper-backward-word)
32825         (viper-backward-Word, viper-beginning-of-line)
32826         (viper-bol-and-skip-white, viper-goto-eol, viper-goto-col)
32827         (viper-next-line, viper-next-line-at-bol, viper-previous-line)
32828         (viper-previous-line-at-bol, viper-goto-line, )
32829         (viper-repeat-find, viper-repeat-find-opposite)
32830         (viper-window-top, viper-window-middle, viper-window-bottom)
32831         (viper-paren-match, viper-search, viper-buffer-search-enable)
32832         (viper-put-back, viper-Put-back, viper-mark-point)
32833         (viper-cycle-through-mark-ring, viper-goto-mark-subr)
32834         (viper-brac-function, viper-register-to-point)
32835         (viper-submit-report): Remove some XEmacs compat code.
32837         * lisp/emulation/viper-ex.el (viper-get-ex-address-subr)
32838         (viper-handle-!, ex-edit, ex-mark, ex-next-related-buffer)
32839         (ex-help, ex-write, ex-write-info, viper-info-on-file): Ditto.
32841         * lisp/emulation/viper-keym.el (viper-add-keymap): Ditto.
32843         * lisp/emulation/viper-macs.el (viper-record-kbd-macro): Remove
32844         XEmacs compat code.
32846         * lisp/emulation/viper-mous.el (viper-mouse-click-insert-word)
32847         (viper-mouse-click-search-word): Remove some XEmacs compat code.
32849         * lisp/emulation/viper-util.el (viper-overlay-p)
32850         (viper-color-defined-p, viper-iconify, viper-memq-char)
32851         (viper-char-equal, viper=, viper-color-display-p)
32852         (viper-get-cursor-color, viper-frame-value)
32853         (viper-change-cursor-color, viper-save-cursor-color)
32854         (viper-restore-cursor-color, viper-get-visible-buffer-window)
32855         (viper-file-checked-in-p, viper-put-on-search-overlay)
32856         (viper-flash-search-pattern, viper-hide-search-overlay)
32857         (viper-move-replace-overlay, viper-set-replace-overlay)
32858         (viper-set-replace-overlay-glyphs, viper-hide-replace-overlay)
32859         (viper-replace-start, viper-replace-end)
32860         (viper-set-minibuffer-overlay, viper-check-minibuffer-overlay)
32861         (viper-abbreviate-file-name, viper-mark-marker)
32862         (viper-set-mark-if-necessary, viper-leave-region-active)
32863         (viper-copy-event, viper-read-event-convert-to-char)
32864         (viper-event-key, viper-last-command-char)
32865         (viper-key-to-emacs-key, viper-eventify-list-xemacs)
32866         (viper-set-unread-command-events, viper-char-array-p)
32867         (viper-key-press-events-to-chars, viper-read-char-exclusive):
32868         Remove most of the XEmacs compat code.
32870         * lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
32871         (viper-non-hook-settings): Remove some XEmacs compat code.
32873 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32875         Remove XEmacs compat code from viper-macs.el
32877         * lisp/emulation/viper-macs.el (viper-char-array-to-macro):
32878         Remove XEmacs compat code.
32880 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32882         Remove XEmacs compat code from viper-cmd.el
32884         * lisp/emulation/viper-cmd.el (viper-change-state)
32885         (viper-escape-to-state, viper-special-read-and-insert-char)
32886         (viper-prefix-arg-value, viper-prefix-arg-com)
32887         (viper-display-current-destructive-command)
32888         (viper-file-add-suffix, viper-adjust-window)
32889         (viper-set-searchstyle-toggling-macros)
32890         (viper-set-parsing-style-toggling-macro)
32891         (viper-set-emacs-state-searchstyle-macros): Remove XEmacs compat code.
32893 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32895         Remove XEmacs and old Emacs compat code from gamegrid.el
32897         * lisp/play/gamegrid.el (gamegrid-event-x, gamegrid-event-y)
32898         (gamegrid-make-glyph, image-size, gamegrid-initialize-display)
32899         (gamegrid-start-timer, gamegrid-set-timer)
32900         (gamegrid-kill-timer)
32901         (gamegrid-add-score-with-update-game-score-1)
32902         (gamegrid-add-score-insecure): Removed XEmacs compat code.
32903         (gamegrid-characterp, gamegrid-set-display-table): Removed functions.
32905 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32907         Remove XEmacs compat code from binhex.el
32909         * lisp/mail/binhex.el (binhex-insert-char): Remove XEmacs compat
32910         code and made into a function instead of a defalias.
32911         (binhex-decode-region-internal): Remove XEmacs compat code.
32913 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32915         Remove XEmacs compat code from uudecode.el
32917         * lisp/mail/uudecode.el (uudecode-decode-region-external)
32918         (uudecode-decode-region-internal): Remove XEmacs compat code.
32920 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32922         Remove XEmacs compat code from pascal.el
32924         * lisp/progmodes/pascal.el (pascal-mark-defun): Remove XEmacs compat.
32926 2019-06-20  Lars Ingebrigtsen  <larsi@gnus.org>
32928         Remove XEmacs support from cperl-mode
32930         * lisp/progmodes/cperl-mode.el (condition-case)
32931         (cperl-electric-parens-mark, cperl-del-back-ch)
32932         (cperl-do-not-fontify, cperl-mode, cperl-find-pods-heres)
32933         (cperl-write-tags, cperl-tags-hier-init, cperl-perldoc)
32934         (cperl-build-manpage): Remove XEmacs support.
32936         There's a lot of support code in here for older versions of Emacs that
32937         could be removed, too.
32939 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32941         Simplify stdout buffering
32943         * src/sysdep.c (_sobuf): Remove; we no longer need this
32944         microoptimization.
32945         (init_sys_modes): Simplify by assuming setvbuf.
32947 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32949         Remove no-longer-needed fflushes of stderr
32951         * src/gmalloc.c (mabort) [GC_MCHECK && !__GNU_LIBRARY__]:
32952         * src/term.c (vfatal): Remove fflush (stderr) when it is now a
32953         no-op because newline automatically flushes stderr.
32955 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32957         Line-buffer stderr
32959         * src/sysdep.c (init_standard_fds) [!DOS_NT]:
32960         Use setvbuf to ensure stderr is line-buffered.
32962 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32964         Fix arbitrary INT_MAX limit on referrer repr
32966         * src/pdumper.c (print_paths_to_root_1):
32967         Don’t assume strlen (repr) < INT_MAX.
32969 2019-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32971         Minor putc tweaks
32973         * src/emacs-module.c (module_abort):
32974         * src/xdisp.c (vmessage):
32975         Prefer fputc to putc, since speed isn’t crucial here.
32976         * src/region-cache.c (pp_cache) [ENABLE_CHECKING]: Simplify.
32978 2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32980         Change font_put_extra value for property removal from Qnil to Qunbound
32982         * src/font.c (font_put_extra): If VAL is Qunbound, delete the slot for PROP from
32983         the list of extra properties.  Previous value Qnil is valid as boolean.
32984         (font_clear_prop): Changed argument of font_put_extra for property removal.
32986 2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
32988         Fix failure of setting default face attribute in init script (Bug#36284)
32990         * src/xsettings.c (apply_xft_settings): Undo replacing all #ifdef HAVE_XFT
32991         with #if defined USE_CAIRO || defined HAVE_XFT for this function.
32993 2019-06-19  Roland Winkler  <winkler@gnu.org>
32995         * lisp/bookmark.el (bookmark-set-internal): Fix format string.
32997 2019-06-19  Juri Linkov  <juri@linkov.net>
32999         Add file sorting options to find-dired and grep-find (bug#36110)
33001         * lisp/find-dired.el (find-ls-option-default-ls)
33002         (find-ls-option-default-exec, find-ls-option-default-xargs):
33003         New variables for values used for options of 'find-ls-option'.
33004         (find-ls-option): Use these variables for default values and options.
33005         (find-dired-refine-function): Refine :type.
33007         * lisp/progmodes/grep.el (grep-find-use-xargs): Use defcustom
33008         instead of defvar.  Add new value 'gnu-sort'.
33009         (grep-compute-defaults): Handle new 'gnu-sort' option of
33010         'grep-find-use-xargs'.
33012 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33014         Remove XEmacs and ancient Emacs compatibility from newst-backend.el
33016         * lisp/net/newst-backend.el: Remove compatibility with XEmacs and
33017         ancient Emacs versions.
33019 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33021         Doc string fix
33023         * lisp/calendar/timeclock.el (timeclock-completing-read): Fix doc
33024         string punctuation.
33026 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33028         Remove XEmacs compat code from timeclock.el
33030         * lisp/calendar/timeclock.el (timeclock-completing-read)
33031         (timeclock-ask-for-project, timeclock-ask-for-reason): Remove
33032         XEmacs compat code.
33034 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33036         Remove more XEmacs compat code from epa.el
33038         * lisp/epa.el (epa-key-mode, epa-key-list-mode): Remove XEmacs
33039         compat code.
33041 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33043         Remove XEmacs compat code from calc
33045         * lisp/calc/calc.el (calc-read-key-sequence)
33046         (calcDigit-start, calc-read-key, calc-unread-command)
33047         (calc-clear-unread-commands):
33048         * lisp/calc/calc-misc.el (calc-dispatch-help):
33049         * lisp/calc/calc-help.el (calc-help-for-help)
33050         (calc-describe-key):
33051         * lisp/calc/calc-ext.el (calc-fancy-prefix, calc-user-key-map):
33052         Remove XEmacs compat code.
33054 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33056         Remove XEmacs compat code from savehist.el
33058         * lisp/savehist.el:
33059         (savehist-install, savehist-uninstall, savehist-save)
33060         (savehist-trim-history, savehist-printable)
33061         (savehist-minibuffer-hook): Remove XEmacs compat code.
33063 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33065         Remove XEmacs compat code from ps-print
33067         * lisp/ps-print.el:
33068         (ps-print-color-p, ps-postscript-code-directory, ps-setup):
33069         * lisp/ps-def.el:
33070         (ps-mark-active-p, ps-face-foreground-name)
33071         (ps-face-background-name, ps-color-device, ps-color-values)
33072         (ps-face-bold-p, ps-face-italic-p, ps-face-strikeout-p)
33073         (ps-face-overline-p, ps-face-box-p)
33074         (ps-generate-postscript-with-faces1): Remove XEmacs compat code
33075         and some outdated Emacs compat code.
33077 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33079         Remove XEmacs compat code from epa.el
33081         * lisp/epa.el (epa-key-list-mode, epa-key-mode)
33082         (epa--find-coding-system-for-mime-charset): Remove XEmacs compat
33083         code and comments.
33085 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33087         Remove XEmacs compat code from dframe.el
33089         * lisp/dframe.el (dframe-update-speed, dframe-update-keymap)
33090         (dframe-frame-mode, dframe-detach, dframe-set-timer-internal)
33091         (dframe-popup-kludge, dframe-mouse-event-p)
33092         (dframe-track-mouse, dframe-help-echo, dframe-mouse-set-point)
33093         (dframe-double-click, dframe-temp-buffer-show-function)
33094         (dframe-hack-buffer-menu, dframe-mouse-hscroll): Remove XEmacs
33095         compat code (and some ancient Emacs compat code).
33097 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33099         Remove XEmacs compat code from ansi-color.el
33101         * lisp/ansi-color.el (ansi-color-apply-overlay-face)
33102         (ansi-color-make-face, ansi-color-make-extent)
33103         (ansi-color-set-extent-face): Remove XEmacs compat code.
33105 2019-06-19  Alan Mackenzie  <acm@muc.de>
33107         Update CC Mode's version number to 5.34
33109         * doc/misc/cc-mode.texi (top level, "Introduction"),
33110         lisp/progmodes/cc-defs.el (c-version): Update version number to 5.34.
33112 2019-06-19  Eli Zaretskii  <eliz@gnu.org>
33114         Update documentation of font backends on MS-Windows
33116         * doc/emacs/msdos.texi (Windows Fonts): Update the
33117         documentation of requesting specific font backends.
33119 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33121         Fix typo in previous erc.el change
33123         * lisp/erc/erc.el (erc-send-input): Fix typo in previous checkin.
33125 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33127         Use add/remove-hook on erc-pre-send-functions
33129         * lisp/erc/erc-goodies.el (noncommands): Ditto.
33131         * lisp/erc/erc-ring.el (ring): Use add/remove-hook.
33133 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33135         Move around defgeneric/defmethods in eieio
33137         * lisp/emacs-lisp/eieio.el (object-print):
33138         * lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
33139         Move the defgeneric before the defmethod, because that makes more
33140         sense.
33142 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33144         Fix previous change to erc (where commands like /me wouldn't be sent)
33146         * lisp/erc/erc-ring.el (erc-add-to-input-ring):
33147         * lisp/erc/erc-goodies.el (erc-send-distinguish-noncommands): Pass
33148         in a erc-input structure instead of a simple string.
33149         * lisp/erc/erc.el (erc-pre-send-functions): Document the new
33150         argument to the filter functions.
33151         (erc-send-input): Use the new structure to allow the filter
33152         functions to alter all three things: The string, whether to insert
33153         the string, and whether to send the string.
33155 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33157         Don't have erc-goodies and erc-ring register functions multiple times
33159         * lisp/erc/erc-goodies.el (noncommands): Don't register functions
33160         twice.
33162         * lisp/erc/erc-ring.el (ring): Ditto.
33164 2019-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
33166         (with-suppressed-warnings): Make it apply to macro-expansion as well
33168         * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
33169         Change with-suppressed-warnings so it also affects the macro-expansion of
33170         the body.
33172 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33174         Rename function in completion.el to use completion- prefixes
33176         * lisp/completion.el (locate-completion-entry)
33177         (completion-locate-entry, locate-completion-entry-retry)
33178         (completion-locate-entry-retry, locate-completion-db-error):
33179         Rename to use a completion- prefix and make the old names obsolete
33180         aliases.
33181         (add-completion-to-head, delete-completion): Use the new function
33182         names.
33184 2019-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
33186         * lisp/textmodes/page-ext.el: Further cleanup
33188         (pages--ctl-x-ctl-p-map): Rename from ctl-x-ctl-p-map.
33189         Move initialization into declaration.
33190         (pages-ctl-x-ctl-p-prefix): Rename from ctl-x-ctl-p-prefix.
33191         (sort-subr): Remove redundant autoload.
33192         (pages-set-delimiter): Use explicit `interactively` arg instead of
33193         `called-interactively`.  Use `setq-local`.
33194         (pages-directory-for-addresses): Use `setq-local`.
33196 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33198         Fix compilation warning in pcmpl-gnu.el
33200         * lisp/pcmpl-gnu.el (pcomplete/tar): Remove binding of
33201         pcomplete-suffix-list, because it's not consulted in any of the
33202         functions called here, and has had no effect since 2011.  If we
33203         want to support not inserting a space after the = sign, we have to
33204         implement that, but it's not currently done.
33206 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33208         Revert "Fix one of the tags/xref warnings in viper-ex.el"
33210         This reverts commit 4f2f95049738be97df8647705a8fc05a029ed244.
33212         We can't mix calls to find-tag and xref-find-definitions
33214 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33216         Fix up the function/variable names in page-ext.el
33218         * lisp/textmodes/page-ext.el (previous-page)
33219         (search-pages)
33220         (sort-pages-in-region)
33221         (sort-pages-buffer)
33222         (pages-sort-buffer)
33223         (pages-set-delimiter): Rename to have pages- prefixes and make the
33224         previous name into aliases for the new names.
33225         (ctl-x-ctl-p-map): Use the new command names.
33227 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33229         Touch up the OKURI-NASI progress reporting
33231         * lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-ari)
33232         (skkdic-convert-postfix, skkdic-convert-prefix)
33233         (skkdic-collect-okuri-nasi): Use INFO progress reporting.
33234         (skkdic-set-okuri-nasi): Use the progress reporter instead of a
33235         per-1000 output.
33237 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33239         Tweak progress reporting in finder-compile-keywords
33241         * lisp/finder.el (finder-compile-keywords): Use progress reporter
33242         to report the processing.
33244 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33246         Allow specifying the expected number of shift/reduce conflicts
33248         * admin/grammars/grammar.wy: Add %expectedconflicts.
33250         * lisp/cedet/semantic/grammar-wy.el
33251         (semantic-grammar-wy--keyword-table): Ditto.
33253         * lisp/cedet/semantic/grammar.el
33254         (semantic-grammar-expected-conflicts): New function.
33255         (semantic-grammar-insert-defconst-with-eval): New function.
33256         (semantic-grammar-create-package): Output the number of expected
33257         shift/reduce conflicts.
33259         * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
33260         Don't output the warning if the number of shift/reduce conflicts
33261         is expected.
33262         (wisent-expected-conflicts): Made obsolete.
33264 2019-06-19  Lars Ingebrigtsen  <larsi@gnus.org>
33266         Tweak progress reporting in update-directory-autoloads
33268         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use
33269         progress reporter so say what percentage the progress is at.
33271 2019-06-19  Mattias Engdegård  <mattiase@acm.org>
33273         Compile any subsequence of `cond' clauses to switch (bug#36139)
33275         A single `cond' form can how be compiled to any number of switch ops,
33276         optionally interspersed with non-switch conditions.
33277         Previously, switch ops would only be used for whole `cond' forms
33278         containing no other tests.
33280         * lisp/emacs-lisp/bytecomp.el (byte-compile--cond-vars):
33281         Rename from `byte-compile-cond-vars'.
33282         (byte-compile--default-val): Remove.
33283         (byte-compile--cond-switch-prefix):
33284         Replace `byte-compile-cond-jump-table-info'; now also returns
33285         trailing non-switch clauses.
33286         (byte-compile-cond-jump-table): New arguments; no longer compiles
33287         the default case.
33288         (byte-compile-cond): Look for and compile switches at any place in the
33289         list of clauses.
33290         * test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
33291         Add test expression.
33293 2019-06-19  Mattias Engdegård  <mattiase@acm.org>
33295         Compile cond with heterogeneous tests into switch (bug#36139)
33297         Allow any mixture of `eq', `eql' and `equal', `memq', `memql' and
33298         `member' in a switch-like `cond' to be compiled into a single switch.
33300         * lisp/emacs-lisp/bytecomp.el (byte-compile--common-test): New.
33301         (byte-compile-cond-jump-table-info): Use most specific common test.
33302         * test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
33303         Add test cases for multi-value clause cond forms.
33305 2019-06-19  Mattias Engdegård  <mattiase@acm.org>
33307         Tighter pcase or-pattern member function selection (bug#36139)
33309         * lisp/emacs-lisp/pcase.el (pcase--u1):
33310         Use the most specific of `memq', `memql' and `member' in or-patterns
33311         with constant cases.  This improves performance and may help the byte-code
33312         compiler generate a switch.
33313         * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member):
33314         Add mixed-type or-pattern test cases.
33316 2019-06-19  Mattias Engdegård  <mattiase@acm.org>
33318         Compile list member functions in cond to switch (bug#36139)
33320         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
33321         Expand `memq', `memql' and `member' to their corresponding
33322         equality tests.
33323         (byte-compile-cond-jump-table): Cases now have multiple values.
33324         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1)
33325         (byte-optimize-lapcode): Don't assume switch hash tables to be injective.
33327 2019-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
33329         Fix oversights of "support X core font driver on cairo" change
33331         * src/Makefile.in (FONT_OBJ): Fix comment for USE_CAIRO.
33332         * src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.
33334 2019-06-19  Paul Eggert  <eggert@cs.ucla.edu>
33336         --with-cairo is no longer experimental
33338         Suggested by YAMAMOTO Mitsuharu in:
33339         https://lists.gnu.org/r/emacs-devel/2019-06/msg00686.html
33340         * configure.ac: Do not say --with-cairo is experimental.
33341         * etc/NEWS: Say that --with-cairo is no longer experimental.
33343 2019-06-18  Glenn Morris  <rgm@gnu.org>
33345         Disable lexical-binding in ediff
33347         Since it breaks the thing (bug#36157, bug#36281).
33348         * lisp/vc/ediff-diff.el, lisp/vc/ediff-help.el, lisp/vc/ediff-hook.el:
33349         * lisp/vc/ediff-init.el, lisp/vc/ediff-merg.el, lisp/vc/ediff-mult.el:
33350         * lisp/vc/ediff-ptch.el, lisp/vc/ediff-vers.el, lisp/vc/ediff-wind.el:
33351         * lisp/vc/ediff.el: Set lexical-binding to nil.
33353 2019-06-18  Eli Zaretskii  <eliz@gnu.org>
33355         Fix the handling of font backend supersedence on MS-Windows
33357         * src/w32font.c (syms_of_w32font): Don't make the Uniscribe
33358         font backend "superceded" here, ...
33359         * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
33360         ... make it "superceded" here, only if the HarfBuzz DLL was
33361         successfully loaded.  This is because Emacs compiled with
33362         HarfBuzz support might run on a system without the DLL.
33363         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
33364         Register the HarfBuzz font backend only if it is available.
33366 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33368         Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"
33370         This reverts commit f21ec24524c705e18674a2e9e4db37b11fa3ebab.
33372         *sigh*  Revert again because this created a bootstrap problem in a different part of the process.
33374 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33376         Add a mechanism to specify expected shift/reduce .wy conflicts
33378         * admin/grammars/python.wy: Set the expected number of
33379         shift/reduce conflicts to four.
33381         * lisp/cedet/semantic/grammar.el
33382         (semantic-grammar-expected-conflicts): New function.
33384         * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use
33385         it to suppress warnings about the expected number of shift/reduce
33386         conflicts.
33388 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33390         Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"
33392         This reverts commit d715ae8788e16b22f7f68cb82b51a40ad95c78c2.
33394         This commit led to a build error, so revert for now.
33396 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33398         Add a mechanism to specify expected shift/reduce .wy conflicts
33400         * admin/grammars/python.wy: Set the expected number of
33401         shift/reduce conflicts to four.
33403         * lisp/cedet/semantic/grammar.el
33404         (semantic-grammar-expected-conflicts): New function.
33405         * lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use
33406         it to suppress warnings about the expected number of shift/reduce
33407         conflicts.
33409 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33411         Rename symbols in ind-util.el to have indian- prefixes
33413         * lisp/language/ind-util.el (indian-ucs-to-is13194-regexp)
33414         (indian-ucs-to-iscii-region, indian-iscii-to-ucs-region): Rename
33415         unprefixed function to indian-*.
33417 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33419         Report progress during custom-make-dependencies instead of file count
33421         * lisp/cus-dep.el (custom-make-dependencies): Rewrite to use
33422         reporter to report progress instead of how many files we've
33423         processed.
33425         * lisp/emacs-lisp/byte-run.el (byte-compile-info-string): New function.
33426         (byte-compile-info-message): Use it.
33428 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33430         Make quail conversion output quieter
33432         * lisp/international/quail.el (quail-update-leim-list-file): Ditto.
33433         * lisp/international/titdic-cnv.el (tit-process-header)
33434         (tit-process-body, miscdic-convert, batch-titdic-convert): Reduce
33435         messaging.
33437 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33439         Fix compilation warning in bookmark.el
33441         * lisp/bookmark.el (bookmarks-already-loaded): Move obsolete alias
33442         definition to before its referent.
33444         In toplevel form:
33445         bookmark.el:279:1:Warning: Alias for `bookmark-bookmarks-timestamp' should be
33446             declared before its referent
33448 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33450         Output progress reports when scanning for finder/custom
33452         * lisp/cus-dep.el (custom-make-dependencies): Ditto.
33454         * lisp/finder.el (finder-compile-keywords): Instead of outputting
33455         the directories being scanned, output progress reports on the
33456         number of files being scanned.  This makes the output more similar
33457         to the autoload scraping.
33459 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33461         Touch up the byte-compilation messaging in skkdic-set-okuri-nasi
33463         * lisp/international/ja-dic-cnv.el (skkdic-set-okuri-nasi): Use
33464         the "INFO" format for these informational messages, and be more
33465         explicit in saying what they're doing.
33467 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33469         Add types to some no-type tokes in js.wy
33471         * admin/grammars/js.wy: Add types to the FALSE, TRUE and QUERY tokens.
33473         Without the types, you'd get the warning
33475         *Warning* default value of <<no-type>> tokens changed to QUERY, was NULL_TOKEN
33476         *Warning* default value of <<no-type>> tokens changed to TRUE, was QUERY
33477         *Warning* default value of <<no-type>> tokens changed to FALSE, was TRUE
33479         I think this should be harmless, and it doesn't seem to break handling
33480         .js files.
33482 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33484         Comment out useless nonterminals from python.wy
33486 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33488         Remove nonterminals that semantic claims are useless
33490         * admin/grammars/js.wy (VariableStatement): Remove useless
33491         nonterminals.
33493         Debug output from wisent:
33495         Useless nonterminals:
33497            StatementList
33498            BlockExpand
33500 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33502         Silence spurious load message in latin-ltx.el
33504         * lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Silence
33505         the `load' because it's not very informative.
33507 2019-06-18  Lars Ingebrigtsen  <larsi@gnus.org>
33509         Tweak implementation of byte-compile-info-message
33511         * lisp/emacs-lisp/byte-run.el (byte-compile-info-message): Clean
33512         up implementation.
33514 2019-06-17  Roland Winkler  <winkler@gnu.org>
33516         * lisp/bookmark.el: Watch bookmark file.  Use lexical binding.
33518         (bookmark-watch-bookmark-file): New user variable.
33519         (bookmark-alist): Fix docstring.
33520         (bookmark-bookmarks-timestamp): Renamed from bookmarks-already-loaded.
33521         (bookmark-maybe-load-default-file, bookmark-save, bookmark-load):
33522         Use bookmark-bookmarks-timestamp.
33523         (bookmark-bmenu-mode-map): Define menu bar menu.
33524         (bookmark-show-annotation, bookmark-show-all-annotations):
33525         Make bookmarks buffer read-only.
33526         (bookmark-bmenu-save): Use call-interactively.
33528 2019-06-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
33530         Support font driver supersession
33532         * src/font.c (font_update_drivers): If argument NEW_DRIVERS is t, then don't
33533         use superseded drivers.
33534         (syms_of_font) <Qfont_driver_superseded_by>: New DEFSYM.
33536         * src/ftfont.c (syms_of_ftfont) [HAVE_HARFBUZZ]:
33537         * src/ftcrfont.c (syms_of_ftcrfont) [HAVE_HARFBUZZ]:
33538         * src/w32font.c (syms_of_w32font) [HAVE_HARFBUZZ]:
33539         * src/xftfont.c (syms_of_xftfont) [HAVE_HARFBUZZ]: Make Harfbuzz variants
33540         supersede non-Harfbuzz ones.
33542         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Remove font backend
33543         determination code.
33545 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33547         Output progress messages when scraping autoloads during bootstrap
33549         * lisp/emacs-lisp/byte-run.el (byte-compile-info-message): New
33550         function to output informational messages during byte compilation.
33552         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use it
33553         to report progress when scraping autoloads during bootstrap (which
33554         may take half a minute).
33556 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33558         Silence message in latin-ltx about the normal situation
33560         * lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Don't
33561         output the summary message unless there are conflicts.
33563 2019-06-17  Paul Eggert  <eggert@cs.ucla.edu>
33565         * src/image.c (image_set_rotation): Do negation at compile-time.
33567 2019-06-17  Alan Mackenzie  <acm@muc.de>
33569         Move defvars of c-doc-line-join-re + two others from cc-fonts.el to cc-mode.el
33571         This is because these variables are needed at runtime even when cc-fonts.el
33572         hasn't been loaded, as in XEmacs when font locking hasn't been enabled.
33574         * lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
33575         (c-doc-bright-comment-start-re, c-doc-line-join-end-ch): Move definitions to
33576         cc-mode.el.
33578 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33580         Compilation work-around for obsolete eieio-object-set-name-string
33582         * lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
33583         Move the generic definition of this method to here from eieio.el
33584         and place it after the cl-method definition.  This avoids a
33585         warning about it being obsolete when doing macro expansion.
33587 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33589         Work around warning from macroexpanding obsolete method
33591         * lisp/emacs-lisp/eieio.el (object-print): Move method definition
33592         to before generic definition because the generic definition
33593         obsoletes the method, which will then output a warning from when
33594         macroexpanding.
33596 2019-06-17  Alex Branham  <alex.branham@gmail.com>
33598         Avoid a flyspell error if point is at beginning of buffer
33600         * lisp/textmodes/flyspell.el (flyspell-generic-progmode-verify): Check
33601         if point is at the beginning of the buffer.  This prevents an error
33602         when e.g. 'flyspell-auto-correct-word' gets called with point at the
33603         beginning of the buffer.
33605         Bug#35967
33607 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33609         Declare unknown slots to silence the compiler
33611         * lisp/cedet/ede/config.el (classpath): Declare slot.
33612         (ede-java-classpath): Revert previous hack.
33614         * lisp/cedet/srecode/srt-mode.el (key): Declare slot.
33615         (srecode-macro-help): Revert previous hack.
33616         (srecode-parse-this-macro): Ditto.
33618 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33620         Change the eieio-declare-slots function into a macro
33622         * lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): Change into
33623         a compile-only macro.
33625 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33627         New function eieio-declare-slots
33629         * lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): New
33630         function to suppress compiler warnings about unknown slots.
33632 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33634         Fix use of obsolete constructor in semantic/complete.el
33636         * lisp/cedet/semantic/complete.el (make-instance): Use
33637         make-instance instead of the obsolete constructor method...  which
33638         didn't work, anyway.  The following would bug out
33640 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33642         Fix compilation warning by having ede-target inherit from eieio-named
33644         * lisp/cedet/ede/base.el (ede-target): Inherit from eieio-named so
33645         that if you're customizing objects via eieio-object-value-get, you
33646         can set the name.
33648         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get): Don't
33649         use obsolete function `eieio-object-set-name-string'.
33651 2019-06-17  Alan Mackenzie  <acm@muc.de>
33653         Remove the now unneeded c-font-lock-flush from CC Mode.
33655         * lisp/progmodes/cc-defs.el (c-font-lock-flush): Delete this macro.
33657         * lisp/progmodes/cc-engine.el (c-propertize-raw-string-opener): Delete the
33658         call to the macro.
33660 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33662         Make calc-macs.el lexical
33664         * lisp/calc/calc-macs.el: Enable lexical binding.  This fixes a
33665         build warning in calc.el (which is lexical).
33667 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33669         Suppress warning in isearchb about iswitchb being obsolete
33671         * lisp/isearchb.el (obsolete): Suppress warning about package
33672         being obsolete.  Instead, this has been reported to the bug
33673         tracker, because it requires a rewrite of isearchb.
33675 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33677         Make do-after-load-evaluation check whether warnings are enabled.
33679         * lisp/subr.el (do-after-load-evaluation): Heed
33680         `byte-compile-warning-enabled-p', if defined.  This allows
33681         suppressing the warning about packages being obsolete.
33683 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33685         Suppress compilation warning in srt-mode
33687         * lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro): Check
33688         for the existence of `key' in the macro before using it, and
33689         suppress the warning.
33691 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33693         Suppress warning about out-of-tree Java class in cedet
33695         * lisp/cedet/ede/config.el (ede-java-classpath): Hack to suppress
33696         a compilation warning in glue code to out-of-tree code.
33698 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33700         Suppress warning about object-print in eieio.el
33702         * lisp/emacs-lisp/eieio.el (obsolete): Suppress warning about
33703         object-print being obsolete, because there are no in-tree
33704         definitions any more.
33706 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33708         Add check for enabled warning before issuing
33710         * lisp/emacs-lisp/bytecomp.el (byte-compile-function-warn): Check
33711         whether we want the `obsolete' warning before issuing it.
33713 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33715         Suppress warning about object-print in eieio.el
33717         * lisp/emacs-lisp/eieio.el (cl-print-object): Suppress the warning
33718         about object-print being obsolete, since there are no in-tree
33719         methods like that any more.
33721 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33723         Make with-suppressed-warnings work in cl-defmethod
33725         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Pass the symbol
33726         name on to `byte-compile-warning-enabled-p' to make
33727         with-suppressed-warnings work in cl-defmethods, too.
33729 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33731         Rewrite object-print methods in cedet to be cl-print-object methods
33733         * lisp/cedet/semantic/db-el.el (object-print): Ditto.
33734         (object-print): Ditto.
33736         * lisp/cedet/semantic/db-global.el (object-print): Ditto.
33738         * lisp/cedet/semantic/db.el (object-print): Remove; unused.
33739         * lisp/cedet/semantic/db.el (semanticdb-debug-info): New method.
33740         (object-print): Rewritten to be cl-print-object.
33742         * lisp/emacs-lisp/eieio.el (eieio-object-name): Allow the EXTRA
33743         argument to be a list of strings.
33745 2019-06-17  Lars Ingebrigtsen  <larsi@gnus.org>
33747         Add doc strings to the -at-point commands in vc-git
33749         * lisp/vc/vc-git.el (vc-git-stash-delete-at-point)
33750         (vc-git-stash-show-at-point, vc-git-stash-apply-at-point)
33751         (vc-git-stash-pop-at-point): Add doc strings to these commands.
33753 2019-06-16  Roland Winkler  <winkler@gnu.org>
33755         * lisp/find-dired.el (find-dired-refine-function): Fix defcustom.
33757 2019-06-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
33759         Prevent the Gnus registry from being loaded twice at startup
33761         * lisp/gnus/gnus-registry.el (gnus-registry-load): Check if the
33762           registry is already loaded, and don't load again unless new optional
33763           FORCE argument is non-nil.
33764           (gnus-registry-clear): New function to clear the registry, added as
33765           a Gnus shutdown. Now that loading doesn't unilaterally reset the
33766           registry, we need to make sure it is reloaded when Gnus is.
33768 2019-06-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
33770         Avoid rounding error in image rotation
33772         * src/image.c (image_set_rotation): Halve translations as double values.
33774 2019-06-16  Glenn Morris  <rgm@gnu.org>
33776         Tweak compilation mode used by byte-recompile-directory
33778         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode):
33779         Doc fix.
33780         (byte-recompile-directory): Use emacs-lisp-compilation-mode.
33782 2019-06-16  Glenn Morris  <rgm@gnu.org>
33784         Disable filling of warnings in a bytecomp test
33786         * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
33787         Disable filling rather than working around it.
33789 2019-06-16  Glenn Morris  <rgm@gnu.org>
33791         Tweak how byte-compile-print-syms fills
33793         * lisp/emacs-lisp/bytecomp.el (byte-compile-print-syms):
33794         Use fill-column from the compile log buffer.
33796 2019-06-16  Glenn Morris  <rgm@gnu.org>
33798         Don't hard-code the fill-column for display-warning
33800         * lisp/emacs-lisp/warnings.el (warning-fill-column): New variable.
33801         (display-warning): Use warning-fill-column.
33802         * doc/lispref/display.texi (Warning Variables):
33803         Mention warning-fill-column.
33805 2019-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
33807         * lisp/emacs-lisp/cl-generic.el (gv-setter): Move declaration.
33809         Move it to those places where we know gv has been loaded.
33811 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33813         Fix up the --no-print-directory changes in src/Makefile.in
33815         * src/Makefile.in (AM_V_NO_PD): New macro written by Andreas
33816         Schwab that can be either --no-print-directory or "".
33817         (%.elc): Use it instead if the if statement.
33819 2019-06-16  Juanma Barranquero  <lekktu@gmail.com>
33821         Bump up max_specpdl_size to 1500.  (Bug#36216)
33823         * src/eval.c (init_eval_once): Set max_specpdl_size to 1500.
33824         * doc/lispref/variables.texi (Local Variables): Document it.
33826 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33828         Add comment to eieio-opt about why we're requiring cl-extra
33830         * lisp/emacs-lisp/eieio-opt.el (cl-extra): Add comment about why
33831         we're not requiring cl-lib.
33833 2019-06-16  Alan Third  <alan@idiocy.org>
33835         Revert "Simplify image transforms"
33837         This reverts commit cf3081d208814ea02fce33aac645abfc24f880a6.
33839 2019-06-16  Alan Third  <alan@idiocy.org>
33841         Simplify image transforms
33843         * src/image.c: (image_set_rotation, image_set_size,
33844         image_set_transform): Combine into image_set_transform.
33845         (image_set_crop): Remove function.
33846         (lookup_image): Remove calls to removed functions and remove
33847         transform_matrix.
33848         * test/manual/image-transforms-tests.el (test-cropping): Remove
33849         function.
33850         (test-transforms): Remove reference to test-cropping.
33852 2019-06-16  Alan Third  <alan@idiocy.org>
33854         Document image transforms
33856         * doc/lispref/display.texi (Image Descriptors): Document :crop and
33857         update :rotation.
33858         * src/image.c: Describe the image transform matrix layout.
33859         * test/manual/image-transforms-tests.el: New file.
33861 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33863         Fix compilation warning about gv-setter in cl-generic
33865         * lisp/emacs-lisp/cl-generic.el (gv-setter): Declare to avoid a
33866         compilation warning.
33868 2019-06-16  Alan Mackenzie  <acm@muc.de>
33870         CC Mode: Remedy recent loss in performance
33872         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): call
33873         c-parse-state outside of the narrowing operation.
33875         * lisp/progmodes/cc-fonts.el (c-get-fontification-context)
33876         (c-font-lock-cut-off-declarators): Replace calls to c-determine-limit with
33877         crude position calculations for speed.
33879 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33881         Fix compilation warning i eieio-base
33883         * lisp/emacs-lisp/eieio-base.el (clone): Use eieio-object-class
33884         instead of obsolete function class-of.
33886 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33888         Fix compilation warning in ede.el
33890         * lisp/cedet/ede/auto.el (ede-project-autoload): Inherit from
33891         eieio-named, because we want to set the object name...
33893         * lisp/cedet/ede.el (ede-new): ... which we do here, and fix the
33894         compilation warning about the obsolete
33895         eieio-object-set-name-string function.
33897 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33899         Revert "Fix compilation warning in ede.el"
33901         This reverts commit 7bbb56bc430465a6807a8129a322c704c89e3eba.
33903         The commit led to a bootstrap error.
33905 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33907         Fix compilation warning in ede.el
33909         * lisp/cedet/ede.el (ede-new): ... which we do here, and fix the
33910         compilation warning about the obsolete
33911         eieio-object-set-name-string function.
33913         * lisp/cedet/ede/auto.el (ede-project-autoload): Inherit from
33914         eieio-named, because we want to set the object name...
33916 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33918         Remove obsolete name arg from two constructors
33920         * lisp/cedet/semantic/grammar.el
33921         (semantic-analyze-current-context): Remove obsolete name arg.
33923         * lisp/cedet/srecode/insert.el (srecode--insert-into-buffer): Ditto.
33925 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33927         Compilation fix for previous change to eieio-opt
33929         * lisp/emacs-lisp/eieio-opt.el (cl-extra): Require for
33930         cl--describe-class.
33932 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33934         Fix compilation warning in eieio-opt
33936         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Don't
33937         use obsolete function eieio-help-class.
33939 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33941         Avoid "unknown slot" compilation warning in eieio-custom
33943         * lisp/emacs-lisp/eieio-custom.el
33944         (eieio-read-customization-group): Slot `name' may not exist in all
33945         classes, so protect against that (and avoid a compilation warning
33946         about it).
33948 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33950         Avoid a compilation warning in srt-mode.el
33952         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): Add hack to
33953         avoid compilation warning about slot that has to exist at this
33954         point.
33956 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33958         Fix one of the tags/xref warnings in viper-ex.el
33960         * lisp/emulation/viper-ex.el (ex-tag): Avoid a compilation warning
33961         about find-tag-other-window.
33963 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33965         Declare function in esh-mode before #'-ing it
33967         * lisp/eshell/esh-mode.el (ansi-color-apply-text-property-face):
33968         Declare to avoid a compilation warning.
33970 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33972         Avoid obsolete function in reftex-global.el
33974         * lisp/textmodes/reftex-global.el (reftex-query-replace-document):
33975         Rewrite to use fileloop directly to avoid the obsolete function
33976         tags-query-replace.
33978 2019-06-16  Lars Ingebrigtsen  <larsi@gnus.org>
33980         Use fileloop directly in vc-dir to avoid obsolete function
33982         * lisp/vc/vc-dir.el (vc-dir-query-replace-regexp): Rewrite to use
33983         fileloop directly to avoid the obsolete function
33984         tags-query-replace.
33986 2019-06-16  Alan Mackenzie  <acm@muc.de>
33988         Maintain c-syntax-table-hwm when changing syntax-table text properties
33990         * lisp/progmodes/cc-defs.el: (c-syntax-table-hwm): Move the defvar to here
33991         from cc-mode.el, since the variable is needed at compile time in
33992         c-emacs-features.
33993         (c-min-property-position): New macro.
33994         (c-put-char-property, c-clear-char-property, c-clear-char-properties)
33995         (c-clear-char-property-with-value-function)
33996         (c-clear-char-property-with-value-on-char-function)
33997         (c-put-char-properties-on-char): Adjust c-syntax-table-hwm appropriately when
33998         syntax-table text properties are changed.
34000         * lisp/progmodes/cc-engine.el (c-truncate-lit-pos-cache): Remove the now
34001         unneeded setting of c-syntax-table-hwm, and the unneeded declaration of
34002         c-syntax-table-hwm.
34004 2019-06-16  Michael Albinus  <michael.albinus@gmx.de>
34006         Say how Tramp is packaged with Emacs
34008         * doc/misc/tramp.texi (Obtaining Tramp):
34009         Mention `customize-package-emacs-version-alist'.
34011 2019-06-15  Dmitry Gutov  <dgutov@yandex.ru>
34013         Fix regressions in xref-find-definitions and ...-other-window
34015         * lisp/progmodes/xref.el:
34016         (xref--display-buffer-in-other-window)
34017         (xref--display-buffer-in-window): New functions.
34018         (xref--show-pos-in-buf): Use them (bug#33870)
34020 2019-06-15  Stefan Kangas  <stefankangas@gmail.com>
34022         Add MESSAGE string to bookmark-errors (bug#23408)
34024         * lisp/bookmark.el (bookmark-errors): Add MESSAGE parameter string.
34026 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
34028         Always try to display tree-widget with images (Bug#36147)
34030         Checking the result of display-images-p doesn't make sense if the
34031         display capabilities when loading the file are different from the
34032         display used to actually look at the widget (which is easily possible
34033         now that Emacs supports both tty and graphic frames in the same
34034         instance).
34035         * lisp/tree-widget.el (tree-widget-image-enable): Default to t,
34036         always.  This still shows text on displays that can't show images.
34038 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
34040         Allow trailing whitespace in --eval argument (Bug#36219)
34042         * lisp/startup.el (command-line-1): Don't complain about trailing
34043         garbage if it's only space, tab, or newline characters.
34045 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
34047         * lisp/net/trampver.el (customize-package-emacs-version-alist):
34049         Adapt Tramp version integrated in Emacs 26.3.
34051 2019-06-15  Philipp Stephani  <phst@google.com>
34053         * src/xfaces.c (dump_realized_face): Fix incorrect format string.
34055         * src/xfaces.c (dump_realized_face): Fix format specifier.
34057         * src/nsterm.m (ns_row_rect): Remove unused variable ‘f.’
34059 2019-06-15  Glenn Morris  <rgm@gnu.org>
34061         Merge from origin/emacs-26
34063         7a8f22b * test/lisp/url/url-file-tests.el (url-file): Use file:///, n...
34064         0c5f6c6 Fix doc of srecompile-compile-split-code (Bug#36200)
34066 2019-06-15  Glenn Morris  <rgm@gnu.org>
34068         Merge from origin/emacs-26
34070         6242324 * lisp/net/sieve-manage.el (sieve-manage-parse-capability): D...
34072 2019-06-15  Glenn Morris  <rgm@gnu.org>
34074         Merge from origin/emacs-26
34076         f53ce87 ; ChangeLog.3 update
34077         eca2677 Fix description of 'display-buffer-in-previous-window' again ...
34078         7be50cd Consistently use @minus{} for negative arguments
34080         # Conflicts:
34081         #       ChangeLog.3
34083 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
34085         Update hash value in pdumper.c
34087         * src/pdumper.c (dump_fwd_buffer_obj) [CHECK_STRUCTS]: Update
34088         the hash in HASH_Lisp_Buffer_Objfwd.  (Bug#36225)
34090 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
34092         Improve error message when dmpstruct.h needs to be updated
34094         * src/pdumper.c (dump_cons, dump_interval_tree, dump_string)
34095         (dump_marker, dump_overlay, dump_finalizer)
34096         (dump_bignum, dump_float, dump_fwd_int, dump_fwd_bool)
34097         (dump_fwd_obj, dump_fwd_buffer_obj, dump_fwd_kboard_obj)
34098         (dump_fwd, dump_blv, dump_symbol, dump_vectorlike_generic)
34099         (dump_hash_table, dump_buffer, dump_bool_vector, dump_subr)
34100         (dump_vectorlike, dump_object, dump_charset) [CHECK_STRUCTS]:
34101         Make the error message more specific where to find the comment
34102         to CHECK_STRUCTS.
34104 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34106         Probably fix the `helper' argument in feedmail.el
34108         * lisp/mail/feedmail.el (feedmail-queue-send-edit-prompt-inner):
34109         Return the helper function (instead of the symbol `helper') so
34110         that the caller can actually call it.
34112 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34114         Fix compilation warning in esh-cmd.el
34116         * lisp/eshell/esh-cmd.el (pcomplete--here): Declare function to
34117         avoid byte compilation warning, which is what erc-notify.el also
34118         does in a similar situation.
34120 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34122         Fix build warning in srecode/srt-mode
34124         * lisp/cedet/srecode/srt-mode.el (srecode-inserter-prin-example):
34125         Declare and require before use.
34127 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34129         Silence warnings about obsolete functions in obsolete/vip.el
34131         * lisp/obsolete/vip.el (ex-tag): Silence warnings about obsolete
34132         functions because this is an obsolete file.
34134 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34136         Suppress compilation warnings in obsolete/otodo-mode.el
34138         * lisp/obsolete/otodo-mode.el (lexical): Suppress warnings about
34139         non-prefixed variables because this file is obsolete.
34141 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34143         Silence warning in obsolete/complete.el
34145         * lisp/obsolete/complete.el (PC-do-completion): Suppress warning
34146         about obsolete variable in obsolete function.
34148 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34150         Make obsolete function zip-lists work again
34152         * lisp/obsolete/cl-compat.el (zip-lists): Use cl-mapcan instead of
34153         mapcan; mapcan now takes only two parameters.
34155 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34157         Suppress compilation warning in supercite.el
34159         * lisp/mail/supercite.el (curline): Suppress warning about
34160         non-prefixed variable used by forms in the `sc-mail-glom-frame'
34161         variable.
34163 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34165         Suppress warning in mailheader.el
34167         * lisp/mail/mailheader.el (headers): Suppress warning about
34168         non-prefixed variable part of the advertised interface.
34170 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34172         Suppress warning about non-prefixed variable in mailalias.el
34174         * lisp/mail/mailalias.el (patters): Suppress warning about
34175         non-prefixed variable used by `mail-complete-alist'.
34177 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34179         Fix byte compilation warning in bindat.el
34181         * lisp/emacs-lisp/bindat.el (bindat--unpack-item): Avoid a byte
34182         compilation warning by using unibyte-string instead of concat +
34183         string-make-unibyte.
34185 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34187         Avoid printing entering/leaving messages in second stage bootstrap
34189         * src/Makefile.in (%.elc): Default to not printing the
34190         entering/leaving lines when compiling .el files in the second
34191         stage of bootstrapping Emacs.  V=1 will output them.
34193 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34195         Also test unpacking
34197         Refactor for reuse
34199         New file to test bindat functions
34201 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34203         Suppress warning about `entry' in calendar
34205         * lisp/calendar/cal-china.el (entry):
34206         * lisp/calendar/cal-hebrew.el (entry): Suppress warning about
34207         dynamically bound `entry', which has to be bound for
34208         diary-chinese-anniversary and diary-hebrew-birthday to work.
34209         These function can be used in the sexp part of users' diary files.
34211 2019-06-15  Lars Ingebrigtsen  <larsi@gnus.org>
34213         Suppress warning about prefixless date variable in calendar
34215         * lisp/calendar/lunar.el (date):
34216         * lisp/calendar/cal-persia.el (date):
34217         * lisp/calendar/cal-mayan.el (date):
34218         * lisp/calendar/cal-julian.el (date):
34219         * lisp/calendar/cal-iso.el (date):
34220         * lisp/calendar/cal-islam.el (date):
34221         * lisp/calendar/cal-hebrew.el (date):
34222         * lisp/calendar/cal-french.el (date):
34223         * lisp/calendar/cal-coptic.el (date):
34224         * lisp/calendar/cal-china.el (date):
34225         * lisp/calendar/cal-bahai.el (date): Suppress warning about this
34226         prefix-less dynamic variable, because it's part of the documented
34227         calling convention used in the sexp part of users' diary files.
34229 2019-06-15  Wilson Snyder  <wsnyder@wsnyder.org>
34231         Clean up verilog-mode.el documentation examples to match behavior.
34233         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-auto-arg)
34234         (verilog-auto-ascii-enum, verilog-auto-inout)
34235         (verilog-auto-inout-comp, verilog-auto-inout-in)
34236         (verilog-auto-inout-modport, verilog-auto-inout-module)
34237         (verilog-auto-inout-param, verilog-auto-input)
34238         (verilog-auto-insert-lisp, verilog-auto-inst)
34239         (verilog-auto-inst-param, verilog-auto-inst-param-value)
34240         (verilog-auto-output, verilog-auto-output-every, verilog-auto-reg)
34241         (verilog-auto-reg-input, verilog-auto-reset, verilog-auto-sense)
34242         (verilog-auto-tieoff, verilog-auto-undef, verilog-auto-unused)
34243         (verilog-auto-wire, verilog-inject-auto, verilog-read-sub-decls):
34244         Clean up documentation examples to match behavior.
34246 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
34248         Make url-tramp more robust
34250         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
34251         (url-tramp-convert-tramp-to-url): Check, that obj is non-nil.
34253 2019-06-15  Stefan Kangas  <stefankangas@gmail.com>
34255         Remove another variable obsolete since Emacs 22
34257         * lisp/progmodes/cc-langs.el: Remove obsolete variable
34258         c-opt-op-identitier-prefix.
34259         * etc/NEWS: Announce it.  (Bug#36173)
34261 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
34263         Let tramp-archive unmount clean
34265         * lisp/net/tramp-archive.el (tramp-archive-cleanup-hash):
34266         Don't check for a proper method.
34268 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
34270         Make Tramp compatible to recent progress-reporter-update
34272         * lisp/net/tramp-compat.el (tramp-compat-progress-reporter-update):
34273         New defalias.
34275         * lisp/net/tramp.el (tramp-progress-reporter-update): Add optional SUFFIX.
34277 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
34279         Some changes in process output read of Tramp
34281         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
34282         Read pending output.
34284         * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
34285         Use a timeout when reading process output.
34287 2019-06-15  Michael Albinus  <michael.albinus@gmx.de>
34289         Tag remote autorevert tests as unstable
34291         * test/lisp/autorevert-tests.el (auto-revert--timeout):
34292         Derive value from `auto-revert-interval'.
34293         (auto-revert--deftest-remote): Tag it as `:unstable'.
34294         (auto-revert-test05-global-notify, auto-revert-test06-write-file):
34295         Suppress final newline.  Use `auto-revert--timeout'.
34297 2019-06-15  Stefan Kangas  <stefankangas@gmail.com>
34299         Remove Lucid Emacs support from bookmark.el
34301         * lisp/bookmark.el: Remove Lucid Emacs support.
34302         (Bug#36179)
34304 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
34306         Improve documentation of hash-code functions
34308         * src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal):
34309         * doc/lispref/hash.texi (Defining Hash): Warn against assuming
34310         that sxhash returns consistent results.
34312 2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34314         * configure.ac: Lower required cairo version to 1.8.0.
34316 2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34318         Remove non-Xdbe double-buffering code on cairo
34320         * src/xterm.c (x_begin_cr_clip, x_update_end) [USE_CAIRO]: Don't do
34321         handcrafted double-buffering with image surface.
34323 2019-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34325         Rework x_scroll_run on cairo
34327         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Use FRAME_CR_CONTEXT or surface type
34328         for conditions to call XCopyArea rather than FRAME_X_DOUBLE_BUFFERED_P.
34329         Set compositing operator to CAIRO_OPERATOR_SOURCE when copying image.
34331 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34333         Revert "Silence okuri-nasi count-up messaging during compilation"
34335         This takes long enough on some systems that the messages are useful.
34337         This reverts commit 1d2e4d22c922f94d6f4b75a5ead18cbc679c5dfe.
34339 2019-06-14  Michael Albinus  <michael.albinus@gmx.de>
34341         Fix problem in remote file notification
34343         * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
34344         (tramp-sh-gvfs-monitor-dir-process-filter)
34345         (tramp-sh-inotifywait-process-filter): Do not kill the process.
34346         Let `file-notify-rm-watch' do the job.
34348         * test/lisp/filenotify-tests.el (file-notify-test03-events)
34349         (file-notify-test05-file-validity)
34350         (file-notify-test09-watched-file-in-watched-dir): Do not
34351         special-case remote files.
34353 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34355         Silence okuri-nasi count-up messaging during compilation
34357         * lisp/international/ja-dic-cnv.el (skkdic-set-okuri-nasi): Remove
34358         messaging while compilation to make compilation more regular.
34360 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34362         Revert "srecode/srt-mode compilation fix"
34364         This led to a recursive require.
34366         This reverts commit 9fac0e70e3f5b7d0b12b77cac50078e01f68ee70.
34368 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34370         Fix previous object-print/cl-print-object changes
34372         * lisp/cedet/srecode/insert.el
34373         (srecode-insert-variable-secondname-handler):
34374         * lisp/cedet/semantic/decorate/include.el
34375         (semantic-decoration-fileless-include-describe):
34376         (semantic-decoration-all-include-summary):
34377         * lisp/cedet/semantic/db-find.el (semanticdb-find-log-activity):
34378         * lisp/cedet/semantic/bovine/c.el
34379         (semantic-c-describe-environment):
34380         * lisp/cedet/semantic/analyze/debug.el
34381         (semantic-analyzer-debug-insert-include-summary): Fix previous
34382         object-print/cl-print-object changes that were nonsensical.
34384 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34386         Avoid using registerv-make in senator.el
34388         * lisp/cedet/semantic/senator.el (senator-register): New class.
34389         (register-val-jump-to, register-val-describe)
34390         (register-val-insert): New methods.
34391         (senator-copy-tag-to-register): Use this instead of the deprecated
34392         registerv-make function.
34394 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34396         analyze/debug compilation fix
34398         * lisp/cedet/semantic/analyze/debug.el (pulse): Require to avoid
34399         byte compilation warning.
34401 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34403         semantic/lex-spp compilation fix
34405         * lisp/cedet/semantic/lex-spp.el
34406         (semantic-lex-spp-analyzer-push-tokens-for-symbol): Use new name
34407         for `semantic-lex-spp-anlyzer-do-replace'.
34409 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34411         Use cl-typep instead of obsolete predicate functions throughout cedet
34413         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
34414         (srecode-dictionary-add-entries):
34415         (srecode-compound-toString):
34416         (srecode-dump):
34417         * lisp/cedet/srecode/compile.el (srecode-dump-code-list):
34418         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
34419         * lisp/cedet/semantic/db-typecache.el (semanticdb-typecache-length):
34420         * lisp/cedet/semantic/db-ref.el (semanticdb-check-references):
34421         * lisp/cedet/semantic/db-find.el
34422         (semanticdb-find-incomplete-cache-entries-p):
34423         (semanticdb-find-translate-path-includes-default):
34424         (semanticdb-find-results-p):
34425         (semanticdb-find-result-with-nil-p):
34426         * lisp/cedet/semantic/analyze/complete.el
34427         (semantic-analyze-possible-completions): Use cl-typep instead of
34428         functions like `srecode-dictionary-compound-value-child-p' etc.
34430 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34432         srecode/srt-mode compilation fix
34434         * lisp/cedet/srecode/srt-mode.el (srecode/insert): Require to
34435         avoid compilation warning about unknown slot.  Remove function
34436         declarations that point to that file.
34438 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34440         srecode/find compilation fix
34442         * lisp/cedet/srecode/find.el (srecode/compile): Require to
34443         avoid compilation warning about unknown slot.  Remove function
34444         declarations that point to that file.
34446 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34448         srecode/dictionary compilation warning fix
34450         * lisp/cedet/srecode/dictionary.el (srecode/fields): Require to
34451         avoid compilation warning about unknown slot.  Remove function
34452         declarations that point to that file.
34454 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34456         srecode/dictionary compilation fix
34458         * lisp/cedet/srecode/ctxt.el (srecode/dictionary): Require to
34459         avoid compilation warning about unknown slot.  Remove function
34460         declarations that point to that file.
34462 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34464         srecode-inserter-prin-example compilation fix
34466         * lisp/cedet/srecode/insert.el (srecode-inserter-prin-example):
34467         Move prin1 example to file that defines the structure it prints.
34469 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34471         Move functions from semantic.el to analyze.el to avoid warnings
34473         * lisp/cedet/semantic.el (semantic-analyze-completion-at-point-function)
34474         (semantic-analyze-notc-completion-at-point-function)
34475         (semantic-analyze-nolongprefix-completion-at-point-function): Add
34476         autoloads for the moved functions.
34478         * lisp/cedet/semantic/analyze.el
34479         (semantic-analyze-completion-at-point-function)
34480         (semantic-analyze-notc-completion-at-point-function)
34481         (semantic-analyze-nolongprefix-completion-at-point-function): Move
34482         here from semantic.el to avoid getting compilation warnings about
34483         unknown slot `bounds'.
34485 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34487         Adjust erc functions after previous erc-pre-send-function change
34489 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34491         Adjust erc functions after previous erc-pre-send-function change
34493         * lisp/erc/erc-goodies.el (noncommands): Use
34494         erc-pre-send-functions instead of the hook.
34495         (erc-send-distinguish-noncommands): Adjust function to new interface.
34497         * lisp/erc/erc-ring.el (ring): Ditto.
34498         (erc-add-to-input-ring): Ditto.
34500         * lisp/erc/erc.el (erc-send-this): Really make obsolete.
34501         (erc-pre-send-functions): Change to a list of functions to allow
34502         erc-goodies and erc-ring to work as before.
34504 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34506         Unobsolete string-to-multibyte
34508         * lisp/subr.el: Un-obsolete string-to-multibyte, because it's a
34509         useful function.  string-to-unibyte has already been un-obsoleted.
34511 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34513         Use CLOS-style accessors in oref/oset
34515         * lisp/cedet/srecode/texi.el (srecode-semantic-handle-:texitag):
34516         * lisp/cedet/srecode/table.el (srecode-mode-table-new):
34517         (srecode-dump):
34518         * lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro):
34519         (semantic-analyze-possible-completions):
34520         * lisp/cedet/srecode/semantic.el (srecode-compound-toString):
34521         (srecode-semantic-apply-tag-to-dict-default):
34522         * lisp/cedet/srecode/mode.el (srecode-minor-mode-templates-menu):
34523         (srecode-edit):
34524         * lisp/cedet/srecode/insert.el (srecode-insert-method):
34525         (srecode-inserter-apply-state):
34526         (srecode-insert-ask-default):
34527         (srecode-insert-method-ask):
34528         (srecode-insert-method-field):
34529         (srecode-insert-method-helper):
34530         (srecode-parse-input):
34531         (srecode-match-end):
34532         (srecode-insert-include-lookup):
34533         (srecode-insert-method):
34534         * lisp/cedet/srecode/find.el (srecode-template-table-in-project-p):
34535         (srecode-template-get-table):
34536         (srecode-template-get-table-for-binding):
34537         (srecode-all-template-hash):
34538         * lisp/cedet/srecode/extract.el (srecode-inserter-extract):
34539         (srecode-inserter-extract):
34540         * lisp/cedet/srecode/el.el (srecode-semantic-apply-tag-to-dict):
34541         * lisp/cedet/srecode/dictionary.el (initialize-instance):
34542         (srecode-dictionary-add-template-table):
34543         (srecode-compound-toString):
34544         * lisp/cedet/srecode/cpp.el (srecode-semantic-apply-tag-to-dict):
34545         * lisp/cedet/srecode/compile.el (srecode-compile-template-table):
34546         (srecode-dump):
34547         * lisp/cedet/srecode/args.el (srecode-semantic-handle-:project):
34548         * lisp/cedet/semantic/texi.el (semantic-analyze-possible-completions):
34549         * lisp/cedet/semantic/symref/list.el (semantic-symref-results-dump):
34550         (semantic-symref-list-create-macro-on-open-hit):
34551         (semantic-symref-list-rename-open-hits):
34552         (semantic-symref-list-map-open-hits):
34553         * lisp/cedet/semantic/symref/idutils.el
34554         (semantic-symref-perform-search):
34555         (semantic-symref-parse-tool-output-one-line):
34556         * lisp/cedet/semantic/symref/global.el (semantic-symref-perform-search):
34557         (semantic-symref-parse-tool-output-one-line):
34558         * lisp/cedet/semantic/symref/cscope.el (semantic-symref-perform-search):
34559         (semantic-symref-parse-tool-output-one-line):
34560         * lisp/cedet/semantic/mru-bookmark.el
34561         (semantic-mrub-ring-to-assoc-list):
34562         * lisp/cedet/semantic/grammar.el
34563         (semantic-analyze-possible-completions):
34564         * lisp/cedet/semantic/decorate/include.el
34565         (semantic-decoration-include-describe):
34566         * lisp/cedet/semantic/debug.el (semantic-debug-highlight-lexical-token):
34567         (semantic-debug-highlight-rule):
34568         * lisp/cedet/semantic/db-typecache.el
34569         (semanticdb-typecache-for-database):
34570         * lisp/cedet/semantic/complete.el
34571         (semantic-collector-calculate-completions-raw):
34572         * lisp/cedet/semantic/bovine/make.el
34573         (semantic-analyze-possible-completions):
34574         * lisp/cedet/semantic/analyze/refs.el (semantic-analyze-refs-impl):
34575         (semantic-analyze-refs-proto):
34576         * lisp/cedet/semantic/analyze/debug.el
34577         (semantic-analyzer-debug-describe-scope):
34578         * lisp/cedet/semantic/analyze.el (semantic-analyze-interesting-tag):
34579         (semantic-analyze-interesting-tag):
34580         (semantic-analyze-pulse):
34581         * lisp/cedet/ede/util.el (ede-update-version):
34582         * lisp/cedet/ede/shell.el (ede-shell-run-something):
34583         * lisp/cedet/ede/project-am.el (project-am-load-makefile):
34584         (project-rescan):
34585         (project-am-macro):
34586         (ede-buffer-mine):
34587         (project-compile-target-command):
34588         (project-am-package-info):
34589         * lisp/cedet/ede/files.el (ede--project-inode):
34590         (ede-directory-get-open-project):
34591         (ede-directory-get-toplevel-open-project):
34592         (ede-find-subproject-for-directory):
34593         (ede-toplevel-project):
34594         * lisp/cedet/ede/cpp-root.el (initialize-instance):
34595         (project-compile-project):
34596         (project-compile-target):
34597         * lisp/cedet/ede/config.el (ede-config-get-configuration):
34598         (project-debug-target):
34599         (project-run-target):
34600         (project-compile-project):
34601         (ede-preprocessor-map):
34602         (ede-java-classpath):
34603         * lisp/cedet/ede/base.el (ede-normalize-file/directory): Use
34604         CLOS-style oref/oset accessors instead of eieio-style :colon
34605         accessors.  This avoids compilation warnings and is allegedly
34606         faster.
34608 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34610         Obsolete erc-send-pre-hook and add new erc-pre-send-function
34612         * lisp/erc/erc.el (erc-send-pre-hook): Make obsolete.
34613         (erc-send-input): Ditto.
34614         (erc-pre-send-function): New function.
34615         (erc-send-input): Use the new function, and silence byte
34616         compilation warning about the dynamic variable `str' used by the
34617         now-obsolete hook.
34619 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34621         Fix compilation warning in rmailmm
34623         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk): Remove apparently
34624         superfluous call to string-as-unibyte -- the buffer should be
34625         unibyte already at this point.
34627 2019-06-14  Lars Ingebrigtsen  <larsi@gnus.org>
34629         Avoid compilation warning in byte-run
34631         * lisp/emacs-lisp/byte-run.el (macro-declaration-function): Avoid
34632         compilation warning by not using `symbol-function'.
34634 2019-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
34636         * lisp/gnus/message.el: Fix NNTP sending, broken by e51adfbdb7
34638         (message-check-news-header-syntax): `message--check-continuation-headers`
34639         signals an error instead of returning nil on error.
34641 2019-06-13  Glenn Morris  <rgm@gnu.org>
34643         Stop a tramp test leaving a file behind
34645         * test/lisp/net/tramp-tests.el
34646         (tramp-test10-write-region-file-precious-flag):
34647         Avoid leaving a backup file after we are done.
34649 2019-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
34651         * lisp/widget.el (define-widget-keywords): Use `declare`.
34653         * lisp/progmodes/ps-mode.el (ps-mode-octal-region): Simplify.
34655 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34657         Fix typo in object-print cleanup
34659         * lisp/cedet/srecode/insert.el
34660         (srecode-insert-variable-secondname-handler): Fix typo in
34661         object-print cleanup.
34663 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34665         Remove outdated FIXME
34667         * lisp/emacs-lisp/eieio-core.el (eieio--slot-name-index): Remove
34668         comment about issuing a byte compilation warning about accessing
34669         slots via :initarg -- it was implemented a few months later.
34671 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34673         semantic/senator.el byte compilation fix
34675         * lisp/cedet/semantic/senator.el (semantic/analyze): Require to
34676         avoid compilation warnings about unknown slots, and remove
34677         declare-function.
34679 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34681         semantic/idle.el compilation warning fix
34683         * lisp/cedet/semantic/idle.el (semantic/analyze): Require to
34684         avoid compilation warnings about unknown slots, and remove
34685         declare-function.
34687 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34689         semantic/grammar byte compilation fixes
34691         * lisp/cedet/semantic/grammar.el (semantic/analyze): Require to
34692         avoid compilation warnings about unknown slots, and remove
34693         declare-function.
34695 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34697         semantic/chart.el compilation warning fixes
34699         * lisp/cedet/semantic/chart.el (semantic/db-typecache)
34700         (semantic/scope): Require to avoid byte compilation warnings about
34701         undefined slots.  Remove declare-functions from these packages.
34703 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34705         Fix some cedet compilation warnings pertaining to semantic/db
34707         * lisp/cedet/ede/config.el (semantic/db)
34708         (ede-preprocessor-map): Ditto.
34710         * lisp/cedet/ede/cpp-root.el (semantic/db): Ditto.
34712         * lisp/cedet/ede/emacs.el (semantic/db): Ditto.
34714         * lisp/cedet/ede/linux.el (semantic/db): Require to avoid warnings
34715         about unknown slot lexical-table, and remove declare-functions
34716         from the now-required semantic/db.
34718 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34720         project.el compilation warning fix
34722         * lisp/progmodes/project.el (xref--regexp-to-extended)
34723         (xref--convert-hits): Declare more xref functions to avoid
34724         compilation warnings.
34726 2019-06-13  Alan Mackenzie  <acm@muc.de>
34728         Depessimize bits of CC Mode for long C macros.
34730         * lisp/progmodes/cc-engine.el (c-end-of-macro): Check for being in a
34731         degenerate zero length "macro", when setting the macro cache.
34732         (c-determine-+ve-limit): Add in a missing goto-char form for when start-pos is
34733         non-nil.
34734         (c-back-over-member-initializers): Add a search limit parameter.
34736         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add a search limit
34737         to c-go-up-list-backward.
34738         (c-font-lock-cut-off-declarators): Add a search limit to
34739         c-back-over-member-initializers.
34741         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Don't
34742         set c-new-END to the end of logical line (which might be a long macro).
34743         (c-after-change-mark-abnormal-strings): Calculate end-hwm in place of the
34744         setting of c-new-END (above).  Use this as a search limit rather than
34745         c-new-END.
34747 2019-06-13  Stefan Kangas  <stefankangas@gmail.com>
34749         Remove XEmacs support from bookmark.el
34751         * lisp/bookmark.el (bookmark-store): Remove XEmacs compat code
34752         (bug#36189).
34754 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34756         Use cl-print-object instead of object-print throughout cedet
34758         * lisp/cedet/semantic/db-find.el (semanticdb-find-log-activity):
34759         Ditto.
34761         * lisp/cedet/semantic/analyze/debug.el
34762         (semantic-analyzer-debug-insert-include-summary): Ditto.
34764         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment)
34765         (semantic-c-describe-environment)
34766         (semantic-c-describe-environment): Ditto.
34768         * lisp/cedet/semantic/decorate/include.el
34769         (semantic-decoration-fileless-include-describe): Ditto.
34770         (semantic-decoration-all-include-summary): Ditto.
34772         * lisp/cedet/srecode/insert.el
34773         (srecode-insert-variable-secondname-handler): Use cl-print-object
34774         instead of object-print.
34776 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34778         erc-dcc.el minor clean-ups
34780         * lisp/erc/erc-dcc.el: Remove outdated comments.
34781         (erc-dcc-get-file): Remove XEmacs compat code.
34783 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34785         Fix erc-dcc server-close code and fix compilation warning
34787         * lisp/erc/erc-dcc.el (erc-dcc-get-filter): We receive unibyte
34788         data, so no need to convert to unibyte.
34789         (erc-dcc-send-filter): Kill the process before killing the buffer
34790         so that we're not queried about killing the process.
34792 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34794         Make erc-dcc-server work again by making synchronous
34796         * lisp/erc/erc-dcc.el (erc-dcc-server): :server and :nowait can't
34797         be mixed, so remove the :nowait.
34799 2019-06-13  Pip Cet  <pipcet@gmail.com>
34801         Escape newlines when printing functions in timer list
34803         * lisp/emacs-lisp/timer-list.el (list-timers): Bind
34804         `print-escape-newlines' to avoid newlines in printed
34805         representation (bug#36187).
34807 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34809         Compilation fix for previous change
34811 2019-06-13  Lars Ingebrigtsen  <larsi@gnus.org>
34813         Compilation warning fix for disass.el
34815         * lisp/emacs-lisp/disass.el (disassemble-1): Remove a
34816         string-as-unibyte that probably doesn't do anything, because the
34817         string in question should be unibyte anyway.  If the assert fails,
34818         revert the patch.
34820 2019-06-13  Alan Mackenzie  <acm@muc.de>
34822         CC Mode: replace an erroneous re-search-forward with search-forward
34824         Move two declarations to a more suitable point in the cc-engine.el.
34826         * lisp/progmodes/cc-engine.el (c-after-change-unmark-raw-strings): Change an
34827         re-search-forward to search-forward.
34828         (c-semi-lit-near-cache, c-semi-near-cache-limit): Move the declarations.
34830 2019-06-13  Eli Zaretskii  <eliz@gnu.org>
34832         Fix display of Hebrew text with precomposed characters
34834         * lisp/language/hebrew.el (base): Include precomposed
34835         Hebrew characters from the Alphabetic Presentation Forms in
34836         the composition patterns.  (Bug#36171)
34838 2019-06-13  Eli Zaretskii  <eliz@gnu.org>
34840         Fix text shaping of precomposed characters with HarfBuzz
34842         * src/hbfont.c (hbfont_shape): Fix setting TO of lglyph for
34843         the case when Lisp shape-gstring function performed some
34844         compositions by itself.  This happens with hebrew.el.  See
34845         https://lists.freedesktop.org/archives/harfbuzz/2019-June/007396.html
34846         for the details of the problem this solves.
34848 2019-06-13  Alan Mackenzie  <acm@muc.de>
34850         Move declaration of c-syntax-table-hwm to avoid compiler warnings.
34852         This variable was declared after an invocation of a defsubst which used it,
34853         the defsubst being in another file.
34855         * lisp/progmodes/cc-mode.el (c-syntax-table-hwm): Move the declaration to earlier
34856         in the file.
34858 2019-06-12  Glenn Morris  <rgm@gnu.org>
34860         Allow for line breaks in a bytecomp test
34862         * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
34863         Warnings from the byte compiler may be filled.
34865 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34867         Avoid string-make-multibyte in ps-mode.el
34869         * lisp/progmodes/ps-mode.el (ps-mode-octal-region): Avoid usage of
34870         string-make-multibyte, but work in both unibyte and multibyte buffers.
34872 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34874         Add more ps-mode octal tests
34876         * test/lisp/progmodes/ps-mode-tests.el
34877         (ps-mode-test-octal-region-multibyte): New test.
34879 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34881         Revert previous ps-mode.el change
34883         * lisp/progmodes/ps-mode.el (ps-mode-octal-region): Revert
34884         previous change because the `string-make-unibyte' insertion was
34885         the previous single change (in 2013) to this file, so it must have
34886         some subtle meaning or other.
34888 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34890         Add ps-mode-tests.el and remove a compilation warning
34892         * lisp/progmodes/ps-mode.el (ps-mode-octal-region): Remove a
34893         string-make-unibyte that apparently had no effect here.
34894         * test/lisp/progmodes/ps-mode-tests.el: New file.
34896 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34898         Suppress warnings in tildify.el
34900         * lisp/textmodes/tildify.el (tildify--deprecated-ignore-evironments):
34901         (tildify-tildify, tildify-mode): Suppress warnings about obsolete
34902         internal function `tildify--pick-alist-entry'.  Apparently these
34903         semi-deprecated functions rely on each other.
34905 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34907         Add comment to clarify the use of `str'
34909 2019-06-12  Glenn Morris  <rgm@gnu.org>
34911         Revert "Compilation warning fix for byte-run.el"
34913         * lisp/emacs-lisp/byte-run.el (macro-declaration-function):
34914         Revert change that causes a bootstrap failure.
34916 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34918         Fix compilation warnings in rfc2104
34920         * lisp/net/rfc2104.el (rfc2104-hash): Remove superfluous calls to
34921         string-make-unibyte and avoid two compilation warnings.
34923 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34925         New file rfc2104-tests.el
34927         * test/lisp/net/rfc2104-tests.el: New file to test rfc2104 hashes.
34929 2019-06-12  Glenn Morris  <rgm@gnu.org>
34931         Give more information in a bytecomp test failure
34933         * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
34934         More informative failure messages.
34936 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34938         Fix compilation warning in qp.el
34940         * lisp/mail/qp.el (quoted-printable-encode-region): No need to
34941         convert the regexp to multibyte before searching.
34943 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34945         Fix warning about obsolete func calling obsolete func in etags.el
34947         * lisp/progmodes/etags.el (find-tag-other-frame): Don't give a
34948         warning about an obsolete function calling another obsolete function.
34950 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34952         Compilation warning fix in feedmail.el
34954         * lisp/mail/feedmail.el (feedmail-scroll-buffer): Remove XEmacs
34955         compat code (that gave a compilation warning).
34957 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34959         Remove XEmacs compat code from mml.el that gave a compilation warning
34961         * lisp/gnus/mml.el (mml-mode): Remove XEmacs compat code
34963 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34965         message.el byte compilation warning fix
34967         * lisp/gnus/message.el (message-inhibit-body-encoding): Move
34968         earlier to avoid compilation warning.
34970 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34972         Compilation warning fix for byte-run.el
34974         * lisp/emacs-lisp/byte-run.el (macro-declaration-function):
34975         Suppress warning about obsolete function used by obsolete variable.
34977 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34979         todo-mode.el compilation warning fix
34981         * lisp/calendar/todo-mode.el (hl-line-highlight): Declare to avoid
34982         compilation warning.
34984 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34986         Touch ups to the XEmacs deletion patch for idlw-shell.el
34988         * lisp/progmodes/idlw-shell.el (idlwave-xemacs-hack-mouse-track):
34989         Fix up previous obsoletion.
34991 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
34993         Remove XEmacs support from idlw-shell.el
34995         * lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file)
34996         (idlwave-shell-mouse-examine)
34997         (idlwave-xemacs-hack-mouse-track, idlwave-display-buffer)
34998         (idlwave-shell-debug-line-map)
34999         (idlwave-shell-make-new-bp-overlay, idlwave-shell-mode-map):
35000         Remove XEmacs support.
35002 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35004         Remove XEmacs support from ido.el
35006         * lisp/ido.el (ido-active, ido-completion-help)
35007         (ido-minibuffer-setup): Remove XEmacs support.
35009 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35011         Remove compat code for XEmacs and pre-Emacs 20 Emacs in pcomplete.el
35013         * lisp/pcomplete.el (pcomplete-event-matches-key-specifier-p)
35014         (pcomplete-read-event, pcomplete-show-completions): Remove XEmacs
35015         support and mark now-trivial defaliases as obsolete.
35017 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35019         Remove XEmacs support from dig.el
35021         * lisp/net/dig.el (dig-mode): Remove XEmacs support.
35023 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35025         Remove XEmacs support from goto-addr.el
35027         * lisp/net/goto-addr.el (goto-address-highlight-keymap): Remove
35028         XEmacs support.
35030 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35032         Remove XEmacs support from dns.el
35034         * lisp/net/dns.el (dns-read-string-name, dns-write, dns-read)
35035         (dns-make-network-process, dns-query): Remove XEmacs support.
35037 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35039         Remove XEmacs compat code from tempo.el
35041         * lisp/tempo.el (tempo-insert-template): Remove XEmacs compat code.
35043 2019-06-12  Alan Mackenzie  <acm@muc.de>
35045         CC Mode: Add a workaround for syntax-ppss ignoring syntax-table prop changes
35047         * lisp/progmodes/cc-engine.el (c-truncate-lit-pos-cache): Maintain the new
35048         variable c-syntax-table-hwm after buffer changes.
35050         * lisp/progmodes/cc-mode.el (c-syntax-table-hwm): New variable.
35051         (c-before-change): Set c-syntax-table-hwm to "infinity".
35052         (c-after-change): Call syntax-ppss-flush-cache, just before a font locking is
35053         due to take place.
35055 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35057         Restore image scaling support when there's no native image scaling
35059         * lisp/net/shr.el (shr--image-type): New function.
35060         (shr-rescale-image): Use it to allow image scaling on Emacsen with
35061         ImageMagick support that does not have native image scaling support.
35063 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35065         Rewrite the kmacro register function to avoid using obsolete functions
35067         * lisp/kmacro.el (kmacro-register): New struct to replace the
35068         general registerv struct.
35069         (register-val-jump-to, register-val-describe)
35070         (register-val-insert): New methods to implement the register
35071         interface.
35072         (kmacro-to-register): Use the kmacro-register struct.
35074 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35076         (beginning-of-defun-raw): Suppress warning about syntax-begin-function
35078         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw):
35079         font-lock-compile-keywords also suppresses warnings about the
35080         obsolete syntax-begin-function variable, so suppress the only
35081         other use not in syntax.el.
35083 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35085         Suppress warning about pi not having a prefix
35087         * lisp/emacs-lisp/float-sup.el (pi): Suppress warning about this
35088         obsolete variable not having a prefix.
35090 2019-06-12  Richard Copley  <rcopley@gmail.com>
35092         * doc/lispref/text.texi (Base 64): Fix typos.
35094 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35096         Suppress warning about obsolete function custom-show
35098         * lisp/cus-edit.el (custom-variable-value-create): Suppress
35099         warning about obsolete function custom-show.  The widget this
35100         supports has been obsolete since Emacs 24, but we should perhaps
35101         be very conservative about removing widget types, so suppress the
35102         warning instead of removing the widget type.
35104 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35106         Suppress warning in display-completion-list about itself
35108         * lisp/minibuffer.el (display-completion-list):
35109         `display-completion-list' calls itself with the old, obsolete
35110         callargs, so suppress this warning.
35112 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35114         Suppress interactive-only warnings in epa*.el
35116         * lisp/epa-mail.el (epa-mail-decrypt, epa-mail-verify)
35117         (epa-mail-sign, epa-mail-encrypt): Ditto.
35119         * lisp/epa.el (epa-verify-cleartext-in-region): Suppress warnings
35120         about calling interactive-only functions, because these are
35121         interactive-only thin wrappers around those functions.
35123 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35125         ehelp.el: Suppress warning
35127         * lisp/ehelp.el (electric-help-execute-extended): Suppress warning
35128         about `execute-extended-command' only being interactive, because
35129         we're still using it interactively, but via a wrapper.
35131 2019-06-12  Lars Ingebrigtsen  <larsi@gnus.org>
35133         Add the new macro with-suppressed-warnings
35135         * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): New macro.
35137         * doc/lispref/compile.texi (Compiler Errors): Document
35138         with-suppressed-warnings and deemphasise with-no-warnings
35139         slightly.
35141         * lisp/emacs-lisp/bytecomp.el (byte-compile--suppressed-warnings):
35142         New internal variable.
35143         (byte-compile-warning-enabled-p): Heed
35144         byte-compile--suppressed-warnings, bound via with-suppressed-warnings.
35145         (byte-compile-initial-macro-environment): Provide a macro
35146         expansion of with-suppressed-warnings.
35147         (byte-compile-file-form-with-suppressed-warnings): New byte hunk
35148         handler for the suppressed symbol machinery.
35149         (byte-compile-suppressed-warnings): Ditto for the byteop.
35150         (byte-compile-file-form-defmumble): Ditto.
35151         (byte-compile-form, byte-compile-normal-call)
35152         (byte-compile-normal-call, byte-compile-variable-ref)
35153         (byte-compile-set-default, byte-compile-variable-set)
35154         (byte-compile-function-form, byte-compile-set-default)
35155         (byte-compile-warn-obsolete, byte-compile--declare-var): Pass the
35156         symbol being warned in to byte-compile-warning-enabled-p.
35158         * test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression): New
35159         function.
35160         (bytecomp-test--with-suppressed-warnings): Tests.
35162 2019-06-11  Roland Winkler  <winkler@gnu.org>
35164         Fix to previous commit
35166         * lisp/find-dired.el (find-dired-sentinel): Check whether
35167         find-dired-refine-function is non-nil.
35169 2019-06-11  Roland Winkler  <winkler@gnu.org>
35171         Allow refining the *Find* buffer of find-dired. (Bug#29513)
35173         * lisp/find-dired.el (find-dired-refine-function): New user variable.
35174         (find-dired-sentinel): Use it.  Simplify.
35175         (find-dired-sort-by-filename): New function.
35177 2019-06-11  Mattias Engdegård  <mattiase@acm.org>
35179         Keep auto-revert-mode working when changing buffer file name (bug#36159)
35181         * lisp/autorevert.el (after-set-visited-file-name-hook):
35182         Add unconditionally.
35183         (global-auto-revert-mode): Don't use
35184         `after-set-visited-file-name-hook' here.
35185         (auto-revert-set-visited-file-name): Rename from
35186         `auto-revert--global-set-visited-file-name' and generalise.
35187         * test/lisp/autorevert-tests.el (auto-revert-test06-write-file): New.
35189 2019-06-11  Michael Albinus  <michael.albinus@gmx.de>
35191         Minor fixes on tramp-tests.el for w32
35193         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
35194         Ignore absence of tput.
35195         (tramp-test43-asynchronous-requests): Don't start watchdog on w32.
35197 2019-06-11  Glenn Morris  <rgm@gnu.org>
35199         Merge from origin/emacs-26
35201         5ca093d (origin/emacs-26) Fix doc of 'display-buffer-in-previous-wind...
35202         add2cac lisp/*.el: Minor docstring fixes
35204 2019-06-11  Glenn Morris  <rgm@gnu.org>
35206         Merge from origin/emacs-26
35208         758e9a8 Revert "Don't mark main_thread (Bug#36155)"
35209         1877b7b Don't mark main_thread (Bug#36155)
35210         4904fb3 More quotation fixes (Bug#35885)
35211         4cc4b5d ; * src/keyboard.c (tool_bar_items): Fix a typo.  (Bug#36143)
35212         b58ecaf Minor copyedits in efaq-w32
35213         48422af Tiny improvement of documentation of major mode conventions
35214         25d44d2 * nt/addpm.c (main): Fix buffer overflow
35216 2019-06-11  Pip Cet  <pipcet@gmail.com>
35218         Fix list-processes typo with thread-name
35220         * lisp/simple.el (list-processes--refresh):
35221         Don’t assume thread-name succeeds (Bug#36163).
35223 2019-06-11  Eli Zaretskii  <eliz@gnu.org>
35225         Fix shaping of Arabic test when the region is extended
35227         * src/xdisp.c (compute_stop_pos): Set the limit for searching
35228         for changes in text properties such that the limit is never in
35229         the middle of composable text.  (Bug#28312)
35231 2019-06-11  Philipp Stephani  <phst@google.com>
35233         Add missing indentation declaration to a few macros.
35235         * lisp/window.el (with-temp-buffer-window)
35236         (with-current-buffer-window, with-displayed-buffer-window):
35237         Add missing indentation declaration
35239 2019-06-11  Pip Cet  <pipcet@gmail.com>
35241         Fix mouse cursor movement in 'select-frame-set-input-focus' (Bug#36165)
35243         * lisp/frame.el (select-frame-set-input-focus): With
35244         'mouse-autoselect-window' use 'set-mouse-pixel-position' to
35245         avoid selecting another window manager window (Bug#36165).
35247 2019-06-10  Noam Postavsky  <npostavs@gmail.com>
35249         Don't keep warning about unescaped literals (Bug#36068)
35251         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Restore lost
35252         let-binding of lread--unescaped-character-literals, so that unescaped
35253         literals warning will only apply to the form just read.
35254         * test/lisp/emacs-lisp/bytecomp-tests.el
35255         (bytecomp-tests--unescaped-char-literals): Expand test to check that
35256         we don't keep warning about old unescaped literals.
35258 2019-06-10  Michael Albinus  <michael.albinus@gmx.de>
35260         Make tramp-test43-asynchronous-requests working, again
35262         * test/lisp/net/tramp-tests.el (tramp-list-tramp-buffers):
35263         Declare `tramp-list-tramp-buffers'.
35264         (tramp--test-ignore-make-symbolic-link-error)
35265         (tramp--test-ignore-add-name-to-file-error): Improve declaration.
35266         (tramp--test-with-proper-process-name-and-buffer): New macro.
35267         (tramp-test43-asynchronous-requests): Use the macro for timer,
35268         process filter and process sentinel.  Comment the remote file
35269         operation in the timer.  Remove further async events.  Accept
35270         output from all processes.
35272 2019-06-10  Michael Albinus  <michael.albinus@gmx.de>
35274         Fix quoting problem in Tramp on w32 systems
35276         * lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
35277         * lisp/net/tramp-integration.el (tramp-connection-local-default-profile):
35278         Revert patch from 2019-05-24.  It is fixed differently.
35280         * lisp/net/tramp.el (tramp-encoding-shell):
35281         (tramp-encoding-command-switch)
35282         (tramp-encoding-command-interactive, )
35283         (tramp-unquote-shell-quote-argument): Suppress `shell-file-name'.
35284         (tramp-set-file-uid-gid):
35285         * lisp/net/tramp-sh.el (tramp-find-inline-compress)
35286         (tramp-make-copy-program-file-name):
35287         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
35288         Use `tramp-unquote-shell-quote-argument'.
35290 2019-06-10  Mattias Engdegård  <mattiase@acm.org>
35292         Fix copy-paste error in autorevert-test
35294         * test/lisp/autorevert-tests.el: Use correct name to define a remote test.
35296 2019-06-09  Juanma Barranquero  <lekktu@gmail.com>
35298         * src/editfns.c (Fngettext): Fix typos in docstring.
35300 2019-06-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35302         Avoid empty menu bar on Xaw with cairo
35304         * lwlib/lwlib-utils.c (crxft_font_open_name) [USE_CAIRO]: Return NULL if
35305         font extents are bogus.
35307 2019-06-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35309         Document exporting/printing text with X core fonts to outline images on cairo
35311         * src/xfns.c (Fx_export_frames) [USE_CAIRO]:
35312         (Fx_print_frames_dialog) [USE_CAIRO && USE_GTK]: Add notes on x font backend.
35314 2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>
35316         Omit the misplaced and unnecessary shyness qualifier
35318         * lisp/progmodes/ruby-mode.el (ruby-find-library-file):
35319         Omit the misplaced and unnecessary shyness qualifier.
35320         Suggested by Mattias Engdegård <mattiase@acm.org>.
35322 2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>
35324         Unbreak saving xref--original-window, etc
35326         * lisp/progmodes/xref.el (xref--show-xref-buffer)
35327         (xref--show-defs-buffer-at-bottom): Move major mode calls earlier.
35328         So that local variable values are not lost.
35330 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35332         Add tests for mail/uudecode.el
35334         * lisp/mail/uudecode.el: Remove redundant :group usage.
35335         * test/lisp/mail/uudecode-resources/uudecoded.txt,
35336         test/lisp/mail/uudecode-resources/uuencoded.txt,
35337         test/lisp/mail/uudecode-tests.el: New files.
35339 2019-06-09  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
35341         Fig grammar of count-lines-page
35343         * lisp/textmodes/page.el (count-lines-page):
35344         Say "Page has 1 line", not "Page has 1 lines" (Bug#35981).
35346 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35348         Make bookmark-old-default-file variable obsolete
35350         * lisp/bookmark.el (bookmark-old-default-file):
35351         Redefine as obsolete variable alias for 'bookmark-default-file'.
35352         (bookmark-maybe-load-default-file): Don't try to rename file
35353         'bookmark-old-default-file' (~/.emacs-bkmrks) to new name (Bug#35940).
35355 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35357         Make bookmark-maybe-message obsolete (Bug#35918)
35359         * lisp/bookmark.el (bookmark-maybe-message):
35360         Redefine as obsolete function alias for 'message'.
35361         (bookmark-write-file): Use a progress reporter.
35362         (bookmark-load-file): Use a progress reporter.
35364 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35366         Make `bookmark-file' variable obsolete
35368         * lisp/bookmark.el (bookmark-file): Redefine as obsolete variable
35369         alias for `bookmark-default-file'.  (Bug#35917)
35371 2019-06-09  Glenn Morris  <rgm@gnu.org>
35373         * make-dist: Doc fix for --help re --snapshot (since 201612 change).
35375 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35377         Remove interactive spec from bookmark-set-internal (bug#36121)
35379         * lisp/bookmark.el (bookmark-set-internal): Remove interactive spec.
35381 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35383         Pacify compiler in paragraphs.el after lexical-binding
35385         * lisp/textmodes/paragraphs.el: Pacify byte compiler.
35387 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35389         Use lexical-binding in password-cache.el and add tests
35391         * lisp/password-cache.el: Use lexical-binding.
35392         * test/lisp/password-cache-tests.el: New file.
35394 2019-06-09  Paul Eggert  <eggert@cs.ucla.edu>
35396         * src/fns.c (cmpfn_eql): Simplify.
35398 2019-06-09  Alex Branham  <alex.branham@gmail.com>
35400         Use lexical binding for ediff
35402         * lisp/vc/ediff-diff.el:
35403         * lisp/vc/ediff-help.el:
35404         * lisp/vc/ediff-hook.el:
35405         * lisp/vc/ediff-init.el:
35406         * lisp/vc/ediff-merg.el:
35407         * lisp/vc/ediff-vers.el:
35408         * lisp/vc/ediff-wind.el:
35409         * lisp/vc/ediff-mult.el:
35410         * lisp/vc/ediff-ptch.el:
35411         * lisp/vc/ediff.el: Use lexical binding.
35412         (ediff-version): Increase.
35413         (ediff-date): Remove.
35415 2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>
35417         Rename xref--pop-to-location to xref-pop-to-location
35419         * lisp/progmodes/xref.el (xref-pop-to-location):
35420         Rename from xref-pop-to-location.  So that third-party
35421         xref-show-definitions-function implementations can use it safely
35422         (bug#36144).  Update all callers.
35424 2019-06-09  Dmitry Gutov  <dgutov@yandex.ru>
35426         Add a built-in alternative for xref-show-definitions-function
35428         * lisp/progmodes/xref.el (xref--transient-buffer-mode-map):
35429         New variable.
35430         (xref--transient-buffer-mode): New major mode.
35431         (xref--button-map): Remove the RET binding (it was unnecessary in
35432         the first place).
35433         (xref--show-common-initialize):
35434         Extract from xref--show-xref-buffer.
35435         (xref--show-defs-buffer-at-bottom): New function.
35437 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35439         Fix TODO to convert defvar with leading '*' to defcustom
35441         * etc/TODO: Remove done TODO to remove '*' from defvar.
35442         * doc/misc/gnus.texi: Remove leading '*' from defvar example.
35443         * lisp/kermit.el (kermit-esc-char): Convert to defcustom.
35444         * lisp/desktop.el (desktop-header):
35445         * lisp/obsolete/cc-compat.el (c-indent-level)
35446         (c-brace-imaginary-offset, c-brace-offset, c-argdecl-indent)
35447         (c-label-offset, c-continued-statement-offset)
35448         (c-continued-brace-offset): Remove leading '*' from docstring.
35449         * lisp/progmodes/dcl-mode.el: Remove leading '*' from docstring in
35450         comment.
35451         * test/manual/cedet/tests/test.el: Add comment asking if example of
35452         defvar with leading '*' should be removed.
35453         (Bug#35994)  (The previous commit is also for the same bug.)
35455 2019-06-09  Stefan Kangas  <stefankangas@gmail.com>
35457         Fix TODO to remove leading '*' from defcustom
35459         * etc/TODO: Remove done TODO to remove leading '*' from defcustom
35460         doc-strings.
35461         * lisp/ibuffer.el (ibuffer-inline-columns): Remove leading '*' from
35462         doc-string.
35464 2019-06-08  Stefan Kangas  <stefankangas@gmail.com>
35466         Mark define-widget-keywords as obsolete
35468         * lisp/widget.el (define-widget-keywords): Mark as obsolete.
35469         (Bug#36065)
35471 2019-06-08  Stefan Kangas  <stefankangas@gmail.com>
35473         Use lexical-binding in underline.el and add tests
35475         * lisp/textmodes/underline.el: Use lexical-binding.
35476         * test/lisp/textmodes/underline-tests.el: New file.
35477         (Bug#36063)
35479 2019-06-08  Stefan Kangas  <stefankangas@gmail.com>
35481         Checkdoc fixes in lisp/bookmark.el
35483         * lisp/bookmark.el (bookmark-bmenu-inline-header-height)
35484         (bookmark-bmenu-marks-width, bookmark-map, bookmark-quit-flag)
35485         (bookmark-name-from-full-record, bookmark-set-internal)
35486         (bookmark-insert-annotation, bookmark--jump-via)
35487         (bookmark-bmenu-set-header, bookmark-show-annotation)
35488         (bookmark-bmenu-other-window-with-mouse, bookmark-bmenu-relocate):
35489         Checkdoc docstring fixes.  (Bug#35916)
35491 2019-06-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
35493         Fix int overflow bug in ‘equal’
35495         * src/fns.c (internal_equal):
35496         Fix bug when vector lengths exceed INT_MAX.
35498 2019-06-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
35500         Tune base64 decoding
35502         This improves performance of base64-decode-region by about 7.5% on
35503         my platform, and gets rid of some macros.
35504         * src/fns.c (IS_ASCII, IS_BASE64, IS_BASE64_IGNORABLE)
35505         (READ_QUADRUPLET_BYTE): Remove.
35506         (base64_value_to_char, base64_char_to_value):
35507         Now an array of two arrays.  All uses changed.
35508         (base64url_value_to_char, base64url_char_to_value):
35509         Remove.  All uses changed to the other array.
35510         (base64_char_to_value): Entries are now of type signed char, not
35511         short, since we can assume C99.  Use C99 initializers; this is
35512         clearer and caters to the (theoretical) possibility of systems
35513         that do not use ASCII or do not have 8-bit bytes.  Allow any index
35514         in the range 0..UCHAR_MAX instead of limiting it to 0..127, so
35515         that uses need not check for in-range indexes.  Also record
35516         padding chars.  All uses changed.
35517         (base64_decode_1): Always store number of chars in *NCHARS_RETURN,
35518         for simplicity.  All callers changed.  Speed up the byte-fetching.
35520 2019-06-08  Paul Eggert  <eggert@cs.ucla.edu>
35522         Fix out-of-source make-dist problems
35524         Problem with jisx2131-filter reported by Phillip Lord in:
35525         https://lists.gnu.org/r/emacs-devel/2019-06/msg00147.html
35526         * admin/charsets/Makefile.in (SED_SCRIPT):
35527         Put it in $(srcdir), which is not necessarily the working directory.
35528         ($(SED_SCRIPT)): Rename from jisx2131-filter.  All uses changed.
35529         (clean): Do not remove SED_SCRIPT.
35530         (extraclean): Remove it here instead.
35531         * make-dist (possibly_non_vc_files): Remove src/emacs-module.h.
35532         Although it is portable and could be distributed in the tarball,
35533         it's too much hassle to do that, so let each builder make it.
35535 2019-06-08  Bernhard Rotter  <bernhard.rotter@gmail.com>
35537         Fix path for current directory in eshell on MS-Windows
35539         On MS-Windows, PATH implicitly includes the current directory.
35540         Do it right for Eshell by adding "./" instead of ".", to
35541         avoid finding .FOO instead of ./FOO.
35542         * lisp/eshell/esh-util.el (eshell-get-path): New function.
35543         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list):
35544         * lisp/eshell/esh-ext.el (eshell-search-path): Use eshell-get-path.
35546 2019-06-08  Eli Zaretskii  <eliz@gnu.org>
35548         Minor fixes for the last commits
35550         * src/fns.c (Fbase64url_encode_region)
35551         (Fbase64url_encode_string, Fbase64_decode_region)
35552         (Fbase64_decode_string): Fix doc strings.
35553         (base64_decode_1): Minor stylistic code changes.
35555         * doc/lispref/text.texi (Base 64): Fix typos and improve
35556         wording of the last committed text.
35558 2019-06-08  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
35560         Add support for base64url variant of base-64 encoding/decoding
35562         Implement the RFC4648 variant of base64 encoding used by URLs.
35563         * doc/lispref/text.texi (base64url-encode-region,
35564         base64url-encode-string): Document new functions.
35565         (base64-decode-region, base64-decode-string): Document new optional
35566         parameter 'base64url' used to use url variant when decoding data.
35568         * src/fns.c (base64url-encode-region, base64url-encode-region): New
35569         functions to manage url variant.
35570         (base64-decode-region, base64-decode-string): Add optional
35571         parameter to indicate use of url-variant.
35572         (base64_encode_region_1, base64_encode_string_1): Internal functions
35573         with extracted code from 'base64_encode_region' and
35574         'base64_encode_string' and optional parameters to manage padding and
35575         url variant.
35576         (base64-encode-region, base64-encode-string) : Use
35577         base64_encode_region_1 and base64_encode_string_1.
35578         (base64-encode-1): Add parameters to manage padding and url variant.
35579         (base64-decode-1): Add parameter to manage url variant.
35581         * test/src/fns-tests.el (fns-tests--with-region): New helper macro to
35582         test region variant of base64 encode / decode functions.
35583         (fns-tests--string-repeat): Helper function used in base64 tests.
35584         (fns-tests-base64-encode-region, fns-tests-base64-encode-string):
35585         Tests for standard base64 function.
35586         (fns-test-base64url-encode-region,
35587         fns-test-base64url-encode-string): Tests for url variant.
35588         (fns-tests-base64-decode-string): Tests for decoding part.
35590 2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35592         Support X core font driver on cairo (Bug#28236)
35594         * configure.ac (HAVE_X_WINDOWS): Add xfont.o to FONT_OBJ if HAVE_CAIRO.
35596         * doc/lispref/frames.texi (Font and Color Parameters): Mention X core font
35597         driver with Cairo drawing.
35599         * src/font.c (syms_of_font) [HAVE_X_WINDOWS && USE_CAIRO]: Call syms_of_xfont.
35601         * src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.
35603         * src/xterm.c (x_cr_gc_clip) [USE_CAIRO]: New function extracted from
35604         x_begin_cr_clip.
35605         (x_begin_cr_clip) [USE_CAIRO]: Use it.
35606         (xlib_surface_key, saved_drawable_key) [USE_CAIRO]: New variables.
35607         (x_cr_destroy_xlib_surface, x_try_cr_xlib_drawable)
35608         (x_end_cr_xlib_drawable) [USE_CAIRO]: New functions.
35609         (x_draw_composite_glyph_string_foreground)
35610         (x_draw_glyph_string_foreground) [USE_CAIRO]: Get Xlib surface when drawing
35611         text with X core fonts into bitmap surfaces.  Add fallback code for drawing
35612         into outline surfaces.
35614 2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35616         Implement native image rotation and cropping on cairo
35618         * src/dispextern.h (struct image) [USE_CAIRO]:
35619         * src/image.c (free_image, image_clear_image_1)
35620         (image_set_crop, image_set_size, image_set_rotation)
35621         (image_create_x_image_and_pixmap) [USE_CAIRO]: #ifdef out HAVE_XRENDER part.
35623         * src/image.c (cr_create_surface_from_pix_containers) [USE_CAIRO]: Rename
35624         from cr_create_surface_from_pix_containers.  Change arguments to pair of
35625         Emacs_Pix_Container:s.  Move block_input and unblock_input to caller.
35626         (cr_put_image_to_cr_data) [USE_CAIRO]: New function.
35627         (prepare_image_for_display) [USE_CAIRO]: Use it.
35628         (image_set_transform) [USE_CAIRO]: Create dummy solid color pattern equipped
35629         with transformation matrix and set it to img->cr_data.
35631         * src/xterm.c (fringe_bmp) [USE_CAIRO]: Change type to cairo_pattern_t **.
35632         (x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap) [USE_CAIRO]: Create
35633         or destroy cairo pattern.
35634         (x_cr_draw_image) [USE_CAIRO]: Remove arguments image_width and image_height.
35635         Change type of image to cairo pattern.  All callers changed.
35637         * src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Get cairo surface
35638         from img->cr_data, which is of cairo pattern now.
35640 2019-06-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
35642         Make icalendar-import-buffer not show diary file buffer
35644         * lisp/calendar/diary-lib.el (diary-make-entry): Add
35645         omit-trailing-space parameter.  Add do-not-show parameter to
35646         allow not showing diary file buffer.
35647         * lisp/calendar/icalendar.el (icalendar--add-diary-entry): Remove
35648         workaround to omit trailing space in diary entry.  Have
35649         diary-make-entry not display the diary file buffer.  (Bug#35645)
35651 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
35653         Fix commentary about fixnums and hashes.
35655 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
35657         Fix minor ssize_t / ptrdiff_t confusion
35659         * src/fileio.c (Fcopy_file): This limit is because of ssize_t,
35660         so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX.
35662 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
35664         Use machine pointer width for face hashes
35666         * src/dispextern.h (struct face):
35667         * src/xfaces.c (hash_string_case_insensitive, lface_hash)
35668         (cache_face, lookup_face): Use uintptr_t for face hashes
35669         instead of discarding the upper pointer bits on 64-bit machines.
35671 2019-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>
35673         * lisp/gnus: Further reduce assumptions about gnus-data format
35675         * lisp/gnus/gnus-registry.el (gnus-registry-fetch-message-id-fast)
35676         (gnus-registry-fetch-simplified-message-subject-fast)
35677         (gnus-registry-fetch-sender-fast, gnus-registry-fetch-recipients-fast)
35678         (gnus-registry--set/remove-mark): Don't hardcode assoc for gnus-data-find-in.
35680         * lisp/gnus/gnus-sum.el (gnus-data-update-list): Don't hardcode `nth 2`
35681         for gnus-data-pos.
35682         (gnus-summary-insert-old-articles, gnus-summary-insert-new-articles)
35683         (gnus-summary-first-article-p): Don't hardcode `car` for `gnus-data-number`.
35684         (gnus-summary-move-article, gnus-summary-expire-articles)
35685         (gnus-summary-delete-article): Don't hardcode assoc for gnus-data-find-in.
35687         * lisp/gnus/spam.el (spam-fetch-article-header): Don't hardcode `nth 3`
35688         for gnus-data-header.
35690 2019-06-07  Eli Zaretskii  <eliz@gnu.org>
35692         Support text shaping with HarfBuzz
35694         The code to support HarfBuzz was written by these individuals:
35696           Khaled Hosny <dr.khaled.hosny@gmail.com>
35697           YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
35698           Eli Zaretskii <eliz@gnu.org>
35700         * src/xftfont.c (xftfont_list): Call ftfont_list2.
35701         (xftfont_match): Call ftfont_match2.
35702         (xftfont_open) [HAVE_HARFBUZZ]: Set the font driver to
35703         xfthbfont_driver as required.  Reset xftfont_info->hb_font to
35704         NULL.
35705         (xftfont_close) [HAVE_HARFBUZZ]: Dispose of the hb_font object.
35706         (xftfont_shape): Accept an additional argument DIRECTION and
35707         pass it to ftfont_shape.
35708         (xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
35709         (xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
35710         (syms_of_xftfont): New DEFSYM 'xfthb'.
35711         (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize
35712         xfthbfont_driver.
35714         * src/xfns.c (Fx_create_frame, x_create_tip_frame)
35715         [HAVE_HARFBUZZ]: Register the HarfBuzz font driver.
35717         * src/w32uniscribe.c (bswap_32) [HAVE_HARFBUZZ]: Define to use
35718         the builtin for GCC 4.3.9 and newer; else use byteswap.h from
35719         Gnulib.
35720         (struct uniscribe_font_info): New member 'scale'.  The member
35721         'cache' is now used both by Uniscribe and HarfBuzz backends.
35722         (uniscribe_open): Set the font backend as required by the font
35723         entity's font_type field.
35724         (uniscribe_close) [HAVE_HARFBUZZ]: Dispose of the hb_font
35725         object.
35726         (uniscribe_shape): Accept an additional argument DIRECTION.
35727         (w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
35728         (w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
35729         (w32hb_get_variation_glyphs, load_harfbuzz_funcs)
35730         [HAVE_HARFBUZZ]: New functions.
35731         (syms_of_w32uniscribe_for_pdumper): Initialize
35732         harfbuzz_font_driver if loading the requisite functions from
35733         the HarfBuzz DLL succeeded.
35735         * src/w32font.c (syms_of_w32font): New DEFSYM 'harfbuzz'.
35737         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
35738         Determine whether we should register the HarfBuzz backend, or
35739         Uniscribe backend, or both for the new frame.
35741         * src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
35742         prototype.
35744         * src/macfont.m (lgstring_direction): New enumeration.
35745         (mac_font_shape_1, mac_screen_font_shape, macfont_shape):
35746         Accept an additional argument DIRECTION; all callers changed.
35748         * src/lisp.h (get_unicode_property): Add prototype.
35750         * src/hbfont.c: New file.
35752         * src/ftxfont.c (ftxfont_list): Call ftfont_list2.
35753         (ftxfont_match): Call ftfont_match2.
35755         * src/ftfont.h [HAVE_HARFBUZZ]: Include hb.h and hb-ft.h.
35756         (struct font_info): New member hb_font.
35758         * src/ftfont.c (ftfont_list2, ftfont_list_family): New functions.
35759         (ftfont_open) [HAVE_HARFBUZZ]: Reset ftfont_info->hb_font to
35760         NULL.  Set the font backend to fthbfont_driver when required.
35761         (ftfont_close) [HAVE_HARFBUZZ]: Dispose of ftfont_info->hb_font.
35762         (ftfont_glyph_metrics): New function.
35763         (ftfont_text_extents): Call ftfont_glyph_metrics instead of
35764         FT_Load_Glyph.
35765         (ftfont_shape): Accept an additional argument DIRECTION.
35766         (ftfont_variation_glyphs) [!HAVE_OTF_GET_VARIATION_GLYPHS]:
35767         Support for variation glyphs without FLT.
35768         (fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
35769         (syms_of_ftfont): New DEFSYM freetypehb.
35770         (syms_of_ftfont_for_pdumper): Initialize fthbfont_driver.
35772         * src/ftcrfont.c (ftcrfont_list): Call ftfont_list2.
35773         (ftcrfont_match): Call ftfont_match2.
35774         (ftcrfont_open) [HAVE_HARFBUZZ]: Set the font backend to
35775         ftcrhbfont_driver as required.  Reset ftcrfont_info->hb_font
35776         to NULL.
35777         (ftcrfont_close) [HAVE_HARFBUZZ]: Discard of
35778         ftcrfont_info->hb_font.
35779         (ftcrfont_shape): Pass DIRECTION to ftfont_shape.
35780         (ftcrhbfont_list, ftcrhbfont_match)
35781         (ftcrhbfont_begin_hb_font, ftcrhbfont_end_hb_font)
35782         [HAVE_HARFBUZZ]: New functions.
35783         (syms_of_ftcrfont): New DEFSYM ftcrhb.
35784         (syms_of_ftcrfont_for_pdumper): Initialize ftcrhbfont_driver.
35786         * src/font.h [HAVE_HARFBUZZ]: Include hb.h.
35787         (struct font_driver): Update comments and function signatures
35788         to reflect the new argument DIRECTION accepted by the 'shape'
35789         method.  New methods 'begin_hb_font' and 'end_hb_font'.
35790         (hbfont_shape, hbfont_combining_capability)
35791         (fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: Add prototypes.
35793         * src/font.c (Ffont_shape_gstring): Accept an additional
35794         argument DIRECTION, and pass it to the font driver's 'shape'
35795         method.
35796         (Ffont_variation_glyphs): Doc fix.
35797         (syms_of_font): New DEFSYMS L2R and R2L.
35799         * src/composite.h (composition_reseat_it): Adjust prototype.
35801         * src/composite.c (autocmp_chars): Accept additional argument
35802         DIRECTION, and pass it to auto-composition-function.  All
35803         callers changed.
35804         (composition_reseat_it): Accept additional argument
35805         BIDI_LEVEL, and use it to determine the DIRECTION argument to
35806         be passed to autocmp_chars.  All callers changed.
35807         (syms_of_composite) <auto-composition-function>: Improve the
35808         doc string; document the meaning of the new argument
35809         DIRECTION.
35811         * src/chartab.c (get_unicode_property): New function,
35812         refactored from the body of get-unicode-property-internal.
35813         (Fget_unicode_property_internal): Call get_unicode_property
35814         after validating the input arguments.
35816         * src/Makefile.in (HARFBUZZ_CFLAGS, HARFBUZZ_LIBS): New macros.
35817         (EMACS_CFLAGS): Use HARFBUZZ_CFLAGS.
35818         (SOME_MACHINE_OBJECTS): Add hbfont.o
35819         (LIBES): Add HARFBUZZ_LIBS.
35821         * lisp/language/tv-util.el (tai-viet-composition-function):
35822         * lisp/language/thai-util.el (thai-composition-function):
35823         * lisp/language/misc-lang.el (arabic-shape-gstring):
35824         * lisp/language/lao-util.el (lao-composition-function):
35825         * lisp/language/japanese.el (compose-gstring-for-variation-glyph):
35826         * lisp/language/hebrew.el (hebrew-shape-gstring):
35827         * lisp/language/ethio-util.el (ethio-composition-function):
35828         * lisp/composite.el (compose-chars-after)
35829         (compose-gstring-for-graphic)
35830         (compose-gstring-for-dotted-circle)
35831         (compose-gstring-for-terminal, auto-compose-chars): All
35832         composition functions that call shapers now accept an
35833         additional argument DIRECTION, either L2R or R2L.
35835         * etc/NEWS: Document the HarfBuzz support.
35837         * etc/HELLO: Add diacritics to Hebrew greetings.
35839         * doc/lispref/frames.texi (Font and Color Parameters):
35840         * doc/emacs/msdos.texi (Windows Fonts): Describe the
35841         'harfbuzz' font backend on MS-Windows and how it is preferred
35842         to 'uniscribe'.
35844         * configure.ac (--wthout-harfbuzz): New option.
35845         (HAVE_HARFBUZZ): New tests.
35846         (FONT_OBJ) [HAVE_HARFBUZZ]: Add hbfont.o
35847         (emacs_config_features): Add HARFBUZZ.
35849         * admin/nt/dist-build/build-dep-zips.py: Add HarfBuzz dependency.
35851 2019-06-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
35853         Make mouse-wheel-scroll-amount consistent among platforms
35855         * lisp/term/ns-win.el (mouse-wheel-scroll-amount): Do not put any
35856         values on mouse-wheel-scroll-amount on ns.
35858 2019-06-07  Glenn Morris  <rgm@gnu.org>
35860         Merge from origin/emacs-26
35862         9254885 (origin/emacs-26) Resurrect display-line-number-mode in clien...
35863         aecbbd5 * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
35864         8e5fc38 Fix typo
35865         ee21b40 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36...
35866         f68b33f Fix styling of Unicode codepoints in manuals
35867         ff7ec6f Fix a few uses of quotes in user manual
35868         b67042b More minor copyedits in the Emacs manual
35869         9734b5c Fix minor issues in the Emacs manual
35870         c153250 Try to improve text on atomic windows in Elisp manual
35871         fb314ba Don't recommend insert-before-markers in process filters
35873 2019-06-07  Glenn Morris  <rgm@gnu.org>
35875         Merge from origin/emacs-26
35877         2860285 Allow macros autoloaded as functions during bytecomp (Bug#36022)
35879 2019-06-07  Eli Zaretskii  <eliz@gnu.org>
35881         Fix failures of term-tests on MS-Widows
35883         * test/lisp/term-tests.el (term-simple-lines)
35884         (term-carriage-return, term-line-wrap, term-cursor-movement)
35885         (term-scrolling-region, term-set-directory)
35886         (term-line-wrapping-then-motion, term-to-margin): Skip tests
35887         on MS-Windows and MS-DOS.
35889 2019-06-07  John Shahid  <jvshahid@gmail.com>
35891         Consider line spacing and font height when deriving proc window size
35893         * lisp/window.el (window-adjust-process-window-size): Use
35894           window-screen-lines instead of window-body-height.
35895         * lisp/term.el (term-mode): Use window-screen-lines to set the initial
35896           window height.
35898 2019-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35900         Fix image_set_crop yet again
35902         * src/image.c (image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Don't call
35903         compute_image_size, as it is already called from image_set_size.
35904         (image_set_size, image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Use harmless
35905         matrix transformation code also for USE_CAIRO and HAVE_NTGUI cases,
35906         though image_set_transform is not yet implemented on them.
35908 2019-06-07  Eli Zaretskii  <eliz@gnu.org>
35910         Avoid compiler warning in copy-file-range.c on MS-Windows
35912         * nt/mingw-cfg.site (gl_cv_func_copy_file_range): Set to "yes",
35913         to avoid compiling lib/copy-file-range.c on MS-Windows.
35915 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
35917         Fix recently-introduced image_set_crop typo
35919         * src/image.c (image_set_crop) [!HAVE_NATIVE_TRANSFORMS]:
35920         Don’t call compute_image_size, as it does not exist and its
35921         result is not needed.
35923 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
35925         Use copy_file_range to copy files
35927         The copy_file_range syscall (introduced in Linux kernel
35928         version 4.5) can copy files more efficiently via server-side
35929         copy etc.
35930         * admin/merge-gnulib (GNULIB_MODULES): Add copy-file-range.
35931         * lib/copy-file-range.c, m4/copy-file-range.m4:
35932         New files, copied from Gnulib.
35933         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
35934         * src/fileio.c (Fcopy_file): Try copy_file_range first,
35935         falling back on read+write only if copy_file_range failed or
35936         if the input is empty and so could be a /proc file.
35938 2019-06-07  Paul Eggert  <eggert@cs.ucla.edu>
35940         Update from Gnulib
35942         This incorporates:
35943         2019-06-04 copy-file-range: new module
35944         2019-05-28 binaty-io: O_BINARY on consoles no longer fails
35945         * doc/misc/texinfo.tex, lib/binary-io.c, lib/binary-io.h:
35946         * lib/unistd.in.h, m4/unistd_h.m4: Copy from Gnulib.
35947         * lib/gnulib.mk.in: Regenerate.
35949 2019-06-06  Noam Postavsky  <npostavs@gmail.com>
35951         Add "pin" to password-word-equivalents (Bug#35523)
35953         * lisp/international/mule-conf.el (password-word-equivalents): Add "pin".
35954         * test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
35955         test case.
35957 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
35959         Fix overflow issues in image rotation
35961         Also, do some refactoring to simplify code.
35962         * src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): Remove.
35963         * src/image.c (matrix3x3): New type, replacing all uses of 3x3 double.
35964         (matrix3x3_copy, matrix3x3_mult): New functions, replacing
35965         COPY_MATRIX, MULT_MATRICES.  Replace INIT_MATRIX by C initializers.
35966         (image_set_rotation): Use Fmod to avoid undefined behavior on
35967         double-to-int conversion and to reduce bignum rotations correctly.
35968         (image_set_crop): Finish up previous correction, by not re-setting
35969         width and height if compute_image_size has set them.
35970         Prefer shifting right by 1 to dividing by 2 if either will do.
35972 2019-06-06  Eli Zaretskii  <eliz@gnu.org>
35974         Fix redisplay glitches with RTL composed text
35976         * src/xdisp.c (init_to_row_end): Fail if the first visible
35977         position on the line following ROW is bidi-reordered and could
35978         be composed.  (Bug#35811)
35980 2019-06-06  Oleh Krehel  <ohwoeowho@gmail.com>
35982         lisp/gnus/message.el (message--send-mail-maybe-partially): Extract
35984         lisp/gnus/message.el (message--check-continuation-headers): Extract
35986         lisp/gnus/message.el (message--fold-long-headers): Add docstring
35988 2019-06-06  Mark A. Hershberger  <mah@nichework.com>
35990         Restore height and with from that were accidentally removed
35992         See 610fb73ab6d7a22b722f523d6ebc4aa8fa1db7c9
35993         USE_CARIO needs these.
35995 2019-06-05  Steve Scott  <steve@stevescott.ca>  (tiny change)
35997         Check rcirc-server for auto authentication (Bug#10162)
35999         Since the hostname returned by irc.freenode.net can be something other
36000         than irc.freenode.net, e.g. niven.freenode.net, the entries for
36001         rcirc-authinfo and rcirc-server-alist will not match.
36002         * lisp/net/rcirc.el (rcirc-handler-001): Check rcirc-server (the
36003         hostname connected to) instead of rcirc-server-name (the hostname
36004         returned), this corresponds with what rcirc-authenticate does.
36005         Moreover, if rcirc-auto-authenticate-flag is set, check the
36006         corresponding rcirc-authinfo, regardless of whether the
36007         rcirc-authenticate-before-join must happen.
36009 2019-06-05  Noam Postavsky  <npostavs@gmail.com>
36011         Keep nxml prolog updated via syntax-propertize
36013         Instead of using after-change-functions.  Also, stop consulting
36014         nxml-prolog-regions during syntax-propertize.  It turns out the
36015         problems fixed by using prolog information are actually due to using
36016         the wrong syntax table during propertizing.  This was fixed in
36017         2019-06-04 "* lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for
36018         syntax-propertize." so consulting the prolog data is no longer needed.
36019         * lisp/nxml/nxml-rap.el (nxml-maybe-rescan-prolog): Remove.
36020         * lisp/nxml/nxml-mode.el (nxml-mode): Stop using it.
36021         (nxml-syntax-propertize): Don't use nxml-prolog-regions, just call
36022         nxml-scan-prolog if needed before delegating to
36023         sgml-syntax-propertize.
36024         * test/lisp/nxml/nxml-mode-tests.el (nxml-mode-edit-prolog): New test.
36026 2019-06-05  Alan Third  <alan@idiocy.org>
36028         Add native image rotation and cropping
36030         * lisp/image.el (image--get-imagemagick-and-warn): Only fallback to
36031         ImageMagick if native transforms aren't available.
36032         * src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): New
36033         macros for matrix manipulation.
36034         (HAVE_NATIVE_SCALING, HAVE_NATIVE_TRANSFORMS): Rename and change all
36035         relevant locations.
36036         * src/image.c (x_set_image_rotation):
36037         (x_set_transform): New functions.
36038         (x_set_image_size): Use transform matrix for resizing under X and NS.
36039         (x_set_image_crop): New function.
36040         (lookup_image): Use the new transform functions.
36041         (Fimage_scaling_p, Fimage_transforms_p): Rename and update all
36042         callers.
36043         * src/nsimage.m (ns_load_image): Remove rotation code.
36044         (ns_image_set_transform): New function.
36045         ([EmacsImage dealloc]): Release the saved transform.
36046         ([EmacsImage rotate:]): Remove unneeded method.
36047         ([EmacsImage setTransform:]): New method.
36048         * src/nsterm.h (EmacsImage): Add transform property and update method
36049         definitions.
36050         * src/nsterm.m (ns_dumpglyphs_image): Use the transform to draw the
36051         image correctly.
36052         * src/xterm.c (x_composite_image): Use PictOpSrc as we don't care
36053         about alpha values here.
36054         * doc/lispref/display.texi (Image Descriptors): Add :rotation.
36055         (ImageMagick Images): Remove :rotation.
36057 2019-06-05  Phillip Lord  <phillip.lord@russet.org.uk>
36059         No longer add debug symbols to release build
36061         * admin/nt/dist-build/build-zips.sh: Remove -g3 from release build and
36062           install with install-strip
36064 2019-06-05  Juri Linkov  <juri@linkov.net>
36066         * lisp/wid-edit.el (widget-choose): Use display-buffer-in-direction
36068         to display buffer in bottom direction with fit-window-to-buffer.
36070         * lisp/proced.el (proced-with-processes-buffer): Idem.  (Bug#35592)
36072 2019-06-05  Michael Albinus  <michael.albinus@gmx.de>
36074         * doc/misc/tramp.texi (Obtaining Tramp): Explain version scheme.
36076         (Traces and Profiles): Add `tramp-verbose' to @vindex.
36078 2019-06-05  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>
36080         Do not use syntax-ppss-table in syntax-propertize when nil (Bug#36095)
36082         * lisp/emacs-lisp/syntax.el (syntax-propertize): Use (syntax-table)
36083         instead of syntax-ppss-table when the latter is nil.
36085 2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
36087         * lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for syntax-propertize.
36089         `syntax-ppss` uses `syntax-ppss-table` while parsing the buffer as well
36090         as when it calls `syntax-propertize`, but `syntax-propertize` can also
36091         be called directly rather than via `syntax-ppss` so it needs to explicitly
36092         use `syntax-ppss-table` as well in order to avoid using sometimes one
36093         table and sometimes another.
36095         (syntax-ppss-table): Move before new use.
36096         (syntax-propertize): Use it.
36098 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
36100         Remove retired maintainers from comments
36102         * lisp/international/quail.el, lisp/language/ind-util.el:
36103         * lisp/language/indian.el, lisp/mail/smtpmail.el, lisp/mwheel.el:
36104         * lisp/obsolete/longlines.el, lisp/progmodes/idlw-complete-structtag.el:
36105         * lisp/progmodes/idlw-help.el, lisp/progmodes/idlw-shell.el:
36106         * lisp/progmodes/idlw-toolbar.el, lisp/progmodes/idlwave.el:
36107         * lisp/progmodes/simula.el, lisp/ps-print.el, lisp/ps-samp.el:
36108         Remove Maintainer: lines for maintainers who have retired.
36110 2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
36112         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix memory leak
36114         Get rid of references to the free variables of `body` once the thunk has
36115         been forced (bug#30626).
36117 2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
36119         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): More verbose comments
36121 2019-06-04  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
36123         Specify the matching chars for JSX open/close parenthesis
36125         * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Indicate the
36126         matching parenthesis character (since JSX’s < and > aren’t typical
36127         parenthesis) for the sake of packages like rainbow-delimiters which
36128         need that information.
36130 2019-06-04  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
36132         Revert "Add extra text property to fix issue with js2-mode integration"
36134         This reverts commit 382a508ed21e4f12ace9f8871818e25235e8f05e.
36136         We ended up deciding against using this in js2-mode.  Instead,
36137         js2-mode may eventually use js-mode’s syntax-propertize-function to
36138         set syntax-table text properties.
36140 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
36142         Update lispref spellfile
36144         * doc/lispref/spellfile: Omit words no longer in the manual.
36145         How is this spellfile used?  Does anybody use it any more?
36147 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
36149         Adjust comments/debug to match C bignum code
36151         * doc/lispintro/emacs-lisp-intro.texi (Digression into C):
36152         Adjust to match current C code.
36153         * lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation):
36154         Simplify.
36155         * src/.gdbinit (Lisp_Object_Printer.to_string): Return
36156         a string that says "make_fixnum", not "make_number".
36158 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
36160         Always allow at least double-precision bignums
36162         Without this fix, Emacs can get into a tight loop reporting
36163         a range error when calculating timestamps.
36164         * doc/lispref/numbers.texi (Integer Basics):
36165         * src/alloc.c (syms_of_alloc): Document this.
36166         * src/bignum.c (make_bignum_bits): Always allow bignums
36167         of at least twice the width of (u)intmax_t.
36169 2019-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
36171         * lisp/gnus/message.el (message-send-mail): Tweak last commit
36173 2019-06-04  Noam Postavsky  <npostavs@gmail.com>
36175         Keep nxml-prolog-end up to date (Bug#18871)
36177         The change on 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
36178         removed the update of nxml-prolog-end, although it already failed to
36179         work correctly after 2013-10-07 "* lisp/nxml/nxml-mode.el: Use
36180         lexical-binding and syntax-propertize."
36181         * lisp/nxml/nxml-rap.el: New function.
36182         * lisp/nxml/nxml-mode.el (nxml-mode): Add it to
36183         after-change-functions.
36185 2019-06-04  Noam Postavsky  <npostavs@gmail.com>
36187         Don't sgml-syntax-propertize-inside XML prolog (Bug#32823)
36189         * lisp/nxml/nxml-mode.el (nxml-syntax-propertize): New function.
36190         (nxml-mode): Use it as the syntax-propertize-function.
36191         * test/lisp/nxml/nxml-mode-tests.el (nxml-mode-doctype-and-quote-syntax)
36192         (nxml-mode-prolog-comment): New tests.
36194 2019-06-04  Noam Postavsky  <npostavs@gmail.com>
36196         Don't fontify text outside of SGML/XML tags (Bug#33887)
36198         * lisp/textmodes/sgml-mode.el (sgml-font-lock-syntactic-face): New
36199         function.
36200         (sgml-mode):
36201         * lisp/nxml/nxml-mode.el (nxml-mode): Use it as
36202         font-lock-syntactic-face-function value.
36204 2019-06-04  Noam Postavsky  <npostavs@gmail.com>
36206         Fix some SGML syntax edge cases (Bug#33887)
36208         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Handle
36209         single and double quotes symmetrically.  Don't skip quoted comment
36210         enders.
36211         * test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
36212         Add more test cases.
36213         (sgml-mode-quote-in-long-text): New test.
36215 2019-06-04  Michael Albinus  <michael.albinus@gmx.de>
36217         Stronger check for Tramp method
36219         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
36220         * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
36221         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
36222         Use `tramp-get-connection-name'.
36224         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
36225         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
36226         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
36227         Don't check remote TARGET.
36229         * lisp/net/tramp.el (tramp-dissect-file-name): Check for proper method.
36230         (tramp-file-name-for-operation): Take only 2nd argument into
36231         account for file name handler.
36232         (tramp-file-name-handler): Suppress checks for `file-remote-p'.
36234         * test/lisp/net/tramp-archive-tests.el
36235         (tramp-archive-test02-file-name-dissect): Suppress check for wrong
36236         method.
36238         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
36239         Dump *all* Tramp buffers.
36240         (tramp-test02-file-name-dissect)
36241         (tramp-test02-file-name-dissect-simplified)
36242         (tramp-test02-file-name-dissect-separate): Check also wrong method.
36243         (tramp-test03-file-name-defaults): Check, that the respective
36244         Tramp package is loaded.
36245         (tramp-test04-substitute-in-file-name)
36246         (tramp-test05-expand-file-name)
36247         (tramp-test06-directory-file-name, tramp-test44-auto-load):
36248         Suppress check for wrong method.
36249         (tramp-test30-make-process): Remove instrumentation code.
36250         (tramp-test31-interrupt-process, tramp-test36-vc-registered):
36251         Guarantee that connection is established prior starting process.
36253 2019-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36255         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Dirty only destination rectangle.
36257         * src/image.c (cr_create_cr_surface_from_image): Add const to variable `key'.
36259 2019-06-03  Noam Postavsky  <npostavs@gmail.com>
36261         Let untarring (and hence package installation) go faster (Bug#35909)
36263         * lisp/subr.el (progress-reporter-update)
36264         (progress-reporter-force-update, progress-reporter-do-update): Accept
36265         new optional argument, SUFFIX.
36266         * doc/lispref/display.texi (Progress): Document it.
36267         * etc/NEWS: Announce it.
36268         * lisp/tar-mode.el (tar-untar-buffer): Use a progress reporter instead
36269         of calling message.  Suppress message from write-region.  Let-bind
36270         write-region-inhibit-fsync to t.
36272 2019-06-03  Phillip Lord  <phillip.lord@russet.org.uk>
36274         Update dependencies
36276         * admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as dependency
36278 2019-06-03  Juri Linkov  <juri@linkov.net>
36280         User-friendly display of error messages at the end of minibuffer
36282         * lisp/simple.el (minibuffer-setup-hook): Add minibuffer-error-initialize.
36283         (minibuffer-error-initialize, minibuffer-error-function): New functions.
36284         (Bug#34939)
36286 2019-06-03  Juri Linkov  <juri@linkov.net>
36288         * lisp/char-fold.el (char-fold-make-table): New function
36290         with body extracted from INITVALUE of defconst (bug#35689).
36291         Bind search-spaces-regexp to nil (bug#35802).
36293         * test/lisp/char-fold-tests.el: Relocate helpers to file beginning.
36294         (char-fold--test-bug-35802): New test.
36296 2019-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
36298         * lisp/gnus/gnus-async.el: Use lexical-binding
36300         Remove redundant :group args.
36301         (gnus-async-post-fetch-function): Make it always be a function.
36302         (gnus-make-async-article-function, gnus-async-prefetch-headers):
36303         Use a closure rather than `(lambda ...)
36305 2019-06-03  Oleh Krehel  <ohwoeowho@gmail.com>
36307         lisp/gnus/message.el (message-send-mail): Don't wrongly assert on Unicode msg
36309         Using this setting:
36311             (setq message-send-mail-function 'message-send-mail-with-sendmail)
36312             (setq sendmail-program "msmtp")
36314         the message seding is handled by an external program, so no Unicode
36315         encoding is performed in Emacs. Thus Emacs must not assert that the
36316         Unicode encoding was performed.
36318 2019-06-02  Juanma Barranquero  <lekktu@gmail.com>
36320         * lisp/help-fns.el (help-fns--first-release): Do not fail if no release is found.
36322 2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
36324         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-async.el: Eliminate assumptions about gnus-data format
36326         * lisp/gnus/gnus-async.el (gnus-async-with-semaphore): Use `declare`.
36327         (gnus-async-prefetch-next): Don't assume gnus-data-number == car.
36329         * lisp/gnus/gnus-sum.el (gnus-data-find-in): New function.
36330         (gnus-data-find, gnus-data-find-list): Use it.
36331         (gnus-summary-article-subject): Make it a function.
36332         (gnus--dummy-data-list): New const.
36333         (gnus-update-summary-mark-positions): Use it.
36335 2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
36337         * lisp/gnus/gnus.el: Fix cycle in eager macroexpansion
36339         * lisp/gnus/gnus-sum.el (gnus-data): Use cl-defstruct.
36340         (gnus-data-set-pos, gnus-data-set-header, gnus-data-set-mark)
36341         (gnus-data-set-number): Delete macros; use `setf` instead.
36342         (gnus-data-unread-p, gnus-data-read-p, gnus-data-pseudo-p, gnus-data-find)
36343         (gnus-summary-skip-intangible, gnus-summary-article-number):
36344         Redefine as inlinable functions rather than macros.
36346         * lisp/gnus/gnus.el: Adjust autoloads for the macros turned functions.
36348 2019-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
36350         * lisp/help-fns.el: Make hyperlink for the "first release" info
36352         * lisp/help-fns.el (help-fns--first-release): Return a "button".
36353         (help-fns--mention-first-release): Preserve the string's text-properties.
36355         * lisp/help-mode.el (help-news): New button type.
36357 2019-06-02  Alan Mackenzie  <acm@muc.de>
36359         Change default offset of CC Mode syntactic symbol inlambda to 0
36361         It's previous default was c-lineup-inexpr-block.  This change is mainly to
36362         prevent excessive indentation of the innards of C++ lambda functions.
36364         * lisp/progmodes/cc-vars.el (c-offsets-alist): Amend the offset for inlambda
36365         to 0.
36367         * doc/misc/cc-mode.texi (FAQ): Amend the answer to the question about this
36368         matter.
36370 2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36372         Implement the get_variation_glyphs method for FreeType >= 2.3.6
36374         * configure.ac: Check availability of FT_Face_GetCharVariantIndex.
36376         * src/ftfont.c (ftfont_variation_glyphs) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
36377         Add function implementation.
36379         * src/ftcrfont.c (ftcrfont_variation_glyphs)
36380         [HAVE_FT_FACE_GETCHARVARIANTINDEX]: Use function implementation for
36381         HAVE_OTF_GET_VARIATION_GLYPHS.
36383         * src/ftfont.c (ftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
36384         * src/xftfont.c (xftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
36385         * src/ftxfont.c (ftxfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
36386         * src/ftcrfont.c (ftcrfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
36387         Populate the get_variation_glyphs method.
36389 2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36391         Revert previous commit
36393         This reverts commit 1ab69630dcb8c7a1b1b4171211a7c8ebf11b0d1c.
36394         It has a wrong commit message.
36396 2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36398         Make fthbfont and derivatives use common HarfBuzz code in hbfont.c
36400         * src/font.h (fthbfont_shape, fthbfont_combining_capability)
36401         [HAVE_HARFBUZZ]: Remove prototypes.
36403         * src/ftfont.c: Don't include math.h.
36404         (uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
36405         (fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
36406         [HAVE_HARFBUZZ]: Remove functions.
36408         * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
36409         * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
36410         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
36411         hbfont_shape and hbfont_combining_capability for fthbfont_shape and
36412         fthbfont_combining_capability, respectively.
36414 2019-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36416         Make fthbfont and derivatives use common HarfBuzz code in hbfont.c
36418         * src/font.h (fthbfont_shape, fthbfont_combining_capability)
36419         [HAVE_HARFBUZZ]: Remove prototypes.
36421         * src/ftfont.c: Don't include math.h.
36422         (uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
36423         (fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
36424         [HAVE_HARFBUZZ]: Remove functions.
36426         * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
36427         * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
36428         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
36429         hbfont_shape and hbfont_combining_capability instead of fthbfont_shape
36430         and fthbfont_combining_capability, respectively.
36432 2019-06-01  Glenn Morris  <rgm@gnu.org>
36434         Skip some flymake tests on hydra.nixos.org
36436         * test/lisp/progmodes/flymake-tests.el (perl-backend)
36437         (included-c-header-files, recurrent-backend):
36438         Skip on hydra.nixos due to frequent intermittent failures.  (Bug#32764)
36440 2019-06-01  Stefan Kangas  <stefankangas@gmail.com>
36442         Use lexical-binding in morse.el and studly.el and add tests
36444         * lisp/play/morse.el: Use lexical-binding.
36445         * lisp/play/studly.el: Use lexical-binding.
36446         * test/lisp/play/morse-tests.el: New file.
36447         * test/lisp/play/studly-tests.el: New file.
36449 2019-06-01  Stefan Kangas  <stefankangas@gmail.com>
36451         Use lexical-binding in paragraphs.el and add tests
36453         * lisp/textmodes/paragraphs.el: Use lexical-binding.
36454         (repunctuate-sentences): Make it work non-interactively.
36455         * test/lisp/textmodes/paragraphs-tests.el: New file.
36457 2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>
36459         Fix .gitignore spec for personal customizations
36461         Problem reported by Mauro Aranda (Bug#35945).
36462         * .gitignore: Replace .dir-locals?.el with .dir-locals-2.el.
36464 2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>
36466         Tune cl-assoc
36468         * lisp/emacs-lisp/cl-seq.el (cl-assoc): Use assq for fixnums.
36470 2019-06-01  Mattias Engdegård  <mattiase@acm.org>
36472         Fix `cl-member' and `cl-assoc' for bignums
36474         * lisp/emacs-lisp/cl-seq.el (cl-member, cl-assoc): Work with bignums.
36475         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-bignum-eql): New.
36477 2019-06-01  Daniel Ralston  <wubbulous@gmail.com>  (tiny change)
36479         Make rcirc PART and QUIT reasons customizable (Bug#12857)
36481         * lisp/net/rcirc.el: (rcirc-default-part-reason, rcirc-default-quit-reason):
36482         New customizable vars.
36483         (rcirc-cmd-quit, rcirc-cmd-part): Consult them.
36485 2019-06-01  Noam Postavsky  <npostavs@gmail.com>
36487         Handle argument to rcirc /part properly (Bug#11157)
36489         * lisp/net/rcirc.el (part): Split out channel name and part reason.
36490         * doc/misc/rcirc.texi (rcirc commands): Clarify that channel name may
36491         be provided to /part.
36493 2019-06-01  Noam Postavsky  <npostavs@gmail.com>
36495         * lisp/net/rcirc.el: Remove redundant :group usage
36497         ... and empty Todo comment section.
36499 2019-06-01  Alan Mackenzie  <acm@muc.de>
36501         Debug and disentangle the literal caching in CC Mode
36503         (Final Commit)
36505         * lisp/progmodes/cc-engine.el (c-semi-trim-near-cache): Correct a comparison
36506         with the wrong ...-limit variable.
36507         (c-semi-pp-to-literal): Remove a wrong setting of c-lit-pos-cache-limit.
36508         (c-full-get-near-cache-entry): Eliminate extravagant and unneeded coding.
36509         (c-state-cache-init, c-record-parse-state-state): No longer manipulate
36510         c-lit-pos-cache, which is no longer regarded as part of c-parse-state.
36512         * lisp/progmodes/cc-mode.el (c-basic-common-init): Call
36513         c-truncate-lit-pos-cache to initialize the literal cache.
36515 2019-06-01  Alan Mackenzie  <acm@muc.de>
36517         * lisp/progmodes/cc-engine.el: Permute certain literal caching functions
36519 2019-06-01  Alan Mackenzie  <acm@muc.de>
36521         Tidy up the literal caching in CC Mode, optimizing c-full-pp-to-literal
36523         (Intermediate commit)
36525         * lisp/progmodes/cc-engine.el, lisp/progmodes/cc-fonts.el
36526         * lisp/progmodes/cc-mode.el : Rename:
36527         c-state-semi-nonlit-pos-cache -> c-lit-pos-cache,
36528         c-state-semi-nonlit-pos-cache-limit -> c-lit-pos-cache-limit,
36529         c-state-semi-nonlit-near-cache -> c-semi-lit-near-cache,
36530         c-truncate-semi-nonlit-pos-cache -> c-truncate-lit-pos-cache,
36531         c-state-semi-trim-near-cache -> c-semi-trim-near-cache,
36532         c-state-semi-get-near-cache-entry -> c-semi-get-near-cache-entry,
36533         c-state-semi-put-near-cache-entry -> c-semi-put-near-cache-entry,
36534         c-state-semi-pp-to-literal -> c-semi-pp-to-literal,
36535         c-state-full-pp-to-literal -> c-full-pp-to-literal,
36536         c-state-semi-trim-cache -> c-trim-lit-pos-cache.
36538         * lisp/progmodes/cc-engine.el (c-semi-near-cache-limit): New variable.
36539         (c-truncate-lit-pos-cache): This now truncates the cache variables for all
36540         three lit- sub-caches.
36541         (c-semi-put-near-cache-entry): Increase c-semi-near-cache-limit to the
36542         position of the new entry.
36543         (c-full-near-cache-limit, c-full-lit-near-cache): New variables.
36544         (c-full-trim-near-cache, c-full-get-near-cache-entry)
36545         (c-full-put-near-cache-entry): New functions.
36546         (c-full-pp-to-literal): Amend to use the new functions, and to optimize the
36547         use of the available caches, similarly to c-semi-pp-to-literal.
36549 2019-06-01  Paul Eggert  <eggert@cs.ucla.edu>
36551         Port hbfont.c to GCC 9 with --enable-gcc-warnings
36553         * src/hbfont.c (hbfont_shape): Use ptrdiff_t, not int,
36554         for indexes that in theory might overflow int.
36555         Add UNINIT to pacify GCC 9 and omit an unnecessary initialization.
36557 2019-06-01  Glenn Morris  <rgm@gnu.org>
36559         Merge from origin/emacs-26
36561         008b263 (origin/emacs-26, emacs-26) * lisp/gnus/gnus.el: Mark autoloa...
36562         daf32f1 Speed up redisplay of HELLO
36563         d8a6d82 Improve documentation of 'safe-local-variable' property
36565         # Conflicts:
36566         #       etc/HELLO
36568 2019-06-01  Glenn Morris  <rgm@gnu.org>
36570         Merge from origin/emacs-26
36572         134edc1 Warn about wrong number of args for subrs (Bug#35767)
36573         5f01af6 Use plain symbols for eieio type descriptors (Bug#29220)
36574         4b24b01 Pacify GCC 9 -Wredundant-decls
36576 2019-06-01  Glenn Morris  <rgm@gnu.org>
36578         Merge from origin/emacs-26
36580         b2e44b4 Pacify GCC when compiling unexelf.c on Fedora 30
36582 2019-06-01  Glenn Morris  <rgm@gnu.org>
36584         Merge from origin/emacs-26
36586         1b2f83b Fix docstring of bookmark-get-bookmark
36588 2019-06-01  Glenn Morris  <rgm@gnu.org>
36590         Merge from origin/emacs-26
36592         2168165 ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix typo.
36593         8f18d12 Improve documentation of decoding into a unibyte buffer
36594         7681a57 Remove redundants "See" before @xref or @pxref (Bug#35793)
36595         9bee762 ; * src/coding.c: Improve commentary.  (Bug#34765)
36596         e61349c Fix customization type of recentf-max-saved-items
36598         # Conflicts:
36599         #       src/coding.c
36601 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
36603         Implement the get_variation_glyphs method for HarfBuzz on MS-Windows
36605         * src/w32uniscribe.c [HAVE_HARFBUZZ]: DEF_DLL_FN
36606         hb_font_get_variation_glyph.
36607         (hb_font_get_variation_glyph): New redirection macro.
36608         (w32hb_get_variation_glyphs): New function.
36609         (load_harfbuzz_funcs): Load hb_font_get_variation_glyph.
36610         (syms_of_w32uniscribe_for_pdumper): Populate the
36611         get_variation_glyphs method of harfbuzz_font_driver.
36613 2019-06-01  Simen Heggestøyl  <simenheg@gmail.com>
36615         Use lexical-binding in page.el and add tests
36617         * lisp/textmodes/page.el: Use lexical-binding.
36618         (forward-page): Replace `(if x nil y)' with `(unless x y)'.
36620         * test/lisp/textmodes/page-tests.el: New file with tests for page.el.
36622 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
36624         Update the documentation due to changes in loading font backends
36626         * doc/emacs/msdos.texi (Windows Fonts): Reflect the fact that
36627         Uniscribe is not enabled by default.
36629 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
36631         Prefer HarfBuzz to Uniscribe on MS-Windows
36633         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
36634         Register the Uniscribe font backend only if HarfBuzz is not
36635         available, or if explicitly requested via frame parameters
36636         or resources.
36638 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
36640         Move common HarfBuzz code to a common file hbfont.c
36642         * src/hbfont.c: New file, with code moved from w32uniscribe.c
36643         and renamed/modified as appropriate.
36644         * src/w32uniscribe.c: Move to hbfont.c DEF_DLL_FN and macro
36645         definitions for HarfBuzz functions used in hbfont.c
36646         (load_harfbuzz_funcs): Move loading of HarfBuzz functions used
36647         by hbfont.c to hbfont.c:hbfont_init_w32_funcs, and call that
36648         function from here.
36649         (syms_of_w32uniscribe_for_pdumper): Fill the 'shape' and
36650         'combining_capability' members with hbfont.c function names.
36651         * src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
36652         prototype.
36653         * src/font.h (hbfont_shape, hbfont_combining_capability)
36654         [HAVE_HARFBUZZ]: Add prototypes.
36655         * src/Makefile.in (SOME_MACHINE_OBJECTS): Add hbfont.o.
36657         * configure.ac (FONT_OBJ): Add hbfont.o if HAVE_HARFBUZZ.
36659 2019-06-01  Stefan Kangas  <stefankangas@gmail.com>
36661         Use lexical-binding in timezone.el and add tests
36663         * lisp/timezone.el: Use lexical-binding.
36664         * test/lisp/timezone-tests.el: New file.
36666 2019-05-31  Simen Heggestøyl  <simenheg@gmail.com>
36668         Use lexical-binding in autoinsert.el and add tests
36670         * lisp/autoinsert.el: Use lexical-binding.
36671         Remove redundant :group args.
36672         (auto-insert): Simplify.
36674         * test/lisp/autoinsert-tests.el: New file with tests for
36675         autoinsert.el.
36677 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
36679         Unbreak MinGW64 build with pthreads.h installed
36681         * nt/mingw-cfg.site (gl_cv_func_pthread_sigmask_macro): Set to
36682         "no", to avoid compiling Gnulib's pthread_sigmask.c.
36683         Reported by Richard Copley <rcopley@gmail.com>.
36685 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
36687         Enhance Hebrew display in HELLO
36689         * etc/HELLO: Show off display of Hebrew with diacriticals
36690         (a.k.a. "nikkud").
36692 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
36694         Fix handling of -xrm on MS-Windows broken by recent commits
36696         * src/w32reg.c (w32_get_string_resource): The argument V_RDB
36697         is a 'char **', not a 'char *'.  This fixes -xrm handling on
36698         MS-Windows, broken by conversion of x_get_string_resource to
36699         terminal-specific hook.
36701         (cherry picked from commit 833097cbc4856001ae77b33365faf09c1b3c30e3)
36703 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
36705         Unbreak display of characters on MS-Windows
36707         * src/w32font.c (w32font_draw): Convert the glyph_string's
36708         char2b array to 16-bit WCHAR data that ExtTextOutW needs.
36710         (cherry picked from commit 38564f8a664347c42f7614d9c91e0d49e4a073e8)
36712 2019-05-31  Eli Zaretskii  <eliz@gnu.org>
36714         Add HarfBuzz font backend for MS-Windows
36716         * src/w32uniscribe.c [HAVE_HARFBUZZ]: Include math.h and
36717         hb.h.
36718         (bswap_32): Define for GCC 4.3.0 and later; else include
36719         <byteswap.h> from Gnulib.
36720         (struct uniscribe_font_info): Extend for HarfBuzz; 'cache' is
36721         now a 'void *' (all users changed).
36722         [HAVE_HARFBUZZ]: Define typedefs for HarfBuzz functions to be
36723         loaded dynamically from the HarfBuzz DLL.  Define macros to
36724         call those functions via function pointers.
36725         (uniscribe_open) [HAVE_HARFBUZZ]: Use the HarfBuzz font driver
36726         if the type of the font entity is 'harfbuzz'.
36727         (uniscribe_close) [HAVE_HARFBUZZ]: For fonts using the
36728         HarfBuzz backend, call hb_font_destroy to free memory used for
36729         the cached hb_font data.
36730         (uniscribe_shape): Fix assignment of character codepoints to
36731         glyphs from a single cluster.
36732         (w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
36733         (w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
36734         (w32uni_combining, w32uni_general, w32uni_mirroring)
36735         (get_hb_unicode_funcs, w32hb_shape)
36736         (w32hb_combining_capability, load_harfbuzz_funcs)
36737         [HAVE_HARFBUZZ]: New functions.
36738         (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]: Load the
36739         HarfBuzz DLL and register the HarfBuzz backend with its
36740         functions.
36741         * src/w32font.c (syms_of_w32font) <Qharfbuzz>: New DEFSYM.
36742         * src/w32fns.c (Fx_create_frame, w32_create_tip_frame)
36743         [HAVE_HARFBUZZ]: Register the harfbuzz font backend.
36744         * src/lisp.h (get_unicode_property): Declare prototype.
36745         * src/font.h (harfbuzz_font_driver) [HAVE_NTGUI]: Declare.
36746         * src/chartab.c (get_unicode_property): New function, body
36747         taken from get-unicode-property-internal.
36748         (Fget_unicode_property_internal): Call get_unicode_property
36749         after validating input.
36751         * doc/lispref/frames.texi (Font and Color Parameters):
36752         * doc/emacs/msdos.texi (Windows Fonts): Document support for
36753         HarfBuzz text shaping on MS-Windows.
36755         * configure.ac (HAVE_HARFBUZZ): Move out of the X-specific
36756         part, and consider HarfBuzz also for HAVE_W32 systems.
36757         Require HarfBuzz v1.2.3 for w32.
36759 2019-05-30  Paul Eggert  <eggert@cs.ucla.edu>
36761         Improve eq1/memql performance
36763         * src/fns.c (Fmemql, Feql): Inline to tweak performance.
36765 2019-05-30  Mattias Engdegård  <mattiase@acm.org>
36767         Fix `memql' for bignums
36769         * src/fns.c (Fmemql): Make `memql' work for bignums.
36770         * test/src/fns-tests.el (test-bignum-eql): Also test `memql'.
36772 2019-05-30  Alan Mackenzie  <acm@muc.de>
36774         Optimize one of CC Mode's syntax caches for long comments and strings.
36776         * lisp/progmodes/cc-langs.el (c-block-comment-awkward-chars): New lang
36777         constant and variable.
36779         * lisp/progmodes/cc-engine.el (c-state-semi-nonlit-pos-cache): Enhance the
36780         doc comment.
36781         (c-state-semi-get-near-cache-entry, c-state-semi-pp-to-literal): Reuse entry
36782         if the sought position is in a literal, and lies between the literal start and
36783         the entry's position.
36784         (c-cache-to-parse-ps-state, c-parse-ps-state-below): Amend such that instead
36785         of caching a state for a position after a backslash or first character of a
36786         2-character comment delimiter, this is done for the previous character
36787         position.
36789 2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>
36791         Fix a void-function error
36793         * lisp/dired-aux.el (dired-do-find-regexp):
36794         Require 'xref' (bug#35352).
36796 2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>
36798         Rename xref-refresh-results to xref-revert-buffer
36800         * lisp/progmodes/xref.el (xref-revert-buffer): Rename from
36801         'xref-refresh-results' (https://debbugs.gnu.org/35737#40).
36803 2019-05-30  Dmitry Gutov  <dgutov@yandex.ru>
36805         New command ruby-find-library-file
36807         * lisp/progmodes/ruby-mode.el (ruby-find-library-file):
36808         New command.
36809         (ruby-mode-map): Add binding for it.
36811 2019-05-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36813         Add stipple support on cairo
36815         * src/xterm.h (struct x_bitmap_record) [USE_CAIRO]: Remove unused member img.
36816         Add member stipple.
36817         (x_bitmap_stipple) [USE_CAIRO]: Add extern.
36819         * src/image.c (x_bitmap_stipple) [HAVE_X_WINDOWS && USE_CAIRO]: New function.
36820         (image_create_bitmap_from_data, image_create_bitmap_from_file)
36821         (x_create_bitmap_from_xpm_data) [HAVE_X_WINDOWS && USE_CAIRO]: Initialize
36822         stipple member of struct x_bitmap_record.
36823         (free_bitmap_record) [HAVE_X_WINDOWS && USE_CAIRO]: Destroy stipple member.
36825         * src/xterm.c (x_fill_rectangle) [USE_CAIRO]: Inspect gc and draw stipple if
36826         necessary.  Use x_bitmap_stipple.
36828 2019-05-29  Basil L. Contovounesios  <contovob@tcd.ie>
36830         Simplify Gnus buffer liveness checking and killing
36832         * lisp/gnus/gnus-agent.el (gnus-agent-synchronize-group-flags):
36833         Fix indentation.
36834         * lisp/gnus/gnus-util.el (gnus-buffer-exists-p): Define as obsolete
36835         alias of gnus-buffer-live-p.
36836         (gnus-buffer-live-p): If the given argument is or names a live
36837         buffer, return the corresponding buffer object instead of a boolean.
36838         * lisp/gnus/gnus-win.el (gnus-delete-windows-in-gnusey-frames)
36839         (gnus-remove-some-windows): Simplify.
36840         * lisp/gnus/gnus.el (gnus-prune-buffers): Redefine as alias of
36841         gnus-buffers.
36842         (gnus-kill-buffer, gnus-buffers, gnus-group-find-parameter):
36843         * lisp/gnus/gnus-art.el (gnus-kill-sticky-article-buffers)
36844         (gnus-request-article-this-buffer):
36845         * lisp/gnus/gnus-bcklg.el (gnus-backlog-shutdown):
36846         * lisp/gnus/gnus-cus.el (gnus-group-customize)
36847         (gnus-agent-customize-category):
36848         * lisp/gnus/gnus-draft.el (gnus-draft-edit-message):
36849         * lisp/gnus/gnus-group.el (gnus-group-set-mode-line)
36850         (gnus--abort-on-unsaved-message-buffers, gnus-group-compact-group):
36851         * lisp/gnus/gnus-msg.el (gnus-inews-add-send-actions)
36852         (gnus-summary-supersede-article, gnus-copy-article-buffer):
36853         * lisp/gnus/gnus-score.el (gnus-score-edit-current-scores)
36854         (gnus-score-edit-file):
36855         * lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
36856         * lisp/gnus/gnus-srvr.el (gnus-server-compact-server):
36857         * lisp/gnus/gnus-start.el (gnus-clear-system, gnus-dribble-enter)
36858         (gnus-dribble-save, gnus-dribble-clear, gnus-save-newsrc-file):
36859         * lisp/gnus/gnus-sum.el (gnus-summary-setup-buffer)
36860         (gnus-update-summary-mark-positions, gnus-summary-exit)
36861         (gnus-deaden-summary, gnus-kill-or-deaden-summary)
36862         (gnus-summary-next-group):
36863         * lisp/gnus/gnus-win.el (gnus-configure-frame):
36864         * lisp/gnus/mail-source.el (mail-source-movemail):
36865         * lisp/gnus/message.el (message-with-reply-buffer)
36866         (message-with-reply, message-send-and-exit)
36867         (message-send-mail-with-sendmail, message-pop-to-buffer)
36868         (message-do-send-housekeeping, message-forward-make-body-plain)
36869         (message-forward-make-body-mml):
36870         * lisp/gnus/mm-decode.el (mm-display-external, mm-remove-part):
36871         * lisp/gnus/nnbabyl.el (nnbabyl-server-opened)
36872         (nnbabyl-possibly-change-newsgroup, nnbabyl-read-mbox)
36873         (nnbabyl-check-mbox):
36874         * lisp/gnus/nndiary.el (nndiary-save-nov):
36875         * lisp/gnus/nndoc.el (nndoc-close-group)
36876         (nndoc-possibly-change-buffer):
36877         * lisp/gnus/nnfolder.el (nnfolder-close-group, nnfolder-save-nov):
36878         * lisp/gnus/nnimap.el (nnimap-make-process-buffer, nnimap-keepalive)
36879         (nnimap-find-connection):
36880         * lisp/gnus/nnmail.el (nnmail-cache-open, nnmail-cache-close):
36881         * lisp/gnus/nnmbox.el (nnmbox-close-server, nnmbox-server-opened)
36882         (nnmbox-possibly-change-newsgroup, nnmbox-read-mbox):
36883         * lisp/gnus/nnml.el (nnml-save-incremental-nov, nnml-open-nov)
36884         (nnml-save-nov):
36885         * lisp/gnus/nnoo.el (nnoo-server-opened):
36886         * lisp/gnus/nntp.el (nntp-kill-buffer, nntp-make-process-buffer)
36887         (nntp-open-connection, nntp-async-trigger):
36888         * lisp/net/mairix.el (mairix-gnus-fetch-field): Simplify buffer
36889         liveness checking and killing, replacing buffer-name with
36890         buffer-live-p and gnus-buffer-exists-p with gnus-buffer-live-p or
36891         equivalent where applicable.
36893 2019-05-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36895         Fix breakage of native image scaling on XRENDER by previous change
36897         * src/image.c (image_create_x_image_and_pixmap_1) [HAVE_XRENDER]: Get depth if
36898         it is unspecified.
36900 2019-05-29  Paul Eggert  <eggert@cs.ucla.edu>
36902         Update from Gnulib
36904         This incorporates:
36905         2019-05-24 flexmember: update comments
36906         2019-05-18 pthread_sigmask: fix --enable-threads=windows compilation
36907         2019-05-14 close-stream, closein, closeout: simplify
36908         2019-05-09 verify: remove verify_true
36909         2019-05-09 verify: support C2X and C++17 static_assert
36910         * build-aux/config.guess, build-aux/config.sub:
36911         * doc/misc/texinfo.tex, lib/flexmember.h, lib/verify.h:
36912         * m4/flexmember.m4, m4/pthread_sigmask.m4:
36913         Copy from Gnulib
36914         * m4/gnulib-comp.m4: Regenerate.
36916         2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>
36918         Update author/maintainer info
36919         This mostly updates email addresses and fixes spellings of
36920         author and maintainer names.
36922 2019-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
36924         * lisp/subr.el (add-hook): Turn `append` into `depth` (bug#35508)
36926         Make it possible to control the relative ordering of functions on hooks by
36927         specifying `depth` in the same was as was possible with `add-function`.
36929         * lisp/electric.el (electric--sort-post-self-insertion-hook):
36930         Delete function.
36931         (electric-indent-mode, electric-layout-mode, electric-quote-mode):
36932         * lisp/elec-pair.el (electric-pair-mode): Use new `depth` arg instead of
36933         electric--sort-post-self-insertion-hook.
36935         * lisp/emacs-lisp/syntax.el (syntax-propertize, syntax-ppss):
36936         Use new `depth` arg to make sure noone accidentally gets added
36937         after syntax-ppss-flush-cache.
36939         * doc/lispref/modes.texi (Setting Hooks): Document new `depth` arg.
36941         * test/lisp/subr-tests.el (subr-tests-add-hook-depth): New test.
36943 2019-05-29  Simen Heggestøyl  <simenheg@gmail.com>
36945         Use lexical-binding in makesum.el and add tests
36947         * lisp/makesum.el: Use lexical-binding.
36948         (make-command-summary): Replace `if..progn' with `when'.
36949         (double-column): Add docstring and apply trivial simplifications.
36951         * test/lisp/makesum-tests.el: New file with tests for makesum.el.
36953 2019-05-29  Basil L. Contovounesios  <contovob@tcd.ie>
36955         Simplify gnus-or and gnus-and
36957         * lisp/gnus/gnus-art.el: Make implicit seq.el dependency explicit.
36958         (gnus-treat-predicate): Use seq-some in place of mapcar + gnus-or
36959         and evaluate lambda predicate.
36960         * lisp/gnus/gnus-util.el (gnus-or, gnus-and): Simplify.
36962 2019-05-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36964         Rework cairo image support to improve consistency (Bug#35871)
36966         * src/dispextern.h (Emacs_Pix_Container) [USE_CAIRO]: New struct.  Also used
36967         as aliases of Emacs_Pixmap and Emacs_Pix_Context.
36968         (x_kill_gs_process) [USE_CAIRO]: #ifdef out extern.
36969         (RGB_PIXEL_COLOR) [USE_CAIRO]: Define as unsigned long.
36971         * src/image.c: Include stdint.h.  On cairo, remove existing image support
36972         code, use non-X11-specific code for XBM/XPM, and remove POSTSCRIPT support.
36973         (PUT_PIXEL): New macro.  Use it instead of XPutPixel when not specific to X11.
36974         (GET_PIXEL, NO_PIXMAP, PIX_MASK_RETAIN, PIX_MASK_DRAW)
36975         (RGB_TO_ULONG, ARGB_TO_ULONG, RED_FROM_ULONG)
36976         (GREEN_FROM_ULONG, BLUE_FROM_ULONG, RED16_FROM_ULONG)
36977         (GREEN16_FROM_ULONG, BLUE16_FROM_ULONG) [USE_CAIRO]: New macros.
36978         (image_create_pix_container, image_pix_container_put_pixel)
36979         (image_pix_context_get_pixel, image_pix_container_create_from_bitmap_data)
36980         (cr_create_cr_surface_from_image) [USE_CAIRO]: New functions.
36981         (image_create_x_image_and_pixmap_1, image_destroy_x_image)
36982         (image_check_image_size): Extract X11-specific code from here ...
36983         (x_create_x_image_and_pixmap, x_destroy_x_image)
36984         (x_check_image_size) [HAVE_X_WINDOWS]: ... to here.
36985         (x_create_bitmap_mask) [HAVE_X_WINDOWS]: Use them.  Inline specialized version
36986         of four_corners_best.
36987         (prepare_image_for_display, image_clear_image_1, image_destroy_x_image)
36988         (gui_put_x_image, image_put_x_image, image_get_x_image, image_unget_x_image)
36989         (Create_Pixmap_From_Bitmap_Data, lookup_rgb_color)
36990         (image_to_emacs_colors) [USE_CAIRO]: Add cairo support.
36991         (image_background, png_load_body) [USE_CAIRO]: Use image_alloc_image_color for
36992         img->background.
36993         (image_sync_to_pixmaps) [USE_CAIRO]: #ifdef out function.
36994         (Create_Pixmap_From_Bitmap_Data) [HAVE_X_WINDOWS]: Move image_check_image_size
36995         call from here ...
36996         (xbm_load_image): ... to here.
36997         (xpm_load_image):
36998         (image_build_heuristic_mask, pbm_load, gif_load) [USE_CAIRO]: Use
36999         lookup_rgb_color for argument of PUT_PIXEL.
37000         (image_pixmap_draw_cross) [HAVE_X_WINDOWS || USE_CAIRO]: New function.
37001         (image_disable_image) [HAVE_X_WINDOWS || USE_CAIRO]: Use it.
37002         (CrossForeground) [!HAVE_NTGUI && !HAVE_NS]: New macro.
37003         (image_disable_image) [!HAVE_NTGUI && !HAVE_NS]: Use it.
37005         * src/xterm.c (handle_one_xevent) <ClientMessage> [USE_CAIRO]: #ifdef out
37006         x_kill_gs_process call.
37007         (x_free_pixmap) [USE_CAIRO]: Free Emacs_Pix_Container and data it contains.
37009 2019-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37011         Improve previous change for tool bar image support on GTK+2 with cairo
37013         * src/gtkutil.c (xg_get_pixbuf_from_surface) [USE_CAIRO && !HAVE_GTK3]: Remove
37014         unused argument f.  All callers changed.  Handle general alpha value.
37016 2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
37018         * lisp/international/mule-cmds.el (encoded-string-description): Require unibyte string as input
37020 2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
37022         * lisp/international/mule-cmds.el (encode-coding-char): Fix ASCII case
37024         Don't bother with string-as-multibyte since `string` already returns
37025         multibyte when needed.  Don't forget to encode when the string is
37026         ASCII, e.g. for ebcdic case and to make sure we always return
37027         a unibyte string.
37029         * test/lisp/international/mule-tests.el (mule-cmds-tests--encode-ebcdic):
37030         New test.
37032 2019-05-28  Michael Heerdegen  <michael_heerdegen@web.de>
37034         * doc/misc/cl.texi (Macro Bindings): Add a detail
37036         Say that calls of 'cl-macrolet' bound macros are expanded in the
37037         global environment.
37039 2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
37041         * lisp/gnus/gnus-art.el: Use mail-header-p
37043         (gnus-summary-save-in-pipe, gnus-article-prepare)
37044         (gnus-request-article-this-buffer): Use mail-header-p instead of vectorp.
37045         (gnus-request-article-this-buffer): Use insert-buffer-substring since
37046         it doesn't behave like string-make-multibyte any more.
37048 2019-05-28  Eli Zaretskii  <eliz@gnu.org>
37050         Fix handling of -xrm on MS-Windows broken by recent commits
37052         * src/w32reg.c (w32_get_string_resource): The argument V_RDB
37053         is a 'char **', not a 'char *'.  This fixes -xrm handling on
37054         MS-Windows, broken by conversion of x_get_string_resource to
37055         terminal-specific hook.
37057 2019-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
37059         * lisp/frameset.el: Stop using obsolete registerv objects
37061         (frameset-register): New type.
37062         (register-val-jump-to): Define on this new type, replacing
37063         frameset--jump-to-register.
37064         (register-val-describe): Define on this new type, replacing
37065         frameset--print-register.
37066         (frameset-to-register): Use new frameset-make-register.
37067         (frameset--reuse-frame): η-reduce.
37069 2019-05-28  Stefan Kangas  <stefankangas@gmail.com>
37071         Cleanup of TODO to prefer report-emacs-bug
37073         * etc/TODO: Remove already completed removal of `report-calc-bug'.
37074         * lisp/calc/calc.el: Remove any mention of `report-calc-bug'.
37075         * lisp/epg-config.el: Redefine `epg-bug-report-address' as obsolete
37076         variable alias for `report-emacs-bug-address'.
37077         * lisp/expand.el: Remove any mention of `expand-submit-report'.
37078         * lisp/obsolete/fast-lock.el: Remove commented out code for
37079         `fast-lock-submit-bug-report'.
37081 2019-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37083         Support tool bar icon image also on GTK+2 with cairo
37085         * src/gtkutil.c (xg_get_pixbuf_from_surface) [USE_CAIRO && !HAVE_GTK3]: New
37086         function.
37087         (xg_get_image_for_pixmap) [USE_CAIRO && !HAVE_GTK3]: Use it.
37088         (xg_tool_item_stale_p, update_frame_tool_bar) [USE_CAIRO && !HAVE_GTK3]: Use
37089         cairo code also on GTK+2.
37091 2019-05-27  Glenn Morris  <rgm@gnu.org>
37093         * test/lisp/autorevert-tests.el: Give on on remote hydra.nixos tests.
37095         (auto-revert--test-enabled-remote): Disable on hydra.nixos.
37097 2019-05-27  Glenn Morris  <rgm@gnu.org>
37099         * test/lisp/autorevert-tests.el: Try to fix remote hydra.nixos tests.
37101 2019-05-27  Simen Heggestøyl  <simenheg@gmail.com>
37103         Remap `complete-symbol' in CSS mode
37105         * lisp/textmodes/css-mode.el (css-mode-map): Remap `complete-symbol'
37106         to `completion-at-point'.
37107         (css-mode): Update docstring to produce the right key binding.
37109 2019-05-27  Mattias Engdegård  <mattiase@acm.org>
37111         Correctly eliminate duplicate cases in switch compilation
37113         Fix code mistakes that prevented the correct elimination of duplicated
37114         cases when compiling a `cond' form to a switch bytecode, as in
37116           (cond ((eq x 'a) 1)
37117                 ((eq x 'b) 2)
37118                 ((eq x 'a) 3)   ; should be elided
37119                 ((eq x 'c) 4))
37121         Sometimes, this caused the bytecode to use the wrong branch (bug#35770).
37123         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Return obj2 eval'ed.
37124         (byte-compile-cond-jump-table-info):
37125         Discard redundant condition.  Use `obj2' as evaluated.
37126         Discard duplicated cases instead of failing the table generation.
37127         * test/lisp/emacs-lisp/bytecomp-tests.el (toplevel): Require subr-x.
37128         (byte-opt-testsuite-arith-data, bytecomp-test--switch-duplicates): Test.
37130 2019-05-27  Michael Albinus  <michael.albinus@gmx.de>
37132         Another attempt to fix Bug#35769
37134         * lisp/net/tramp.el (tramp-call-process, tramp-call-process-region)
37135         (tramp-process-lines): Suppress `process-environment' entries
37136         dedicated for remote processes.  (Bug#35769)
37138 2019-05-26  Simen Heggestøyl  <simenheg@gmail.com>
37140         Add a menu bar menu for CSS mode
37142         * lisp/textmodes/css-mode.el (css-mode-map): Add menu bar menu.
37144 2019-05-26  Michael Albinus  <michael.albinus@gmx.de>
37146         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Revert fix for Bug#35769
37148 2019-05-26  Noam Postavsky  <npostavs@gmail.com>
37150         Avoid infloop in read-multiple-choice (Bug#32257)
37152         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Use `read-event'
37153         which won't get stuck (return the same event over and over again) for
37154         non-character events, unlike `read-char'.
37156 2019-05-26  Basil L. Contovounesios  <contovob@tcd.ie>
37158         Tweak recent additions in tabify-tests.el
37160         * test/lisp/tabify-tests.el (tabify-tests--test-changes): Rename
37161         third argument to avoid "lexical argument shadows dynamic variable"
37162         warnings.  Use mapconcat in place of mapcar+concat.
37163         (tabify-tests-untabify, tabify-tests-tabify): Quote function symbols
37164         as such.
37166 2019-05-26  Simen Heggestøyl  <simenheg@gmail.com>
37168         Use lexical-binding in paren.el and add tests
37170         * lisp/paren.el: Use lexical-binding.
37171         (show-paren--default): Use imperative form in doc-string.
37173         * test/lisp/paren-tests.el: New file with tests for paren.el.
37175 2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>
37177         Update author/maintainer info
37179         Update email addresses and fix spellings of some author and
37180         maintainer names.
37182 2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>
37184         Remove Maintainer: when it duplicates Author:
37186         The convention is that a file with Author: but not Maintainer:
37187         means the author is a maintainer, which makes it confusing
37188         when a file lists the same person as author and maintainer.
37189         Avoid the confusion by removing the duplicate Maintainer: line.
37191 2019-05-25  Stefan Kangas  <stefankangas@gmail.com>
37193         Use lexical-binding in tabify.el and add tests
37195         * lisp/tabify.el: Use lexical-binding.
37196         * test/lisp/tabify-tests.el: New file.
37198 2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>
37200         * CONTRIBUTE: Split git configuration from fetch-and-build
37202 2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>
37204         Document ‘Maintainer: emacs-devel@gnu.org’
37206         * doc/lispref/tips.texi (Library Headers): Document that the
37207         Maintainer: line now says ‘emacs-devel@gnu.org’ rather than ‘FSF’.
37209 2019-05-25  Paul Eggert  <eggert@cs.ucla.edu>
37211         Go back to "Maintainer: emacs-devel@gnu.org"
37213         Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
37214         no special maintainer for a file.  Although this wasn't documented
37215         it was common practice and removing the lines didn't have consensus.
37217 2019-05-25  Dmitry Gutov  <dgutov@yandex.ru>
37219         Expand some xref documentation
37221         * lisp/progmodes/xref.el (xref-show-xrefs-function)
37222         (xref-show-definitions-function, xref--create-fetcher):
37223         Add or extend the docstring.
37225 2019-05-25  Eric S. Raymond  <esr@thyrsus.com>
37227         Implement and document XDG-style startup files under ~/.config.
37229         * lisp/startup.el (command-line): Allow XDG-style as well as old
37230          style init paths.
37231         * doc/emacs/custom.texi: Document the above change.
37233 2019-05-25  Mauro Aranda  <maurooaranda@gmail.com>
37235         Remove redundants "See" before @xref or @pxref (Bug#35793)
37237         * doc/misc/gnus.texi (Group Parameters): Remove redundant "See" before
37238         cross reference, add comma after it.
37240 2019-05-25  Michael Albinus  <michael.albinus@gmx.de>
37242         * doc/misc/tramp.texi (Obtaining Tramp): Tramp is available via GNU ELPA.
37244 2019-05-24  Dmitry Gutov  <dgutov@yandex.ru>
37246         Rename xref--revert-xref-buffer to xref-refresh-results
37248         * lisp/progmodes/xref.el (xref-refresh-results):
37249         Rename from xref--revert-xref-buffer (bug#35702).
37251 2019-05-24  Dmitry Gutov  <dgutov@yandex.ru>
37253         Support reverting in xref-find-definitions results as well
37255         * lisp/progmodes/xref.el (xref--show-xref-buffer): Expect the
37256         first argument to always be a function (bug#35702).  Handle a
37257         FETCHED-XREFS entry in ALIST.
37258         (xref--show-defs-buffer): Update accordingly.
37259         (xref--create-fetcher): Extract from xref--find-xrefs.
37260         (xref--find-definitions): Use it.
37262 2019-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
37264         * lisp/emacs-lisp/package.el (package-install-from-archive): Fix last change
37266         Don't place the unibyte content of of the downloaded file into
37267         a multibyte buffer.
37269 2019-05-24  Michael Albinus  <michael.albinus@gmx.de>
37271         Fix Bug#35769
37273         * lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
37274         * lisp/net/tramp-integration.el (tramp-connection-local-default-profile):
37275         Do not set it on w32 systems.  (Bug#35769)
37277 2019-05-24  Matthew Bauer  <mjbauer95@gmail.com>
37279         Add "Enter Auth" prompt handling for OpenVPN (Bug#35724)
37281         * lisp/comint.el (comint-password-prompt-regexp): Allow "Enter Auth"
37282         at the beginning.
37284 2019-05-23  Dmitry Gutov  <dgutov@yandex.ru>
37286         Support "reverting" Xref buffers (bug#35702)
37288         * lisp/progmodes/xref.el (xref--fetcher): New variable.
37289         (xref--xref-buffer-mode-map): Add binding for 'g'.
37290         (xref--revert-xref-buffer): New command.
37291         (xref--show-xref-buffer): Accept a function as the first argument.
37292         (xref--show-xrefs): Same.
37293         (xref--find-xrefs): Pass the above a fetcher function.
37295         * lisp/progmodes/project.el (project-find-regexp)
37296         (project-or-external-find-regexp): Same.
37298         * lisp/dired-aux.el (dired-do-find-regexp): Same.
37300 2019-05-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37302         Undo use of Emacs_Pixmap over Pixmap for x_kill_gs_process
37304         * src/dispextern.h (x_kill_gs_process):
37305         * src/image.c (x_kill_gs_process): Undo use of Emacs_Pixmap over Pixmap.
37306         * src/dispextern.h (x_kill_gs_process): Move extern inside HAVE_X_WINDOWS.
37308 2019-05-23  Michael Heerdegen  <michael_heerdegen@web.de>
37310         Improve documentation of the 'function' special form
37312         Point out that 'function' quoting is beneficial also for symbols.
37314         * src/eval.c (function): Enhance docstring.
37315         * doc/lispref/functions.texi (Anonymous Functions): Improve
37316         documentation.
37318 2019-05-23  Michael Heerdegen  <michael_heerdegen@web.de>
37320         * lisp/emacs-lisp/cl-macs.el (cl-callf): Tweak in docstring
37322         Say that lambdas are also allowed as FUNC argument.
37324 2019-05-22  Paul Eggert  <eggert@cs.ucla.edu>
37326         Avoid backslash-newline-newline in source code
37328         * etc/refcards/Makefile (PDF_FRENCH):
37329         * lib-src/etags.c (LOOP_ON_INPUT_LINES):
37330         * lisp/dabbrev.el (dabbrev-check-other-buffers):
37331         * lisp/org/org-id.el (org-id-link-to-org-use-id):
37332         * lisp/org/org.el (org-support-shift-select, org-file-apps):
37333         * src/alloc.c (CHECK_ALLOCATED_AND_LIVE)
37334         (CHECK_ALLOCATED_AND_LIVE_SYMBOL):
37335         * src/frame.h (FRAME_PIXEL_WIDTH_TO_TEXT_COLS):
37336         * src/regex-emacs.c (PREFETCH_NOLIMIT):
37337         * src/window.h (WINDOW_BUFFER):
37338         Remove backslash-newline that immediately precedes another
37339         newline, as this is not the usual style and is confusing.
37341 2019-05-22  Eli Zaretskii  <eliz@gnu.org>
37343         Unbreak display of characters on MS-Windows
37345         * src/w32font.c (w32font_draw): Convert the glyph_string's
37346         char2b array to 16-bit WCHAR data that ExtTextOutW needs.
37348 2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
37350         * lisp/cedet/srecode/insert.el: Use lexical-binding
37352         (srecode-insert-method): No need for lexical-let any more.
37354 2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
37356         * lisp/allout.el, lisp/allout-widgets.el: Use cl-lib and pcase
37358 2019-05-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37360         Merge branch 'master' into harfbuzz
37362 2019-05-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37364         Make Cairo build obey hint-style font setting (Bug#35781)
37366         * src/ftfont.h (ftfont_open2): Remove extern.
37367         (ftfont_fix_match, ftfont_add_rendering_parameters)
37368         (ftfont_entity_pattern): Add externs.
37369         (struct font_info): Remove member bitmap_strike_index.
37370         (struct font_info) [USE_CAIRO]: Remove member ft_size_draw.  All uses removed.
37371         Add member bitmap_position_unit.
37373         * src/xftfont.c (xftfont_fix_match, xftfont_add_rendering_parameters): Move
37374         functions from here ...
37375         * src/ftfont.c (ftfont_fix_match, ftfont_add_rendering_parameters): ... to
37376         here.  All uses changed.
37377         * src/xftfont.c (xftfont_open): Extract FcPattern creation from font entity
37378         from here ...
37379         * src/ftfont.c (ftfont_entity_pattern): ... to here.
37380         * src/xftfont.c (syms_of_xftfont): Move DEFSYMs for Fontconfig's rendering
37381         parameters from here ...
37382         * src/ftfont.c (syms_of_ftfont): ... to here.
37384         * src/ftfont.c (ftfont_open, ftfont_open2): Undo introduction of
37385         bitmap_strike_index.  Merge functions into ftfont_open.
37387         * src/ftcrfont.c (ftcrfont_open): Align code with xftfont_open rather than
37388         ftfont_open.
37389         (ftcrfont_close): Likewise.
37390         (ftcrfont_has_char, ftcrfont_encode_char):
37391         (ftcrfont_otf_capability) [HAVE_LIBOTF]:
37392         (ftcrfont_variation_glyphs) [HAVE_OTF_GET_VARIATION_GLYPHS]: New functions.
37393         (ftcrfont_driver): Register them.
37394         (ftcrfont_get_bitmap, ftcrfont_anchor_point):
37395         (ftcrfont_shape) [HAVE_M17N_FLT && HAVE_LIBOTF]: Use bitmap_position_unit
37396         instead of bitmap_strike_index to screen bitmap fonts.
37397         (ftcrfont_get_bitmap, ftcrfont_anchor_point):
37398         (ftcrfont_otf_capability) [HAVE_LIBOTF]:
37399         (ftcrfont_shape) [HAVE_M17N_FLT && HAVE_LIBOTF]:
37400         (ftcrfont_variation_glyphs) [HAVE_OTF_GET_VARIATION_GLYPHS]: Temporarily
37401         assign ftcrfont_info->ft_size and call corresponding ftfont functions.
37402         (ftcrfont_draw): Don't flush cairo surface when exporting.
37404 2019-05-22  Basil L. Contovounesios  <contovob@tcd.ie>
37406         Fix url-copy-file argument handling
37408         For discussion, see the following thread:
37409         https://lists.gnu.org/r/emacs-devel/2019-05/msg00500.html
37410         * lisp/url/url-handlers.el: Update autoloaded docstrings.
37411         Quote function symbols as such.
37412         (url-handler-regexp): Make grouping construct shy.
37413         (url-file-handler, url-insert-buffer-contents)
37414         (url-handlers-create-wrapper, url-handlers-set-buffer-mode):
37415         Simplify.
37416         (url-file-handler-identity): Clarify calling convention.
37417         (file-name-absolute-p, url-file-local-copy): Mark ignored arguments
37418         as such.
37419         (url-handler-directory-file-name): Prefer string comparison over
37420         regexp match where either will do.
37421         (url-copy-file): Handle integer as third argument as per copy-file.
37423 2019-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
37425         * lisp/textmodes/sgml-mode.el: Fix lone `>` in sgml text
37427         (sgml--syntax-propertize-ppss):New variable and function.
37428         (sgml-syntax-propertize-rules): Use it.
37429         Don't ignore quotes not followed by a matching quote or a '>' or '<'.
37430         (sgml-syntax-propertize): Set up sgml--syntax-propertize-ppss.
37432         * test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
37433         Add test for lone '>'.
37435 2019-05-22  Dmitry Gutov  <dgutov@yandex.ru>
37437         Make xref-find-definitions more customizable
37439         * lisp/progmodes/xref.el (xref--show-defs-buffer): New function.
37440         Move a bit of logic from xref--show-defs to make it more
37441         customizable.
37442         (xref--push-markers): New function, extracted from
37443         xref--show-xrefs.
37444         (xref-show-definitions-function): Set to the new function.
37446 2019-05-22  Dmitry Gutov  <dgutov@yandex.ru>
37448         Separate xref-find-definitions' behavior from other commands
37450         * lisp/progmodes/xref.el (xref-show-definitions-function):
37451         New variable.
37452         (xref--show-defs): Split off from xref--show-xrefs.
37453         (xref--find-definitions): Use it.
37454         (xref--not-found-error): New function.
37455         (xref--show-xrefs): Simplify.  Show the list buffer even when
37456         there is just one item in the list.  Remove the last argument.
37458         * lisp/dired-aux.el (dired-do-find-regexp): Update accordingly.
37460 2019-05-22  Paul Eggert  <eggert@cs.ucla.edu>
37462         Remove fixnum restriction on some display vars
37464         This is a minor patch to remove some fixnum restrictions.
37465         Many more such patches are needed, but one thing at a time.
37466         * doc/emacs/custom.texi (Examining): Update fill-column example.
37467         * src/buffer.c (fill-column, left-margin, tab-width)
37468         (buffer-saved-size, left-margin-width, right-margin-width)
37469         (left-fringe-width, right-fringe-width, scroll-bar-width)
37470         (scroll-bar-height, buffer-display-count):
37471         Allow any integer; do not restrict to fixnums.
37472         * src/character.h (SANE_TAB_WIDTH): Do not assume tab_width
37473         is a nonnegative fixnum.
37474         (sanitize_tab_width): Take a Lisp_Object integer, not an
37475         EMACS_INT.  Only use changed.
37476         * src/data.c (store_symval_forwarding): Remove unnecessary
37477         SYMBOLP since the predicate (e.g., Qintegerp) is always a
37478         symbol (leave the test in as an eassert).  Avoid assignments
37479         inside if-conditions.
37480         * src/fileio.c (Fdo_auto_save): Do not assume
37481         buffer-saved-size is a fixnum.  Avoid undefined behavior
37482         on EMACS_INT overflow by multiplying a fixnum by at most 4,
37483         not by at most 13.
37484         * src/window.c (set_window_buffer): When buffer-display-count
37485         is too large for a fixnum, make it a bignum.
37486         * src/xdisp.c (FILL_COLUMN_INDICATOR_NEEDED): Remove macro, ...
37487         (fill_column_indicator_column): ... replacing with this new function.
37488         All uses changed.  The function is a bit pickier, to prevent
37489         problems with non-character fixnums and columns out of range
37490         for int, and to remove the assumption that integers are in
37491         fixnum range.
37492         (append_space_for_newline, extend_face_to_end_of_line):
37493         Avoid undefined behavior with signed integer overflow.
37494         Simplify.
37496 2019-05-22  Glenn Morris  <rgm@gnu.org>
37498         Merge from origin/emacs-26
37500         b0da915 (origin/emacs-26, emacs-26) Fix a typo in ELisp manual
37501         400907b Add option to disable help completion autoloading (Bug#28607)
37502         122ba16 Don't segfault on force-window-update of deleted window
37503         015b12e Fix typo in ELisp manual
37504         eadf044 Remove repeated function call in picture.el
37505         1228a90 ; Fix mm-destroy-parts docstring typo
37506         6cfd68d Fix Hideshow key binding typo in Emacs manual
37508 2019-05-22  Glenn Morris  <rgm@gnu.org>
37510         Merge from origin/emacs-26
37512         5d24af8 Remove from docs references to obsolete MULE variables
37513         2bdc419 Do potentially destructive operations in prepare-commit-msg
37515         # Conflicts:
37516         #       src/search.c
37518 2019-05-21  Alexander Gramiak  <agrambot@gmail.com>
37520         * src/xfont.c (xfont_draw): Allocate the XChar2b array (Bug#35814)
37522 2019-05-21  Alan Third  <alan@idiocy.org>
37524         Fix some deprecation notices on macOS 10.14
37526         * src/nsimage.m ([EmacsImage setXBMColor:]): Replace colorSpaceName
37527         code.
37528         * src/nsmenu.m ([EmacsDialogPanel initWithContentRect:styleMask:]):
37529         Remove reference to oneShot.
37530         * src/nsterm.h (ns_enable_screen_updates): Remove function prototype.
37531         (NSPasteboardTypeString):
37532         (NSPasteboardTypeTabularText):
37533         (NSControlStateValueOn):
37534         (NSControlStateValueOff):
37535         (NSBezelStyleRounded):
37536         (NSPasteboardTypeURL): Define new names and replace all callers.
37537         * src/nsterm.m ([EmacsColor colorUsingDefaultColorSpace]): Replace
37538         calls to colorUsingColorSpaceName on macOS > 10.7.
37539         ([EmacsView performDragOperation:]): Add FIXME about deprecation.
37540         (ns_disable_screen_updates):
37541         (ns_enable_screen_updates): Remove functions and all callers.
37542         (disable_screen_updates_count): Remove variable.
37543         * src/macfont.m (macfont_draw): Use CGContext instead of graphicsPort
37544         on macOS >= 10.10
37546 2019-05-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
37548         Pacify libpng on interlaced images (Bug#35843)
37550         * src/image.c (png_set_interlace_handling) [WINDOWSNT]:
37551         New function to link.
37552         (init_png_functions): Link it.
37553         (png_load_body): Call it before calling png_read_update_info.
37555 2019-05-21  Paul Eggert  <eggert@cs.ucla.edu>
37557         Remove time-date debugging scaffolding
37559         Problem reported by Lars Ingebrigtsen in:
37560         https://lists.gnu.org/r/emacs-devel/2019-05/msg00721.html
37561         * lisp/calendar/time-date.el (date-to-time):
37562         Use plain condition-case, not condition-case-unless-debug.
37564 2019-05-21  Federico Tedin  <federicotedin@gmail.com>
37566         Use lexical-binding in tempo.el and add tests
37568         For discussion, see the following thread:
37569         https://lists.gnu.org/r/emacs-devel/2019-05/msg00395.html
37570         * lisp/tempo.el: Use lexical-binding.
37571         (tempo-define-template): Expand documentation to mention
37572         `tempo-user-elements'.
37573         (tempo-local-tags, tempo-collection, tempo-dirty-collection)
37574         (tempo-marks, tempo-match-finder): Define with defvar-local.
37575         (tempo-named-insertions, tempo-region-start, tempo-region-stop): Make
37576         them automatically buffer-local.
37577         * test/lisp/tempo-tests.el: Add tests for tempo.el.
37579 2019-05-21  Alan Mackenzie  <acm@muc.de>
37581         C Mode: Fix indentation of DEFUN's function's argument list.
37583         Formally, when DEFUNs still used knr argument lists, these were indented by
37584         the syntactic context knr-argdecl-intro (5 columns).  Since this is no longer
37585         the case, we now just use c-basic-offset (2 columns in "gnu" style).
37587         * lisp/progmodes/cc-align.el (c-indent-gnu-DEFUN-intro-cont): Modernize the
37588         indentation.  Amend the doc string accordingly.
37590 2019-05-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
37592         * src/ftcrfont.c (ftcrfont_open): Skip zero glyph index.
37594 2019-05-20  Stephen Leake  <stephen_leake@stephe-leake.org>
37596         Revert recent project-find-file change
37598         * lisp/progmodes/project.el (project-find-file): Delete recently added
37599         'filename' arg; just use project-find-file-in.
37601 2019-05-20  Mattias Engdegård  <mattiase@acm.org>
37603         Allow zero-argument rx `or' and `seq' forms
37605         Make the rx `or' and `seq' forms accept zero arguments to produce a
37606         never-matching regexp and an empty string, respectively.
37608         * lisp/emacs-lisp/rx.el: Require cl-extra.
37609         (rx-constituents, rx-or): Permit zero args.
37610         (rx): Amend doc string for `or' and `seq'.
37611         * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
37612         * etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.
37614 2019-05-20  Mattias Engdegård  <mattiase@acm.org>
37616         Revert "Allow zero-argument rx `or' and `seq' forms"
37618         This reverts commit b552fc05c231ca6800330a318d3a74ddd0f5a13c.
37619         It caused a bootstrapping failure which I have yet to resolve - sorry.
37621 2019-05-20  Basil L. Contovounesios  <contovob@tcd.ie>
37623         Improve C and Elisp Git diff hunk headers
37625         For discussion, see the following threads:
37626         https://lists.gnu.org/r/emacs-devel/2019-03/msg00457.html
37627         https://lists.gnu.org/r/emacs-devel/2019-05/msg00369.html
37629         * autogen.sh: Extend the built-in Git xfuncname pattern 'cpp' to
37630         match preprocessor and DEFUN macros, and the 'elisp' pattern to
37631         match cl-lib and other top-level defuns.
37633 2019-05-20  Stefan Kangas  <stefankangas@gmail.com>
37635         Use lexical-binding in delim-col.el and add tests
37637         Thanks to Basil L. Contovounesios for additional cleanups.
37638         For discussion, see the following thread:
37639         https://lists.gnu.org/r/emacs-devel/2019-05/msg00177.html
37641         * lisp/delim-col.el: Use lexical-binding.
37643         * test/lisp/delim-col-tests.el: New file.
37644         (delim-col-tests-delimit-colummns-before-after)
37645         (delim-col-tests-delimit-columns)
37646         (delim-col-tests-delimit-columns-format/nil)
37647         (delim-col-tests-delimit-columns-format/padding)
37648         (delim-col-tests-delimit-columns-format/separator)
37649         (delim-col-tests-delimit-columns-separator)
37650         (delim-col-tests-delimit-columns-str-before-after)
37651         (delim-col-tests-delimit-columns-str-separator)
37652         (delim-col-tests-delimit-rectangle): New unit tests.
37654 2019-05-20  Alan Mackenzie  <acm@muc.de>
37656         CC Mode: Remove unused code from c-maybe-re-mark-raw-string
37658         Acknowledge that when the function is called, it is always at the start of a
37659         string, never in the middle or at the end of one.
37661         * lisp/progmodes/cc-engine.el (c-maybe-re-mark-raw-string): Reformulate the
37662         cond form into a `when' form, with all but the first arm of the cond
37663         discarded.
37665 2019-05-20  Lars Ingebrigtsen  <larsi@gnus.org>
37667         w32--os-description: Fix previous change
37669         * lisp/w32-fns.el (w32--os-description): Fix inadvertent "o" added
37670         to the end of the function name in the previous patch (bug#35807).
37672 2019-05-20  Lars Ingebrigtsen  <larsi@gnus.org>
37674         Mark nnheader-cancel-timer as obsolete and adjust callers
37676         * lisp/gnus/nnheader.el (nnheader-cancel-timer)
37677         (nnheader-cancel-function-timers): Mark as obsolete.
37679         * lisp/gnus/nntp.el (nntp-with-open-group-function)
37680         (nntp-async-stop): Adjust caller.
37682         * lisp/gnus/gnus-art.el (gnus-stop-date-timer): Ditto.
37684         * lisp/gnus/gnus-async.el (gnus-async-prefetch-next): Ditto.
37686         * lisp/gnus/gnus-demon.el (gnus-demon-run-callback)
37687         (gnus-demon-cancel): Ditto.
37689         * lisp/gnus/mail-source.el (mail-source-report-new-mail): Ditto.
37691         * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article): Ditto.
37693 2019-05-20  Mattias Engdegård  <mattiase@acm.org>
37695         Allow zero-argument rx `or' and `seq' forms
37697         Make the rx `or' and `seq' forms accept zero arguments to produce a
37698         never-matching regexp and an empty string, respectively.
37700         * lisp/emacs-lisp/rx.el (rx-constituents, rx-or): Permit zero args.
37701         (rx): Amend doc string for `or' and `seq'.
37702         * test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
37703         * etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.
37705 2019-05-20  Mattias Engdegård  <mattiase@acm.org>
37707         Avoid polling in global-auto-revert-mode (bug#35418)
37709         Make `auto-revert-avoid-polling' have effect in global-auto-revert-mode.
37710         Buffers actually handled by that mode are marked with a non-nil value
37711         of `auto-revert--global-mode'.  When global-auto-revert-mode is
37712         entered, eligible buffers are marked in that way, and hooks are set up
37713         to mark new buffers and take care of buffers whose file names change.
37714         This way the existing poll-avoidance logic can be used, since the
37715         entire set of buffers in auto-revert is known.
37717         A new hook, `after-set-visited-file-name-hook', was added to handle
37718         the case when the file name of a tracked buffer changes.
37720         * lisp/autorevert.el (auto-revert-avoid-polling): Amend doc string.
37721         (auto-revert--global-mode): New buffer-local variable.
37722         (global-auto-revert-mode): Mark existing buffers and set up hooks when
37723         mode is entered; do the opposite when exited.
37724         (auto-revert--global-add-current-buffer)
37725         (auto-revert--global-adopt-current-buffer)
37726         (auto-revert--set-visited-file-name-advice): New functions.
37727         (auto-revert--polled-buffers, auto-revert--need-polling-p)
37728         (auto-revert-notify-handler)
37729         (auto-revert-active-p): Modify logic to cover global-auto-revert-mode.
37730         * lisp/files.el (after-set-visited-file-name-hook): New hook.
37731         (set-visited-file-name-hook): Call new hook.
37732         * test/lisp/autorevert-tests.el (top):  Use lexical-binding.
37733         (auto-revert-test--write-file, auto-revert-test--buffer-string)
37734         (auto-revert-test--wait-for, auto-revert-test--wait-for-buffer-text)
37735         (auto-revert-test05-global-notify): New test.
37736         * doc/lispref/hooks.texi (Standard Hooks):
37737         Mention new hook (in a comment, since it's unclear whether it should
37738         actually be documented here)
37739         * etc/NEWS (Changes in Specialized Modes and Packages): Update entry.
37741 2019-05-20  Michael Albinus  <michael.albinus@gmx.de>
37743         Fix problems in autorevert-tests
37745         * test/lisp/autorevert-tests.el (auto-revert--deftest-remote):
37746         Fix typo.
37747         (auto-revert-test02-auto-revert-deleted-file): On emba, there are
37748         no stopped events.
37750 2019-05-19  Paul Eggert  <eggert@cs.ucla.edu>
37752         Fixes for "Maintainer:" and related lines
37754         Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
37755         which are not that useful.  It also cleans up and regularizes a
37756         few similar lines.
37758 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
37760         Use HAVE_WINDOW_SYSTEM over HAVE_X11 || HAVE_NTGUI || HAVE_NS
37762         * src/keyboard.c (kbd_buffer_get_event, make_lispy_event): Use
37763         HAVE_WINDOW_SYSTEM.
37765 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
37767         Introduce Emacs_Pix_Container and Emacs_Pix_Context typedefs
37769         Emacs_Pix_Container is a pointer to a struct representing pixmap data
37770         on the backend.  Emacs_Pix_Context is the context for the
37771         bitmap/pixmap on the backend.  Only w32 currently makes this
37772         distinction; they are otherwise the same type.
37774         * src/dispextern.h: Remove XImagePtr in favor of
37775         using XImage* directly. Rename XImagePtr_or_DC to Emacs_Pix_Context.
37776         [HAVE_X_WINDOWS] Alias Emacs_Pix_Container and
37777         Emacs_Pix_Context to XImage*.
37778         [HAVE_NS] Alias Emacs_Pix_Container and Emacs_Pix_Context to trivial
37779         Emacs_Pixmap definition.
37780         [HAVE_NTGUI]: Alias Emacs_Pix_Container to XImage* and
37781         Emacs_Pix_Context to HDC.
37783         * src/dispextern.h:
37784         * src/image.c: Use Emacs_Pix_Container over XImagePtr and
37785         Emacs_Pix_Context over XImagePtr_or_DC.
37787 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
37789         Replace XChar2b with unsigned in all font backends
37791         The xfont backend using XChar2b in its API doesn't mean that we should
37792         use it everywhere else.
37794         * src/dispextern.h (glyph_string):
37795         * src/ftcrfont.c (ftcrfont_draw):
37796         * src/ftxfont.c (ftxfont_draw):
37797         * src/w32term.c (w32_draw_glyphless_glyph_string_foreground):
37798         * src/xdisp.c (init_glyph_string, get_char_face_and_encoding)
37799         (get_glyph_face_and_encoding, get_char_glyph_code)
37800         (fill_gstring_glyph_string, fill_stretch_glyph_string)
37801         (normal_char_ascent_descent, gui_get_glyph_overhangs)
37802         (compute_overhangs_and_x, gui_produce_glyphs):
37803         * src/xfont.c (xfont_get_pcm, xfont_chars_supported, xfont_open)
37804         (xfont_encode_char, xfont_text_extents, xfont_draw)
37805         * src/xftfont.c (xftfont_draw):
37806         * src/xterm.c (x_compute_glyph_string_overhangs)
37807         (x_draw_glyphless_glyph_string_foreground): Use unsigned over XChar2b.
37809         * src/nsgui.h:
37810         * src/w32gui.h:
37811         * src/xterm.h: Remove XChar2b, STORE_XCHAR2B, XCHAR2B_BYTE1, and
37812         XCHAR2B_BYTE2 typedefs and macros.
37814         * src/font.h (font_driver):
37815         (ftfont_text_extents)
37816         * src/ftcrfont.c (ftcrfont_text_extents):
37817         * src/ftfont.c (ftfont_text_extents):
37818         * src/macfont.m (macfont_text_extents):
37819         * src/nsfont.m (nsfont_text_extents):
37820         * src/w32font.h (w32_font_text_extents):
37821         * src/font.c (xfont_text_extents):
37822         * src/xftfont.c (xftfont_text_extents): Make code parameter const.
37824 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
37826         Introduce Emacs_GC struct and typedef
37828         * src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_GC to XGCValues.
37829         [!HAVE_X_WINDOWS]: Define Emacs_GC, GCForeground, and GCBackground.
37831         * src/nsgui.h:
37832         * src/w32gui.h:Remove obsolete XGCValues, GC, GCForeground,
37833         GCBackground, and GCFont definitions.
37835         * src/w32fns.c (w32_make_gc): Do not set unused font field.
37837         * src/w32term.c: Use Emacs_GC over XGCValues. Do not set unused font
37838         field.
37840         * src/xfaces.c: Use Emacs_GC over XGCValues and GC.
37842 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
37844         Introduce Emacs_Rectangle struct and typedef
37846         * src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_Rectangle to
37847         XRectangle.
37848         [!HAVE_X_WINDOWS]: Define Emacs_Rectangle struct.
37849         Use Emacs_Rectangle over XRectangle.
37851         * src/frame.h (MonitorInfo):
37852         * src/msdos.h:
37853         * src/w32term.c:
37854         * src/xdisp.c: Use Emacs_Rectangle over XRectangle.
37856         * src/nsgui.h:
37857         * src/w32gui.h: Remove old XRectangle structs.
37859         * src/xdisp.c:
37860         * src/nsgui.h:
37861         * src/w32gui.h: Rename CONVERT_FROM_XRECT and CONVERT_TO_XRECT to
37862         CONVERT_FROM_EMACS_RECT and CONVERT_TO_EMACS_RECT respectively.
37864 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
37866         Introduce Emacs_Pixmap typedef
37868         * src/dispextern.h [HAVE_X_WINDOWS]: Alias Emacs_Pixmap to Pixmap.
37869         (image, x_kill_gs_process): Use Emacs_Pixmap over Pixmap.
37871         * src/image.c:
37873         * src/nsgui.h:
37874         * src/nsterm.m:
37875         * src/termhooks.h:
37876         * src/w32gui.h:
37877         * src/w32term.c:
37878         * src/w32term.h:
37879         * src/xterm.c (x_free_pixmap): Use Emacs_Pixmap over Pixmap.
37881         * src/w32gui.h: Remove unused typedef Bitmap.
37883 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
37885         Introduce Emacs_Cursor typedef
37887         * src/dispextern.h [HAVE_X_WINDOWS]: Define Emacs_Cursor alias. Move
37888         the No_Cursor definition from xterm.h.
37889         (redisplay_interface): Use Emacs_Cursor over Cursor.
37891         * src/nsgui.h:
37892         * src/nsterm.h:
37893         * src/nsterm.m:
37894         * src/w32gui.h:
37895         * src/w32term.c:
37896         * src/xdisp.c:
37897         * src/xterm.c (x_define_frame_cursor): Use Emacs_Cursor over Cursor.
37899 2019-05-19  Alexander Gramiak  <agrambot@gmail.com>
37901         Introduce Emacs_Color struct and typedef
37903         This avoids clashing with the XColor struct from X.
37905         * src/dispextern.h [HAVE_X_WINDOWS]: Define Emacs_Color alias.
37906         [!HAVE_X_WINDOWS]: Rename XColor compatibility struct to
37907         Emacs_Color. Remove unused fields.
37909         * src/gtkutil.c:
37910         * src/gtkutil.h:
37911         * src/image.c:
37912         * src/nsterm.h:
37913         * src/nsterm.m:
37914         * src/termhooks.h:
37915         * src/w32fns.c:
37916         * src/w32term.c:
37917         * src/w32term.h:
37918         * src/xfaces.c:
37919         * src/xfns.c:
37920         * src/xterm.h: Use Emacs_Color over XColor outside of X-specific
37921         sections.
37923 2019-05-19  Mattias Engdegård  <mattiase@acm.org>
37925         Comment out inexplicable condition in filenotify
37927         * lisp/filenotify.el (file-notify-callback):
37928         Comment out condition that does not seem to make any sense. All it
37929         seems to do is allowing notifications for files on the form DIR/X/X
37930         when we really just are watching DIR/X/Y.
37932 2019-05-19  Juri Linkov  <juri@linkov.net>
37934         * lisp/vc/vc-dispatcher.el (vc-do-command): Let-bind inhibit-message to t
37936         in active minibuffer.  (Bug#34939)
37938 2019-05-19  Juri Linkov  <juri@linkov.net>
37940         Publicize behavior of log-view-diff at beginning/end of active region
37942         * lisp/vc/log-view.el (log-view-diff, log-view-diff-changeset):
37943         * doc/emacs/maintaining.texi (VC Change Log): Document behavior of
37944         log-view-diff at the beginning and the end of the log buffer
37945         when the region is active.  (Bug#35624)
37947         * lisp/vc/vc-git.el (vc-git-print-log): Insert newline at the
37948         beginning to enable the feature of diffing with the working revision.
37950 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
37952         cus-edit.el: Remove XEmacs compat code
37954         * lisp/cus-edit.el (custom-browse-insert-prefix): Remove XEmacs
37955         compat code and make obsolete.
37956         (custom-group-value-create): Use `insert' directly.
37958         * lisp/emacs-lisp/elint.el (elint-check-conditional-form): Don't
37959         refer to function that doesn't have an if any more.
37961 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
37963         bs.el: Remove XEmacs compat code
37965         * lisp/bs.el (bs-mode-font-lock-keywords): Remove XEmacs compat code.
37966         (bs-mode-map): Ditto.
37968 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
37970         arc-mode.el: Remove XEmacs compat code
37972         * lisp/arc-mode.el (archive-mode-map): Remove XEmacs compat code.
37973         (archive-summarize-files): Ditto.
37975 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
37977         rfc2104.el: Remove XEmacs compat code.
37979         * lisp/net/rfc2104.el (rfc2104-string-make-unibyte): Remove XEmacs
37980           compat code.
37982 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
37984         (mml-generate-mime-1): Remove XEmacs compat code
37986         * lisp/gnus/mml.el (mml-generate-mime-1): Remove XEmacs compat code.
37988 2019-05-19  Stephen Leake  <stephen_leake@stephe-leake.org>
37990         Minor updates to project.el
37992         * lisp/progmodes/project.el (project-find-file): Add optional 'filename' arg.
37993         (project--completing-read-strict): Ignore 'default' set to empty string.
37995 2019-05-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
37997         Fix Gnus group sorting to use gnus-group-list
37999         * lisp/gnus/gnus-group.el (gnus-group-sort-flat): As
38000           gnus-newsrc-hashtb is now a real (unsorted) hash table, use
38001           gnus-group-list to maintain group sort order.
38002           (gnus-group-sort-selected-flat): Ditto.
38003         * lisp/gnus/gnus-start.el (gnus-subscribe-alphabetically): Simplify
38004           function using seq-find.
38005           (gnus-subscribe-killed, gnus-subscribe-zombies): Use cl-pushnew to
38006           avoid adding duplicates (can happen when un/subscribing multiple
38007           times to one group).
38009 2019-05-19  Lars Ingebrigtsen  <larsi@gnus.org>
38011         Remove usage of string-to-multibyte from arc-mode.el
38013         * lisp/arc-mode.el (arc-insert-unibyte): Rename from
38014         insert-unibyte, make into a function, and remove the superfluous
38015         string-to-multibyte.  Change callers throughout the file.
38017 2019-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38019         * doc/lispintro/emacs-lisp-intro.texi: Remove euphemism.
38021 2019-05-19  Noam Postavsky  <npostavs@gmail.com>
38023         Fix dired-omit-files regexp (Bug#35668)
38025         * lisp/dired-x.el (dired-omit-files): Match beginning and end of
38026         string, rather than beginning and end of line.
38028 2019-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
38030         * lisp/progmodes/hideshow.el: Simplify mouse binding; Use lexical-binding
38032         (hs-set-up-overlay, hs-adjust-block-beginning): Use non-nil default for
38033         function variables, so `add-function` can be used on them.
38034         (hs-toggle-hiding): Make it work for mouse bindings as well.
38035         (hs-minor-mode-map): Use it for the mouse binding.
38036         (hs-grok-mode-type): Use bound-and-true-p.
38037         (hs-life-goes-on): Use `declare` for the debug spec.
38038         (hs-mouse-toggle-hiding): Make it an obsolete alias.
38040 2019-05-19  Michael Albinus  <michael.albinus@gmx.de>
38042         * test/lisp/autorevert-tests.el (auto-revert--deftest-remote):
38044         Do not handle errors.
38046 2019-05-19  Martin Rudalics  <rudalics@gmx.at>
38048         New buffer display action function 'display-buffer-in-direction'
38050         * lisp/window.el (windows-sharing-edge)
38051         (window--try-to-split-window-in-direction)
38052         (display-buffer-in-direction): New functions.
38053         * doc/lispref/windows.texi (Buffer Display Action Functions):
38054         Describe new action function 'display-buffer-in-direction'.
38055         (Buffer Display Action Alists): Describe new entry 'direction'.
38056         Amend description of 'window' entry.
38057         * etc/NEWS: Mention 'display-buffer-in-direction' and 'direction'
38058         and 'window' action alist entries.
38060 2019-05-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
38062         Avoid triple buffering with Xdbe in cairo
38064         * src/xterm.h (struct x_output): Remove member cr_surface.
38065         Add members cr_surface_desired_width and cr_surface_desired_height.
38066         (x_cr_destroy_frame_context) [USE_CAIRO]: Add extern.
38068         * src/xterm.c (x_free_cr_resources): Remove function.
38069         (FRAME_CR_SURFACE) [USE_CAIRO]: Remove macro.
38070         (FRAME_CR_SURFACE_DESIRED_WIDTH, FRAME_CR_SURFACE_DESIRED_HEIGHT) [USE_CAIRO]:
38071         New macros.
38072         (x_cr_destroy_frame_context) [USE_CAIRO]: Rename from x_cr_destroy_surface.
38073         All Uses changed.  Don't use FRAME_CR_SURFACE.  Make non-static.
38074         (x_cr_update_surface_desired_size) [USE_CAIRO]: New function.
38075         (x_begin_cr_clip) [USE_CAIRO]: Create Xlib surface if Xdbe is in use.
38076         Use FRAME_CR_SURFACE_DESIRED_WIDTH and FRAME_CR_SURFACE_DESIRED_HEIGHT.
38077         (x_end_cr_clip) [USE_CAIRO]: Call x_mark_frame_dirty if Xdbe is in use.
38078         (x_cr_draw_frame, x_cr_export_frames) [USE_CAIRO]: Save and restore cairo
38079         context instead of freeing and clearing it.
38080         (x_update_begin) [USE_CAIRO]: Don't create cairo surface here.
38081         (show_back_buffer) [USE_CAIRO]: Call cairo_surface_flush before swapping.
38082         (x_update_end) [USE_CAIRO]: Don't copy image surface if Xdbe is in use.
38083         Get image surface by cairo_get_target instead of FRAME_CR_SURFACE.
38084         (x_scroll_run) [USE_CAIRO]: Use XCopyArea if Xdbe is in use.
38085         (handle_one_xevent) [USE_CAIRO] <ConfigureNotify>: Call
38086         x_cr_update_surface_desired_size instead of x_cr_destroy_surface.
38087         (x_free_frame_resources) [USE_CAIRO]: Call x_cr_destroy_frame_context instead
38088         of x_free_cr_resources.
38090         * src/xfns.c (set_up_x_back_buffer, tear_down_x_back_buffer) [USE_CAIRO]:
38091         Call x_cr_destroy_frame_context.
38093 2019-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
38095         * lisp/emacs-lisp/package.el: Fix decoding of downloaded files
38097         This is a different fix for bug#34909, which should also fix bug#35739.
38099         Our downloading code used to automatically decode the result according
38100         to the usual heuristics for files.  This caused problems when we later
38101         needed to save the data in a file that needed to be byte-for-byte
38102         equal to the original in order to pass the signature verification,
38103         especially because we didn't keep track of which coding-system was
38104         used to decode the data.
38106         (package--unless-error): New macro extracted from
38107         package--with-response-buffer-1, so that we can specify edebug and
38108         indent specs.
38109         (package--with-response-buffer-1): Use it.  More importantly, change
38110         code so it runs `body` in a unibyte buffer with undecoded data.
38111         (package--download-one-archive): Don't encode with utf-8 since the data
38112         is not decoded yet.
38113         (describe-package-1): Explicitly decode the readem.txt files here.
38115         * lisp/url/url-handlers.el (url-insert-file-contents): Use it.
38116         (url-insert): Don't decode if buffer is unibyte.
38118         * lisp/url/url-http.el (url-http--insert-file-helper): New function,
38119         extracted from url-insert-file-contents.
38121 2019-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
38123         * lisp/emacs-lisp/package.el: Reduce macrology in ...with-response-buffer
38125         (package--with-response-buffer-1): New function, extracted from
38126         package--with-response-buffer.
38127         (package--with-response-buffer): Use it.
38129 2019-05-18  Mattias Engdegård  <mattiase@acm.org>
38131         Fix broken logic in file-notify
38133         * lisp/filenotify.el (file-notify-callback):
38134         Repair warped condition that didn't match rename-to/from events correctly.
38136 2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38138         * lisp/textmodes/texinfmt.el: Chassell is no longer maintainer.
38140 2019-05-18  Jean-Christophe Helary  <brandelune@gmail.com>
38142         Bob Chassell passed away
38144         * doc/lispintro/emacs-lisp-intro.texi (About the Author): Update.
38146 2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38148         Fix recent Tramp typo that broke the build
38150         ‘make bootstrap’ without this patch should reproduce the problem.
38151         * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
38152         Autoload zeroconf-init.
38154 2019-05-18  Basil L. Contovounesios  <contovob@tcd.ie>
38156         Remove XEmacs audio checks from mm-decode.el
38158         For discussion, see the following threads:
38159         https://lists.gnu.org/r/emacs-devel/2019-03/msg01087.html
38160         https://lists.gnu.org/r/emacs-devel/2019-05/msg00584.html
38161         * lisp/gnus/mm-decode.el (mm-inline-media-tests): Remove no-op media
38162         tests for XEmacs features.
38164 2019-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38166         For SVG, 8192 is the new 256
38168         Prefer librsvg for display of splash.svg
38169         When both librsvg and Imagemagick are available, Emacs should
38170         prefer librsvg to render SVG images.  However, Emacs was using
38171         Imagemagick to render its own splash.svg file because
38172         image-type-from-file-header returned nil for that file.
38173         * lisp/image.el (image-type-from-buffer)
38174         (image-type-from-file-header): Look at the first 8192 bytes of
38175         the image, not just the first 256.  For Emacs’s own splash.svg
38176         file, image-type-header-regexps needs to look at 939 bytes.
38177         8192 bytes is a reasonable number nowadays given typical file
38178         system design.
38179         * test/lisp/image-tests.el (image-tests--emacs-images-directory):
38180         New contant.
38181         (image-type-from-file-header-test): New test.
38183 2019-05-18  Michael Albinus  <michael.albinus@gmx.de>
38185         Bug#35769
38187         * lisp/net/tramp-sh.el: (tramp-maybe-open-connection):
38188         Arrange `process-environment' that it doesn't work for local
38189         processes.  (Bug#35769)
38191 2019-05-18  Alan Mackenzie  <acm@muc.de>
38193         CC Mode: Handle several consecutive noise macros in declaration contexts.
38195         In the bug scenario, the second and subsequent noise macros with parentheses
38196         were getting font-lock-type-face.
38198         * lisp/progmodes/cc-engine.el (c-end-of-token)
38199         (c-forward-noise-clause-not-macro-decl): New functions.
38200         (c-find-decl-prefix-search): Handle noise macros by skipping over them.
38201         (c-forward-decl-or-cast-1): In the loop checking for types, skip over all
38202         consecutive noise macros with parens, not just one.
38204 2019-05-18  Bastien  <bzg@gnu.org>
38206         Fix missing declaration in gnus-sum.el
38208         * lisp/gnus/gnus-sum.el (gnus-tmp-name): Declare var.
38210 2019-05-18  Eli Zaretskii  <eliz@gnu.org>
38212         Fix display of images on MS-Windows broken by a recent commit
38214         * src/image.c (initialize_image_type): Test if the type is in
38215         Vlibrary_cache up front, and return true without calling the
38216         'init' method if the type was already initialized.
38218 2019-05-18  Michael Albinus  <michael.albinus@gmx.de>
38220         Suppress compiler warnings for older Emacsen in tramp-tests.el
38222         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
38223         Add error name to test.
38224         (tramp-test30-make-process, tramp-test45-unload):
38225         Suppress compiler warnings from older Emacsen.
38227 2019-05-18  Michael Albinus  <michael.albinus@gmx.de>
38229         Require less packages in Tramp
38231         * lisp/net/tramp-compat.el (format-spec): Do not require advice, cl-lib,
38232         custom, password-cache, timer and ucs-normalize.
38234         * lisp/net/tramp-gvfs.el: Do not require zeroconf.  Declare
38235         zeroconf-* functions.
38236         (tramp-gvfs-enabled): Autoload `zeroconf-init'.
38238         * lisp/net/tramp-sh.el: Do not require dired.
38240         * lisp/net/tramp.el (tramp-get-debug-buffer): Do not require outline.
38241         (tramp-file-name-for-operation): Extend docstring.
38242         (tramp-parse-netrc): Do not require netrc.  Autoload `netrc-parse'.
38244 2019-05-18  Mattias Engdegård  <mattiase@acm.org>
38246         Don't use file notification on non-file buffers
38248         Allow non-file buffers to declare that notification on their
38249         default-directory is sufficient to know when auto-revert updates are
38250         required by setting the new variable `buffer-auto-revert-by-notification'
38251         to non-nil.  If nil, the default, then auto-revert will poll
38252         those buffers instead. (bug#35418).
38253         Currently, only Dired sets that variable.
38255         * lisp/autorevert.el (auto-revert-buffers):
38256         Modify condition for using notification.
38257         * lisp/files.el (buffer-auto-revert-by-notification): New variable.
38258         * lisp/dired.el (dired-mode): Set buffer-auto-revert-by-notification.
38259         * doc/emacs/arevert-xtra.texi (Non-File Buffers): Document new variable.
38260         * etc/NEWS (Changes in Specialized Modes and Packages): Describe new variable.
38262 2019-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
38264         (epa-file-decode-and-insert): Byte compilation warning fix
38266         * lisp/epa-file.el (epa-file-decode-and-insert): Remove
38267         superfluous call to `string-to-multibyte string'.
38269 2019-05-18  Michael Albinus  <michael.albinus@gmx.de>
38271         * lisp/net/tramp.el (tramp-interrupt-process): Return proper value.
38273 2019-05-18  Eli Zaretskii  <eliz@gnu.org>
38275         Remove usage of string-as-unibyte in arc-mode
38277         * lisp/arc-mode.el (archive-l-e): Encode with utf-8-emacs-unix
38278         instead of using string-as-unibyte.
38280 2019-05-18  Eli Zaretskii  <eliz@gnu.org>
38282         Fix visiting and saving UTF-16 encoded XML files
38284         * lisp/international/mule.el (sgml-xml-auto-coding-function):
38285         When the 'enncoding' tag specifies a UTF-16 encoding, enforce
38286         saving the buffer with BOM, per the XML spec.
38287         (xml-find-file-coding-system): Recognize UTF-16 encodings with
38288         BOM.  (Bug#35766)  (Bug#8282)
38289         * lisp/international/mule-cmds.el (select-safe-coding-system):
38290         Don't consider UTF-16 encodings with and without BOM as
38291         "different", so as not to annoy users with redundant questions
38292         about mismatch between the XML/SGML header and the selected
38293         explicit encoding.
38295 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
38297         Mitigate byte-compile warning in arc-mode
38299         * lisp/arc-mode.el (byte-after): Remove defsubst.
38300         Replace all calls to byte-after with get-byte throughout the file,
38301         because byte-after gave compilation warnings.
38303 2019-05-17  Eli Zaretskii  <eliz@gnu.org>
38305         (hexl-insert-multibyte-char): Avoid using `string-as-unibyte'
38307         * lisp/hexl.el (hexl-insert-multibyte-char): Avoid using
38308         `string-as-unibyte' in the fallback case.
38310 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
38312         (dirtrack-toggle, dirtrackp): Remove obsolete aliases
38314         * lisp/dirtrack.el (dirtrack-toggle, dirtrackp): Remove
38315         function/variable aliases declared obsolete in Emacs 23.1 (and
38316         that issued a byte-compile warning).
38318 2019-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38320         Clean up and simplify image-type setup
38322         This also fixes an unlikely hang involving a circular image
38323         description.
38324         * src/dispextern.h (struct image.type): Now pointer-to-const.
38325         * src/image.c (struct image_type.init) [!WINDOWSNT]: Omit.
38326         (IMAGE_TYPE_INIT): New macro.
38327         (image_types): Now a small array-of-const, not a pointer.
38328         (CACHE_IMAGE_TYPE): Remove; the code’s simpler without it.
38329         (ADD_IMAGE_TYPE): Remove this macro, replacing with ...
38330         (add_image_type): ... this equivalent function.  All uses changed.
38331         (define_image_type): Remove.  All uses removed.
38332         (valid_image_p): Use FOR_EACH_TAIL_SAFE to avoid Emacs hanging
38333         if the user creates a circular description of an image.
38334         (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type)
38335         (gif_type, imagemagick_type, svg_type, gs_type):
38336         Remove; now done by image_types.
38337         (init_imagemagick_functions): Remove decl of nonexistent function.
38338         (gs_clear_image): Remove; all uses replaced by image_clear_image.
38339         (initialize_image_type): New function, which captures a lot
38340         of the previously-scattered WINDOWSNT ifdefs.
38341         (lookup_image_type): Use it.
38342         (reset_image_types): Remove.  All uses removed.
38343         (syms_of_image): Don’t worry about ignoring image_types for
38344         pdumper, since it’s a constant now.
38346 2019-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
38348         * lisp/gnus/gnus-sum.el (gnus-tmp-thread): New var
38350         The recent change to use lexical-binding introduced a bug because
38351         gnus-summary-line-format-alist refers to variable `thread` which is now
38352         lexical and hence not available there any more.  Replace it with
38353         a dynamically scoped var `gnus-tmp-thread` as was already done with
38354         all other vars.
38356         (gnus-summary-line-format-alist): Use it instead of `thread`.
38357         (gnus-summary-prepare-threads): Bind it around call to (eval
38358         gnus-summary-line-format-spec).
38360 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
38362         Move Info-edit-* commands from info.el to obsolete/info-edit.el
38364         * lisp/info.el: Move Info-edit-* commands to obsolete/info-edit.el.
38366         * lisp/obsolete/info-edit.el: New file.
38368 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
38370         Use cl-assert instead of assert in ps-print.el
38372         * lisp/ps-print.el (ps-begin-job): Use cl-assert instead of assert
38373         and require cl-lib.
38375 2019-05-17  Lars Ingebrigtsen  <larsi@gnus.org>
38377         (ps-begin-job): Remove two unneeded string-as-unibyte calls
38379         * lisp/ps-print.el (ps-begin-job): Remove two unneeded
38380         string-as-unibyte calls to avoid byte compilation warnings.
38382 2019-05-17  Eli Zaretskii  <eliz@gnu.org>
38384         Fix a recent commit in select.el
38386         * lisp/select.el (gui-get-selection): Revert a recent
38387         incorrect change.  Add a comment explaining what we are trying
38388         to do with C_STRING and why.
38389         (xselect--encode-string): Add a comment explaining what we are
38390         trying to do with C_STRING and why.
38392 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38394         Remove obsolete example functions from imenu.el
38396         * lisp/imenu.el (imenu-example--create-c-index)
38397         (imenu-example--function-name-regexp-c)
38398         (imenu-example--create-lisp-index)
38399         (imenu-example--lisp-extract-index-name): Remove functions (and
38400         internal variables used by those functions) declared obsolete in
38401         Emacs 23.2.  The functions gave compilation warnings.
38403 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38405         Remove unused internal function completion-pcm--optimize-pattern
38407         * lisp/minibuffer.el (completion-pcm--optimize-pattern): Remove
38408         unused internal function (that signaled a compilation warning).
38410 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
38412         * lisp/gnus: Remove assumptions about mail-header being a vector
38414         Use `mail-header-p` and `make-full-mail-header` instead of `vectorp` and
38415         `vector`, respectively.
38417         * lisp/gnus/message.el (message-cite-original-1, message-reply)
38418         (message-followup):
38419         * lisp/gnus/gnus-sum.el (gnus-get-newsgroup-headers):
38420         Use make-full-mail-header instead of `vector`.
38421         (gnus--dummy-mail-header): New const, using make-full-mail-header.
38422         (gnus-update-summary-mark-positions): Use it instead of
38423         an immediate vector.
38424         (gnus-set-mode-line, gnus-summary-article-pseudo-p)
38425         (gnus-summary-article-subject, gnus-summary-insert-subject)
38426         (gnus-summary-find-subject, gnus-summary-goto-subject)
38427         (gnus-summary-limit-to-age, gnus-summary-find-matching)
38428         (gnus-summary-mark-article-as-unread, gnus-summary-mark-article)
38429         (gnus-summary-save-article):
38430         * lisp/gnus/gnus.el (gnus-news-group-p): Use mail-header-p instead
38431         of vectorp.
38433 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38435         Declare fileloop-continue in dired-aux to avoid warning
38437         * lisp/dired-aux.el (fileloop-continue): Declare to avoid
38438         compilation warning.  `fileloop-initialize-search' (used before
38439         -continue) will load fileloop.el.
38441 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38443         Avoind string-as-multibyte in ps-output-string-prim
38445         * lisp/ps-print.el (ps-output-string-prim): Avoid
38446         `string-as-multibyte', and encode as utf-8 instead if multibyte.
38448 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38450         (gui-get-selection): Avoid using `string-to-multibyte'
38452         * lisp/select.el (gui-get-selection): Avoid using
38453         `string-to-multibyte' -- instead encode as `eight-bit' if the
38454         string is unibyte.
38456 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38458         Declare two w32 functions to avoid byte compilation warnings
38460         * lisp/w32-fns.el (w32-version, w32-read-registry): Declare these
38461         functions to avoid byte compilation warnings.  The functions
38462         should be loaded when `w32--os-description' is called, as far as I
38463         can tell.
38465 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38467         Remove obsolete epg functions
38469         * lisp/epg.el (epg-start-sign-keys, epg-sign-keys): Remove
38470         functions declared obsolete since Emacs 23.1.
38472 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38474         Declare rectangle functions in mouse.el to avoid warnings
38476         * lisp/mouse.el (rectangle-dimensions)
38477         (rectangle-position-as-coordinates, rectangle-intersect-p):
38478         Declare these functions from rect.el to avoid compilation warnings.
38480 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
38482         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix docstring of accessors.
38484 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
38486         * lisp/gnus/nnheader.el (mail-header-*): Define via cl-defstruct
38488         This also has the side effect that the accessors are now defined as proper
38489         functions rather than as macros, so they can be passed to `mapcar` etc..
38491         * lisp/gnus/nnheader.el (mail-header-number, mail-header-subject)
38492         (mail-header-from, mail-header-date, mail-header-id)
38493         (mail-header-references, mail-header-chars, mail-header-lines)
38494         (mail-header-xref, mail-header-extra): Define via cl-defstruct.
38495         (mail-header-set-number, mail-header-set-subject)
38496         (mail-header-set-from, mail-header-set-date, mail-header-set-id)
38497         (mail-header-set-message-id, mail-header-set-references)
38498         (mail-header-set-chars, mail-header-set-lines, mail-header-set-xref)
38499         (mail-header-set-extra): Remove, use `setf` instead.  All callers adjusted.
38501         * lisp/gnus/gnus-sum.el (gnus-select-newsgroup)
38502         (gnus-summary-pop-limit, gnus-summary-limit-mark-excluded-as-read)
38503         (gnus-summary-find-matching, gnus-find-matching-articles):
38504         * lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal, gnus-execute):
38505         * lisp/gnus/gnus-score.el (gnus-score-adaptive):
38506         Eta-reduce, now that mail-header-FIELD are functions.
38508 2019-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
38510         Fix ffap behavior in the Gnus group buffer (bug#35693)
38512         * lisp/ffap.el (ffap-file-exists-string, ffap-file-at-point):
38513         Don't recognize "" as a path or a file name (bug#35693).
38515 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
38517         * lisp/international/mule.el (set-buffer-file-coding-system): Don't burp on iso-2022-7bit
38519 2019-05-16  Paul Pogonyshev  <pogonyshev@gmail.com>
38521         Make `package' not "uninhibit" messages (Bug#34037)
38523         * lisp/emacs-lisp/package.el: Don't let-bind inhibit-message to a
38524         different value if it was non-nil.
38526 2019-05-16  Basil L. Contovounesios  <contovob@tcd.ie>
38528         Fix gnus-summary-expand-window placement of point
38530         * lisp/gnus/gnus-win.el (gnus-configure-frame): Replace
38531         switch-to-buffer with pop-to-buffer-same-window to avoid messing
38532         with point. (bug#35613)
38534 2019-05-16  Basil L. Contovounesios  <contovob@tcd.ie>
38536         Add docstring to project--read-file-cpd-relative
38538         For discussion, see thread starting at:
38539         https://lists.gnu.org/r/emacs-devel/2019-05/msg00460.html
38540         * lisp/progmodes/project.el (project--read-file-cpd-relative):
38541         Describe arglist as promised by user option
38542         project-read-file-name-function.
38544 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
38546         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-test--symbol-macrolet): New test
38548 2019-05-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
38550         Fix stray call to make-vector
38552         * lisp/gnus/gnus-agent.el (gnus-agent-fetch-group-1): This is meant to
38553           be a hash table.
38555 2019-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
38557         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand) <setq>: Rewrite
38559         The previous code had 2 problems:
38560         - It converted `setq` to `setf` in unrelated cases such as
38561           (cl-symbol-macrolet ((x 1)) (setq (car foo) bar))
38562         - It macroexpanded places before `setf` had a chance to see if they
38563           have a gv-expander.
38565 2019-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38567         Distribute test cases in tarballs by default
38569         * INSTALL, INSTALL.REPO, admin/make-tarball.txt:
38570         Mention ‘make check’.
38571         * configure.ac: Update comment.
38572         * etc/NEWS: Say that tarballs have a test directory.
38573         * make-dist (with_tests): Default to "yes".
38574         Add an option --no-tests to make it "no".
38576 2019-05-16  Lars Ingebrigtsen  <larsi@gnus.org>
38578         Make shr-rescale-image respect get-buffer-window again
38580         * lisp/net/shr.el (shr-rescale-image): Partially revert previous
38581         change -- ressurrect the check for `get-buffer-window'.
38583 2019-05-16  Ivan Shmakov  <ivan@siamics.net>
38585         Improve user convenience of the rcirc debug buffer
38587         * lisp/net/rcirc.el (rcirc-debug): Ignore rcirc-debug-buffer read-only
38588         status.  Restore point after insertion unless it was at the end.
38589         Ensure a newline before each [lead].  Replace %Y-%m-%d with the
38590         equivalent %F in format-time-string; remove useless concat.  (Bug#32470)
38592 2019-05-16  Noam Postavsky  <npostavs@gmail.com>
38594         Accept NO-PROPERTIES in thing-at-point aliases (Bug#35491)
38596         * lisp/thingatpt.el (word-at-point, sentence-at-point): Accept and
38597         pass NO-PROPERTIES to thing-at-point.
38598         * etc/NEWS: Announce change.
38600 2019-05-15  Michael Albinus  <michael.albinus@gmx.de>
38602         * lisp/net/tramp.el (tramp-yesno-prompt-regexp): Extend.
38604 2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
38606         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Fix typo
38608         * test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
38609         New corresponding test.
38611 2019-05-15  Noam Postavsky  <npostavs@gmail.com>
38613         Fix merge of sgml-syntax-propertize-rules
38615         During the merge of emacs-26, the sgml-syntax-propertize-rules part of
38616         2019-01-17 "* lisp/textmodes/sgml-mode.el: Try and fix bug#33887." got
38617         lost in the conflict against 2019-05-09 "Recognize single quote
38618         attribute values in nxml and sgml (Bug#35381)".
38619         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Reapply
38620         the 2019-01-17 change to speed up sgml-syntax-propertize-rules, taking
38621         into account the 2019-05-09 which means we have to handle single
38622         quotes as well.
38624 2019-05-15  Anders Lindgren  <andlind@gmail.com>
38626         Fix diff-mode face problem when used in terminals (Bug#35695)
38628         In a terminal supporting 256 colors, both diff-added and diff-removed
38629         was mapped to the same greyish color.
38631         * lisp/vc/diff-mode.el: Modify the colors of diff-removed,
38632           diff-added, diff-refine-removed, and diff-refine-added when
38633           used in a 256 color environment.
38635 2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
38637         * lisp/gnus/gnus-sum.el: Use lexical-binding
38639         (gnus-summary-make-menu-bar, gnus-summary-display-make-predicate)
38640         (gnus-summary-refer-thread, gnus-summary-find-matching)
38641         (gnus-summary-edit-article, gnus-summary-sort):
38642         Replace backquoted lambda with closure.
38643         (gnus-summary-article-header): Use define-inline rather than defmacro,
38644         so it's also a function.
38645         (gnus-save-hidden-threads, gnus-summary-iterate, gnus-with-article):
38646         Use `declare`.
38647         (gnus-thread-sort-by-random): Simplify.
38648         (gnus-summary-display-article, gnus-summary-limit-to-address):
38649         Hoist common code outside of `if`.
38651 2019-05-15  Paul Eggert  <eggert@cs.ucla.edu>
38653         Tune reading of radix integers
38655         This improves the performance of (read "%xFF") by about 25%
38656         on my platform.
38657         * src/lread.c: Include <vla.h>, so that we can better document
38658         buffer sizes of arguments.
38659         (invalid_radix_integer_format, stackbufsize): New constants.
38660         (free_contents): Remove.  All uses removed.
38661         (invalid_radix_integer): New function.
38662         (read_integer): New arg STACKBUF.  Assume radix is in range.
38663         All uses changed.  Use STACKBUF to avoid calling malloc in the
38664         usual case.  Use grow_read_buffer to simplify.
38665         (read1): Tune.  Improve quality of diagnostic when
38666         MOST_POSITIVE_FIXNUM < radix <= EMACS_INT_MAX.
38668 2019-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
38670         * lisp/mail/footnote.el (footnote-prefix): Docstring typo.
38672 2019-05-15  Mattias Engdegård  <mattiase@acm.org>
38674         Add standard unmatchable regexp
38676         Add `regexp-unmatchable' as a standard unmatchable regexp, defined as
38677         "\\`a\\`".  Use it where such a regexp is needed, replacing slower
38678         expressions in several places.
38679         From a suggestion by Philippe Schnoebelen.
38681         * lisp/subr.el (regexp-unmatchable): New defconst.
38682         * etc/NEWS (Lisp Changes): Mention `regexp-unmatchable'.
38683         * doc/lispref/searching.texi (Regexp Functions): Document it.
38684         * lisp/emacs-lisp/regexp-opt.el (regexp-opt)
38685         * lisp/progmodes/cc-defs.el (cc-conditional-require-after-load)
38686         (c-make-keywords-re)
38687         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
38688         (c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
38689         (c-looking-at-decl-block)
38690         * lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
38691         (c-doc-bright-comment-start-re)
38692         * lisp/progmodes/cc-langs.el (c-populate-syntax-table)
38693         (c-assignment-op-regexp)
38694         (c-block-comment-ender-regexp, c-font-lock-comment-end-skip)
38695         (c-block-comment-start-regexp, c-line-comment-start-regexp)
38696         (c-doc-comment-start-regexp, c-decl-start-colon-kwd-re)
38697         (c-type-decl-prefix-key, c-type-decl-operator-prefix-key)
38698         (c-pre-id-bracelist-key, c-enum-clause-introduction-re)
38699         (c-nonlabel-token-2-key)
38700         * lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end)
38701         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
38702         (c-noise-macro-name-re, c-make-noise-macro-regexps)
38703         * lisp/progmodes/octave.el (octave-help-mode)
38704         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-revision-completion-table)
38705         * lisp/vc/vc-git.el (vc-git-log-view-mode)
38706         * lisp/vc/vc-hg.el (vc-hg-log-view-mode)
38707         * lisp/vc/vc-mtn.el (vc-mtn-log-view-mode):
38708         Use `regexp-unmatchable'.
38709         * lisp/textmodes/ispell.el (ispell-non-empty-string):
38710         Use `regexp-unmatchable', fixing a broken never-match regexp.
38712 2019-05-15  John Shahid  <jvshahid@gmail.com>
38714         Avoid infinitely looping in tramp-interrupt-process (bug#35506)
38716         * lisp/net/tramp.el (tramp-interrupt-process): Remove with-timeout.
38717         Instead pass a timeout to tramp-accept-process-output.
38718         tramp-accept-process-output stops timers from running which makes the
38719         with-timeout ineffective.
38721 2019-05-15  Alan Mackenzie  <acm@muc.de>
38723         CC Mode: fix indentation in switch statement after "case a(1):".
38725         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Enhance the
38726         analysis of case labels to handle parenthesised expressions (e.g. macros).
38728         * lisp/progmodes/cc-langs.el (c-nonlabel-nonparen-token-key): New lang const
38729         and lang var.
38731 2019-05-15  Lars Ingebrigtsen  <larsi@gnus.org>
38733         Describe error data in url-retrieve better
38735         * lisp/url/url.el (url-retrieve): Describe the error data more in
38736         depth (bug#25735).
38738 2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
38740         Don't have url-basic-auth bug out when called with an URL string
38742         * lisp/url/url-auth.el (url-basic-auth): Pass the parsed URL
38743         object to the prompting function instead of the parameter that's
38744         possibly a string (bug#26708).  Passing url-basic-auth with a
38745         string parameter would fail if passed a non-parsed URL.
38747 2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
38749         Fix obscure HTTP chunked parsing problem
38751         * lisp/url/url-http.el
38752         (url-http-chunked-encoding-after-change-function): Ensure that we
38753         parse the entire initial chunked header as the length (bug#35658).
38755 2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
38757         Indent url-http-chunked-encoding-after-change-function
38759 2019-05-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
38761         Fix url-auth prompts when realm is empty
38763         * lisp/url/url-auth.el (url-get-authentication): When realm is
38764         empty, use the entire URL in the prompt (bug#35688).
38766 2019-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
38768         Make image scaling work without imagemagick support in eww
38770         * lisp/net/shr.el (shr-rescale-image): Emacs has native image
38771         scaling now, so images can be rescaled without imagemagick
38772         support.
38774 2019-05-14  Glenn Morris  <rgm@gnu.org>
38776         Merge from origin/emacs-26
38778         02bee78 Let dir locals for more specific modes override those from less
38779         b1235f9 Improve documentation of Hexl mode
38780         32d1813 Fix description of (move-to-column <n> t) when column <n> is ...
38781         0397b7c ; Fix smtpmail-stream-type docstring
38782         7dab3ee Recognize single quote attribute values in nxml and sgml (Bug...
38783         e4cde42 Disable extra display of &#10; in nxml-mode (Bug#32897)
38784         ca14dd1 Fix nxml-get-inside (Bug#32003)
38785         e7ab351 Fix positioning client buffer as instructed by emacsclient
38787         # Conflicts:
38788         #       lisp/files.el
38789         #       lisp/textmodes/sgml-mode.el
38791 2019-05-14  Juri Linkov  <juri@linkov.net>
38793         * lisp/progmodes/project.el (project-read-file-name-function): Fix type.
38795 2019-05-14  Stefan Monnier  <monnier@iro.umontreal.ca>
38797         * lisp/savehist.el: Use lexical-binding
38799         Remove redundant :group args.
38800         (savehist-no-conversion): Remove constant.
38801         (savehist-save): Use savehist-coding-system instead since it's no slower.
38803 2019-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38805         Default to disabling ImageMagick (Bug#33587)
38807         ImageMagick has continuing stability and security problems, suggesting
38808         that 'configure' should disable it by default.  See Glenn Morris's notes
38809         at: https://lists.gnu.org/r/emacs-devel/2018-12/msg00036.html
38810         * INSTALL, etc/NEWS, nt/INSTALL.W64: Mention this.
38811         * configure.ac (imagemagick): Default to off.
38813 2019-05-13  Dmitry Gutov  <dgutov@yandex.ru>
38815         Allow customizing the display of project file names when reading
38817         To hopefully resolve a long-running discussion
38818         (https://lists.gnu.org/r/emacs-devel/2019-05/msg00162.html).
38820         * lisp/progmodes/project.el (project-read-file-name-function):
38821         New variable.
38822         (project--read-file-absolute, project--read-file-cpd-relative):
38823         New functions, possible values for the above.
38824         (project-find-file-in): Use the introduced variable.
38825         (project--completing-read-strict): Retain just the logic that fits
38826         the name.
38828 2019-05-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
38830         Avoid artifacts in ftx and ftcr font backend drivers
38832         * src/ftcrfont.c (ftcrfont_open):
38833         * src/ftfont.c (ftfont_open2): Make font->height equal to sum of font->ascent
38834         and font->descent.  Respect :minspace property.
38835         (ftfont_open2): Remove redundant assignment.
38836         (syms_of_ftfont) <QCminspace>: New DEFSYM.
38838 2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>
38840         Fix mail-header-separator font lock in message.el
38842         * lisp/gnus/message.el (message-font-lock-keywords): Dynamically
38843         font lock mail-header-separator, in case it changes. (bug#34898)
38845 2019-05-13  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
38847         Extract common code for adding text properties
38849         * lisp/font-lock.el (font-lock--add-text-property):
38850         New function.
38851         (font-lock-prepend-text-property)
38852         (font-lock-append-text-property): Use it.
38854         (Bug#35476)
38856 2019-05-13  Kévin Le Gouguec  <kevin.legouguec@gmail.com>
38858         Stop splicing anonymous faces in font-lock-append-text-property
38860         This is the same fix as 2019-04-29 "Refrain from splicing anonymous
38861         faces in text properties", which was only applied to
38862         font-lock-prepend-text-property.
38864         * lisp/font-lock.el (font-lock-append-text-property): Distinguish list
38865         of faces from property list.
38866         * test/lisp/font-lock-tests.el: New test suite.
38868         (Bug#35476)
38870 2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>
38872         Do not hard-code message-mode keys in docstring
38874         * lisp/gnus/message.el (message-mode): Replace hard-coded bindings
38875         in docstring with summary of message-mode-map. (bug#31388)
38877 2019-05-13  Basil L. Contovounesios  <contovob@tcd.ie>
38879         Fix last change to message-signature :type
38881         * lisp/gnus/message.el (message-signature): List more specific :type
38882         alternatives before more general ones, as per "(elisp) Composite
38883         Types".
38885 2019-05-13  Robert Pluim  <rpluim@gmail.com>
38887         Document nil value of message-signature and mail-signature
38889         * lisp/gnus/message.el (message-signature): Allow nil as a
38890         customizable value, and describe its effect.
38891         * lisp/mail/sendmail.el (mail-signature): Describe effect of nil
38892         value (bug#32680).
38894 2019-05-13  Juri Linkov  <juri@linkov.net>
38896         * lisp/vc/log-view.el (log-view-diff-common): Use the previous revision
38898         only when the end of the region is on a line after the last entry.
38899         (Bug#35624)
38901 2019-05-13  Alexandre Garreau  <galex-713@galex-713.eu>
38903         [PATCH 1/1] Adds variable 'eww-accept-content-types'
38905         * lisp/gnus/message.el (message-simplify-subject): Decouple
38906         simplification from "Re:" adding (bug#33200).
38907         (message-reply): Add the "Re:"'s here.
38908         (message-followup): And here.
38910 2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>
38912         Make mml respect the "recipient-filename" parameter
38914         * lisp/gnus/mml.el (mml-insert-mime-headers): Implement the
38915         already-documented "recipient-filename" parameter (bug#34654).
38917 2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>
38919         Make eww understand #fragment URLs at point interactively
38921         * lisp/net/eww.el (eww-suggest-uris): Use
38922         thing-at-point-url-at-point instead of url-get-url-at-point
38923         (bug#31927) because it's much better at guessing what the URL
38924         actually is (especially with #fragments).
38926 2019-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38928         Fix broken build on m68k
38930         The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
38931         Simplify string allocation a bit to make similar problems less
38932         likely in the future.
38933         * src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
38934         Use the same implementation as with !GC_CHECK_STRING_BYTES,
38935         as the special case is no longer needed.
38936         (SDATA_ALIGN): New constant.
38937         (SDATA_SIZE): Remove this macro, replacing with ...
38938         (sdata_size): ... this new function.  All uses changed.
38939         Properly account for sizes and alignments even in the m68k case,
38940         and even if GC_CHECK_STRING_BYTES is not defined.
38942 2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>
38944         Add a comment about the previous shr change
38946 2019-05-13  Lars Ingebrigtsen  <larsi@gnus.org>
38948         Fix problems in shr when indenting tables
38950         * lisp/net/shr.el (shr-mark-fill, shr-insert-table): Fix problems
38951         when block-quoting/<li>-ing a table -- the indentation/prefix was
38952         inserted twice (bug#32277).
38954 2019-05-13  Federico Tedin  <federicotedin@gmail.com>  (tiny change)
38956         Use a more specific Accepts header in eww
38958         * lisp/net/eww.el (eww-accept-content-types): New variable.
38959         (eww): Use it.
38960         (eww-reload): Use it. (bug#33002).
38962 2019-05-12  Xu Chunyang  <mail@xuchunyang.me>
38964         (eww-follow-link): Record the location properly when following #links
38966         * lisp/net/eww.el (eww-follow-link): Record the location properly
38967         when following #links (bug#35445).
38969 2019-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
38971         * lisp/emacs-lisp/package.el: Add `all` to package-check-signature
38973         (package-check-signature): Add `all` option.
38974         (package--check-signature-content): Adjust accordingly.
38976 2019-05-12  Noam Postavsky  <npostavs@gmail.com>
38978         Improve printing for named keyboard macros (Bug#35486)
38980         * lisp/macros.el (macros--insert-vector-macro): New function,
38981         extracted from insert-kbd-macro.
38982         (insert-kbd-macro): Use it and kmacro-extract-lambda to produce nicer
38983         expressions for macros produced by kmacro-lambda-form.
38985 2019-05-12  Noam Postavsky  <npostavs@gmail.com>
38987         Use remapping in ffap-bindings (Bug#35577)
38989         * lisp/ffap.el (ffap-bindings): Bind to the [remap COMMAND] instead of
38990         hardcoding the default keybindings.  This better adapts better if
38991         non-default are used.  And lets the original keybindings be
38992         remembered, so that, e.g., \[find-file] in docstrings will still be
38993         substituted with C-x C-f (even though that binding has been remapped
38994         to find-file-at-point.
38996 2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>
38998         Fix Gnus summary widget navigation across frames
39000         * lisp/gnus/gnus-sum.el (gnus-summary-widget-forward)
39001         (gnus-summary-widget-backward): Signal more informative error if
39002         article window is not found.  Consider other frames displaying
39003         article buffer, and raise its frame before navigating its
39004         widgets. (bug#35565)
39005         * lisp/gnus/gnus-win.el (gnus-get-buffer-window): Simplify and add
39006         docstring.
39008 2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>
39010         Make application/x-patch inlinable in mm-decode.el
39012         * lisp/gnus/mm-decode.el (mm-inline-media-tests, mm-inlined-types):
39013         Include application/x-patch as a synonym of text/x-patch and
39014         text/x-diff. (bug#35236)
39016 2019-05-12  Basil L. Contovounesios  <contovob@tcd.ie>
39018         Fix some gnus-msg.el variables (bug#35239)
39020         * lisp/gnus/gnus-msg.el (gnus-gcc-externalize-attachments):
39021         Fix custom :type.
39022         (gnus-debug-files, gnus-debug-exclude-variables): Mark variables
39023         that have been unused since Emacs 24.1 as obsolete.
39024         (gnus-check-before-posting): Remove unused variable.
39026 2019-05-11  Mauro Aranda  <maurooaranda@gmail.com>
39028         Use characters, not symbols for table-cell-bindings
39030         * lisp/textmodes/table.el (table-cell-bindings): Add missing '?', to
39031         avoid confusion between symbols and characters in bindings.  (Bug#35533)
39033 2019-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39035         Document font backends for Cairo and/or HarfBuzz
39037         * doc/lispref/frames.texi (Font and Color Parameters): Mention xfthb, ftcr,
39038         and ftcrhb font backends.
39040 2019-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39042         * src/xfns.c (x_create_tip_frame): Register font drivers as in normal frames.
39044 2019-05-10  Mark Oteiza  <mvoteiza@udel.edu>
39046         Generate some repetitive WordStar code with macros
39048         * lisp/obsolete/ws-mode.el (ws-set-marker-0, ws-set-marker-1):
39049         (ws-set-marker-2, ws-set-marker-3, ws-set-marker-4, ws-set-marker-5):
39050         (ws-set-marker-6, ws-set-marker-7, ws-set-marker-8, ws-set-marker-9):
39051         (ws-find-marker-0, ws-find-marker-1, ws-find-marker-2, ws-find-marker-3):
39052         (ws-find-marker-4, ws-find-marker-5, ws-find-marker-6, ws-find-marker-7):
39053         (ws-find-marker-8, ws-find-marker-9): Remove.
39054         (ws-set-marker, ws-find-marker): New macros.  Use them.
39056 2019-05-10  Alexander Gramiak  <agrambot@gmail.com>
39058         Convert Free_Pixmap macro into terminal hook
39060         * src/termhooks.h (terminal) [HAVE_WINDOW_SYSTEM]: New terminal hook
39061         free_pixmap.
39063         * src/image.c: Replace Free_Pixmap with free_pixmap.
39065         * src/msdos.h (FRAME_X_DISPLAY):
39066         * src/nsgui.h (Display):
39067         * src/nsterm.h (FRAME_NS_DISPLAY, FRAME_X_DISPLAY, FRAME_X_SCREEN)
39068         (FRAME_X_VISUAL):
39069         * src/w32term.h (FRAME_X_DISPLAY): Remove unused X-compatibility
39070         macros and typedefs.
39072         * src/nsterm.m:
39073         * src/w32term.c:
39074         * src/xterm.c: Implement and set free_pixmap hook.
39076 2019-05-10  Alexander Gramiak  <agrambot@gmail.com>
39078         Remove display member of glyph_string
39080         This member has little value even on X, and it leaks internal backend
39081         details to the glyph_string struct.
39083         * src/dispextern.h (glyph_string): Remove X display member.
39085         * src/xdisp.c (init_glyph_string): Remove initialization of display.
39087         * src/xfont.c (xfont_draw):
39088         * src/xterm.c: Use FRAME_X_DISPLAY (s->f) instead of display member.
39090 2019-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
39092         * lisp/help.el (help--read-key-sequence): Handle `switch-frame' events
39094         If you do `C-h k ... mouse-1 in other frame` (at least if you have a focus
39095         that follows the mouse), then additionally to the down-mouse-1 and mouse-1
39096         events, a `switch-frame` event (and `select-window` event as well sometimes)
39097         is generated.  When `read-key-sequence` is called with nil for
39098         `can-return-switch-frame`, this event is not returned but kept for later,
39099         which causes a subsequent `sit-for` to return nil immediately.
39100         This interfered without our "wait for double-click" which in turn prevented
39101         us from stopping after the mouse-1 click, getting stuck waiting for something
39102         else instead.
39104         (help--read-key-sequence): Pass a non-nil `can-return-switch-frame`, so the
39105         subsequent `sit-for` returns more trustworthy information.
39107 2019-05-10  Michael Albinus  <michael.albinus@gmx.de>
39109         Handle subdomains in Tramp ad-hoc proxies
39111         * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Add proper
39112         regexps to `tramp-default-proxies-alist'.
39114 2019-05-10  Noam Postavsky  <npostavs@gmail.com>
39116         Stop using message-default-charset (Bug#35370)
39118         In 2016-02-14 "Remove compat code for older Emacsen",
39119         message-default-charset was obsoleted, and a couple of uses were
39120         removed, but others were left behind.
39121         * lisp/gnus/message.el (message-send-mail)
39122         (message-send-news, message-do-fcc)
39123         (message-encode-message-body):
39124         * lisp/gnus/mml.el (mml-to-mime): Stop using message-default-charset.
39126 2019-05-10  Alan Mackenzie  <acm@muc.de>
39128         Optimize CC Mode a bit for repetitive insertion and replace-regexp
39130         This is mainly by enhancing a parse-partial-sexp cache to retain recently
39131         calculated values.  Also, there are several miscellaneous optimizations and
39132         bug fixes.
39134         * lisp/progmodes/cc-engine.el (c-state-semi-nonlit-near-cache): New buffer
39135         local variable.
39136         (c-state-semi-trim-near-cache, c-state-semi-get-near-cache-entry)
39137         (c-state-semi-put-near-cache-entry, c-state-semi-trim-cache): New functions.
39138         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal): Use the new "near"
39139         cache.
39140         (c-parse-ps-state-below): Use the new function c-state-semi-trim-cache.
39141         (c-before-change-check-<>-operators): Check simply for < or > in the
39142         neighbourhood before doing more expensive processing.
39143         (c-maybe-re-mark-raw-string): Give a backward search limit to an operation
39144         which was needlessly lacking one.
39146         * lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): Check a
39147         certain regexp is valid before performing the (somewhat expensive) actions of
39148         these functions.
39149         (c-fl-decl-start): In the search for a C++ lambda capture list, replace (slow)
39150         calculation of c-parse-state by a (less slow) c-go-up-list-backward.
39152 2019-05-10  Alan Mackenzie  <acm@muc.de>
39154         Make uncomment-region remove obtrusive spaces before tabs.
39156         These spaces were typically inserted earlier by comment-region.  This patch
39157         makes these two complementary functions closer to inverses.
39159         * lisp/newcomment.el (uncomment-region-default-1): Remove spaces before a tab
39160         where the comment opener has just been removed.
39162 2019-05-09  Michael Heerdegen  <michael_heerdegen@web.de>
39164         Fix alist-get gv setter not returning VAL
39166         This fixes Bug#35546.
39168         * lisp/emacs-lisp/gv.el (alist-get): Make setter return the set value
39169         to preserve 'setf' semantics.
39171 2019-05-09  Stefan Monnier  <monnier@iro.umontreal.ca>
39173         * lisp/mail/footnote.el: Avoid regexp-opt-charset, which is not autoloaded.
39175         (footnote-hebrew-numeric-regex): Use rx-to-string instead.
39177 2019-05-09  Michael Albinus  <michael.albinus@gmx.de>
39179         Fix an error in tramp-vc-file-name-handler
39181         * lisp/net/tramp.el (tramp-accept-process-output, tramp-send-string):
39182         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
39183         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
39184         (tramp-sh-handle-make-process):
39185         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
39186         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
39187         (tramp-smb-handle-set-file-acl)
39188         (tramp-smb-handle-start-file-process): Do not suppress timers.
39190         * lisp/net/tramp-sh.el (tramp-vc-file-name-handler): Check, that
39191         `tramp-file-name-for-operation' returns a proper Tramp file.
39193 2019-05-09  Michael Albinus  <michael.albinus@gmx.de>
39195         * test/lisp/net/tramp-tests.el (cl-lib): Require instead of cl-seq.
39197 2019-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
39199         * lisp/emacs-lisp/syntax.el (syntax-propertize): `ignore` is like nil
39201         (syntax-ppss-after-change-function): Mark it as obsolete.
39202         * lisp/font-lock.el (font-lock-apply-syntactic-highlight):
39203         Use syntax-ppss-flush-cache instead.
39205 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
39207         Port LIBRSVG_CHECK_VERSION fix to picky cpp
39209         * src/image.c (LIBRSVG_CHECK_VERSION): Define to yield false
39210         if it isn’t already defined.
39211         (svg_load_image): Port to C preprocessors that check the
39212         syntax of the entire preprocessing expression before
39213         evaluating any of it.
39215 2019-05-08  Glenn Morris  <rgm@gnu.org>
39217         Merge from origin/emacs-26
39219         1c6484e (origin/emacs-26) Fix incorrect cloning of eieio-instance-inh...
39220         37436fe Fix cloning of eieio-named objects (Bug#22840)
39221         fb65a36 Fix ibuffer-unmark-backward synopsis (bug#35572)
39222         f77bd2b ; * src/lisp.h (DEFSYM): Fix inaccurate comment.
39223         3b86e0b Clarify handling of long options (Bug#24949)
39224         04340a8 Improve documentation of the daemon and emacsclient
39225         3e29de2 * etc/NEWS.24: Belatedly announce delete-consecutive-dups.
39227 2019-05-08  Glenn Morris  <rgm@gnu.org>
39229         Merge from origin/emacs-26
39231         ec02c73 Update process filter example (Bug#35044)
39233 2019-05-08  Eli Zaretskii  <eliz@gnu.org>
39235         Fix compilation with old versions of librsvg
39237         * src/image.c (svg_load_image): Use LIBRSVG_CHECK_VERSION only
39238         if it's defined; it isn't in old versions of librsvg.
39240 2019-05-08  Michael Albinus  <michael.albinus@gmx.de>
39242         Skip tramp-test10-write-region-file-precious-flag for Emacs < 27
39244         * test/lisp/net/tramp-tests.el
39245         (tramp-test10-write-region-file-precious-flag): Skip for Emacs < 27.
39247 2019-05-08  Jonathan Tomer  <jktomer@google.com>
39249         Don't rewrite buffer contents after saving by rename (Bug#35497)
39251         * lisp/files.el (basic-save-buffer-2): Don't rewrite file contents
39252         after saving-by-renaming.  (Bug#35497)
39254         * test/lisp/files-tests.el (files-tests-dont-rewrite-precious-files):
39255         * test/lisp/net/tramp-tests.el
39256         (tramp-test10-write-region-file-precious-flag): Regression tests
39257         for this change.
39259 2019-05-07  Eli Zaretskii  <eliz@gnu.org>
39261         Add an assertion to xdisp.c
39263         * src/xdisp.c (display_mode_element): Add an assertion where
39264         we assume that 'string' returned by decode_mode_spec is always
39265         either a Lisp string or nil.
39267 2019-05-07  Juri Linkov  <juri@linkov.net>
39269         * lisp/progmodes/flymake.el: Obsolete variable flymake-start-on-newline
39271         (flymake-start-syntax-check-on-newline): Mark it obsolete.
39272         (flymake-after-change-function): Remove obsolete variable
39273         flymake-start-syntax-check-on-newline (temporarily renamed to
39274         flymake-start-on-newline).  (Bug#34294)
39276         * doc/misc/flymake.texi: Remove obsolete variable.
39278 2019-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39280         Pacify GCC 9.1
39282         * src/intervals.c (set_intervals_multibyte_1): Omit unused temps.
39283         * src/xdisp.c (display_mode_element): Use !NILP instead of
39284         STRINGP.  This convinces GCC we’re not dereferencing a
39285         possibly-null pointer, and should be a bit faster anyway.
39287 2019-05-07  John Shahid  <jvshahid@gmail.com>
39289         Fix setting and resetting of scroll-with-delete
39291         The start and end lines of the scroll region must to be in the range
39292         [0,term-height).  There are few placees that incorrectly set the end
39293         line of the scroll region to term-height which is outside the valid
39294         range.  Combined with another off-by-one error in
39295         term-set-scroll-region's clamping logic, this would cause
39296         term-scroll-with-delete to be unnecessarily turned on.
39298         * lisp/term.el (term-scroll-start,term-scroll-end): Use defvar-local
39299         to define the variables and document the valid range of values that
39300         the variables can take.
39301         (term--last-line): New function to calculate the 0-based index of the
39302         last line.
39303         (term--reset-scroll-region): New function to reset the scroll region
39304         to the full height of the terminal.
39305         (term-mode,term-reset-size,term-reset-terminal): Call
39306         term--reset-scroll-region to reset the scroll region.
39307         (term-set-scroll-region): Fix the off-by-one error in the clamping
39308         logic which allowed term-scroll-end to have values outside the valid
39309         range [0,term-height).
39311 2019-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
39313         * src/marker.c (buf_bytepos_to_charpos): Re-add the CHAR_HEAD_P assertion
39315         This assertion was removed in 1c349c62305d432abf0fa2b6e3f5d754fe4cab79
39316         because the assumption was invalid during set_intervals_multibyte_1.
39317         So we change set_intervals_multibyte_1 to solve the problem in the same
39318         way as in the rest of Fset_buffer_multibyte, which actually simplifies
39319         the code.
39321         * src/buffer.c (advance_to_char_boundary): Not static any more.
39322         * src/buffer.h (advance_to_char_boundary): Add prototype.
39323         * src/intervals.c (set_intervals_multibyte_1): Use it.
39325 2019-05-07  Glenn Morris  <rgm@gnu.org>
39327         * doc/emacs/text.texi (Fill Commands): Use pxref in parentheses.
39329         * doc/emacs/files.texi (Auto Revert): Fix makeinfo-4.13 compilation.
39331 2019-05-07  Basil L. Contovounesios  <contovob@tcd.ie>
39333         Clarify what constitutes an event (bug#35238)
39335         * doc/lispref/commands.texi (Input Events): Specify that events are
39336         non-nil and remove vestiges of bug#10190.
39337         * doc/lispref/os.texi (Recording Input): Document optional argument
39338         of recent-keys.
39339         * lisp/subr.el (eventp): Check that the car of conses is non-nil.
39340         * etc/NEWS: Announce it as an incompatible change.
39341         * src/keyboard.c (Frecent_keys): Clarify that returned "events" are
39342         not real events.
39344 2019-05-07  Eli Zaretskii  <eliz@gnu.org>
39346         Fix 'load-average' on MS-Windows
39348         * src/w32.c (getloadavg): Always return at least one element
39349         of the array.
39351 2019-05-06  Wilson Snyder  <wsnyder@wsnyder.org>
39353         Fix verilog-mode module backticks; whitespace from prev commits.
39355         * lisp/progmodes/verilog-mode.el (verilog-read-inst-module-matcher):
39356         Work when point is near backtick. Reported by Mattias Engdegard.
39358 2019-05-06  Juri Linkov  <juri@linkov.net>
39360         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Turn defvar into defcustom.
39362         Revert to old default value.  (Bug#35480)
39364 2019-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
39366         Make combine-after-change-calls work in the common case again
39368         * src/insdel.c (signal_after_change): Allow combine_after_change_calls
39369         even when syntax-ppss-flush-cache is on before-change-functions.
39371 2019-05-06  John Shahid  <jvshahid@gmail.com>
39373         Prevent accidental edits in the ansi-term buffer from breaking resizing
39375         * lisp/term.el (term-unwrap-line, term-emulate-terminal): Prevent the
39376           `term-line-wrap` property of newlines from spreading accidentally
39377           when inserting text next to it.
39379 2019-05-06  Alan Mackenzie  <acm@muc.de>
39381         c-beginning-of-statement-1: Handle syntactic WS macros properly.
39383         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): The variable
39384         before-sws-pos should record the position of a closing paren/brace/bracket
39385         before moving backwards over a sexp.  When there is a syntactic WS macro
39386         between the starting point and the closing p/b/b, setq before-sws-pos again
39387         after moving backward over the macro.
39389 2019-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
39391         * lisp/custom.el: Avoid adding vars to load-history multiple times
39393         Avoid the abuse of (eval `(defvar ...)) which tends to end up
39394         adding redundant entries in `load-history`, as discussed in
39395         https://lists.gnu.org/r/help-gnu-emacs/2019-03/msg00237.html
39397         (custom-initialize-default): Don't add to load-history.
39398         (custom-declare-variable): Use internal--define-uninitialized-variable
39399         and only add the var to load-history once.  Do it before calling
39400         `initialize` so the special-variable-p flag is set.
39402         * src/eval.c (Finternal__define_uninitialized_variable): New function.
39403         (Fdefvar, Fdefconst): Use it.
39404         (syms_of_eval): Defsubr' it.
39406 2019-05-06  Michael Albinus  <michael.albinus@gmx.de>
39408         Use lambda in tramp-compat-* functions
39410         * lisp/net/tramp-compat.el (tramp-handle-temporary-file-directory):
39411         Declare.
39412         (tramp-compat-temporary-file-directory-function): Use function symbol.
39413         (tramp-compat-file-attribute-type)
39414         (tramp-compat-file-attribute-link-number)
39415         (tramp-compat-file-attribute-user-id)
39416         (tramp-compat-file-attribute-group-id)
39417         (tramp-compat-file-attribute-modification-time)
39418         (tramp-compat-file-attribute-size)
39419         (tramp-compat-file-attribute-modes)
39420         (tramp-compat-directory-name-p, tramp-compat-file-local-name)
39421         (tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
39422         (tramp-compat-file-name-unquote, tramp-compat-exec-path)
39423         (tramp-compat-time-equal-p, tramp-compat-flatten-tree):
39424         Make them lambdas.
39426 2019-05-05  Paul Eggert  <eggert@cs.ucla.edu>
39428         Use simpler way to print function pointers
39430         The module code can’t possibly work on weird platforms where
39431         function pointers are wider than data pointers, so there’s no need
39432         to bother with the stackoverflow-like approach that is intended
39433         only for portability to such platforms.  Besides, the
39434         stackoverflow-like approach does not work well on weird platforms
39435         where CHAR_BIT is not a multiple of 4.
39436         * src/lisp.h (pMx): New macro.
39437         * src/print.c (data_from_funcptr) [HAVE_MODULES]: New function.
39438         (print_vectorlike) [HAVE_MODULES]: Use it.
39439         (print_object): Make sure buf is big enough for this.
39441 2019-05-05  Juri Linkov  <juri@linkov.net>
39443         * lisp/progmodes/flymake.el (flymake-start): Check for flymake-mode.
39445         Check for the value of flymake-mode after hooks are finished (bug#34294)
39447 2019-05-05  Juri Linkov  <juri@linkov.net>
39449         * lisp/progmodes/flymake.el: Rename flymake-start-on-newline (bug#34294)
39451         * lisp/progmodes/flymake.el (flymake-start-on-newline): Rename from
39452         flymake-start-syntax-check-on-newline.
39453         (flymake-start-syntax-check-on-newline): Define obsolete alias.
39454         (flymake-no-changes-timeout): Add customization option nil.
39456         * doc/misc/flymake.texi (Using Flymake): Rename variable.
39458 2019-05-05  Juri Linkov  <juri@linkov.net>
39460         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Remove Git prefixes.
39462         Strip possible source/destination prefixes such as a/ and b/
39463         from directory names.   (Bug#35420)
39464         (ediff-fixup-patch-map, ediff-dispatch-file-patching-job)
39465         (ediff-patch-file-internal): Replace string-match with string-match-p.
39467 2019-05-05  Juri Linkov  <juri@linkov.net>
39469         Use ngettext instead of dired-plural-s in Dired (bug#35287)
39471         * lisp/dired-aux.el (dired-map-over-marks-check): Use ngettext
39472         instead of dired-plural-s.
39473         (dired-create-files): Also add colon after operation name.
39474         (dired-compare-directories): Use ngettext and format-message.
39475         (dired-do-compress-to): Use ngettext.
39477         * lisp/dired.el (dired-internal-do-deletions)
39478         (dired-clean-up-after-deletion): Use ngettext instead of dired-plural-s.
39480 2019-05-05  Juri Linkov  <juri@linkov.net>
39482         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.
39484         Use unicode-property-table-internal with 'paired-bracket to append
39485         pairs of open/close characters to the default value (bug#35480).
39487 2019-05-05  Juri Linkov  <juri@linkov.net>
39489         Rename shell-command-width to async-shell-command-width (bug#35055)
39491         * lisp/simple.el (async-shell-command-width):
39492         * lisp/net/tramp.el (tramp-handle-shell-command):
39493         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
39494         * doc/misc/tramp.texi (Remote processes): Rename this variable.
39496         * doc/emacs/misc.texi (Single Shell): Add async-shell-command-width.
39498 2019-05-05  Paul Eggert  <eggert@cs.ucla.edu>
39500         Port mod-test to --enable-gcc-warnings
39502         * test/data/emacs-module/mod-test.c (NDEBUG): Undef, to prevent
39503         GCC from complaining “error: unused variable ‘dummy’” and failing
39504         to build the test, if --enable-gcc-warnings.
39506 2019-05-05  Eli Zaretskii  <eliz@gnu.org>
39508         Fix compilation of mod-test.c on MinGW
39510         * test/data/emacs-module/mod-test.c (Fmod_test_nanoseconds)
39511         [__MINGW32__]: Use _Static_assert, not static_assert, as the
39512         latter is not available in mingw.org's MinGW's assert.h.
39514 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39516         Fixed fill-column-indicator face removing background.
39518         *lisp/faces.el: Removed background in default fill-column-indicator
39519          face.
39520         *src/xdisp.c: fill-column-indicator face merged with saved face.
39522 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39524         ;Corrected display-fill-column-indicator mode.
39526         Small corrections in the documentation and code format to merge into master.
39528 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39530         *src/xdisp.c: Fixed fill column indicator position in terminal mode.
39532 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39534         display-fill-column-indicator interface corrections
39536         *lisp/display-fill-column-indicator.el: Fixed character selection for
39537         the indicator based in the current faces. Extended condition to set
39538         display-fill-column-indicator-character in graphical displays.
39540         *src/xdisp.c: Fixed some long lines.
39542 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39544         ;Small changes in the documentation
39546         *src/xdisp.c: Fixed docstring for display-fill-column-indicator-column
39547         *etc/NEWS: Concordance fix in the display-fill-column-indicator part.
39548         *doc/emacs/display.texi: Name mismatch fix.
39550 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39552         Added correction in the texinfo manual.
39554         *doc/emacs/text.texi: Added a reference to the
39555         display-fill-column-indicator section.
39557 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39559         Added fill-column-indicator manual documentation
39561         *etc/NEWS: reduced the comments about fill-column-indicator
39562         *doc/emacs/display.texi: Added documentation for fill-column-indicator
39563          in this section in the manual
39565 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39567         Fixed fill-column-indicator for continuation lines
39569         *src/xdisp.c: Grouped the test conditions for
39570         display-fill-column-indicator mode in a macro to simplify future
39571         modifications.
39573 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39575         Display-fill-column-indicator NEWS info.
39577         *etc/NEWS: Added information about the fill-column-indicator mode.
39578         *lisp/faces.el: Added a face for the display fill column indicator.
39580 2019-05-05  Jimmy Aguilar Mena  <spacibba@aol.com>
39582         Start display-fill-column-indicator-mode.
39584 2019-05-05  Michael Albinus  <michael.albinus@gmx.de>
39586         Describe, how to adapt shell command output width in Tramp
39588         * doc/misc/tramp.texi (Quick Start Guide, GVFS based methods):
39589         Fix @cindex.
39590         (Remote processes): Add some @vindex.  Describe shell command
39591         output width.
39593 2019-05-05  Eli Zaretskii  <eliz@gnu.org>
39595         Avoid compiler warning in print.c
39597         * src/print.c (print_vectorlike): Don't use %hh, as that is
39598         not portable enough; we don't yet assume a C99-compliant
39599         library.
39601 2019-05-05  Eli Zaretskii  <eliz@gnu.org>
39603         Avoid crashes in read_integer
39605         * src/lread.c (read_integer): Always allocate a buffer, since
39606         we need to use it even when the radix is invalid.  (Bug#35576)
39608 2019-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
39610         * lisp/files.el (hack-local-variables): Don't burp when files-x isn't loaded
39612 2019-05-05  Michael Albinus  <michael.albinus@gmx.de>
39614         Adapt tests for recent file-notification changes in Tramp
39616         * lisp/net/tramp.el (tramp-file-notify-process-sentinel):
39617         Pacify byte compiler.
39619         * test/lisp/autorevert-tests.el
39620         (auto-revert-test02-auto-revert-deleted-file):
39621         * test/lisp/filenotify-tests.el (file-notify-test03-events)
39622         (file-notify-test05-file-validity)
39623         (file-notify-test09-watched-file-in-watched-dir): Adapt for remote
39624         files.
39626 2019-05-05  Mattias Engdegård  <mattiase@acm.org>
39628         Reorganise (auto-)revert nodes in the manual
39630         Put all information about auto-revert into a section of its own, and
39631         organise the text in a more logical way.  Previously it was mainly
39632         described in the section about reverting (bug#35418).
39634         * doc/emacs/files.texi (Files): Adjust menu.
39635         (Reverting, Auto Revert, Autorevert): Add node `Auto Revert' and move
39636         text on that topic from `Reverting', rearranged.  Turn the old
39637         `Autorevert' node into a subsection under `Auto Revert'.
39638         * doc/emacs/arevert-xtra.texi (Autorevert): Rename and turn into
39639         subsubsection.
39640         * doc/emacs/buffers.texi (Several Buffers): Adjust references.
39641         * doc/emacs/emacs.texi (Top): Adjust menu.
39642         * doc/emacs/emacs-xtra.texi (Top): Adjust menu.
39643         (Non-File Buffers): Add node and section lines.
39645 2019-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39647         Fix last changes in src/ftfont.c
39649         * src/ftfont.c (ftfont_shape): Add missing argument direction.
39650         (fthbfont_shape) [HAVE_HARFBUZZ]: Remove unused variable ftfont_info.
39651         (fthbfont_driver) [HAVE_HARFBUZZ]: Remove redundant redeclaration.
39653 2019-05-04  Philipp Stephani  <phst@google.com>
39655         Avoid suppressing -Wcast-function-type warning.
39657         GCC special-cases the type ‘void (*)(void)’ to not emit warnings when
39658         cast, see
39659         https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wcast-function-type.
39660         Make use of this to remove a warning suppression.
39662         * src/dynlib.h: Use void (*)(void) as generic function pointer type.
39664         * src/emacs-module.c: Remove warning suppression.
39666 2019-05-04  Philipp Stephani  <phst@google.com>
39668         Fix compilation of test module.
39670         Because all other objects are compiled without -fPIC, we can’t use
39671         them when linking the test module.  Instead, use the source files
39672         directly.
39674         * test/Makefile.in (HYBRID_MALLOC, LIBEGNU_ARCHIVE): Remove.
39675         ($(test_module)): Use source files instead of objects and archives.
39677 2019-05-04  Philipp Stephani  <phst@google.com>
39679         Use extract_time in test module.
39681         * test/data/emacs-module/mod-test.c (Fmod_test_sleep_until): Use
39682         extract_time for time argument.
39683         (signal_wrong_type_argument): Remove unused function.
39685         * test/src/emacs-module-tests.el (mod-test-sleep-until): Remove
39686         unnecessary ‘float-time’.
39688 2019-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39690         Add new font backend drivers for text shaping by HarfBuzz
39692         * etc/NEWS: Mention new font backend drivers xfthb and ftcrhb.
39694         * src/font.h [HAVE_HARFBUZZ]: Include hb.h.
39695         (struct font_driver) [HAVE_HARFBUZZ]: New members begin_hb_font and
39696         end_hb_font.
39697         (ftfont_match, ftfont_list): Remove externs.
39698         (ftfont_match2, ftfont_list2):
39699         (fthbfont_combining_capability, fthbfont_begin_hb_font)
39700         (fthbfont_shape) [HAVE_HARFBUZZ]:
39701         (xfthbfont_driver) [HAVE_XFT && HAVE_HARFBUZZ]:
39702         (ftcrhbfont_driver) [USE_CAIRO && HAVE_HARFBUZZ]: Add externs.
39704         * src/ftcrfont.c (ftcrfont_list): Use ftfont_list2.
39705         (ftcrfont_match): Use ftfont_match2.
39706         (ftcrfont_open): Get font type from entity.
39707         (ftcrfont_open) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
39708         (ftcrfont_shape) [HAVE_HARFBUZZ]: Make shaping fail.
39709         (ftcrhbfont_list, ftcrhbfont_match)
39710         (ftcrhbfont_begin_hb_font) [HAVE_HARFBUZZ]: New functions.
39711         (ftcrhbfont_driver) [HAVE_HARFBUZZ]: New variable.
39712         (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register it.
39713         (syms_of_ftcrfont) [HAVE_HARFBUZZ]: New symbol Qftcrhb.
39715         * src/ftfont.c: Include math.h for lround.
39716         (fthbfont_driver) [HAVE_HARFBUZZ]: New variable.
39717         (ftfont_get_hb_font) [HAVE_HARFBUZZ]: Remove function.
39718         (ftfont_list, ftfont_match): Make static.
39719         (ftfont_list2, ftfont_match2): New functions.
39720         (ftfont_open2) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
39721         (ftfont_open): Get font type from entity.
39722         (ftfont_shape, ftfont_combining_capability, ftfont_driver) [HAVE_HARFBUZZ]:
39723         Move HarfBuzz specific part from here ...
39724         (fthbfont_shape, fthbfont_combining_capability)
39725         (fthbfont_driver) [HAVE_HARFBUZZ]: ... to here.   New functions and variable.
39726         (fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
39727         (fthbfont_shape_by_hb) [HAVE_HARFBUZZ]: Rename from ftfont_shape_by_hb.
39728         Don't take FreeType specific arguments ft_face and matrix.  Use begin_hb_font
39729         and end_hb_font font driver functions.  Use text_extents font driver functions
39730         instead of ftfont_glyph_metrics.
39731         (syms_of_ftfont) [HAVE_HARFBUZZ]: New symbol Qfreetypehb.
39732         (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register
39733         fthbfont_drivert.
39735         * src/ftxfont.c (ftxfont_list): Use ftfont_list2.
39736         (ftxfont_match): Use ftfont_match2.
39737         (ftxfont_driver) [HAVE_HARFBUZZ]: Don't initialize shape member explicitly.
39739         * src/xfns.c (Fx_create_frame) [USE_CAIRO && HAVE_HARFBUZZ]:
39740         (Fx_create_frame) [HAVE_XFT && HAVE_HARFBUZZ]: Register HarfBuzz versions of
39741         font drivers.
39743         * src/xftfont.c (xftfont_list): Use ftfont_list2.
39744         (xftfont_match): Use ftfont_match2.
39745         (xftfont_open): Get font type from entity.
39746         (xftfont_open) [HAVE_HARFBUZZ]: Use HarfBuzz version of driver if specified.
39747         (xftfont_shape) [HAVE_HARFBUZZ]: Make shaping fail.
39748         (xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
39749         (xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
39750         (xftfont_driver) [HAVE_HARFBUZZ]: Don't initialize shape member explicitly.
39751         (xfthbfont_driver) [HAVE_HARFBUZZ]: New variable.
39752         (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize and register it.
39753         (syms_of_xftfont) [HAVE_HARFBUZZ]: New symbol Qxfthb.
39755 2019-05-04  Philipp Stephani  <phst@google.com>
39757         * test/Makefile.in (src/emacs-module-tests.elc): Require test module
39759 2019-05-04  Philipp Stephani  <phst@google.com>
39761         Refactoring: Factor out a function to set an mpz_t from a Lisp int.
39763         * src/bignum.h (mpz_set_integer): New function.
39765         * src/emacs-module.c (module_make_big_integer): Use it.
39767 2019-05-04  Philipp Stephani  <phst@google.com>
39769         Avoid undefined behavior when printing function pointers.
39771         * src/print.c (print_vectorlike): Don’t pass a function pointer to
39772         ‘snprintf’, as that is undefined behavior.  Instead, print the
39773         individual bytes making up the function pointer.
39775 2019-05-04  Michael Albinus  <michael.albinus@gmx.de>
39777         Notify broken file notification from Tramp
39779         * lisp/net/tramp.el (tramp-file-notify-process-sentinel): New defun.
39781         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
39782         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
39783         Set process sentinel.
39785 2019-05-04  Paul Eggert  <eggert@cs.ucla.edu>
39787         Port new fingerprinting scheme to clang + LTO
39789         * lib-src/make-fingerprint.c (main): Don't consider multiple
39790         instances of the fingerprint to be an error, as this can
39791         happen with clang and -flto.  Instead, replace all instances
39792         of the fingerprint.  There is a tiny chance that this will
39793         silently corrupt the Emacs executable.
39795         This patch suggests that we should go back to fingerprinting
39796         the inputs to the linker instead of its output, as the new
39797         fingerprinting scheme is unnecessarily complicated and this
39798         complexity reduces reliability. The old scheme (i.e., before
39799         commit 2019-05-14T23:31:24Z!eggert@cs.ucla.edu) was simpler
39800         and more portable and good enough, and it's looking like it
39801         would be less trouble in practice than the new scheme.
39803 2019-05-04  Noam Postavsky  <npostavs@gmail.com>
39805         Avoid slow overlay ansi coloring in eshell (Bug#29854)
39807         * lisp/ansi-color.el (ansi-color-apply-on-region): Reset temporary
39808         markers after finishing with them.
39809         (ansi-color-apply-text-property-face): New function.
39810         * lisp/eshell/esh-mode.el (eshell-handle-ansi-color):
39811         * lisp/man.el (Man-fontify-manpage): Use it as the
39812         `ansi-color-apply-face-function' while calling
39813         `ansi-color-apply-on-region'.  Use `font-lock-face' to propertize
39814         instead of `face'.
39816 2019-05-04  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
39818         Fix bytecode optimization typo
39820         Problem reported by Simon Frankau (Bug#35562).
39821         * src/bytecode.c (exec_byte_code): Fix typo when optimizing varset.
39823 2019-05-04  John Shahid  <jvshahid@gmail.com>
39825         Fix Bug#35506
39827         * lisp/net/tramp.el (tramp-interrupt-process): Kill the entire
39828         process group.  (Bug#35506)
39830 2019-05-04  Eli Zaretskii  <eliz@gnu.org>
39832         Minor fix in .gdbinit
39834         * src/.gdbinit (xprintsym): Don't attempt to print the
39835         symbol's name if it is not yet set.  This happens with
39836         built-in symbols at the beginning of 'main'.
39838 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
39840         Skip tests if test subdir is missing
39842         Problem reported by Jeffrey Walton in:
39843         https://lists.gnu.org/r/emacs-devel/2019-05/msg00041.html
39844         * Makefile.in (CHECK_TARGETS): New macro; use it
39845         to simplify 'check' and similar rules.
39846         ($(CHECK_TARGETS)): If tests are missing, do not fail
39847         after issuing a diagnostic.  Just skip the tests.
39849 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
39851         Modernize INSTALL a bit
39853         * INSTALL: Omit filesystem space estimates.  These estimates
39854         were (1) wrong and (2) no longer important nowadays, as people
39855         have plenty of space.  Instead, start with how to get and
39856         unpack an Emacs tarball.  Don’t say "disk" as it’s often not
39857         disk nowadays.  Update URLs.
39859 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
39861         Simplify use of NDEBUG in etags.c
39863         * lib-src/etags.c [!DEBUG]: Do not define NDEBUG,
39864         as that’s conf_post.h’s job now.
39865         [NDEBUG]: Do not redefine ‘assert’, as that works around
39866         ancient bugs (e.g., sunos4 pcc) that don’t matter any more,
39867         as can be seen that other Emacs source files that successfully
39868         use assert.h without this workaround.
39870 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
39872         Pacify librsvg 2.45.1 and later
39874         * src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
39875         and add a FIXME comment about the deprecated librsvg functions.
39877 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
39879         Simplify xd_signature to pacify GCC 9
39881         * src/dbusbind.c (xd_signature): Use simpler way to set up
39882         the subsignature.  This also pacifies GCC 9 on Fedora 30 x86-64.
39884 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
39886         Update from Gnulib
39888         This incorporates:
39889         2019-05-03 Port manywarnings to GCC 9
39890         * m4/manywarnings.m4: Copy from Gnulib.
39892 2019-05-03  Michael Albinus  <michael.albinus@gmx.de>
39894         Add tests for remote files in auto-revert-tests
39896         * lisp/autorevert.el (auto-revert-debug): New defvar.
39897         (auto-revert-notify-handler): Write traces.
39899         * lisp/filenotify.el (file-notify-debug): New defvar.
39900         (file-notify-handle-event, file-notify-callback): Write traces.
39902         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered):
39903         Handle nil `vc-handled-backends'.
39905         * test/lisp/autorevert-tests.el
39906         (auto-revert-test-remote-temporary-file-directory): New defconst.
39907         Handle also $REMOTE_FILE_NOTIFY_LIBRARY.
39908         (auto-revert--test-enabled-remote-checked): New defvar.
39909         (auto-revert--test-enabled-remote): New defun.
39910         (auto-revert--wait-for-revert): Rewrite without timeout.
39911         (auto-revert--deftest-remote): New defmacro.
39912         (auto-revert-test01-auto-revert-several-files):
39913         (auto-revert-test02-auto-revert-deleted-file): Adapt for remote files.
39914         (auto-revert-test02-auto-revert-deleted-file):
39915         Use `auto-revert-debug' for debug messages.
39916         (auto-revert-test00-auto-revert-mode-remote)
39917         (auto-revert-test01-auto-revert-several-files-mode-remote)
39918         (auto-revert-test02-auto-revert-deleted-file-mode-remote)
39919         (auto-revert-test03-auto-revert-tail-mode-mode-remote)
39920         (auto-revert-test04-auto-revert-mode-dired-mode-remote): New tests.
39922         * test/lisp/filenotify-tests.el (file-notify--test-event-handler):
39923         Use `file-notify-debug' for debug messages.
39925 2019-05-03  Basil L. Contovounesios  <contovob@tcd.ie>
39927         Fix Gnus inline attachment decoding (bug#35507)
39929         Proposed by Andy Moreton <andrewjmoreton@gmail.com>
39930         and Noam Postavsky <npostavs@gmail.com>.
39931         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Always decode
39932         handle text, falling back on 'undecided' coding system.
39934 2019-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
39936         * lisp/server.el: Cosmetic changes
39938         Remove redundant :group args.
39939         (server-temp-file-regexp): Fix ^$ to  \`\'.
39941 2019-05-03  Eli Zaretskii  <eliz@gnu.org>
39943         Improve documentation of 'isearch-regexp-function'
39945         * lisp/isearch.el (isearch-regexp-function): Doc fix.
39946         (Bug#35498)
39948 2019-05-02  Alexander Gramiak  <agrambot@gmail.com>
39950         Refactor update_window_begin and update_window_end hooks
39952         Bug#35464.
39954         * src/dispnew.c (gui_update_window_begin, gui_update_window_end): New
39955         procedures implementing common functionality.
39957         * src/nsterm.m: (ns_update_window_begin, ns_update_window_end):
39958         * src/xterm.c: (x_update_window_begin, x_update_window_end): Remove in
39959         favor of only using the new generic versions.
39961         * src/w32term.c: (w32_update_window_begin, w32_update_window_end):
39962         Remove duplicated and unused code.
39964 2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>
39966         xref--find-ignores-arguments: Return "" if IGNORES is nil
39968 2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>
39970         Allow project-find-regexp'ing inside an ignored dir
39972         * lisp/progmodes/project.el (project-find-regexp): Don't pass
39973         project's ignores to project--files-in-directory.  The FILES glob
39974         should be enough, and we don't want to prohibit searching inside
39975         ignored directories this way (it can be counter-intuitive).
39977 2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>
39979         (xref--mouse-2): Fix not to jump to the next line
39981         * lisp/progmodes/xref.el (xref--mouse-2): Fix not to jump to the
39982         next line.
39984 2019-05-02  Dmitry Gutov  <dgutov@yandex.ru>
39986         Fix an "empty identifier" problem
39988         * lisp/progmodes/xref.el (xref--read-identifier): Abort on empty
39989         input if there is no default
39990         (https://lists.gnu.org/r/help-gnu-emacs/2019-05/msg00012.html).
39992 2019-05-02  Alan Mackenzie  <acm@muc.de>
39994         Fix fontification of first item in CC Mode macro without parentheses
39996         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Handle the new
39997         matching possibility (of a #define construct) in the new
39998         c-decl-prefix-or-start-re.
39999         (c-find-decl-spots): Allow the initial search for an in-macro starting point
40000         settle on the # of #define, to facilitate the regexp matching in
40001         c-find-decl-prefix-search.
40003         * lisp/progmodes/cc-langs.el (c-anchored-hash-define-no-parens): New lang
40004         const.
40005         (c-literal-start-regexp): Correct what was always supposed to be a "generic
40006         string" regexp element.
40007         (c-decl-prefix-or-start-re): Enhance also to match "#define <identifier>".
40008         (c-dposr-cpp-macro-depth): New lang variable and lang constant.
40010 2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40012         * lisp/mail/footnote.el: Add TEXT and POINTERS together
40014         Rather than adding POINTERS and TEXT separately to footnote--markers-alist,
40015         add them together, so we don't need footnote--first-text-marker because
40016         the TEXT part is never nil.
40018         (footnote--insert-numbered-footnote): Return marker.
40019         (footnote--insert-text-marker, footnote--insert-pointer-marker):
40020         Delete functions.
40021         (footnote--insert-markers): New function to replace them.
40022         (footnote--insert-footnote): Adjust accordingly.
40023         Simplify pointless `unless`.
40024         (footnote--first-text-marker): Remove.  Replace all calls by
40025         (cadr (car footnote--markers-alist)) or just footnote--markers-alist.
40027 2019-05-02  Alan Mackenzie  <acm@muc.de>
40029         CC Mode: Fix multiline block comments in macros.
40031         In particulr, handle multiline block comments whose newlines are not escaped.
40032         There is an example of this in #define EXTRA_CONTEXT_FIELDS in editfns.c.
40034         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Enclose
40035         the loops scanning escaped newlines with outer loops which check
40036         heuristically for, respectively, a block comment ender and a block comment
40037         starter on the lines we end up on.  (A rigorous syntactic check would be too
40038         slow, here.)
40040         * lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
40041         (c-last-open-c-comment-start-on-line-re): New language constants/variables.
40043 2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40045         * lisp/mail/footnote.el: Tweak markers convention
40047         Instead of using markers that are sometimes before and sometimes after
40048         the [...] and using `insert-before-markers` to make sure those that are
40049         are before stay before, always place them before, and make them
40050         "move after"so they stay with their [...] without the need for
40051         insert-before-markers.
40053         (footnote--current-regexp): Add arg to match previous style.
40054         Include the start/end "tags" in the regexp.  Adjust all callers.
40055         (footnote--markers-alist): Change position of POINTERS.
40056         (footnote--refresh-footnotes, footnote--renumber)
40057         (footnote--make-hole, footnote-delete-footnote)
40058         (footnote-back-to-message): Adjust accordingly, mostly by using
40059         `looking-at` instead of `looking-back`.
40060         (footnote--make-hole): Always return footnote nb to use.
40061         (footnote-add-footnote): Simplify call accordingly.
40063         * test/lisp/mail/footnote-tests.el: New file.
40065 2019-05-02  Sam Steingold  <sds@gnu.org>
40067         use view-mode on score file for ease of scrolling and quitting
40069         tetris-null-map: bind "q" to `quit-window`
40071 2019-05-02  Mattias Engdegård  <mattiase@acm.org>
40073         Small code clean-up of file-notify-add-watch
40075         * lisp/filenotify.el (file-notify-add-watch):
40076         Clearly separate backend-specific code from the rest, and simplify.
40077         (file-notify--add-watch-inotify, file-notify--add-watch-kqueue)
40078         (file-notify--add-watch-w32notify, file-notify--add-watch-gfilenotify):
40079         New functions.
40081 2019-05-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40083         * lisp/mail/footnote.el: Use dolist and hoist regexps out of loops
40085         (footnote--refresh-footnotes): Use pcase-dolist; compute regexp once
40086         outside of the loops.  Use less confusing `literal` arg to `replace-match`
40087         and specify `fixedcase` since footnote--index-to-string already chose
40088         the proper case for us.
40089         (footnote--renumber): Use dolist; compute regexp once
40090         outside of the loops; shortcircuit when number is unchanged.
40091         (footnote--text-under-cursor): Rewrite.
40092         (footnote--make-hole): Use dolist.
40093         (footnote-add-footnote): CSE.
40094         (footnote-delete-footnote): Use dolist; compute regexp once
40095         outside of the loop.
40096         (footnote-delete-footnote): Don't renumber if there's no footnote left.
40097         (footnote-renumber-footnotes): Use dolist.
40099 2019-05-02  Michael Albinus  <michael.albinus@gmx.de>
40101         Fix tramp-compat-file-name-quoted-p
40103         * lisp/net/tramp-compat.el (tramp-compat-file-local-name)
40104         (tramp-compat-file-name-quoted-p): Declare them.
40105         (top): Do not use `eval-and-compile'.
40106         (tramp-compat-file-name-quoted-p): Check also func-arity of
40107         `file-name-quoted-p'.
40109 2019-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
40111         Fix NS build
40113         * src/macfont.m: Fix prototype of macfont_shape.
40114         (mac_font_shape): Fix type of 5th argument.
40116 2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
40118         * lisp/mail/footnote.el: Consolidate the two marker-alists
40120         Consolidate footnote-text-marker-alist and footnote-pointer-marker-alist
40121         into a single footnote--markers-alist.
40123         (footnote--markers-alist): New var.
40124         (footnote-text-marker-alist, footnote-pointer-marker-alist): Delete vars.
40125         (footnote--refresh-footnotes, footnote--text-under-cursor)
40126         (footnote--calc-fn-alignment-column, footnote-add-footnote)
40127         (footnote-goto-footnote, footnote-back-to-message): Adjust accordingly.
40128         (footnote--make-hole, footnote-delete-footnote)
40129         (footnote-renumber-footnotes): Simplify accordingly.
40130         (footnote-cycle-style): Indicate style name in echo area.
40131         (footnote--renumber): Take a single `alist-elem` arg instead of
40132         `pointer-alist` and `text-alist`.
40133         (footnote--insert-text-marker, footnote--insert-pointer-marker):
40134         Add to footnote--markers-alist instead.
40135         (footnote--first-text-marker): New function.
40136         (footnote--get-area-point-min): Use it.
40137         footnote--goto-first): New function.
40138         (footnote--insert-footnote): Use it.
40139         (footnote-style-number): Use defvar-local.
40141 2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
40143         * lisp/mail/footnote.el: Minor simplifications
40145         Remove redundant :group args.
40146         (footnote-mode-hook): Let define-minor-mode define it.
40147         (footnote--style-p): Delete function.
40148         (footnote--index-to-string): Inline it instead, and simplify.
40149         (footnote-cycle-style): Use a pointer into the alist as the "index"
40150         instead of a number.
40151         (footnote-set-style): Use footnote-style-alist as the completion table.
40152         Prefer `assq` over `footnote--assoc-index`.
40153         (footnote--assoc-index): Delete function.
40154         (footnote--renumber): Remove first (unused) argument; Adjust all callers.
40155         (footnote--sort): Use car-less-than-car.
40157 2019-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
40159         Restore previous calling signature of gnus-set-info
40161 2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
40163         * lisp/emacs-lisp/edebug.el: Better handle instrumentation of `end-of-defun`
40165         Remove redundant :group args.
40166         (edebug-read-top-level-form): Let-bind edebug-active.
40167         (edebug-active): Move before this new first use.
40169 2019-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
40171         * lisp/help.el (function-called-at-point): Use Elisp's forward-sexp-function
40173 2019-04-30  Basil L. Contovounesios  <contovob@tcd.ie>
40175         Minor region-noncontiguous-p simplification
40177         * lisp/simple.el (region-noncontiguous-p): Don't needlessly traverse
40178         region-bounds.
40180 2019-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
40182         * lisp/progmodes/cc-engine.el: Silence minor compiler warnings
40184         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
40185         Move declaration before first use.
40186         (c-after-change-unmark-raw-strings): Remove unused var `found-end`.
40188 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
40190         Fix decode-time/encode-time roundtrip on macOS
40192         * src/timefns.c (Fencode_time): Ignore DST flag when the zone is
40193         numeric or is a cons, as the doc string says it’s ignored in that
40194         case, and not ignoring it causes encode-time to not invert
40195         decode-time on some platforms (Bug#35502).
40196         * test/src/timefns-tests.el (encode-time-dst-numeric-zone):
40197         New test.
40199 2019-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
40201         * lisp/progmodes/cc-fonts.el: Silence some compiler warnings
40203         (c-font-lock-declarators): Mark `id_end` and `not-top` as unused.
40205 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
40207         Update from Gnulib
40209         * build-aux/config.guess, doc/misc/texinfo.tex:
40210         * lib/mktime-internal.h, lib/mktime.c, lib/timegm.c:
40211         Copy from Gnulib.
40212         * lib/gnulib.mk.in: Regenerate.
40214 2019-04-30  Mattias Engdegård  <mattiase@acm.org>
40216         * lisp/autorevert.el (auto-revert-avoid-polling): Fix :set form.
40218 2019-04-30  Alan Mackenzie  <acm@muc.de>
40220         CC Mode: in certain font lock loops, check point is not beyond limit.
40222         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body)
40223         (autodoc-font-lock-line-markup): As part of the `while' condition, check that
40224         the previous iteration of the loop hasn't moved point past `limit', thus
40225         obviating "wrong side of point" errors in re-search-forward, etc.
40227 2019-04-30  Mattias Engdegård  <mattiase@acm.org>
40229         Don't poll auto-revert files that use notification (bug#35418)
40231         It is a waste to periodically poll files that use change notification
40232         in auto-revert mode; stop doing that.  If no files need polling,
40233         turn off the periodic execution entirely to further avoid wasting power.
40234         Use a timer to inhibit immediate reversion for some time after a
40235         notification, for throttling.
40237         This change does not apply to files in global-auto-revert-mode, where
40238         polling is still necessary.  It is disabled by default, and enabled by
40239         setting `auto-revert-avoid-polling' to non-nil.
40241         * lisp/autorevert.el
40242         (toplevel): Require cl-lib.
40243         (auto-revert-avoid-polling, auto-revert--polled-buffers)
40244         (auto-revert--need-polling-p, auto-revert--lockout-interval)
40245         (auto-revert--lockout-timer, auto-revert--end-lockout): New.
40246         (global-auto-revert-mode): Keep notifiers for buffers in auto-revert mode.
40247         (auto-revert-set-timer): Use auto-revert--need-polling-p.
40248         (auto-revert-notify-handler): Restart polling if notification stopped.
40249         Use new lockout timer.
40250         (auto-revert-buffers):
40251         Use auto-revert--polled-buffers and auto-revert--need-polling-p.
40252         (auto-revert-buffers-counter, auto-revert-buffers-counter-lockedout):
40253         Remove.
40255         * etc/NEWS (Changes in Specialized Modes and Packages):
40256         Describe the new auto-revert-avoid-polling variable.
40258         * doc/emacs/files.texi (Reverting):
40259         Add paragraph describing auto-revert-avoid-polling.
40261 2019-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
40263         Refrain from splicing anonymous faces in text properties
40265         * lisp/font-lock.el (font-lock-prepend-text-property): Distinguish
40266         list of faces from property lists.
40267         (font-lock-ensure-function): Remove redundant code.
40269 2019-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
40271         * lisp/international/mule-util.el: Avoid setq; clarify meaning of -1.
40273 2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>
40275         Sync latest SKK-JISYO.L
40277         Problem reported by Tsuyoshi Kitamoto (Bug#35442).
40278         * leim/SKK-DIC/README: Update to current URL.
40279         * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version.
40281 2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>
40283         Disable __attribute__ ((cold)) on MinGW
40285         * src/conf_post.h (ATTRIBUTE_COLD) [__MINGW32__]:
40286         Define to empty on this platform.
40288 2019-04-29  Glenn Morris  <rgm@gnu.org>
40290         Merge from origin/emacs-26
40292         c26d452 (origin/emacs-26) * src/macfont.m (macfont_shape): Use conven...
40293         140e7f8 Recommend using font-lock-face over face (Bug#35044)
40294         7cb5364 Check if mouse_face_overlay was deleted (Bug#35273)
40296         # Conflicts:
40297         #       src/macfont.m
40299 2019-04-29  Glenn Morris  <rgm@gnu.org>
40301         Merge from origin/emacs-26
40303         0e8d452 ; * doc/lispref/nonascii.texi (Coding System Basics): Fix gra...
40304         25a2ff7 ; Add missing space in custom.texi
40305         9ec18fb * admin/admin.el (set-version): Check for increase in version...
40306         93912ba Be more careful about indent-sexp going over eol (Bug#35286)
40308 2019-04-29  Paul Eggert  <eggert@cs.ucla.edu>
40310         Replace ‘/* FALLTHROUGH! */’ with ‘break;’
40312         * src/data.c (set_internal, set_default_internal):
40313         Replace obsolescent /* FALLTHROUGH! */ comments with ‘break;’,
40314         as ‘FALLTHROUGH;’ is not needed here.
40316 2019-04-29  Michael Albinus  <michael.albinus@gmx.de>
40318         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Instrument.
40320 2019-04-29  Eli Zaretskii  <eliz@gnu.org>
40322         Avoid compilation warnings in w32.c
40324         * src/w32.c (unsetenv, readlink): Use memcpy instead of
40325         strncpy, to avoid a compiler warning about calculating the
40326         bound of the copy.
40328 2019-04-28  Noam Postavsky  <npostavs@gmail.com>
40330         Replace use of obsolete string-make-unibyte
40332         * lisp/image-file.el (insert-image-file): Use encode-coding-region
40333         instead of string-make-unibyte.
40334         * test/lisp/image-file-tests.el: New test.
40336 2019-04-28  Tommi Komulainen  <tommi.komulainen@iki.fi>  (tiny change)
40338         python.el: Fix close paren indentation to match pep8 (Bug#20742)
40340         * lisp/progmodes/python.el (python-indent--calculate-indentation):
40341         When opening paren is followed by newline the closing paren should
40342         follow the current indentation.  Otherwise the closing paren should be
40343         aligned with the opening paren.  This fixes the latter case.
40345 2019-04-28  Paul Eggert  <eggert@cs.ucla.edu>
40347         Update from GMP
40349         * admin/update-copyright (updatable_files):
40350         Don’t update copyright year on files copied from GMP, so that
40351         they’re identical to upstream.
40352         * src/mini-gmp.c, src/mini-gmp.h: Copy from GMP development
40353         versions as of 2019-01-01 20:15:39 UTC.
40355 2019-04-28  Philipp Stephani  <phst@google.com>
40357         Export major version of latest Emacs supported by emacs-module.h.
40359         This is useful if module authors want to support multiple versions of
40360         emacs-module.h.
40362         * configure.ac (emacs_major_version): Define substitution.
40364         * src/emacs-module.h.in (EMACS_MAJOR_VERSION): Define macro.
40366         * doc/lispref/internals.texi (Module Initialization): Document
40367         EMACS_MAJOR_VERSION preprocessor macro.
40369         * test/data/emacs-module/mod-test.c (emacs_module_init): Verify
40370         behavior of EMACS_MAJOR_VERSION.
40372 2019-04-28  Philipp Stephani  <phst@google.com>
40374         Fix another compilation warning.
40376         * test/src/emacs-module-tests.el (multiply-string): Remove unused
40377         variable ‘i’.
40379 2019-04-28  Philipp Stephani  <phst@google.com>
40381         Also regenerate emacs-module.h if module-env-*.h changes.
40383         * Makefile.in (CONFIG_STATUS_FILES_IN): Add versioned environment
40384         header fragments.
40386 2019-04-28  Philipp Stephani  <phst@google.com>
40388         * src/emacs-module.c (funcall_module): Add a nontrivial assertion
40390 2019-04-28  Philipp Stephani  <phst@google.com>
40392         Fix a few minor compilation and Checkdoc warnings.
40394         * test/src/emacs-module-tests.el: Add package name and standard
40395         sections.
40396         (multiply-string): Add a docstring.
40398 2019-04-28  Philipp Stephani  <phst@google.com>
40400         * test/src/emacs-module-tests.el: Switch to lexical binding.
40402 2019-04-28  Eli Zaretskii  <eliz@gnu.org>
40404         Fix names of functions in last commit
40406         * src/coding.h (build_string_from_utf8): Rename from
40407         build_utf8_string.  All callers changed.
40408         * src/coding.c (make_string_from_utf8): Rename from
40409         make_utf8_string.  All callers changed.
40411 2019-04-28  Philipp Stephani  <phst@google.com>
40413         Refactoring: move UTF-8 decoding functions into coding.h.
40415         json_make_string and json_build_string are generally useful and not
40416         JSON-specific.  Move them to coding.[ch].
40418         * src/coding.h (build_utf8_string): Move from json.c.
40420         * src/coding.c (make_utf8_string): Move from json.c.
40422         * src/json.c (json_make_string, json_build_string): Move to
40423         coding.[ch].  Split out JSON-specific comment.
40424         (json_parse_error, Fjson_serialize, json_to_lisp): Fix callers.
40426         * src/emacs-module.c (module_make_function, module_make_string): Use
40427         new functions.
40428         (module_decode, module_decode_copy): Remove.
40430 2019-04-27  Alan Mackenzie  <acm@muc.de>
40432         Fix slow scrolling in C++ buffers with lots of template delimiters.
40434         * lisp/progmodes/cc-engine.el (c-update-brace-stack): bind
40435         c-parse-and-markup-<>-arglists and c-restricted-<>-arglists to t around the
40436         call to c-forward-<>-arglist, to force the marking of template delimiters with
40437         syntax-table text properties.
40439 2019-04-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
40441         Merge branch 'master' into harfbuzz
40443 2019-04-27  Eli Zaretskii  <eliz@gnu.org>
40445         Fix -nw sessions on MS-Windows broken by a recent commit
40447         * src/w32console.c: Include dispextern.h.
40448         (initialize_w32_display): Populate defined_color_hook.
40450 2019-04-27  Eli Zaretskii  <eliz@gnu.org>
40452         Fix MS-Windows build broken by a recent commit
40454         * src/w32term.c (w32_new_focus_frame): Fix a typo in a recent
40455         commit.
40457 2019-04-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
40459         Fix --with-x-toolkit=no build breakage
40461         * oldXMenu/Create.c (XMenuCreate): Add const modifier to variable def_val.
40462         * oldXMenu/Create.c:
40463         * src/frame.h: Add const modifier to return type of x_get_resource_string.
40464         * src/frame.c (x_get_resource_string): Exempt x_get_string_resource from
40465         renaming generic x_* identifiers.
40467 2019-04-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
40469         Update multicolor font support status
40471         * etc/NEWS: Mention multicolor font support on Cairo and NS.
40472         * src/macfont.m (macfont_list): Re-enable color bitmap fonts.
40474 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
40476         * src/frame.c (x_get_resource_string): Fix typo
40478         * src/xdisp.c: Only check FRAME_RIF for graphical frames
40480 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
40482         Rename x_highlight_frame property to highlight_frame
40484         * src/nsterm.h:
40485         * src/nsterm.m:
40486         * src/w32term.c:
40487         * src/w32term.h:
40488         * src/xdisp.c:
40489         * src/xterm.c:
40490         * src/xterm.h: Rename.
40492 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
40494         Check for existence of terminal hooks before use
40496         This should not be necessary, and is merely a precaution. For
40497         background, see:
40498         https://lists.gnu.org/r/emacs-devel/2019-04/msg00639.html
40500         * src/frame.c:
40501         * src/xdisp.c: Check for existence of terminal hooks before use.
40503 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
40505         Add terminal hook query_frame_background_color
40507         * src/termhooks.h (query_frame_background_color): New terminal hook.
40509         * src/image.c (image_query_frame_background_color): Remove. Use the
40510         terminal hook instead.
40512         * src/nsterm.m:
40513         * src/w32term.c:
40514         * src/xterm.c: Implement and set the new terminal hook.
40516 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
40518         Add terminal hook defined_color_hook
40520         * src/termhooks.h (defined_color_hook): New terminal hook.
40522         * src/xterm.c:
40523         * src/nsterm.m:
40524         * src/term.c:
40525         * src/w32term.c: Set defined_color_hook.
40527         * src/xfaces.c: Use defined_color_hook.
40528         (defined_color): Remove.
40530         * src/image.c: Remove redefinitions of x_defined_color, and use
40531         defined_color_hook.
40533 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
40535         Rename generic x_* identifiers
40537         * src/image.c: Rename x_* procedures to image_*.
40539         * src/frame.c: Rename x_* procedures to gui_*. Rename
40540         xrdb_get_resource to gui_display_get_resource. Rename x_get_arg to
40541         gui_display_get arg.
40543         * src/frame.h: Rename can_x_set_window_size to can_set_window_size.
40545         * src/xfaces.c: Rename realize_x_face to realize_gui_face. Rename
40546         x_supports_face_attributes_p to gui_supports_face_attributes_p.
40548         * src/keyboard.c:
40549         * src/lisp.h:
40550         * src/nsterm.m:
40551         * src/w32term.c:
40552         * src/xterm.c: Rename x_get_keysym_name to get_keysym_name.
40554         * src/nsfns.m:
40555         * src/nsterm.m: Rename x_* procedures to ns_*.
40557         * src/w32fns.c:
40558         * src/w32term.c: Rename x_* procedures to w32_*.
40560         * src/termhooks.h (query_colors, get_focus_frame, focus_frame_hook)
40561         (frame_visible_invisible_hook, iconify_frame_hook)
40562         (set_window_size_hook, set_frame_offset_hook, set_frame_alpha_hook)
40563         (set_new_font_hook, set_bitmap_icon_hook, implicit_set_name_hook)
40564         (activate_menubar_hook, change_tool_bar_height_hook)
40565         (set_scroll_bar_default_width_hook)
40566         (set_scroll_bar_default_height_hook, get_string_resource_hook): New
40567         terminal hooks to replace backend-specific x_* procedures.
40569         * src/dispextern.h (clear_under_internal_border): New RIF procedure.
40571         * src/alloc.c:
40572         * src/frame.c:
40573         * src/xdisp.c: Use FRAME_OUTPUT_DATA instead of FRAME_X_OUTPUT.
40575         * src/frame.c:
40576         * src/w32term.c:
40577         * src/w32fns.c: Use FRAME_NATIVE_WINDOW instead of FRAME_X_WINDOW.
40579 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
40581         Add prefixes to some window system-dependent procedures
40583         * src/nsterm.m (note_mouse_movement):
40584         * src/w32fns.c (construct_console_modifiers):
40585         * src/w32inevt.c:
40586         * src/w32term.c (frame_highlight, frame_unhighlight)
40587         (construct_mouse_click, construct_mouse_wheel, construct_drag_n_drop)
40588         (lispy_file_action, queue_notifications, note_mouse_movement):
40589         * src/w32term.h:
40590         * src/xterm.c (frame_highlight, frame_unhighlight)
40591         (construct_mouse_click, note_mouse_movement, get_current_wm_state):
40592         Add and use window system prefixes.
40594 2019-04-26  Alexander Gramiak  <agrambot@gmail.com>
40596         Rename generic x_* procedures in xdisp.c
40598         * src/xdisp.c (x_consider_frame_title, x_get_glyph_overhangs)
40599         (x_produce_glyphs, x_write_glyphs, x_insert_glyphs)
40600         (x_clear_end_of_line), x_fix_overlapping_area)
40601         (x_update_cursor, x_clear_cursor, x_clear_window_mouse_face)
40602         (x_draw_vertical_border, x_draw_right_divider, x_draw_bottom_divider)
40603         (x_intersect_rectangles): Rename with a gui prefix to indicate
40604         non-X-specific functionality.
40606         * src/composite.c:
40607         * src/dispextern.h:
40608         * src/nsfns.m:
40609         * src/nsterm.m:
40610         * src/w32fns.c:
40611         * src/w32term.c:
40612         * src/window.c:
40613         * src/xfns.c:
40614         * src/xterm.c: Use the renamed procedures.
40616 2019-04-26  Eli Zaretskii  <eliz@gnu.org>
40618         Avoid assertion violations in calculating line-number width
40620         * src/indent.c (line_number_display_width): Don't use the
40621         window's start marker if it belongs to a different buffer.
40622         (Bug#35429)
40624 2019-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
40626         * lib-src/profile.c: Delete long-obsolete file
40628         This auxiliary executable was used by the old `profile.el` which later
40629         inspired `elp.el`.  It was made obsolete when Emacs acquired native timers.
40631         * lib-src/Makefile.in (UTILITIES): Remove profile.
40632         (profile${EXEEXT}): Delete rule.
40634 2019-04-26  Michael Albinus  <michael.albinus@gmx.de>
40636         Handle quoted file names in tramp-archive.el
40638         * lisp/net/tramp-archive.el (tramp-archive-file-name-p):
40639         Suppress quoted file names.
40640         (tramp-archive-file-name-handler): Handle quoted file names.
40642         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p):
40643         Add optional TOP argument.
40645 2019-04-26  Eli Zaretskii  <eliz@gnu.org>
40647         Avoid compiler warning in dynlib.c
40649         * src/dynlib.c (dynlib_addr) [WINDOWSNT]: Rename the first
40650         argument to be consistent with other platforms.  Cast it to
40651         'void *' to avoid compiler warning as result of changing the
40652         function's signature as part of the last recent change in
40653         dynlib.c.
40655 2019-04-25  Glenn Morris  <rgm@gnu.org>
40657         * test/lisp/progmodes/sql-tests.el (sql-tests-buffer-naming-harness):
40658         Fix previous for TEST_LOAD_EL=no.
40660 2019-04-25  Alan Mackenzie  <acm@muc.de>
40662         Fix the formatting of '\' (including apostrophes) in CC Mode.
40664         In particular, the second apostrophe must also get font-lock-warning-face.
40666         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
40667         (c-parse-quotes-after-change): Add cond arms to recognize and handle the
40668         anomalous construct '\'.  Correct the handling of c-new-BEG in
40669         c-parse-quotes-before-change.
40671 2019-04-25  Glenn Morris  <rgm@gnu.org>
40673         * test/lisp/progmodes/sql-tests.el (sql-tests-buffer-naming-harness):
40674         Skip if no sqlite program.
40676 2019-04-25  Stephen Leake  <stephen_leake@stephe-leake.org>
40678         Fix Bug#33618; define search path variables for grep, byte-compile
40680         * etc/NEWS: Mention new variables.
40682         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-search-path): New.
40684         * lisp/progmodes/grep.el (grep-search-path): New.
40686 2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>
40688         Minor tweaks to recent UBSan-related fix
40690         * src/alloc.c: No need to include stdalign.h; it’s pervasive.
40691         (GC_STRING_OVERRUN_COOKIE_SIZE): Align to sdata’s alignment,
40692         so that the code works even if alignof (sdata) exceeds 8.
40693         Don’t require the cookie size to be 8, as this overly fattens
40694         32-bit platforms and one DEADBEEF should be enough.
40695         (GC_STRING_EXTRA): Omit now-unnecessary ‘verify’.
40696         (allocate_string_data): Omit unnecessary cast.
40698 2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>
40700         Port to Oracle Developer Studio 12.6
40702         This compiler is a bit pickier about checking conformance to
40703         the C standard, ranging from syntax trivia (no extra ";" at
40704         the top level) to portability trivia (warnings re conversion
40705         between function and data pointers) to more-important stuff
40706         like lack of support for some __attribute__ usages.
40707         * src/dynlib.c (dynlib_addr): First argument is a function
40708         pointer, not a data pointer.  All callers changed.
40709         * src/emacs-module.c (module_function_address):
40710         Return module_funcptr, not void *.  All uses changed.
40711         * src/lisp.h (module_funcptr) [HAVE_MODULES]: New type.
40712         * src/lread.c (union ieee754_double): Don’t assume the usual
40713         semantics for converting signed to unsigned int when initializing
40714         a bitfield, as the Oracle compiler complains and the C standard
40715         is unclear.
40716         * src/pdumper.c (ALLOW_IMPLICIT_CONVERSION): Make it clearer
40717         that -Wsign-conversion is disabled everywhere in this file.
40718         (dump_trace, dump_tailq_prepend, dump_tailq_append):
40719         Don’t assume __attribute__.
40720         (dump_object_self_representing_p): Don’t disable conversion
40721         warnings; it’s not needed here.
40722         (DEFINE_FROMLISP_FUNC): Avoid possible signal in integer
40723         conversion from unsigned to signed.
40724         (DEFINE_FROMLISP_FUNC, finish_dump_pvec): Avoid warning about
40725         unreachable statements on platforms not supporting the
40726         __attribute__.
40727         (intmax_t_from_lisp, intmax_t_to_lisp, dump_off_from_lisp)
40728         (dump_off_to_lisp, dump_emacs_reloc_immediate_lv)
40729         (dump_emacs_reloc_immediate_ptrdiff_t)
40730         (dump_emacs_reloc_immediate_intmax_t)
40731         (dump_emacs_reloc_immediate_int, dump_emacs_reloc_immediate_bool):
40732         Omit stray semicolon that violates C standard.
40733         (dump_metadata_for_pdumper): Add cast to pacify compiler complaining
40734         about conversion from function pointer to data pointer.
40735         (Fdump_emacs_portable): Do not use CALLN to call a function
40736         with zero arguments, as C99 prohibits empty initializers.
40737         * src/xdisp.c (syms_of_xdisp): Do not nest calls to pure_list,
40738         to work around a bug in Oracle Developer Studio 12.6.
40740 2019-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
40742         * lisp/simple.el (eval-expression): Fix paren typo.
40744 2019-04-25  Philipp Stephani  <phst@google.com>
40746         Make sure that ‘sdata’ objects in ‘sblock’ objects are aligned.
40748         Issue found by Clang’s UBSan.
40750         * src/alloc.c (GC_STRING_OVERRUN_COOKIE_SIZE): Increase to 8.
40751         (string_overrun_cookie): Extend accordingly.
40752         (GC_STRING_EXTRA): Ensure that it’s properly aligned for ‘sdata’.
40753         (allocate_string_data): Verify that ‘sdata’ blocks remain aligned.
40755 2019-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
40757         Use lexical-binding by default for M-:, --eval, and *scratch*
40759         * lisp/startup.el (command-line): Default to lexical-binding in *scratch*.
40760         (normal-no-mouse-startup-screen, command-line-1):
40761         Use startup--get-buffer-create-scratch.
40762         (command-line-1):
40763         * lisp/simple.el (eval-expression):
40764         * lisp/server.el (server-eval-and-print): Use lexical-binding to
40765         evaluate the expression.
40766         (server-execute): Use startup--get-buffer-create-scratch.
40767         * lisp/ielm.el (inferior-emacs-lisp-mode): Default to lexical-binding.
40769 2019-04-25  Alan Mackenzie  <acm@muc.de>
40771         Restore fontification of delimiters of multiline CC Mode strings.
40773         E.g., on typing the closing delimiter of a string continued onto a second
40774         line, the opening delimiter retained its font-lock-warning-face.
40776         * lisp/progmodes/cc-defs.el (c-c++-raw-string-opener-re)
40777         (c-c++-raw-string-opener-1-re): New constants.
40778         (c-sub-at-c++-raw-string-opener, c-at-c++-raw-string-opener): New macros.
40780         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
40781         (c-depropertize-raw-strings-in-region, c-after-change-unmark-raw-strings):
40782         Replace uses of open-coded raw string regexps by the new constants and macros
40783         in cc-defs.el.
40785         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Ditto
40787         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Set
40788         c-new-BEG to the beginning of the string when we encounter its closing ".
40789         When not in a raw string, but in a string, clear syntax-table properties from
40790         its delimiters and set c-new-BEG/END to its limits.
40791         (c-after-change-mark-abnormal-strings): When applying syntax-table properties
40792         to string delimiters, also set c-new-BEG/END to ensure subsequent
40793         fontification.
40795 2019-04-25  Stephen Berman  <stephen.berman@gmx.net>
40797         Make wdired-mode ignore ls file indicators
40799         * lisp/wdired.el (wdired--restore-dired-filename-prop): When
40800         dired-listing-switches includes "F" or "classify", don't treat
40801         appended indicator characters as part of the file name (bug#34915).
40803         * test/lisp/wdired-tests.el (wdired-test-bug34915): New test.
40805 2019-04-25  Paul Eggert  <eggert@cs.ucla.edu>
40807         Port emacsclient euidaccess to Solaris 10
40809         Without this fix, linking emacsclient fails with ‘Undefined
40810         symbol eaccess’ on Solaris 10 sparc.
40811         * lib-src/Makefile.in (LIB_EACCESS): New macro.
40812         (emacsclient${EXEEXT}, emacsclientw${EXEEXT}): Use it.
40814 2019-04-25  Alan Mackenzie  <acm@muc.de>
40816         Fix some corner cases in the recognition of C++ raw strings.
40818         These are where changing the identifier in a raw string delimiter causes
40819         different delimiters to match each other.
40821         * lisp/progmodes/cc-engine.el (c-raw-string-end-delim-disrupted): New
40822         variable.
40823         (c-before-change-check-raw-strings): Use new variable.
40824         (c-after-change-unmark-raw-strings): When typing into an opening delimiter or
40825         altering its close delimiter causes the opening delimiter to match a later
40826         closing delimiter, clear all syntax-table char properties from the opening
40827         delimiter onwards, and set c-new-END to point max.  Also, when changing a
40828         closing delimiter, check whether its new value matches a previously open
40829         opening delimiter earlier in the buffer, and amend the syntax-table text
40830         properties appropriately.
40832 2019-04-24  Michael R. Mauger  <michael@mauger.com>
40834         * lisp/progmodes/sql.el
40835         (sql-is-sqli-buffer-p): New function.
40836         (sql-generate-unique-sqli-buffer-name): Refactor and use it.
40837         (sql-product-interactive): Simplify name logic.
40838         * test/lisp/progmodes/sql-tests.el
40839         (sql-tests-placeholder-filter-harness): New macro.
40840         (sql-tests-placeholder-filter-simple)
40841         (sql-tests-placeholder-filter-ampersand)
40842         (sql-tests-placeholder-filter-period): Refactored tests and use macro.
40843         (sql-tests-buffer-naming-harness): New macro.
40844         (sql-tests-buffer-naming-default)
40845         (sql-tests-buffer-naming-multiple)
40846         (sql-tests-buffer-naming-explicit)
40847         (sql-tests-buffer-naming-universal-argument)
40848         (sql-tests-buffer-naming-existing): New tests.
40850 2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>
40852         Improve port to platforms lacking euidaccess (Bug#35406)
40854         * lib-src/emacsclient.c (set_local_socket):
40855         Use faccessat with AT_EACCESS instead of using euidaccess.
40856         * admin/merge-gnulib, lib/gnulib.mk.in, m4/gnulib-comp.m4:
40857         Revert previous change.
40859 2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>
40861         Port to platforms lacking euidaccess (Bug#35406)
40863         * admin/merge-gnulib (GNULIB_MODULES): Add euidaccess.
40864         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
40866 2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>
40868         Merge from gnulib
40870 2019-04-24  Mark Oteiza  <mvoteiza@udel.edu>
40872         Fix some strings in wordstar mode
40874         * lisp/obsolete/ws-mode.el (ws-search-direction, ws-error, ws-end-block):
40875         (ws-mark-word, ws-undo, ws-goto-last-cursorposition, ws-last-error):
40876         (ws-kill-bol): Remove full stops from message string endings.  Minor
40877         formatting tweaks.
40879 2019-04-24  Mark Oteiza  <mvoteiza@udel.edu>
40881         Change WordStar emulation into a minor mode (Bug#35148)
40883         * lisp/obsolete/ws-mode.el: Turn on lexical-binding.  Update commentary.
40884         (wordstar): New custom group.
40885         (wordstar-mode-lighter): New custom variable.
40886         (wordstar-mode): Declare with define-minor-mode.
40887         (turn-on-wordstar-mode): New function.
40888         (global-wordstar-mode): New function.  Use previous new function.
40890 2019-04-24  Dmitry Gutov  <dgutov@yandex.ru>
40892         Fix project-find-regexp search for '--'
40894         * lisp/progmodes/project.el (project--find-regexp-in-files):
40895         Add an explicit '-e' before the pattern.  Fixing the ability to
40896         search for '--'.  Reported by Juri Linkov <juri@linkov.net>.
40898 2019-04-24  Juri Linkov  <juri@linkov.net>
40900         * lisp/windmove.el (windmove-display-in-direction): Support consecutive calls
40902         Remember action and delete it from display-buffer-overriding-action afterwards
40904 2019-04-24  Philipp Stephani  <phst@google.com>
40906         Unbreak build when building without GMP support.
40908         Add support for a new preprocessor macro EMACS_MODULE_HAVE_MPZ_T to
40909         emacs-module.h.  If this macro is defined, assume that mpz_t is
40910         already defined and don’t include gmp.h.
40912         Don’t document the new macro for now, as it’s unclear whether we want
40913         to support this in modules outside the Emacs tree.
40915         * src/emacs-module.h.in: Allow user to prevent inclusion of gmp.h.
40917         * src/emacs-module.c: Use mini-gmp if GMP is unavailable.  Don’t
40918         include gmp.h.
40920         * src/lisp.h: Don’t require gmp.h.  It’s not needed for lisp.h.
40922         * test/Makefile.in (GMP_LIB, GMP_OBJ): New variables.
40923         ($(test_module)): Use them.
40925         * test/data/emacs-module/mod-test.c: Use mini-gmp if GMP is unavailable.
40927 2019-04-24  Philipp Stephani  <phst@google.com>
40929         Add missing GMP library to test module.
40931         * test/Makefile.in (GMP_LIB): Define variable.
40932         ($(test_module)): Use it.
40934 2019-04-24  Philipp Stephani  <phst@google.com>
40936         Move definition of Lisp_Module_Function to emacs-module.c.
40938         * src/lisp.h: Remove include of emacs-module.h.  Remove definition
40939         of Lisp_Module_Function structure.
40941         * src/emacs-module.c (module_function_documentation)
40942         (module_function_address): New accessor functions for module function
40943         fields.
40944         (emacs_subr, struct Lisp_Module_Function): Move from lisp.h.
40946         * src/print.c (print_vectorlike):
40947         * src/doc.c (Fdocumentation): Use the new accessor functions.
40949 2019-04-24  Paul Eggert  <eggert@cs.ucla.edu>
40951         Simplify thread initialization and GC
40953         * src/lisp.h (PVECHEADERSIZE): New macro.
40954         (XSETPVECTYPESIZE): Use it.
40955         * src/search.c (syms_of_search): No need to initialize or
40956         staticpro last_thing_searched or saved_last_thing_searched, as
40957         the thread code arranges for initialization and GC.
40958         * src/thread.c (main_thread): Initialize statically.
40959         (Fmake_mutex, Fmake_condition_variable, Fmake_thread):
40960         Use ALLOCATE_ZEROED_PSEUDOVECTOR rather than zeroing by hand.
40961         (mark_one_thread): No need to mark Lisp_Object members.
40962         (init_main_thread, init_threads_once): Remove.  All uses removed.
40964 2019-04-24  Eli Zaretskii  <eliz@gnu.org>
40966         Regenerate src/emacs-module.h when emacs-module.h.in changes
40968         * Makefile.in (CONFIG_STATUS_FILES_IN): Add
40969         src/emacs-module.h.in.
40971 2019-04-24  Eli Zaretskii  <eliz@gnu.org>
40973         Fix rescheduling timers after suspension
40975         * lisp/emacs-lisp/timer.el (timer-event-handler): Fix the
40976         comparison between next invocation time and current time.
40978 2019-04-24  Eli Zaretskii  <eliz@gnu.org>
40980         Fix posn-at-point with line-number display and display properties
40982         * src/xdisp.c (pos_visible_p): Account for line-number display
40983         width when CHARPOS is covered by display property that begins
40984         at the 2nd display element of a screen line.  (Bug#35404)
40986 2019-04-24  Eli Zaretskii  <eliz@gnu.org>
40988         Fix a typo in a recent commit
40990         * src/timefns.c (timespec_to_lisp): Fix a typo in function
40991         definition.
40993 2019-04-24  Philipp Stephani  <phst@google.com>
40995         * doc/lispref/internals.texi (Module Values): Add a GMP example
40997 2019-04-24  Philipp Stephani  <phst@google.com>
40999         Clarify rounding mode when converting to struct timespec.
41001         * doc/lispref/internals.texi (Module Values): Clarify that the
41002         truncation is towards negative infinity.
41004         * test/data/emacs-module/mod-test.c (Fmod_test_nanoseconds): Add test
41005         function.
41006         (emacs_module_init): Define it.
41008         * test/src/emacs-module-tests.el (mod-test-nanoseconds): New unit test.
41010 2019-04-24  Philipp Stephani  <phst@google.com>
41012         Fix return type of make_time.
41014         make_time is documented to return a (TICKS . HZ) pair, so we can’t use
41015         make_lisp_time.  Introduce a new conversion function instead.
41017         * src/emacs-module.c (module_make_time): Use timespec_to_lisp to
41018         correct return type.
41020         * src/timefns.c (timespec_to_lisp): New function.
41021         (make_lisp_time): Use it.
41023         * test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
41024         Check return type.
41026 2019-04-24  Philipp Stephani  <phst@google.com>
41028         Add module functions to convert from and to big integers.
41030         * src/module-env-27.h: Add new module functions to convert big
41031         integers.
41033         * src/emacs-module.h.in (emacs_mpz): Define if GMP is available.
41035         * src/emacs-module.c (module_extract_big_integer)
41036         (module_make_big_integer): New functions.
41037         (initialize_environment): Use them.
41039         * test/data/emacs-module/mod-test.c (Fmod_test_double): New test
41040         function.
41041         (emacs_module_init): Define it.
41043         * test/src/emacs-module-tests.el (mod-test-double): New unit test.
41045         * doc/lispref/internals.texi (Module Values): Document new functions.
41047 2019-04-24  Philipp Stephani  <phst@google.com>
41049         Add conversions to and from struct timespec to module interface.
41051         Time values are a fundamental data type, and such conversions are hard
41052         to implement within modules because of the various forms of time
41053         values in Emacs Lisp.  Adding dedicated conversion functions can
41054         significantly simplify module code dealing with times.
41056         This approach uses nanosecond precision.  While Emacs in theory has
41057         support for higher-precision time values, in practice most languages
41058         and standards, such as POSIX, C, Java, and Go, have settled on
41059         nanosecond-precision integers to represent time.
41061         * src/emacs-module.h.in: Add header for struct timespec.
41063         * src/module-env-27.h: Add module functions for time conversion.
41065         * src/emacs-module.c (module_extract_time, module_make_time): New
41066         functions.
41067         (initialize_environment): Use them.
41069         * test/data/emacs-module/mod-test.c (Fmod_test_add_nanosecond): New
41070         test function.
41071         (emacs_module_init): Define it.
41073         * test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid)
41074         (mod-test-add-nanosecond/nil, mod-test-add-nanosecond/invalid): New
41075         unit tests.
41077         * doc/lispref/internals.texi (Module Values): Document time
41078         conversion functions.
41080 2019-04-23  Eli Zaretskii  <eliz@gnu.org>
41082         Revert "Remove font.c code commented out for a decade"
41084         This reverts commit 64d0cd9810af6bd0c378fc6bc666c76ddfa97e40.
41086         Rationale: any font-related code and comments, even if unused
41087         for decades, serves as important source of useful information
41088         in an area of Emacs code that is notoriously under-documented.
41090         Please do NOT remove this stuff until we have an active
41091         expert in this are on board, who will then decide whether
41092         this can be retired.
41094 2019-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41096         Don't link libXft when using cairo
41098         * configure.ac: Check cairo early.  Don't try Xft if cairo is used.
41099         * lwlib/lwlib-utils.h [USE_CAIRO]: Include cairo.h and fontconfig.h.
41100         (XftFont, XftDraw, XftColor, XGlyphInfo) [USE_CAIRO]: New typedefs.
41101         (XftFontOpenName, XftFontClose, XftDrawCreate, XftDrawDestroy)
41102         (XftDrawRect, XftDrawStringUtf8, XftTextExtentsUtf8) [USE_CAIRO]: New macros.
41103         (crxft_font_open_name, crxft_font_close, crxft_draw_create)
41104         (crxft_draw_rect, crxft_draw_string, crxft_text_extents) [USE_CAIRO]: New
41105         externs.
41106         * lwlib/lwlib-utils.c [USE_CAIRO]: Include math.h, cairo-ft.h, and
41107         cairo-xlib.h.
41108         (crxft_font_open_name, crxft_font_close, crxft_draw_create)
41109         (crxft_set_source_color, crxft_draw_rect, crxft_draw_string)
41110         (crxft_text_extents) [USE_CAIRO]: New Xft compatibility functions.
41111         * lwlib/xlwmenuP.h [USE_CAIRO]: Include lwlib-utils.h.
41112         * lwlib/xlwmenu.c (display_menu_item) [USE_CAIRO]: Call
41113         cairo_surface_mark_dirty and cairo_surface_flush.
41114         * lwlib/lwlib-Xaw.c [USE_CAIRO]: Include stdlib.h and lwlib-utils.h.
41115         (draw_text) [USE_CAIRO]: Call cairo_surface_flush.
41116         * src/xsettings.c [USE_CAIRO]: Include fontconfig.h
41117         (apply_xft_settings) [!HAVE_XFT]: Don't call XftDefaultSubstitute or
41118         XftDefaultSet.
41119         * lwlib/lwlib-Xaw.c:
41120         * lwlib/lwlib-int.h:
41121         * lwlib/xlwmenu.c:
41122         * lwlib/xlwmenuP.h:
41123         * src/xrdb.c:
41124         * src/xsettings.c:
41125         * src/xterm.c: Replace all #ifdef HAVE_XFT with #if defined USE_CAIRO ||
41126         defined HAVE_XFT.
41127         * src/xfns.c (x_default_font_parameter): Replace #ifdef HAVE_XFT with #if
41128         defined USE_CAIRO || defined HAVE_XFT.
41130 2019-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
41132         * lisp/emacs-lisp/timer-list.el: Fix header-line alignment
41134         Enable lexical-binding.
41135         (cl-print-compiled, cl-print-compiled-button): Declare.
41136         (timer-list-mode): Add spacing to align the header.
41138 2019-04-23  Philipp Stephani  <phst@google.com>
41140         * src/emacs-module.c: Add an additional requirement for API changes.
41142 2019-04-23  Paul Eggert  <eggert@cs.ucla.edu>
41144         Remove some unnecessary #ifdef directives
41146         These directives are in files that are compiled only if the
41147         symbols are defined.
41148         * src/gfilenotify.c: Remove unnecessary ‘#ifdef HAVE_GFILENOTIFY’.
41149         * src/inotify.c: Remove unnecessary ‘#ifdef HAVE_INOTIFY’.
41150         * src/kqueue.c: Remove unnecessary ‘#ifdef HAVE_KQUEUE’.
41152 2019-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
41154         * etc/package-keyring.gpg: Add the 2019 key
41156 2019-04-23  Paul Eggert  <eggert@cs.ucla.edu>
41158         Remove font.c code commented out for a decade
41160         * src/font.c (LSTRING_HEADER_SIZE, LSTRING_GLYPH_SIZE, check_gstring)
41161         (check_otf_features, otf_list, otf_tag_symbol, otf_open)
41162         (font_otf_capability, generate_otf_features)
41163         (font_otf_DeviceTable, font_otf_ValueRecord)
41164         (font_otf_Anchor, Ffont_drive_otf, Ffont_otf_alternates)
41165         (Fdraw_string, syms_of_font): Remove "experimental and not
41166         tested much" code that has been "#if 0"-ed out for more than a
41167         decade and which was getting in the way of maintenance.
41169 2019-04-23  Philipp Stephani  <phst@google.com>
41171         Use three-argument form for out-of-range errors.
41173         This provides more debugging hints for callers.
41175         * src/emacs-module.c (module_copy_string_contents): Use three-argument
41176         form of args-out-of-range.
41178 2019-04-23  Philipp Stephani  <phst@google.com>
41180         Use high-level integer conversion macro in a few cases.
41182         INT_TO_INTEGER is more obviously correct and means we don’t have to
41183         worry about data type sizes and signedness.
41185         * src/json.c (json_parse_error): Use INT_TO_INTEGER.  The tiny
41186         performance gain of make_fixed_natnum isn’t worth the trouble then
41187         signaling an error.
41189 2019-04-23  Mattias Engdegård  <mattiase@acm.org>
41191         Rename auto-revert-notify-watch-descriptor-hash-list
41193         * lisp/autorevert.el
41194         (auto-revert-notify-watch-descriptor-hash-list):
41195         Rename to auto-revert--buffers-by-watch-descriptor.  Improved doc string.
41196         (auto-revert-notify-rm-watch, auto-revert-notify-add-watch,
41197         auto-revert-notify-handler): Use new name.
41199 2019-04-23  Michael Albinus  <michael.albinus@gmx.de>
41201         Remote processes cannot use a pipe process for stderr
41203         * doc/lispref/processes.texi (Asynchronous Processes):
41204         (Accepting Output): Remote processes cannot use a pipe process for
41205         stderr.
41207 2019-04-23  Philipp Stephani  <phst@google.com>
41209         * src/json.c (json_make_string): Add missing cast.
41211 2019-04-23  Eli Zaretskii  <eliz@gnu.org>
41213         Speed up JSON parsing
41215         Thanks to Dmitry Gutov <dgutov@yandex.ru> for running many
41216         benchmarks and for useful discussions.
41217         * src/json.c (json_make_string): Speed up parsing of JSON
41218         strings by optimizing the normal case of a valid UTF-8 string
41219         being returned from libjansson.  (Bug#31138)
41221 2019-04-23  Philipp Stephani  <phst@google.com>
41223         Small fix for a JSON unit test.
41225         * test/src/json-tests.el (json-parse-string/null): Make JSON object
41226         syntactically valid.  This test is supposed to check whether an
41227         escaped null character causes an error, but without quoting the string
41228         it would be syntactically invalid in any case.
41230 2019-04-23  Alan Mackenzie  <acm@muc.de>
41232         Optimize for typing characters into long C++ raw strings.
41234         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
41235         (c-font-lock-objc-methods) (c-font-lock-declarations, c-font-lock-enum-tail)
41236         (c-font-lock-cut-off-declarators, c-font-lock-enclosing-decls): If the chunk
41237         been fontified consists entirely of comments and strings, don't attempt to
41238         perform the function's action.
41240         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Don't
41241         expand (c-new-BEG c-new-END) unnecessarily to the entire raw string being
41242         fontified.
41243         (c-fl-decl-start, c-fl-decl-end): When in a (raw or otherwise) string, don't
41244         return a position outside of the string (which used to cause unneeded
41245         fontification).
41247 2019-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41249         Release xft_data in widget destroy callback to avoid visual distraction
41251         * lwlib/lwlib-int.h (struct _widget_instance) [HAVE_XFT]: Remove nr_xft_data.
41252         * lwlib/lwlib-Xaw.c (find_xft_data, xaw_update_one_widget) [HAVE_XFT]: Loop
41253         while widget member is not NULL instead of using nr_xft_data.
41254         (xaw_destroy_instance) [HAVE_XFT]: Move xft_data release code from here ...
41255         (destroy_xft_data) [HAVE_XFT]: ... to here.
41256         (make_dialog) [HAVE_XFT]: Add destroy_xft_data as destroy callback for dialog.
41258 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
41260         Let plain ‘make’ work even not GNU Make
41262         * Makefile.in (top_distclean): Clean makefile as well as Makefile.
41263         * configure.ac: If not using plain ‘make’, create a makefile
41264         so that plain ‘make’ simply calls $(MAKE).
41266 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
41268         Revert Vinternal_interpreter_environment tweak
41270         Stefan Monnier pointed out examples like (funcall `(closure
41271         ,(let ((cycle (list nil))) (setcdr cycle cycle)) () a)),
41272         where the user can set Vinternal_interpreter_environment
41273         indirectly.
41274         * src/eval.c (Fsetq): Revert recent change, going back to Fassq.
41276 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
41278         Improve UBSan discussion in etc/DEBUG
41280         * etc/DEBUG: Improve -gdwarf-N documentation.
41281         Go into more detail about UndefinedBehaviorSanitizer.
41283 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
41285         Tweak Vinternal_interpreter_environment lookup
41287         * src/eval.c (Fsetq, eval_sub): Use assq_no_quit instead
41288         of Fassq for a list that cannot contain cycles or be that long.
41290 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
41292         Improve wur coverage on older GCCs
41294         * src/conf_post.h (__has_attribute_warn_unused_result):
41295         New macro for compilers lacking __has_attribute.
41296         * src/systhread.h (__has_attribute): Remove ineffective define.
41297         (ATTRIBUTE_WARN_UNUSED_RESULT): Work better on GCC 3.4 thru 4.
41299 2019-04-22  Paul Eggert  <eggert@cs.ucla.edu>
41301         Go back to old way of checking json int range
41303         Although the lisp.h macros really need improvement,
41304         INTEGER_TO_INT is not the right way to go about it, as it
41305         causes conversion from intmax_t to uintmax_t and back again,
41306         which can cause a signal if the value is negative.
41307         * src/lisp.h (INTEGER_TO_INT, ranged_integer_to_int)
41308         (ranged_integer_to_uint): Remove, reverting recent changes to
41309         this file.
41310         * src/json.c (lisp_to_json): Revert to previous code,
41311         as the change messes up with uintmax_t<->intmax_t conversion.
41313 2019-04-22  Philipp Stephani  <phst@google.com>
41315         * src/lisp.h (INTEGER_TO_INT): Fix bug.
41317 2019-04-22  Mattias Engdegård  <mattiase@acm.org>
41319         Precise handling of filenotify `stopped' events
41321         * lisp/autorevert.el (auto-revert-notify-handler):
41322         When getting a `stopped' event, deal with it for the buffers it applies to,
41323         rather than for all buffers in auto-revert mode.
41325 2019-04-22  Mattias Engdegård  <mattiase@acm.org>
41327         * lisp/autorevert.el (auto-revert-notify-rm-watch): Simplify.
41329 2019-04-22  Mattias Engdegård  <mattiase@acm.org>
41331         Revert "Don't remove notify descriptor that is already gone"
41333         This reverts commit e9e807e9317ca7aa99a5dd220ee8586f8f4331bf,
41334         which is no longer necessary as `file-notify-rm-watch' has been
41335         made robust against reentry.
41337 2019-04-22  Mattias Engdegård  <mattiase@acm.org>
41339         Make file-notify-rm-watch robust against reentry
41341         Allow file-notify callbacks to call `file-notify-rm-watch', harmlessly,
41342         after receiving a `stopped' event without triggering recursion.
41344         * lisp/filenotify.el (file-notify--watch): Note that `callback' can be nil.
41345         (file-notify--rm-descriptor): Set the `callback' field to nil before
41346         sending `stopped'.
41347         (file-notify-rm-watch): Don't do anything if the `callback' field is nil.
41349 2019-04-22  Philipp Stephani  <phst@google.com>
41351         Introduce a helper macro to convert a Lisp integer to a C integer.
41353         This is similar to CONS_TO_INTEGER.  The inverse (INT_TO_INTEGER)
41354         already exists.
41356         * src/lisp.h (INTEGER_TO_INT): New macro.
41357         (ranged_integer_to_int, ranged_integer_to_uint): New
41358         functions.
41360         * src/json.c (lisp_to_json): Use helper macro.
41362 2019-04-22  Philipp Stephani  <phst@google.com>
41364         Improve documentation around standard error pipes (Bug#35328).
41366         * doc/lispref/processes.texi (Asynchronous Processes): Document
41367         existence and properties of the standard error process.
41368         (Accepting Output): Document that one has to accept output from the
41369         standard error process separately.
41371 2019-04-22  Philipp Stephani  <phst@google.com>
41373         Module API: Don’t require null-terminated strings in make_string.
41375         * src/emacs-module.c (module_make_string): Use make_unibyte_string, which
41376         doesn’t require its argument to be null-terminated.  Since it always
41377         returns a heap-allocated string, we don’t have to copy it any more
41378         while decoding.
41379         (module_decode): New helper function.
41381 2019-04-22  Philipp Stephani  <phst@google.com>
41383         Use utf-8-unix for coding system conversions in the module API.
41385         Factor out conversions into helper functions to provide a simpler
41386         interface.
41388         * src/emacs-module.c (module_encode, module_decode_copy): New helper
41389         functions.
41390         (module_make_function, module_copy_string_contents)
41391         (module_make_string): Use them.
41393 2019-04-22  Basil L. Contovounesios  <contovob@tcd.ie>
41395         Improve pure and side-effect-free docs
41397         For discussion, see thread starting at:
41398         https://lists.gnu.org/r/emacs-devel/2019-04/msg00316.html
41399         * doc/lispref/customize.texi (Composite Types): Do not overspecify
41400         :match-alternatives predicates.
41401         * doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
41402         effect" for cross-referencing...
41403         * doc/lispref/functions.texi (What Is a Function): ...from here.
41404         Define what a pure function is.
41405         * doc/lispref/internals.texi (Writing Emacs Primitives): Describe
41406         currently preferred approach to marking primitives as pure and
41407         side-effect-free.
41408         * doc/lispref/symbols.texi (Standard Properties): Expand description
41409         of pure and side-effect-free properties.
41411 2019-04-22  Philipp Stephani  <phst@google.com>
41413         Refactoring: Inline a few macros.
41415         Now that CATCHER_ALL catches signals as well, we can simplify
41416         MODULE_HANDLE_NONLOCAL_EXIT a bit.
41418         * src/emacs-module.c (MODULE_SETJMP, MODULE_SETJMP_1): Remove.
41419         (MODULE_HANDLE_NONLOCAL_EXIT): Inline MODULE_SETJMP and
41420         MODULE_SETJMP_1.
41422 2019-04-22  Michael Albinus  <michael.albinus@gmx.de>
41424         Some changes in tramp-tests
41426         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
41427         Check for backward compatibility.
41428         (tramp-test33-environment-variables): Apply a better check for
41429         unset variable.
41431 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41433         Mention AddressSanitizer etc. in etc/DEBUG
41435         * etc/DEBUG: Modernize for AddressSanitizer etc.
41436         * etc/NEWS: Defer to etc/DEBUG for this.
41438 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41440         Remove --enable-checking=xmallocoverrun
41442         It doesn’t work anymore, and these days ‘gcc -fsanitize=address’
41443         does a better job anyway.
41444         * configure.ac: Remove the option.
41445         * configure.ac (ac_xmalloc_overrun, XMALLOC_OVERRUN_CHECK):
41446         * src/alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD)
41447         (XMALLOC_OVERRUN_CHECK_SIZE, XMALLOC_OVERRUN_SIZE_SIZE)
41448         (xmalloc_overrun_check_header, xmalloc_overrun_check_trailer)
41449         (xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
41450         (overrun_check_realloc, overrun_check_free):
41451         Remove.  All uses removed.
41452         * etc/NEWS: Mention this.
41454 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41456         Remove --enablechecking=conslist configure option
41458         * configure.ac: Remove the option.
41459         * configure.ac (ac_gc_check_cons_list, GC_CHECK_CONS_LIST):
41460         * src/alloc.c (check_cons_list) [GC_CHECK_CONS_LIST]:
41461         * src/lisp.h (lisp_h_check_cons_list, check_cons_list):
41462         Remove.  All uses removed.
41463         * etc/NEWS: Mention this.
41465 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41467         Simplify XPNTR
41469         Because XPNTR now uses ATTRIBUTE_NO_SANITIZE_UNDEFINED,
41470         it can be simplified.
41471         * src/alloc.c (macro_PNTR_ADD, PNTR_ADD, macro_XPNTR): Remove.
41472         (XPNTR): Open-code rather than using the removed macros and
41473         functions.  Also, simplify by using LISP_WORD_TAG.
41475 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41477         Fix drain_reloc_list alignment bug
41479         * src/pdumper.c (dump_charset): Use alignof (struct charset),
41480         not alignof (int), since struct charset might be more strictly
41481         aligned than int.  I think this is just a minor performance
41482         issue, but we might as well use the correct alignment.
41483         (drain_reloc_list): Use an alignment instead of a size for the
41484         output alignment.  This prevents undefined behavior when
41485         alignof (struct emacs_reloc) == 8 and sizeof (dump_off) == 4
41486         when building on x86-64 with gcc -fsanitize=undefined.
41488 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41490         Port dump_bitset_clear to -fsanitize=undefined
41492         * src/pdumper.c (dump_bitset_clear):
41493         Pacify -fsanitize=undefined by avoiding memset (NULL, x, 0),
41494         which strictly speaking has undefined behavior although it
41495         works on all production platforms I know.
41497 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41499         Port to recent gcc -fsanitize=undefined
41501         * src/alloc.c (XPNTR): Add ATTRIBUTE_NO_SANITIZE_UNDEFINED and
41502         remove ATTRIBUTE_UNUSED.  Do not define as a macro, so that
41503         ATTRIBUTE_NO_SANITIZE_UNDEFINED works.
41504         * src/lisp.h (lisp_h_XSYMBOL): Remove.  All uses removed.
41505         With recent GCC the macro does not work with -fsanitize=undefined,
41506         and the macro can be omitted as its only function is to optimize -O0.
41508 2019-04-21  Basil L. Contovounesios  <contovob@tcd.ie>
41510         Move side-effect-free from unsafep.el to subr.el
41512         * lisp/emacs-lisp/unsafep.el: Move side-effect-free property setting
41513         from here...
41514         * lisp/subr.el: ...to here, as function declarations for modularity.
41516 2019-04-21  Paul Eggert  <eggert@cs.ucla.edu>
41518         Fix double-free in pdumper
41520         Revert the double-free bug that I introduced in
41521         2019-03-11T15:20:54Z!eggert@cs.ucla.edu.
41522         * src/pdumper.c (dump_mmap_reset): Do not free the private member;
41523         that’s the release function’s job.
41524         (dump_mm_heap_cb_release): Free cb if its refcount goes to zero.
41525         (dump_mmap_contiguous_heap): Mention memory leak in comment.
41527 2019-04-21  Glenn Morris  <rgm@gnu.org>
41529         Merge from origin/emacs-26
41531         9d7e08d (origin/emacs-26) Avoid false positives and false negatives o...
41532         75b589c Fix markup related to quoting in Info
41533         fd6ff29 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
41534         cd2204f Add a package: line to c-submit-bug-report.
41535         a992dca ; Remove empty NEWS sections
41536         ea67270 ; Add NEWS sections for 26.3
41537         45b0946 ; Bump Emacs version to 26.2.50
41538         aae8cc3 * admin/admin.el (set-version): Add NEWS headers for a .50 ve...
41540 2019-04-21  Glenn Morris  <rgm@gnu.org>
41542         Merge from origin/emacs-26
41544         cd2204f Add a package: line to c-submit-bug-report.
41545         a992dca ; Remove empty NEWS sections
41546         ea67270 ; Add NEWS sections for 26.3
41548         Conflicts:
41549                 etc/NEWS
41551 2019-04-21  Glenn Morris  <rgm@gnu.org>
41553         Merge from origin/emacs-26
41555         aae8cc3 * admin/admin.el (set-version): Add NEWS headers for a .50 ve...
41557 2019-04-21  Glenn Morris  <rgm@gnu.org>
41559         Merge from origin/emacs-26
41561         037970f Document insert-image-file's return value (Bug#32978)
41562         598b45a Autoload cua-toggle-rectangle-mark (Bug#34947)
41563         95bd56d Tell xclip not to expect job-control under eshell (Bug#35257)
41564         9997bbb ; * src/emacs.c: Fix typo in comment (Bug#35320).
41565         a4ad7be Fix off-by-one-link error in image--set-property
41567 2019-04-20  Paul Eggert  <eggert@cs.ucla.edu>
41569         Port make-fingerprint to LeakSanitizer
41571         * lib-src/make-fingerprint.c (buf): Now static,
41572         to pacify LeakSanitizer.
41574 2019-04-20  Michael R. Mauger  <michael@mauger.com>
41575         Fix Bug#35307.
41577         * lisp/progmodes/sql.el(sql-product-alist): Added
41578         :prompt-cont-regexp for ms.
41580         Looking for experience with Microsofts SQLCMD interpreter and
41581         adjustments needed for Emacs to support it.
41583 2019-04-20  Michael R. Mauger  <michael@mauger.com>
41584         Fix  Bug#24483.
41586         * lisp/progmodes/sql.el
41587         (sql-interactive-remove-continuation-prompt): Properly protect
41588         `sql-prompt-cont-regexp'.
41589         (sql-interactive-mode): Same.
41591          * lisp/progmodes/sql.el
41592         (sql-product-alist): Corrected :terminator defns.
41593         (sql-debug-send): New variable.
41594         (sql-send-string): Use it and correct buffer context.
41595         (sql-send-magic-terminator): Use `sql-input-sender'.
41596         (sql-placeholders-filter): Bug#11481 Don't recursively replace placeholders
41597         * test/lisp/progmodes/sql-tests.el
41598         (sql-test-placeholder-filter): Test placeholder functionality.
41600 2019-04-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41602         Fix text metrics calculation in Xft support for lwlib
41604         * lwlib/lwlib-Xaw.c (get_text_width_and_height) [HAVE_XFT]:
41605         * lwlib/xlwmenu.c (string_width) [HAVE_XFT]: Use xOff member instead of width.
41607 2019-04-20  Alexander Gramiak  <agrambot@gmail.com>
41609         * src/configure.ac: Check for GTK 2 features only on GTK 2
41611 2019-04-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41613         * lwlib/lwlib-Xaw.c (draw_text) [HAVE_XFT]: Fix memory leak.
41615 2019-04-20  Dmitry Gutov  <dgutov@yandex.ru>
41617         Support amending the last commit using VC-Hg
41619         * lisp/vc/log-edit.el (log-edit--toggle-amend): Extract from
41620         vc-git-log-edit-toggle-amend (bug#34944).
41622         * lisp/vc/vc-hg.el (vc-hg-log-edit-toggle-amend): New function.
41623         Use the aforementioned.
41624         (vc-hg-log-edit-mode-map): New variable.
41625         (vc-hg-log-edit-mode): New major mode.
41627 2019-04-20  Michael Albinus  <michael.albinus@gmx.de>
41629         Mark different-diagnostic-types as failed on emba.
41631         * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
41632         Expect also failure on emba.gnu.org.
41634 2019-04-20  Paul Eggert  <eggert@cs.ucla.edu>
41636         Improve XDG_RUNTIME_DIR diagnostic
41638         * lib-src/emacsclient.c (set_local_socket):
41639         If there appears to be an XDG runtime directory for the user
41640         but XDG_RUNTIME_DIR is unset, suggest setting it while warning
41641         about potential security issues (Bug#35300).
41643 2019-04-20  Alan Mackenzie  <acm@muc.de>
41645         Fix Pike Mode's autodoc doc comments style's continued lines.
41647         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Recognize
41648         matches of c-doc-line-join-re as syntactic whitespace.
41649         (c-find-decl-prefix-search): Recognize and move over matches of
41650         c-doc-line-join-re as whitespace.
41651         (c-find-decl-spots): Before moving backward a char, check (bobp).  Before
41652         moving forward over a comment, check it isn't possibly a "bright" comment.
41654         * lisp/progmodes/cc-fonts.el (c-get-doc-comment-style): New function,
41655         extracted from c-compose-keywords-list.
41656         (c-compose-keywords-list): Call the above new function.
41657         (pike-font-lock-keywords, pike-font-lock-keywords-2)
41658         (pike-font-lock-keywords-3): Call c-set-doc-comment-res.
41659         (c-doc-line-join-re, c-doc-bright-comment-start-re, c-doc-line-join-end-ch):
41660         New variables.
41661         (c-set-doc-comment-re-element, c-set-doc-comment-char-list): New macros.
41662         (c-set-doc-comment-res): New function.
41663         (c-font-lock-doc-comments): For consistency and repeatability, in a sequence
41664         of C++ style doc comments, don't fontify the region between BOL and the
41665         comment marker.
41666         (autodoc-line-join-re, autodoc-bright-comment-start-re)
41667         (autodoc-line-join-end-ch): New variables.
41669         * lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): New
41670         functions.
41671         (c-change-expand-fl-region, c-context-expand-fl-region): Call the above two
41672         new functions for extra possibilities for the start and end of a construct.
41674         * doc/misc/cc-mode.texi (Doc Comments): Add a sentence drawing attention to
41675         the possibility of fontifying constructs within a doc comment.
41677 2019-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
41679         * lisp/emacs-lisp/smie.el (smie-indent-comment-continue): Single-char case.
41681         Make it so the comment-continue is aligned with the comment-start when
41682         comment-start is a single-char.
41684 2019-04-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41686         * src/ftcrfont.c (ftcrfont_shape): Fix last change.
41688 2019-04-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41690         Use bitmap strikes as fallbacks for ftcr font backend
41692         * src/ftfont.h (struct font_info): New member bitmap_strike_index.
41693         * src/ftfont.c (ftfont_open2): Try bitmap strikes as fallbacks.
41694         (ftfont_open): Discard bitmap strikes.
41695         * src/ftcrfont.c (ftcrfont_open): Recalculate metrics for bitmap strikes.
41696         (ftcrfont_get_bitmap, ftcrfont_anchor_point, ftcrfont_shape): New functions.
41697         (struct font_driver): Use them.
41699 2019-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
41701         * lisp/emacs-lisp/radix-tree.el (pcase-defmacro): Improve docstring
41703         * lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias): Tweak doc
41705         * lisp/calendar/time-date.el (date-to-time): 'signal' only takes 2 args
41707         * lisp/calendar/parse-time.el (parse-time-string): Use functionp and setf
41709 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41711         Fix GC_CHECK_STRING_BYTES false alarm with pdumper
41713         * src/alloc.c (string_bytes): Don’t abort on strings
41714         taken from the dumped file.
41716 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41718         Fix another hash false alarm
41720         * src/pdumper.c (dump_vectorlike): Fix hash.
41722 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41724         * src/emacs-module.c (value_storage_contains_p): Fix typo.
41726 2019-04-19  Philipp Stephani  <phst@google.com>
41728         Remove some ineffective #ifdefs.
41730         Since DEFSYM doesn't by itself do anything and make-docfile ignores
41731         preprocessor statements, conditional compilation of DEFSYMs is
41732         ineffective.
41734         * src/data.c (syms_of_data): Remove ineffective #ifdefs.
41736 2019-04-19  Philipp Stephani  <phst@google.com>
41738         Remove some #ifdefs for user pointers.
41740         Even if Emacs is compiled without module support, we don't have to
41741         comment out every bit of user pointer support.  Defining the basic
41742         structures and functions and detecting user pointers in switch
41743         statements is harmless, and we're already doing the same for module
41744         functions.  Removing these #ifdefs makes the code a bit easier to
41745         read.
41747         * src/lisp.h (PVEC_USER_PTR, struct Lisp_User_Ptr, USER_PTRP)
41748         (XUSER_PTR): Define unconditionally.
41750         * src/data.c (Ftype_of):
41751         * src/alloc.c (cleanup_vector):
41752         * src/print.c (print_vectorlike):
41753         * src/pdumper.c (dump_vectorlike): Remove #ifdef for user pointers.
41755 2019-04-19  Philipp Stephani  <phst@google.com>
41757         Remove special-casing of tagged pointers.
41759         This partially reverts commit
41760         09b2b8a5ce5b542856f93b645db51eb11cf9855a.
41762         * src/alloc.c (mark_maybe_pointer): Remove special-casing of tagged
41763         pointers.  After commit 09d746dad36e4780d379f975a84b1b076da78c50,
41764         modules no longer rely on tagged pointers.
41766 2019-04-19  Philipp Stephani  <phst@google.com>
41768         Refactoring: Reduce code duplication
41770         * src/emacs-module.c (value_storage_contains_p): New function.
41771         (module_free_global_ref, value_to_lisp): Use it.
41773 2019-04-19  Mattias Engdegård  <mattiase@acm.org>
41775         Remove subsumed regexp branches
41777         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
41778         (c-after-change-mark-abnormal-strings): Remove `\r' subsumed by `.'.
41780 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41782         Fix Fload dangling pointer
41784         * src/lread.c (Fload): Expand decl’s lifetime to match its use.
41785         Bug found by gcc -fsanitize=address.
41787 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41789         Fix comment and tweak eval_sub
41791         * src/eval.c (eval_sub): Check whether Fassq returns Qnil,
41792         not whether it returns a cons, as NILP is faster than CONSP
41793         nowadays.  Remove incorrect comment “only original_fun and
41794         original_args have values that will be used below”; instead,
41795         move declarations around so that the set of variables with
41796         useful values is obvious.
41798 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41800         Fix dump_map_file on unusual platforms
41802         * src/pdumper.c (dump_map_file): Fix recently-introduced typo
41803         on platforms that support neither POSIX nor MS-Windows VM.
41805 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41807         Minor lread.c tweaks
41809         * src/lread.c (load_warn_unescaped_character_literals):
41810         Use AUTO_STRING to help the GC.
41811         (Fload): Use bool for boolean.
41813 2019-04-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
41815         Clear gnus-group-list when the newsrc-hashtb is recreated
41817         * lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
41818           This routine also happens when re-sorting groups; make sure we're
41819           clearing the group list.
41821 2019-04-19  Philipp Stephani  <phst@google.com>
41823         Make warning about unescaped character literals more helpful.
41825         See Bug#31676.
41827         * lisp/emacs-lisp/byte-run.el
41828         (byte-run--unescaped-character-literals-warning): New defun.
41830         * src/lread.c (load_warn_unescaped_character_literals): Use new defun.
41831         (syms_of_lread): Define symbol for new defun.
41833         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Use new
41834         defun.
41836         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
41837         test/lisp/emacs-lisp/bytecomp-tests.el
41838         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
41840 2019-04-19  Philipp Stephani  <phst@google.com>
41842         Refactoring: simplify definition of some internal variables.
41844         In some cases, we never specbind internal objects, so they don't have
41845         to be symbols.  Rather than using DEFSYM/DEFVAR and then uninterning
41846         the symbols, use plain static variables.  Call staticpro for all of
41847         them, to protect them from the garbage collector.
41849         * src/eval.c (syms_of_eval): Use a static variable for
41850         Qcatch_all_memory_full.
41852         * src/emacs-module.c (syms_of_module): Use static variables for
41853         Vmodule_refs_hash, Vmodule_runtimes, and Vmodule_environments.
41855 2019-04-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
41857         Don't check for group existence in gnus-group-goto-group
41859         * lisp/gnus/gnus-group.el (gnus-group-goto-group): Just look for the
41860           string.
41862 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41864         Fix regexp branches that subsume other branches
41866         Problems reported by Mattias Engdegård in:
41867         https://lists.gnu.org/r/emacs-devel/2019-04/msg00803.html
41868         * lisp/arc-mode.el (archive-rar-summarize):
41869         * lisp/eshell/em-hist.el (eshell-hist-word-designator):
41870         * lisp/info.el (Info-dir-remove-duplicates):
41871         * lisp/international/ja-dic-cnv.el (skkdic-convert-postfix)
41872         (skkdic-convert-prefix, skkdic-collect-okuri-nasi):
41873         * lisp/progmodes/cc-awk.el (c-awk-esc-pair-re):
41874         * lisp/xml.el (xml-att-type-re):
41875         Omit regexp branches that subsume other branches.
41876         * lisp/progmodes/cperl-mode.el (cperl-beautify-regexp-piece):
41877         $ and ^ aren’t simple-codes.
41879 2019-04-19  Paul Eggert  <eggert@cs.ucla.edu>
41881         Fix mail-extr regexp typo with ".".
41883         Problem reported by Mattias Engdegård in:
41884         https://lists.gnu.org/r/emacs-devel/2019-04/msg00543.html
41885         * lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
41886         Escape the trailing optional period after an abbreviation.
41888 2019-04-19  Michael Albinus  <michael.albinus@gmx.de>
41890         * lisp/net/tramp-adb.el (tramp-adb-prompt): Remove repetition of expression
41892         matching an empty string.
41894 2019-04-19  Michael Albinus  <michael.albinus@gmx.de>
41896         Do not handle :stop in tramp-*-handle-make-process
41898         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
41899         * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Do not
41900         handle :stop anymore.
41902 2019-04-19  Philipp Stephani  <phst@google.com>
41904         Remove :stop key from make-process.
41906         This has never worked and caused issues such as Bug#30460.
41908         * src/process.c (Fmake_process): Don't accept :stop key any more.
41909         (syms_of_process): Define needed symbol 'null'.
41911         * test/src/process-tests.el (make-process/stop): New unit test.
41913         * doc/lispref/processes.texi (Asynchronous Processes): Remove :stop
41914         key from manual.
41916 2019-04-19  Michael Albinus  <michael.albinus@gmx.de>
41918         Adapt tramp-test32-shell-command
41920         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
41921         Check "tput" before running `shell-command-width' test.
41923 2019-04-19  Philipp Stephani  <p.stephani2@gmail.com>
41925         Add a new user option 'ido-big-directories'.
41927         This provides an alternative to 'ido-max-directory-size', for
41928         directories that are statically known to be too big for Ido
41929         completion.
41931         * lisp/ido.el (ido-big-directories): New user option.
41932         (ido-directory-too-big-p): Use it.
41934         * test/lisp/ido-tests.el (ido-directory-too-big-p): New unit test.
41936 2019-04-19  Philipp Stephani  <phst@google.com>
41938         Use eassume (false) for branch that's never taken.
41940         * src/json.c (json_handle_nonlocal_exit): Use eassume (false) since
41941         this branch is never taken.
41943 2019-04-19  Eli Zaretskii  <eliz@gnu.org>
41945         Fix compilation warning due to a recent change
41947         * src/json.c (json_handle_nonlocal_exit): Always return a
41948         value.
41950 2019-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41952         * src/ftcrfont.c (ftcrfont_glyph_extents): Activate ft_size_draw.
41954         * src/ftcrfont.c (ftcrfont_open): Avoid returning while blocking input.
41956 2019-04-18  Philipp Stephani  <phst@google.com>
41958         Refactoring: have CATCHER_ALL also catch signals.
41960         In all cases where we use a CATCHER_ALL handler we also want to catch
41961         signals.  Therefore have 'signal' respect CATCHER_ALL.  Adapt internal
41962         interfaces so that handlers can distinguish among the two types of
41963         nonlocal exits in CATCHER_ALL handlers.
41965         * src/lisp.h (enum nonlocal_exit): New enum.
41966         (struct handler): Add member 'nonlocal_exit' to hold the type of
41967         nonlocal exit during stack unwinding.
41969         * src/eval.c (signal_or_quit): Also respect CATCHER_ALL handlers.
41970         (unwind_to_catch): Store nonlocal exit type in catch structure.
41971         (Fthrow, signal_or_quit): Adapt callers.
41972         (internal_catch_all): Install only one handler.  Give handler a
41973         nonlocal exit type argument.
41974         (internal_catch_all_1): Remove, no longer needed.
41976         * src/emacs-module.c (MODULE_SETJMP): Install only one handler.
41977         (module_handle_nonlocal_exit): New function to handle all nonlocal
41978         exits.
41979         (MODULE_SETJMP_1): Pass nonlocal exit type to handler function.
41980         (module_handle_signal, module_handle_throw): Remove, no longer needed.
41982         * src/json.c (json_handle_nonlocal_exit): New helper function.
41983         (json_insert_callback): Adapt to change in 'internal_catch_all'.
41985 2019-04-18  Philipp Stephani  <phst@google.com>
41987         Update module documentation for bignum support.
41989         * doc/lispref/internals.texi (Module Values): Update documentation for
41990         'make_integer' and 'extract_integer' for bignum support.
41992 2019-04-18  Philipp Stephani  <phst@google.com>
41994         * lib-src/make-fingerprint.c (main): Properly initialize 'prog'
41996         * src/emacs-module.c: Add instructions how to change the module API
41998 2019-04-18  Paul Eggert  <eggert@cs.ucla.edu>
42000         Fix make-fingerprint off-by-one bug
42002         Problem reported by Alex Gramiak in:
42003         https://lists.gnu.org/r/emacs-devel/2019-04/msg00784.html
42004         * lib-src/make-fingerprint.c (main): Fix recently-introduced
42005         off-by-one bug when accessing args after -r.
42007 2019-04-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
42009         Only encode Gnus group names if they come from symbol-name
42011         * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Names that
42012           were strings to begin with should already be properly encoded.
42014 2019-04-18  Paul Eggert  <eggert@cs.ucla.edu>
42016         Mark _Noreturn error functions as cold
42018         On my platform this made ‘make compile-always’ 1.3% faster.
42019         Suggested by Alex Gramiak in:
42020         https://lists.gnu.org/r/emacs-devel/2019-04/msg00684.html
42021         * configure.ac (nw): Don’t use -Wsuggest-attribute=cold.
42022         * lib-src/make-docfile.c (write_globals):
42023         Mark noreturn functions as cold.
42024         * src/callproc.c (exec_failed):
42025         * src/data.c (wrong_length_argument, wrong_type_argument):
42026         * src/emacs-module.c (module_abort):
42027         * src/emacs.c (terminate_due_to_signal):
42028         * src/eval.c (unwind_to_catch):
42029         * src/image.c (my_png_error, my_error_exit):
42030         * src/json.c (json_out_of_memory, json_parse_error):
42031         * src/keyboard.c (quit_throw_to_read_char, user_error):
42032         * src/lisp.h (die, wrong_type_argument, wrong_choice)
42033         (args_out_of_range, args_out_of_range_3, circular_list)
42034         (buffer_overflow, memory_full, buffer_memory_full)
42035         (string_overflow, xsignal, xsignal0, xsignal1, xsignal2)
42036         (xsignal3, signal_error, overflow_error, error, verror)
42037         (nsberror, report_file_errno, report_file_error)
42038         (report_file_notify_error, terminate_due_to_signal)
42039         (emacs_abort, fatal):
42040         * src/lread.c (load_error_old_style_backquotes)
42041         (end_of_file_error, invalid_syntax):
42042         * src/pdumper.c (error_unsupported_dump_object):
42043         * src/puresize.h (pure_write_error):
42044         * src/search.c (matcher_overflow):
42045         * src/sound.c (sound_perror, alsa_sound_perror):
42046         * src/sysdep.c (handle_arith_signal):
42047         * src/systime.h (time_overflow):
42048         * src/term.c (maybe_fatal, vfatal):
42049         * src/textprop.c (text_read_only):
42050         * src/timefns.c (invalid_time_zone_specification)
42051         (time_error, invalid_hz):
42052         * src/xterm.c (x_connection_closed):
42053         Use AVOID instead of _Noreturn void, so that it’s marked cold.
42054         * src/conf_post.h (__has_attribute_cold) [!__has_attribute]:
42055         New macro.
42056         (ATTRIBUTE_COLD): New macro.
42057         * src/frame.h (WINDOW_SYSTEM_RETURN): Add ATTRIBUTE_COLD.
42058         * src/lisp.h (AVOID): New macro.
42059         * src/xterm.c: Omit unnecessary static decls, so that we needn’t
42060         worry about which functions should be marked cold.
42061         (x_io_error_quitter): Mark as cold.
42063 2019-04-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42065         * src/ftcrfont.c (ftcrfont_glyph_extents): Fix last change.
42067 2019-04-17  Philipp Stephani  <phst@google.com>
42069         Add ERT explainer for 'tramp--test-file-attributes-equal-p'
42071         * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
42072         Use ERT explainer for 'equal' to improve failure messages.
42074 2019-04-17  Michael Albinus  <michael.albinus@gmx.de>
42076         Fix tramp-test32-shell-command
42078         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
42079         Run only if "tput" exist.
42081 2019-04-17  Glenn Morris  <rgm@gnu.org>
42083         Merge from origin/emacs-26
42085         a1c53d4 (origin/emacs-26) * admin/admin.el (make-manuals-dist--1): Up...
42086         d0f745f Document some compilation-mode faces
42087         23ccba0 Mention the assignment form in "Copyright Assignment"
42088         0f5568e Fix confusing wording in the user manual
42089         70ec392 Fix the MSDOS build when running under CWSDPMI
42090         7a608fc * lisp/progmodes/python.el: Be more careful about temp file r...
42092 2019-04-17  Glenn Morris  <rgm@gnu.org>
42094         Merge from origin/emacs-26
42096         266c622 Downcase charset
42097         92f3459 Update for Emacs-26
42098         beb4eac * doc/lispref/display.texi (Showing Images): Fix a typo.  (Bu...
42100 2019-04-17  Michael Albinus  <michael.albinus@gmx.de>
42102         Fix Bug#35241
42104         * lisp/files.el (executable-find): Quote default-directory.  (Bug#35241)
42106         * test/lisp/files-tests.el (files-tests-executable-find): New test.
42108 2019-04-17  Michael Albinus  <michael.albinus@gmx.de>
42110         * test/lisp/files-tests.el: Unify test names
42112         * test/lisp/files-tests.el (files-tests-local-variables)
42113         (files-tests-bug-18141, files-tests-make-temp-file-empty-prefix)
42114         (files-tests-bug-21454)
42115         (files-tests-save-buffers-kill-emacs--confirm-kill-processes)
42116         (files-tests-read-file-in-~)
42117         (files-tests-file-name-non-special--subprocess)
42118         (files-tests-file-name-non-special--buffers)
42119         (files-tests-insert-directory-wildcard-in-dir-p)
42120         (files-tests-make-directory, files-tests-no-file-write-contents)
42121         (files-tests-copy-directory, files-tests-abbreviated-home-dir):
42122         Unify test names.
42124 2019-04-17  Michael Albinus  <michael.albinus@gmx.de>
42126         Test `shell-command-width' in Tramp
42128         * test/lisp/net/tramp-tests.el
42129         (tramp--test-shell-command-to-string-asynchronously): Move up.
42130         (tramp-test32-shell-command): Test `shell-command-width'.
42132 2019-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42134         Use cairo_scaled_font_t object for text drawing and metrics calculation
42136         * src/ftfont.h (struct font_info): Replace member cr_font_face of type
42137         cairo_font_face_t * with cr_scaled_font of type cairo_scaled_font_t *.
42138         * src/ftcrfont.c: Include math.h for floor, ceiling, and lround.
42139         (ftcrfont_glyph_extents): Use cairo_scaled_font_glyph_extents.
42140         (ftcrfont_open): Create cairo_scaled_font_t object and set it to
42141         cr_scaled_font member of struct font_info.
42142         (ftcrfont_close): Use cairo_scaled_font_destroy.
42143         (ftcrfont_draw): Use cairo_set_scaled_font.
42145 2019-04-16  Andrii Kolomoiets  <andreyk.mad@gmail.com>  (tiny change)
42147         Make python-shell-prompt-block-regexp match IPython prompt
42149         * lisp/progmodes/python.el (python-shell-prompt-block-regexp): Match
42150         also IPython's multiline prompt.  It allows to correctly disable
42151         non-native completions during multiline statement in
42152         inferior-python-mode that runs IPython interpreter (Bug#34582).
42154 2019-04-16  Juri Linkov  <juri@linkov.net>
42156         * etc/NEWS: Mention new xref faces (bug#23179)
42158 2019-04-16  Juri Linkov  <juri@linkov.net>
42160         * lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Erase buffer
42162         before inserting file contents to *diff-syntax-file*.
42163         Use absolute file names.
42165 2019-04-16  Paul Eggert  <eggert@cs.ucla.edu>
42167         * GNUmakefile: Update comment.
42169 2019-04-16  Glenn Morris  <rgm@gnu.org>
42171         * make-dist (possibly_non_vc_files): Remove recently deleted file.
42173 2019-04-15  Paul Eggert  <eggert@cs.ucla.edu>
42175         Fix uninit var in widget.c
42177         * src/widget.c (EmacsFrameQueryGeometry):
42178         Avoid use of uninitialized variables ok_width, ok_height (Bug#35277).
42180 2019-04-15  Paul Eggert  <eggert@cs.ucla.edu>
42182         Remove Vparam_value_alist
42184         * src/xfaces.c (Vparam_value_alist):
42185         Remove.  All uses removed.
42186         (Finternal_set_lisp_face_attribute):
42187         Simplify by using AUTO_FRAME_ARG.
42189 2019-04-15  Noam Postavsky  <npostavs@users.sourceforge.net>
42191         Properly bracket concat of comment-start-skip (Bug#34805)
42193         * lisp/emacs-lisp/smie.el (smie-indent-fixindent):
42194         * lisp/cedet/semantic/doc.el (semantic-doc-snarf-comment-for-tag):
42195         * lisp/progmodes/fortran.el (fortran-previous-statement)
42196         (fortran-next-statement)
42197         (fortran-fill-statement):
42198         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-statement): Bracket
42199         comment-start-skip and comment-end-skip to avoid unexpected regexp
42200         operator precedence.
42202 2019-04-15  Eli Zaretskii  <eliz@gnu.org>
42204         Minor change in a comment
42206         * test/src/callproc-tests.el
42207         (call-process-w32-debug-spawn-error): Minor copyedits of the
42208         commentary.
42210 2019-04-15  Eli Zaretskii  <eliz@gnu.org>
42212         Fix MS-Windows build broken by make-fingerprint changes
42214         * lib-src/make-fingerprint.c (fseeko) [WNDOWSNT]: Define to
42215         fseeko64 for non-MinGW64 MinGW.
42217         * lib-src/ntlib.c (stat): Fix calculation of file size.
42218         (fstat): New function, a subset of src/w32.c:fstat.  This is
42219         needed because make-fingerprint.c now calls 'fstat', and the
42220         MS version will fail to produce reliable results because
42221         nt/inc/sys/stat.h redefines 'struct stat'.
42223 2019-04-15  Michael Albinus  <michael.albinus@gmx.de>
42225         * .gitlab-ci.yml (test-filenotify-gio): Add autorevert changes.
42227 2019-04-15  Mattias Engdegård  <mattiase@acm.org>
42229         Don't remove notify descriptor that is already gone
42231         * lisp/autorevert.el (auto-revert-use-notify, auto-revert-mode,
42232         global-auto-revert-mode, auto-revert-notify-rm-watch,
42233         auto-revert-notify-add-watch, auto-revert-notify-handler,
42234         auto-revert-notify-rm-watch-callback):
42235         Don't remove a notify descriptor after receiving a `stopped' notification
42236         event, because the descriptor is then already gone and any attempt to
42237         remove it causes a recursive call to `auto-revert-notify-handler'.
42239 2019-04-15  Michael Albinus  <michael.albinus@gmx.de>
42241         * doc/misc/tramp.texi: Fix direntry.
42243 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
42245         Remove static var system_eol_type
42247         * src/coding.c (system_eol_type): Remove.
42248         (coding_inherit_eol_type, syms_of_coding):
42249         Simplify to avoid the need for system_eol_type.
42251 2019-04-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
42253         Avoid compiler warnings on cairo build
42255         * src/image.c (jpeg_load_body) [USE_CAIRO]: #ifdef out USE_SAFE_ALLOCA
42256         and SAFE_FREE.
42257         * src/xterm.c (x_composite_image) [USE_CAIRO]: #ifdef out unused function.
42258         (x_draw_image_glyph_string) [USE_CAIRO]: #ifdef out unused variable pixmap.
42260 2019-04-14  Noam Postavsky  <npostavs@gmail.com>
42262         Let debugger handle process spawn errors on w32 (Bug#33016)
42264         Since child_setup() is called between block_input()...unblock_input(),
42265         when an error is signaled the Lisp debugger is prevented from
42266         starting.  Therefore, let the callers signal the error instead (which
42267         they already do for non-w32 platforms, just the error message needs an
42268         update).
42269         * src/callproc.c (child_setup) [WINDOWSNT]: Don't call
42270         report_file_error here.
42271         (call_process) [WINDOWNT]:
42272         * src/process.c (create_process) [WINDOWSNT]: Call report_file_errno
42273         here instead, after the unblock_input() call, same as for !WINDOWSNT.
42274         * src/lisp.h (CHILD_SETUP_ERROR_DESC): New preprocessor define.  Flip
42275         the containing ifndef DOS_NT branches so that it's ifdef DOS_NT.
42276         * src/eval.c (when_entered_debugger): Remove.
42277         (syms_of_eval) <internal-when-entered-debugger>: Define it as a Lisp
42278         integer variable instead.
42279         (maybe_call_debugger): Update comment.
42280         * test/src/process-tests.el (make-process-w32-debug-spawn-error):
42281         * test/src/callproc-tests.el (call-process-w32-debug-spawn-error): New
42282         tests.
42284 2019-04-14  Alexander Gramiak  <agrambot@gmail.com>
42286         Bump minimum GTK versions to 2.24 and 3.10
42288         * configure.ac: Bump required GTK 2 and GTK 3 versions and the
42289         associated GLib versions. Remove obsolete AC_CHECK_FUNCS calls. These
42290         check for functions available in later GTK 2 versions. These checks
42291         and can safely be removed with the exception of
42292         gtk_window_set_has_resize_grip, which according to a comment in
42293         gtkutil.c causes an issue in Ubuntu's GTK 2.
42295         * src/gtkutil.c:
42296         * src/xfns.c:
42297         * src/xterm.c:
42298         * src/xterm.h: Remove now unused conditional blocks. Use HAVE_GTK3
42299         instead of GTK_CHECK_VERSION where now applicable. Remove checks of
42300         now always true USE_GTK_TOOLTIP.
42302 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
42304         Replace executable’s fingerprint in place
42306         * admin/merge-gnulib (GNULIB_MODULES): Add memmem-simple.
42307         (AVOIDED_MODULES): Add memchr.
42308         * configure.ac (HAVE_PDUMPER): AC_SUBST it, too, for use in makefiles.
42309         * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o.
42310         * lib/fingerprint.c: New file.
42311         * lib/memmem.c, lib/str-two-way.h, m4/memmem.m4: New files,
42312         copied from Gnulib.
42313         * lib/fingerprint.h: Rename from src/fingerprint.h.
42314         * lib-src/make-fingerprint.c: Include limits.h, sys/stat.h,
42315         fingerprint.h, intprops.h, min-max.h.
42316         (SSIZE_MAX): New macro, if not already defined.
42317         (main): Without -r, Replace the fingerprint in the input file
42318         instead of generating a fingerprint.c.
42319         * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o.
42320         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
42321         * src/Makefile.in (HAVE_PDUMPER, MAKE_PDUMPER_FINGERPRINT):
42322         New macros.
42323         (temacs$(EXEEXT)): Use them to replace the fingerprint instead
42324         of precalculating it.
42325         (mostlyclean, ctagsfiles1): Do not worry about fingerprint.c.
42327 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
42329         * m4/utimbuf.m4: Remove unused file.
42331 2019-04-14  Dmitry Gutov  <dgutov@yandex.ru>
42333         Sort files in the default impl of project-files alphabetically
42335         * lisp/progmodes/project.el (project--files-in-directory):
42336         Sort the files alphabetically
42337         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23179#296).
42339 2019-04-14  Michael Albinus  <michael.albinus@gmx.de>
42341         Some rearragements for remote tests in filenotify-tests.el
42343         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
42344         Change argument list, EXPECTED is not needed.
42345         (file-notify-test07-many-events-remote)
42346         (file-notify-test09-watched-file-in-watched-dir-remote):
42347         Adapt declaration accordingly.
42349 2019-04-14  Michael Albinus  <michael.albinus@gmx.de>
42351         Explain ad-hoc multi-hop in the Tramp Quick Start Guide
42353         * doc/misc/tramp.texi (Quick Start Guide): New section "Combining
42354         @option{ssh} or @option{plink} with @option{su} or @option{sudo}".
42356 2019-04-14  Michael Albinus  <michael.albinus@gmx.de>
42358         Fix Bug#35055
42360         * lisp/net/tramp.el (tramp-handle-shell-command):
42361         Handle `shell-command-width'.  (Bug#35055)
42363 2019-04-14  Alexander Gramiak  <agrambot@gmail.com>
42365         * lisp/frame.el (frame--size-history): Fix infloop. (Bug#35272)
42367 2019-04-14  Stephen Leake  <stephen_leake@stephe-leake.org>
42369         Merge commit '890440a44cd5f4f09742f521c7783785d114fffc'
42371 2019-04-14  Stephen Leake  <stephen_leake@stephe-leake.org>
42373         Rename new user variable `next-error-verbosity' to `next-error-verbose'
42375         * etc/NEWS: Update entry to match renaming.
42377         * lisp/simple.el (next-error-verbose): Rename.
42378         (next-error, next-error-internal): Match rename.
42380 2019-04-14  Alexander Gramiak  <agrambot@gmail.com>
42382         Simplify gdk_monitor_get_model string duplication
42384         * src/xfns.c (x-display-monitor-attributes-list): Use dupstring over
42385         explicit if/xstrdup.
42387         * src/frame.c (free_monitors): Remove redundant check for NULL.
42389 2019-04-14  Eli Zaretskii  <eliz@gnu.org>
42391         Improve documentation of a recent commit
42393         * etc/NEWS: Fix the description of 'shell-command-width'.
42394         Mark the entry as not needing the manual update.
42396         * lisp/simple.el (shell-command-width): Doc fix.  (Bug#35055)
42398 2019-04-13  Paul Eggert  <eggert@cs.ucla.edu>
42400         Update from Gnulib
42402         This incorporates:
42403         2019-04-07 Add copyright notices in several files
42404         * build-aux/config.sub, doc/misc/texinfo.tex, lib/_Noreturn.h:
42405         Copy from Gnulib.
42406         * lib/gnulib.mk.in: Regenerate.
42408 2019-04-13  Basil L. Contovounesios  <contovob@tcd.ie>
42410         Fix gnus-group-describe-all-groups (bug#35233)
42412         This fixes oversights from
42413         2018-04-26T16:26:27-07:00!eric@ericabrahamsen.net and
42414         2016-02-13T18:45:11+11:00!larsi@gnus.org.
42415         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups): Insert
42416         group name and description instead of group name twice.  Do not pass
42417         a hash-table to intern.  Call sort with correct number of arguments.
42419 2019-04-13  Alexander Gramiak  <agrambot@gmail.com>
42421         Fix segmentation fault with gdk_monitor_get_model (Bug#35259)
42423         * src/frame.c (free_monitors): Check if NULL before freeing.
42425         * src/xfns.c: (x-display-monitor-attributes-list): Check if NULL
42426         before copying.
42428 2019-04-13  Juri Linkov  <juri@linkov.net>
42430         * lisp/vc/log-edit.el (log-edit-insert-changelog): Add field "Summary"
42432         explicitly after adding field "Author".  (Bug#34972)
42434 2019-04-13  Juri Linkov  <juri@linkov.net>
42436         New faces in xref (bug#23179)
42438         * lisp/progmodes/xref.el (xref-file-header, xref-line-number)
42439         (xref-match):  New faces.
42440         (xref--insert-xrefs, xref--collect-matches-1): Use them.
42442 2019-04-13  Juri Linkov  <juri@linkov.net>
42444         * lisp/simple.el (shell-command-width): New defcustom.
42446         (shell-command): Use it.  (Bug#35055)
42448 2019-04-13  Alan Mackenzie  <acm@muc.de>
42450         * lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds): Correct a typo
42452 2019-04-13  Alan Mackenzie  <acm@muc.de>
42454         Implement "final" before C++ class inheritance lists.
42456         * lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds)
42457         (c-class-id-suffix-ws-ids-key): New lang const/var.
42459         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 5D.4): Check for and
42460         skip over any matches for c-class-id-suffix-ws-ids-key (i.e. "final") before
42461         ":".
42463 2019-04-13  Michael Albinus  <michael.albinus@gmx.de>
42465         Fix error in tramp-sh.el
42467         * lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
42468         Revert "simplification", which was an error.
42470 2019-04-13  Michael Albinus  <michael.albinus@gmx.de>
42472         * doc/misc/tramp.texi: Fix minor glitches.
42474         Fix last patch
42476 2019-04-13  Michael Albinus  <michael.albinus@gmx.de>
42478         Replace (skip-unless nil) by tag :unstable in test packages
42480         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
42481         Use tag :unstable if SKIP is non-nil.
42483         * test/lisp/net/tramp-tests.el (tramp-test36-vc-registered):
42484         Use ert-skip instead of (skip-unless nil).
42486         * test/lisp/progmodes/python-tests.el
42487         (python-tests--python-nav-end-of-statement--infloop): Use tag
42488         :unstable instead of (skip-unless nil).
42490 2019-04-13  Eli Zaretskii  <eliz@gnu.org>
42492         Minor cleanup in 'x_set_frame_alpha'
42494         * src/xterm.c (x_set_frame_alpha): Remove redundant parts of
42495         testing of value of 'alpha'.  Suggested by Konstantin
42496         Kharlamov <Hi-Angel@yandex.ru>.  (Bug#35062)
42498 2019-04-13  Eli Zaretskii  <eliz@gnu.org>
42500         Improve documentation of JSONRPC
42502         * doc/lispref/text.texi (JSONRPC Overview)
42503         (Process-based JSONRPC connections)
42504         (JSONRPC JSON object format): Fix wording and markup.  Add
42505         indexing.
42507 2019-04-13  Eli Zaretskii  <eliz@gnu.org>
42509         Improve documentation changes of a recent commit
42511         * doc/lispref/text.texi (Parsing JSON): Improve wording of the
42512         documentation of 'json-parse-string' and 'json-parse-buffer'.
42513         * src/json.c (Fjson_parse_string, Fjson_parse_buffer): Doc fix.
42514         (Bug#34763)
42516 2019-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42518         Omit/rewrite useless regexp repetitions
42520         Problem reported by Mattias Engdegård in:
42521         https://lists.gnu.org/r/emacs-devel/2019-04/msg00527.html
42522         * lisp/align.el (align-rules-list):
42523         * lisp/cedet/srecode/srt-mode.el (srecode-font-lock-keywords):
42524         * lisp/emacs-lisp/copyright.el (copyright-regexp):
42525         * lisp/erc/erc-backend.el (JOIN):
42526         * lisp/erc/erc-goodies.el (erc-unmorse):
42527         * lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
42528         * lisp/net/tramp-adb.el (tramp-adb-prompt):
42529         * lisp/org/org-table.el (org-table-range-regexp):
42530         * lisp/progmodes/idlwave.el (idlwave-where):
42531         * lisp/progmodes/verilog-mode.el (verilog-declaration-re-2-no-macro)
42532         (verilog-declaration-re-2-macro, verilog-delete-auto-buffer)
42533         (verilog-auto-inst-port):
42534         * lisp/url/url-misc.el (url-data):
42535         Omit or rewrite useless repetitions that risk being very slow in
42536         the backtracking regexp engine in Emacs.
42538 2019-04-12  Dmitry Gutov  <dgutov@yandex.ru>
42540         Don't signal error from url debug functions
42542         * lisp/url/url-http.el (url-http-debug): Don't signal error.
42544         * lisp/url/url-util.el (url-debug): Same (bug#34763).
42546 2019-04-12  Dmitry Gutov  <dgutov@yandex.ru>
42548         Add :array-type option to json-parse-string
42550         * src/json.c (enum json_array_type): New type.
42551         (struct json_configuration): New field array_type.
42552         (json_parse_args): Rename the last argument.  Handle the
42553         :array-type keyword argument (bug#32793).
42554         (Fjson_parse_string): Update the docstring accordingly.
42555         (json_to_lisp): Handle the case of :array-type being `list'.  Add
42556         a call to 'rarely_quit' inside the loop.
42557         (syms_of_json): Define new symbols.
42558         (Fjson_serialize, Fjson_insert, Fjson_parse_string)
42559         (Fjson_parse_buffer): Update the config struct initializers.
42561 2019-04-12  Alan Mackenzie  <acm@muc.de>
42563         Analyze C++ method with & or && ref-qualifier as defun, not brace list
42565         Also firm up detection of beginning of brace list in
42566         c-looking-at-or-maybe-in-bracelist.
42568         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): On
42569         detection of such a ref-qualifier, set braceassignp to nil.  When this
42570         variable has a nil value, return nil as the value of the function.  On
42571         encountering a } when scanning backwards, recognise this as the end of a
42572         previous construct and stop the scan.
42574 2019-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
42576         * lisp/help-fns.el (help-fns-describe-variable-functions): New hook
42578         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete)
42579         (help-fns--interactive-only): Indent output by 2 spaces.
42580         (help-fns--side-effects): New function extracted from
42581         describe-function-1.
42582         (help-fns-describe-function-functions): Use it.
42583         (help-fns--first-release, help-fns--mention-first-release): New functions.
42584         (help-fns-function-description-header): Keymaps and macros can't
42585         be interactive.
42586         (help-fns--ensure-empty-line): New function.
42587         (describe-function-1): Use it.
42588         (help-fns--var-safe-local, help-fns--var-risky)
42589         (help-fns--var-ignored-local, help-fns--var-file-local)
42590         (help-fns--var-watchpoints, help-fns--var-obsolete)
42591         (help-fns--var-alias, help-fns--var-bufferlocal): New functions,
42592         extacted from describe-variable.
42593         (describe-variable): Run help-fns-describe-variable-functions instead.
42595 2019-04-12  Glenn Morris  <rgm@gnu.org>
42597         Merge from origin/emacs-26
42599         818a68b * etc/HISTORY: Update for Emacs 26.2 release.
42600         e04aa5a ; ChangeLog.3 update
42601         8297e97 * etc/AUTHORS: Update.
42602         8582936 Improve documentation of 'read-command'
42603         dc81c05 ; * CONTRIBUTE: Mention where to ask for the copyright assign...
42604         b77723a Fix an outdated URL in a comment
42606 2019-04-12  Glenn Morris  <rgm@gnu.org>
42608         Merge from origin/emacs-26
42610         cb5a340 Update nxml-mode.texi: completion now gives xmlns="-!-"
42612 2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>
42614         Move proper-list-p tests to fns-tests.el
42616         This follows the move of proper-list-p from lisp/subr.el to
42617         src/fns.c in 2018-07-24T15:58:46-07:00!eggert@cs.ucla.edu.
42618         * test/lisp/subr-tests.el (subr-tests--proper-list-p): Move from
42619         here...
42620         * test/src/fns-tests.el (test-proper-list-p): ...to here.
42622 2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>
42624         Optimize byte-compilation of proper-list-p
42626         For discussion, see thread starting at:
42627         https://lists.gnu.org/r/emacs-devel/2019-04/msg00316.html
42628         * lisp/emacs-lisp/byte-opt.el: Optimize proper-list-p as a
42629         predicate.
42630         * lisp/subr.el: Mark proper-list-p as pure, and side-effect and
42631         error free.
42633 2019-04-12  Alex Murray  <murray.alex@gmail.com>  (tiny change)
42635         Pop to originating erc buffer when clicking desktop notification
42637         * lisp/erc/erc-desktop-notifications.el: Switch to lexical-binding.
42638         (erc-notifications-notify): Add a default action to the desktop
42639         notification which pops to the buffer from which the notification
42640         originated.  (Bug#35141)
42642 2019-04-12  Basil L. Contovounesios  <contovob@tcd.ie>
42644         Always set gnus-group property to a group name
42646         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat-list-dead): Set
42647         gnus-group property to a group name, not active info. (bug#33653)
42648         Simplify surrounding logic.
42649         (gnus-group-prepare-flat, gnus-group-goto-group): Use accessor
42650         macros.
42651         (gnus-group-insert-group-line, gnus-group-new-mail)
42652         (gnus-group-mark-group): Write ?\s instead of ? .
42653         (gnus-group-group-name, gnus-group-list-active): Simplify.
42655 2019-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
42657         * lisp/vc/diff-mode.el: Avoid re-initializing buffer in diff-syntax
42659         (diff--syntax-file-attributes): New var.
42660         (diff-syntax-fontify-hunk): Detect when we're reusing the same buffer as
42661         last time, to avoid re-initializing it.  Skip the
42662         diff-syntax-fontify-revisions hash-table, since buffer-alist plays the
42663         same role.
42664         (diff-syntax-fontify-revisions): Delete var.
42666 2019-04-11  Stephen Leake  <stephen_leake@stephe-leake.org>
42668         Merge commit 'de238b39e335c6814283faa171b35145f124edf2'
42670 2019-04-11  Stephen Leake  <stephen_leake@stephe-leake.org>
42672         Make `next-error' output fewer messages about locus
42674         * lisp/simple.el (next-error-verbosity): New user variable.
42675         (next-error, next-error-internal): Use it to control only outputting
42676         locus message if locus changed.
42678 2019-04-11  Christopher Thorne  <c.thorne@reckondigital.com>  (tiny change)
42680         Fix rgrep in dired using directory for search file pattern
42682         * lisp/progmodes/grep.el (grep-read-files): Allow major modes to
42683         define file name to use for default search pattern.
42684         Add non-directory file at point as default search pattern candidate.
42686         * lisp/dired.el (dired-grep-read-files): Use non-directory file at
42687         point for grep file name pattern.  (Bug#34621)
42689 2019-04-10  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
42691         Add extra text property to fix issue with js2-mode integration
42693         * lisp/progmodes/js.el (js-jsx--put-syntax-table): New function for
42694         consistently ensuring smooth js2-mode integration.  js2-mode sets
42695         syntax-table temporarily while parsing buffers—seemingly to recover
42696         from parsing interruptions—and then it later clears syntax-table
42697         blindly.  When integrating with js-mode, this means that unterminated
42698         string quotes are re-broken in JSX (i.e., they become strings again,
42699         often stringifying large regions of the buffer which should not be
42700         strings).  We try to treat quotes in JSXText as non-strings by setting
42701         syntax-table to a non-“string quote” syntax class, but that stops
42702         working if we lose the property.  On the js2-mode end, by scanning for
42703         this second js-jsx-syntax-table property, we can recover the
42704         syntax-table property there.
42705         (js-jsx--text-range, js-jsx--syntax-propertize-tag): Use
42706         js-jsx--put-syntax-table for above reason.
42707         (js-jsx--text-properties): Clear the js-jsx-syntax-table property too.
42709 2019-04-10  Paul Eggert  <eggert@cs.ucla.edu>
42711         Bring back dmpstruct.h
42713         Bring back the dmpstruct.h checking, and use it when
42714         --enable-checking=structs is specified.  The checking can be helpful
42715         to some developers, although it gets in the way of others and is
42716         not needed for ordinary tarball builds.
42717         * src/dmpstruct.awk: Restore this file, with mode 644 not 755.
42718         * configure.ac: New option-arg --enable-checking=structs,
42719         implied by --enable-checking.
42720         (CHECK_STRUCTS): New macro and var.
42721         * src/Makefile.in (CHECK_STRUCTS): New macro.
42722         (dmpstruct_headers, dmpstruct.h, dmpstruct.h):
42723         Restore these macros and rules.
42724         (pdumper.o): Restore this dependency if $(CHECK_STRUCTS) is true.
42725         (mostlyclean): Remove dmpstruct.h.
42726         * src/pdumper.c [CHECK_STRUCTS]: Include dmpstruct.h,
42727         and restore checks against hashes.
42729 2019-04-10  Katsumi Yamaoka  <yamaoka@jpl.org>
42731         Enable message saving to work when first use of Gnus (bug#35208)
42733         * lisp/gnus/gnus-group.el (gnus-group-goto-group);
42734         Use gnus-active-hashtb in addition to gnus-newsrc-hashtb to check if
42735         a group exists since some kinds of groups are registered in only one
42736         of them (bug#35208).
42738 2019-04-10  Juri Linkov  <juri@linkov.net>  (tiny change)
42740         Inhibit displaying help buffer in main window in perform-replace
42742         * lisp/replace.el (perform-replace): Use
42743         display-buffer-overriding-action with inhibit-same-window to prevent
42744         the help buffer from being displayed in the main window.  (Bug#34972)
42746         Author: Michał Krzywkowski <k.michal@zoho.com>
42748 2019-04-10  Paul Eggert  <eggert@cs.ucla.edu>
42750         Fix $(MAKE) -C for out-of-tree bootstraps
42752         Problem reported by Andy Moreton in:
42753         https://lists.gnu.org/r/emacs-devel/2019-04/msg00359.html
42754         * src/Makefile.in (${charsets}, $(lispsource)/loaddefs.el):
42755         Revert incorrect changes to $(MAKE) -C invocations when the
42756         target is in the source tree not the build tree.
42758 2019-04-10  Glenn Morris  <rgm@gnu.org>
42760         Merge from origin/emacs-26
42762         5999401 (origin/emacs-26) Note that choose-completion-string-function...
42763         8d2f1df Address name conflicts in EIEIO documentation (bug#31660)
42765 2019-04-10  Glenn Morris  <rgm@gnu.org>
42767         Merge from origin/emacs-26
42769         a5da653 * src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)
42770         646d33d Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'
42771         a30a6c3 Improve documentation of set-window-start
42772         92ce2dd Improve documentation of window parameters
42773         6dc42c5 Improve commentary in frame.el
42774         a8cffcf Fix typo in a doc string
42775         9e79f19 (emacs-26) ; * src/fontset.c (set-fontset-font): Use uppercas...
42777         # Conflicts:
42778         #       lisp/vc/vc.el
42780 2019-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
42782         * test/lisp/progmodes/python-tests.el: "Fix" failing test
42784         (python-tests--python-nav-end-of-statement--infloop): Disable.
42786 2019-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
42788         Eshell dependencies: Fix recent regressions
42790         * lisp/dired.el (dired-insert-directory): Tweak bug#27817's ugly hack.
42792         * lisp/eshell/em-ls.el: Refine 'require's.
42794         * lisp/eshell/esh-opt.el: Require esh-util on behalf of its clients.
42796 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
42798         * etc/NEWS: Document js-jsx-align->-with-<
42800 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
42802         Add new defcustom js-jsx-align->-with-<
42804         * lisp/progmodes/js.el (js-jsx-align->-with-<): New variable for users
42805         to control one opinionated aspect of JSX indentation.  It defaults to
42806         the style seen in the React docs, which many users expected as the
42807         “correct” indentation.  Still, the old SGML-style of indentation could
42808         be desirable too, especially since it was the old default.  This
42809         ensures users have a way of getting back the old behavior.
42810         (js-jsx--contextual-indentation): Respect js-jsx-align->-with-<.
42812         * test/manual/indent/jsx-align-gt-with-lt.jsx: New test for
42813         js-jsx-align->-with-<.
42815 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
42817         * etc/NEWS: Document way to revert to old JSX indentation behavior
42819 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
42821         Add new defcustom js-jsx-indent-level
42823         * lisp/progmodes/js.el (js-jsx-indent-level): New variable for users
42824         to set JSX indentation differently than JS, like before.
42825         (js-jsx--contextual-indentation): Respect js-jsx-indent-level when
42826         it’s set.
42828         * test/manual/indent/jsx-indent-level.jsx: New test for
42829         js-jsx-indent-level.
42831 2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42833         Remove the need for temacs.in
42835         Instead of building a file temacs.in used only to compute a
42836         fingerprint, compute the fingerprint directly from the .o and
42837         .a files that go into temacs.in.  This speeds up the build by
42838         avoiding the need to link temacs twice, once with a dummy
42839         fingerprint.
42840         * lib-src/make-fingerprint.c (main): No need to generate
42841         a fingerprint file that includes config.h, now that fingerprint.c
42842         depends on all the .o files.
42843         * src/Makefile.in ($(libsrc)/make-fingerprint$(EXEEXT)):
42844         Use the same rule as $(libsrc)/make-docfile$(EXEEXT).
42845         * src/fingerprint-dummy.c: Remove.
42846         * src/Makefile.in (${charsets}, $(libsrc)/make-docfile$(EXEEXT))
42847         ($(LIBEGNU_ARCHIVE), $(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a)
42848         (../config.status, ${ETAGS}, ../lisp/TAGS, $(lwlibdir)/TAGS)
42849         ($(lispsource)/loaddefs.el):
42850         Prefer ‘$(MAKE) -C $(dir $@)’ to ‘${MAKE} -C SOMESTRING’ when
42851         either will do, as the former is more regular and lets us
42852         coalesce rules better.
42853         (EMACS_DEPS_PRE, EMACS_DEPS_POST, BUILD_EMACS_PRE)
42854         (BUILD_EMACS_POST, temacs.in$(EXEEXT)): Remove.
42855         (FINGERPRINTED): New macro.
42856         (fingerprint.c): Use it instead of temacs.in$(EXEEXT), to
42857         avoid the need to build temacs.in at all.
42858         (temacs$(EXEEXT)): No need to depend on other .o files now;
42859         fingerprint.o is enough, since it depends on the rest.
42860         Spell out what used to be in BUILD_EMACS_PRE and BUILD_EMACS_POST.
42861         (mostlyclean): No need to remove temacs.in.
42863 2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42865         Remove assumption of uint64_t etc. in portable code
42867         C11 doesn’t guarantee the existence of types like uint64_t,
42868         so avoid these types in portable code, as it’s easy to do so.
42869         There’s no need to avoid the types in w32-specific code,
42870         since w32 is guaranteed to have them.
42871         * lib-src/make-fingerprint.c (main):
42872         * src/fingerprint-dummy.c:
42873         * src/fingerprint.h:
42874         * src/pdumper.c (dump_fingerprint, struct dump_header):
42875         Prefer unsigned char to uint8_t in portable code, as either will do.
42876         Put an "#include <config.h>" in fingerprint.c files, so
42877         that the corresponding .o file is rebuilt after ./configure is run.
42878         * lib-src/make-fingerprint.c (main):
42879         Simplify loop.
42880         * src/Makefile.in (fingerprint.c): Update atomically.
42881         * src/pdumper.c: Omit unnecessary check that off_t is the same
42882         size as int32_t or int64_t, as the code does not rely on this
42883         assumption.
42884         (dump_off): Use int_least32_t, not int32_t.
42885         (struct dump_reloc): Use unsigned int, not uint32_t.
42886         (dump_anonymous_allocate_w32, dump_anonymous_allocate_posix)
42887         (dump_anonymous_allocate, dump_map_file_w32, dump_map_file_posix)
42888         (dump_map_file:
42889         Do the sanity checks at compile time, not at run-time, to avoid
42890         usage of uint64_t etc. on non-w32 platforms.
42892 2019-04-09  Paul Eggert  <eggert@cs.ucla.edu>
42894         Remove dmpstruct.h
42896         The hassles of updating the dmpstruct.h-using code bit me again.
42897         These updates are more trouble than they’re worth.  See:
42898         https://lists.gnu.org/r/emacs-devel/2019-03/msg00122.html
42899         As I’m the main person who’s made changes in this area since
42900         dmpstruct.h was introduced, I’m the most motivated to clean up
42901         the situation.
42902         * make-dist (possibly_non_vc_files): Remove src/dmpstruct.h.
42903         * src/Makefile.in (dmpstruct_headers, dmpstruct.h): Remove.
42904         (pdumper.o): Do not depend on dmpstruct.h.
42905         (mostlyclean): Do not remove dmpstruct.h.
42906         * src/dmpstruct.awk: Remove.
42907         * src/pdumper.c: Do not include dmpstruct.h.
42908         (CHECK_STRUCTS): Remove.  All uses removed.
42910 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
42912         diff-font-lock-syntax: clarify distinction between t and hunk-also
42914         * lisp/vc/diff-mode.el (diff-font-lock-syntax): Rework docstring.
42915         (diff-syntax-fontify-hunk): Never use the hunk method when
42916         diff-font-lock-syntax is just t.
42918 2019-04-09  Alex Branham  <alex.branham@gmail.com>
42920         Use lexical-binding in bug-reference.el
42922         * .dir-locals.el: Set bug-reference-url-format in all modes, not just
42923         changelog mode. Use (eval . (bug-reference-mode)) as described
42924         in (info "(emacs) Specifying File Variables")
42925         * lisp/progmodes/bug-reference.el: Use lexical binding.
42926         (bug-reference-unfontify):
42927         (bug-reference-fontify): Mention args in docstring.
42929         Bug#35123
42931 2019-04-09  Basil L. Contovounesios  <contovob@tcd.ie>
42933         Fix Gnus duplicate suppression guards (bug#34987)
42935         * lisp/gnus/gnus-dup.el (gnus-dup-enter-articles)
42936         (gnus-dup-suppress-articles): Use gnus-dup-hashtb as an indicator of
42937         initialization instead of gnus-dup-list, which may happen to be nil.
42938         (gnus-dup-unsuppress-article): Do nothing if gnus-dup-hashtb is
42939         uninitialized.
42941 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
42943         * lisp/printing.el: Use lexical-binding
42945         Require easy-menu instead of adding declarations.
42946         Remove backward compatibility.  Remove redundant ':group' args.
42947         (pr-region-active-p): Use use-region-p.
42948         (pr-set-keymap-name): Delete function and callers.
42949         (pr-set-keymap-parents): Delete function; use set-keymap-parent instead.
42950         (pr-read-string): Delete function; use read-string instead.
42951         (pr-menu-char-height): Delete function; use frame-char-height instead.
42952         (pr-menu-char-width): Delete function; use frame-char-width instead.
42953         (pr-menu-position): Merge the two definitions.
42954         (pr-get-symbol): Delete function; use easy-menu-intern instead.
42955         (pr-update-mode-line): Delete function; use force-mode-line-update instead.
42956         (pr-do-update-menus): Turn local save-var into dynbound pr--save-var.
42957         (pr-menu-alist): Use setf.  Simplify since we don't keep key-bindings
42958         in the menus any more.
42959         (pr-dosify-file-name): Remove interactive spec.
42960         (pr-filename-style): Rename from pr-path-style.
42961         (pr-unixify-file-name): Delete function.
42962         (pr-standard-file-name): Don't turn \ into / under POSIX.
42963         (pr-temp-dir): Don't dosify.  Use temporary-file-directory unconditionally.
42964         (pr-save-file-modes): Delete macro.
42965         (pr-ps-directory-using-ghostscript, pr-ps-directory-print)
42966         (pr-ps-directory-ps-print, pr-ps-mode-using-ghostscript, pr-ps-print)
42967         (pr-ps-mode-preview, pr-ps-mode-print, pr-printify-directory)
42968         (pr-txt-directory, pr-ps-file-up-preview, pr-ps-directory-preview)
42969         (pr-ps-file-up-ps-print, pr-ps-preview, pr-ps-using-ghostscript):
42970         Use properly prefixed, declared, and
42971         explicitly let-bound dynamically bound variables around calls to
42972         pr-ps-utility-args and pr-set-dir-args.
42973         (pr-ps-file-using-ghostscript): Only dosify when passing to suprocess.
42974         (pr-expand-file-name): Delete function; use expand-file-name instead.
42975         (pr-ps-file-print): Properly dosify.
42976         (pr-menu-create): Use backquotes.
42977         (pr-eval-alist, pr-eval-local-alist): Use dolist.
42978         (pr-ps-utility-args): Don't dosify here.
42979         (pr-ps-utility-process): Dosify here instead.
42980         (pr-ps-file, pr-command): Don't dosify here either.
42981         (pr-interface-map): Move initialization into declaration.
42982         (pr-insert-section-1): Use 'push'.
42983         (pr-insert-toggle): Use closure instead of backquoted lambda.
42984         (pr-insert-menu): Use apply i.s.o eval.
42985         (pr-insert-radio-button): Avoid 'eval'.
42987 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
42989         quail.el: Use delete-and-extract-region
42991         * lisp/international/quail.el (quail-overlay-region-events):
42992         Use delete-and-extract-region.
42993         (quail-activate): Use setq-local.
42995 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
42997         python.el: don't syntax-propertize single/double quoted strings
42999         * lisp/progmodes/python.el (python-syntax-propertize-function):
43000         Only mark triple-quoted strings, let the normal syntax-table handle
43001         the rest.
43002         (python-syntax-stringify): Adjust accordingly.
43004 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
43006         * lisp/progmodes/js.el (js-mode): Don't set comment-start-skip globally!
43008 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
43010         Fix up Eshell 'require's after previous dependency reshuffle.
43012         * lisp/eshell/em-unix.el:
43013         * lisp/eshell/em-script.el:
43014         * lisp/eshell/em-pred.el:
43015         * lisp/eshell/em-dirs.el:
43016         * lisp/eshell/em-alias.el:
43017         Fix up 'require's to silence byte-compiler.
43019         * lisp/eshell/esh-util.el (eshell-read-hosts-file): Don't limit number
43020         of entries per line.  Preserve the structure.
43021         (eshell-read-hosts): Adjust accordingly.
43023 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
43025         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Simplify.
43027         Remove hacks that were needed before font-lock-ensure.
43028         Don't use switch-to-buffer.  Don't assume point-min == 1.
43030 2019-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
43032         * lisp/vc/diff-mode.el: Cosmetic changes in diff-syntax-fontify-hunk
43034         (diff-default-directory): Use defvar-local.
43035         (diff-syntax-fontify-hunk): Use 'setq' less.  Fit within 80 columns.
43036         Simplify some looking-at tests.
43037         (diff-syntax-fontify-props): Don't check the buffer-local part of
43038         find-file-hook.
43040 2019-04-09  Mattias Engdegård  <mattiase@acm.org>
43042         Clarify the TESTFN argument to `alist-get'
43044         * lisp/subr.el (alist-get):
43045         Rephrase the initial text to clarify the meaning of the TESTFN argument.
43046         It's an equality predicate, not a look-up function (Bug#35206).
43048 2019-04-09  Eli Zaretskii  <eliz@gnu.org>
43050         Fix "M-x eshell"
43052         * lisp/eshell/em-dirs.el (eshell-variable-aliases-list)
43053         (eshell-directory-name, eshell-mode): Defvar them.
43054         (eshell-dirs-initialize): Require esh-var.  (Bug#35203)
43055         (eshell-apply-indices): Declare.
43057 2019-04-09  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43059         * etc/NEWS: Document new and improved JSX support in js-mode
43061 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43063         Explain reasonings for JSX syntax support design decisions
43065         * lisp/progmodes/js.el: Throughout the code, provide explanations for
43066         why JSX support was implemented in the way that it was; in particular,
43067         address the overlap between syntax-propertize-function, font-lock, and
43068         indentation (as requested by Stefan).
43070 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43072         Move curly functions closer to where they’re used
43074         * lisp/progmodes/js.el (js-jsx--enclosing-curly-pos)
43075         (js-jsx--goto-outermost-enclosing-curly): As the code evolved, these
43076         functions’ definitions ended up being far away from the only places
43077         where they were used.  Move them there.
43079 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43081         Add open/close parenthesis syntax to “<” and “>” in JSX
43083         * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Like in
43084         sgml-mode, treat “<” and “>” like open/close parenthesis, making the
43085         text more navigable via forward-sexp, etc.
43087 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43089         Permit non-ASCII identifiers in JS
43091         * lisp/progmodes/js.el (js--name-start-re): Generally allow
43092         identifiers to begin with non-ASCII letters.  This is of particular
43093         importance to JSX parsing.
43095         * test/manual/indent/jsx-unclosed-2.jsx: Add test to ensure non-ASCII
43096         characters are parsed properly.
43098 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43100         Identify JSX strings (for js2-mode)
43102         * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Derived modes
43103         like js2-mode may use font-lock-syntactic-face-function to apply faces
43104         to JSX strings (and only JSX strings).  Apply the js-jsx-string text
43105         property to such strings so they can be distinctly identified.
43106         (js-jsx--text-properties): Ensure the js-jsx-string text property gets
43107         cleaned up, too.
43109 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43111         Properly set a dynamic, syntactic mode name
43113         Use mode-line-format constructs to properly set mode-name, rather than
43114         use the very hacky solution that was filling-in for my lack of
43115         knowledge of this feature.
43117         * lisp/progmodes/js.el (js--update-mode-name)
43118         (js--idly-update-mode-name): Remove.
43120         (js--syntactic-mode-name-part): New helper function for mode-name.
43121         (js-use-syntactic-mode-name): Helper to set up the dynamic mode-name.
43123         (js-jsx-enable): Don’t need to call any extra functions now.
43124         (js-mode): Use the new setup function rather than the old ones.
43126         (js-jsx-mode): Use the same initial mode name as js-mode so the final
43127         one is identical for both modes.
43129 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43131         Improve whitespace and unary keyword parsing
43133         * lisp/progmodes/js.el (js--name-start-chars): Remove, adding these
43134         chars back to js--name-start-re.
43135         (js--name-start-re): Add chars back from js--name-start-chars.
43137         (js-jsx--tag-start-re): Improve regexp to capture the tag name (so it
43138         can be disambiguated from a unary keyword), to match newlines (which
43139         are common in this spot), and to require at least one whitespace
43140         character before the attribute name.
43142         (js-jsx--matched-tag-type): Ensure the “tag name” isn’t possibly a
43143         unary keyword.
43145         (js-jsx--self-closing-re, js-jsx--matching-close-tag-pos): Allow
43146         whitespace around “<” and “>”.
43148         * test/manual/indent/jsx-unclosed-2.jsx: Add tests for unary keyword
43149         and whitespace parsing.
43151 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43153         Optimize js-jsx--enclosing-tag-pos
43155         * lisp/progmodes/js.el (js-jsx--enclosing-tag-pos): Update docstring
43156         to be more precise.  Also, remember close tag positions after they’ve
43157         been calculated once to avoid many redundant calls to
43158         js-jsx--matching-close-tag-pos.
43159         (js-jsx--text-properties): Ensure js-jsx-close-tag-pos text properties
43160         get cleaned up, too.
43162 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43164         Optimize js-jsx--matching-close-tag-pos
43166         This function’s performance was having a noticeable impact when
43167         editing large JSX structures.  Improve its performance
43168         slightly (elapsed time will be cut in half according to ELP).
43170         * lisp/progmodes/js.el (js-jsx--tag-re): Remove.
43171         (js-jsx--matched-tag-type): Simplify implementation with respect to
43172         the new implementation of js-jsx--matching-close-tag-pos.
43173         (js-jsx--self-closing-re): Simplify regexp slightly in sync with a
43174         generally simpler matching algorithm.
43175         (js-jsx--matching-close-tag-pos): Optimize matching algorithm by using
43176         multiple simple regexp searches, rather than one big complex search.
43178         * test/manual/indent/jsx-unclosed-2.jsx: Use the term “inequality” and
43179         add a test for a possible parsing foible.
43181 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43183         Add tests for miscellaneous JSX parsing feats
43185         * test/manual/indent/jsx.jsx: Add tests for JSXMemberExpression names
43186         and JSXOpeningFragment/JSXClosingFragment support (already supported).
43188 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43190         Split JSX indentation calculation into several functions
43192         * lisp/progmodes/js.el (js-jsx--contextual-indentation)
43193         (js-jsx--expr-attribute-pos, js-jsx--expr-indentation): Extract logic
43194         from js-jsx--indentation, and improve the logic’s documentation.
43195         (js-jsx--indentation): Simplify by splitting into several
43196         functions (see above) and improve the logic’s documentation.
43198 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43200         Indent expressions in JSXAttributes relative to the attribute’s name
43202         * lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Refer to the
43203         beginning of a JSXExpressionContainer’s associated JSXAttribute (so
43204         line numbers can be calculated later).
43205         (js-jsx--text-properties): Also clear the new text property
43206         js-jsx-expr-attribute.
43208         (js-jsx--indenting): Remove.
43209         (js-jsx--indent-col, js-jsx--indent-attribute-line): New variables.
43210         (js-jsx--indentation): Instead of alternating between two separate
43211         column calculations, neither necessarily correct, bind the JSX column
43212         such that the second call to js--proper-indentation can use it as a
43213         base column.
43214         (js--proper-indentation): Use JSX as the base column for some indents
43215         while indenting JSX.
43217         * test/manual/indent/jsx.jsx: Add more tests for expression indents.
43219 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43221         Fix counting of nested self-closing JSXOpeningElements
43223         * lisp/progmodes/js.el (js-jsx--matching-close-tag-pos): Fix bug where
43224         self-closing JSXOpeningElements might be missed if one was nested
43225         within another.
43227         * test/manual/indent/jsx-self-closing.jsx: Add test for bug concerning
43228         self-closing JSXOpeningElement counting.
43230 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43232         Indent broken arrow function bodies as an N+1th arg
43234         * lisp/progmodes/js.el (js--line-terminating-arrow-re): Revise regexp
43235         for use with re-search-backward.
43236         (js--looking-at-broken-arrow-function-p): Remove.
43237         (js--broken-arrow-terminates-line-p): Replacement for
43238         js--looking-at-broken-arrow-function-p.  Don’t consider whether an
43239         arrow appears at point (in an arglist); instead, just look for an
43240         arrow that terminates the line.
43241         (js--proper-indentation): Use js--broken-arrow-terminates-line-p.
43243         * test/manual/indent/js.js: Add test for a broken arrow as an N+1th
43244         arg.
43246 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43248         Rename tests to use the “.jsx” file extension
43250         * test/manual/indent/js-jsx-quote.js: Renamed to “jsx-quote.jsx”.
43251         * test/manual/indent/js-jsx-unclosed-1.js: Renamed to
43252         “jsx-unclosed-1.jsx”.
43253         * test/manual/indent/js-jsx-unclosed-2.js: Renamed to
43254         “jsx-unclosed-2.jsx”.
43255         * test/manual/indent/js-jsx.js: Renamed to “jsx.jsx”.
43257         * test/manual/indent/jsx-quote.jsx: Renamed from “js-jsx-quote.js”.
43258         * test/manual/indent/jsx-unclosed-1.jsx: Renamed from
43259         “js-jsx-unclosed-1.js”.
43260         * test/manual/indent/jsx-unclosed-2.jsx: Renamed from
43261         “js-jsx-unclosed-2.js”.
43262         * test/manual/indent/jsx.jsx: Renamed from “js-jsx.js”.
43264 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43266         Improve JSX syntax propertization
43268         * lisp/progmodes/js.el (js-jsx--attribute-name-re): New variable.
43269         (js-jsx--syntax-propertize-tag): Allow “-” in JSXAttribute names.  Fix
43270         “out of range” error when typing at the end of a buffer.  Fix/improve
43271         future propertization of unfinished JSXBoundaryElements.
43273         * test/manual/indent/js-jsx-unclosed-2.js: Add tests for allowed
43274         characters in JSX.
43276 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43278         Automatically detect JSX in JavaScript files
43280         * lisp/files.el (auto-mode-alist): Simply enable
43281         javascript-mode (js-mode) when opening “.jsx” files, since the “.jsx”
43282         file extension will be used as an indicator of JSX syntax by js-mode,
43283         and more code is likely to work in js-mode than js-jsx-mode, and we
43284         probably want to guide users to use js-mode (with js-jsx-syntax)
43285         instead.  Code that used to work exclusively in js-jsx-mode (if anyone
43286         ever wrote any) ought to be updated to work in js-mode too when
43287         js-jsx-syntax is set to t.
43289         * lisp/progmodes/js.el (js-jsx-detect-syntax, js-jsx-regexps)
43290         (js-jsx--detect-and-enable, js-jsx--detect-after-change): New
43291         variables and functions for detecting and enabling JSX.
43293         (js-jsx-syntax): Update docstring with respect to the widened scope of
43294         the effects and use of this variable.
43296         (js-syntactic-mode-name, js--update-mode-name)
43297         (js--idly-update-mode-name, js-jsx-enable): New variable and functions
43298         for indicating when JSX is enabled.
43300         (js-mode): Detect and enable JSX.  Print all enabled syntaxes after
43301         the mode name whenever Emacs goes idle; this ensures lately-enabled
43302         syntaxes are evident.
43304         (js-jsx-mode): Update mode name for consistency with the state in
43305         which JSX is enabled in js-mode.  Update docstring to suggest
43306         alternative means of using JSX without this mode.  Going forward, it
43307         may be best to gently guide users away from js-jsx-mode, since a “one
43308         mode per syntax extension” model would not scale well if more syntax
43309         extensions were to be simultaneously supported (e.g. Facebook’s
43310         “Flow”).
43312 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43314         Finish replacing SGML-based JSX detection with js-mode’s parsing
43316         This removes the last dependency on sgml-mode for JSX-related logic.
43318         * lisp/progmodes/js.el (js-jsx--start-tag-re)
43319         (js-jsx--end-tag-re): Remove.
43320         (js-jsx--looking-at-start-tag-p)
43321         (js-jsx--looking-back-at-end-tag-p): Reimplement using text
43322         properties, using syntax information which ought to be slightly more
43323         accurate than regexps since it was found by complete parsing.
43325 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43327         Indent JSX as parsed in a JS context
43329         Fixes the following issues (and re-fixes indentation issues initially
43330         fixed but later re-broken by previous commits in the process of adding
43331         comprehensive JSX support):
43333         - https://github.com/mooz/js2-mode/issues/389#issuecomment-390766873
43334         - https://github.com/mooz/js2-mode/issues/482
43335         - Bug#32158
43336         - https://github.com/mooz/js2-mode/issues/462
43338         Previously, we delegated to sgml-mode functions for JSX indentation.
43339         However, there were some problems with this approach:
43341         - sgml-mode does not anticipate tags inside attributes when indenting,
43342           which compromises JSX indentation inside JSXExpressionContainers
43343           inside JSXAttributes.
43345         - In previous iterations to provide comprehensive JSX support, it
43346           proved tedious to disambiguate “<” and “>” as JS inequality
43347           operators and arrow functions from opening and closing angle
43348           brackets as part of SGML tags.  That code evolved into a more
43349           complete JSX parsing implementation for syntax-propertize rules for
43350           font-locking, discarding the superfluous “<”/“>” disambiguation in
43351           anticipation of using the improved JSX analysis for indentation.
43353         - Using sgml-mode functions, we controlled JSX indentation using SGML
43354           variables.  However, JSX is a different thing than SGML; referencing
43355           SGML in JS was a leaky abstraction.
43357         To resolve these issues, use the text properties added by the JSX
43358         syntax-propertize code to determine the boundaries of various aspects
43359         of JSX syntax, and reimplement the sgml-mode indentation code in
43360         js-mode with better respect to JSX indentation conventions.
43362         * lisp/progmodes/js.el (js-jsx-attribute-offset): New variable to
43363         provide a way for users to still control JSX attribute offsets as they
43364         could with sgml-attribute-offset before.  The value of this feature is
43365         dubious IMO, but it’s trivial to keep it, so let’s do it just in case.
43367         (js-jsx--goto-outermost-enclosing-curly): New function.
43369         (js-jsx--enclosing-tag-pos): Refactor to be unbounded by curlies, so
43370         this function can be used to find JSXExpressionContainers within JSX.
43371         Fix bug where an enclosing JSXElement couldn’t be found when point was
43372         at the start of its JSXClosingElement.  Return the JSXClosingElement’s
43373         position as well, so the JSXClosingElement can be identified when
43374         indenting and be indented like the matching JSXOpeningElement.
43376         (js-jsx--at-enclosing-tag-child-p): js-jsx--enclosing-tag-pos now
43377         returns a list rather than a cons, so retrieve the JSXOpeningElement’s
43378         end position from a list.
43380         (js-jsx--context, js-jsx--indenting): New function and variable.
43381         (js-jsx--indentation): New function replacing the prior
43382         js-jsx--indent* functions and js-jsx-indent-line’s implementation.
43383         Use the JSX parsing performed in a JS context to more accurately
43384         calculate JSX indentation than by delegating to sgml-mode functions.
43385         (js--proper-indentation): Use js-jsx--indentation as yet another type
43386         of indentation.
43387         (js-jsx--as-sgml, js-jsx--outermost-enclosing-tag-pos)
43388         (js-jsx--indentation-type, js-jsx--indent-line-in-expression)
43389         (js-jsx--indent-n+1th-line): Remove obsolete functions.
43391         (js-jsx-indent-line): Refactor nearly-obsolete function to behave the
43392         same as it usually would before these changes, without respect to the
43393         binding of js-jsx-syntax.
43395         (js-jsx-mode): Remove obsolete documentation about the use of SGML
43396         variables to control indentation, and don’t bind indent-line-function
43397         any more, because it is no longer necessary given the new
43398         implementation of js-jsx-indent-line.
43400 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43402         Update expectations for JSX indentation in JSXAttribute space
43404         * test/manual/indent/js-jsx.js: Align expectations for dangling
43405         closing constructs with other places in the tests.
43407 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43409         Propertize and font-lock JSXText and JSXExpressionContainers
43411         This completes highlighting support for JSX, as requested in:
43413         - https://github.com/mooz/js2-mode/issues/140
43414         - https://github.com/mooz/js2-mode/issues/330
43415         - https://github.com/mooz/js2-mode/issues/409
43417         * lisp/progmodes/js.el (js--name-start-chars): Extract part of
43418         js--name-start-re so it can be reused in another regexp.
43419         (js--name-start-re): Use js--name-start-chars.
43421         (js-jsx--font-lock-keywords): Use new matchers.
43422         (js-jsx--match-text, js-jsx--match-expr): New matchers to remove
43423         typical JS font-locking and extend the font-locked region,
43424         respectively.
43426         (js-jsx--tag-re, js-jsx--self-closing-re): New regexps matching JSX.
43427         (js-jsx--matched-tag-type, js-jsx--matching-close-tag-pos)
43428         (js-jsx--enclosing-curly-pos, js-jsx--enclosing-tag-pos)
43429         (js-jsx--at-enclosing-tag-child-p): New functions for parsing and
43430         analyzing JSX.
43432         (js-jsx--text-range, js-jsx--syntax-propertize-tag-text): New
43433         functions for propertizing JSXText.
43434         (js-jsx--syntax-propertize-tag): Propertize JSXText children of tags.
43435         (js-jsx--text-properties): Remove JSXText-related text properties when
43436         repropertizing.
43437         (js-mode): Extend the syntax-propertize region with
43438         syntax-propertize-multiline; we are now adding the syntax-multiline
43439         text property to buffer ranges that are JSXText to ensure the whole
43440         multiline JSX construct is reidentified.
43442 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43444         Font-lock JSX while editing it by extending regions
43446         * lisp/progmodes/js.el (js-jsx--font-lock-keywords):
43447         Call tag beginning and end matchers.
43448         (js-jsx--match-tag-beg, js-jsx--match-tag-end): New functions.
43449         (js-jsx--syntax-propertize-tag): Record buffer positions of JSXElement
43450         beginning and end for font-locking.
43452         (js--syntax-propertize-extend-region)
43453         (js-jsx--syntax-propertize-extend-region): New functions for extending
43454         the syntax-propertize region backwards to the start of a JSXElement so
43455         its JSXAttribute children on its n+1th lines can be parsed as such
43456         while editing those lines.
43457         (js-mode): Add js--syntax-propertize-extend-region to
43458         syntax-propertize-extend-region-functions.
43460 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43462         Add basic JSX font-locking
43464         Font-lock JSX from the beginning of the buffer to the end.  Tends to
43465         break temporarily when editing lines, because the parser doesn’t yet
43466         look backwards to determine if the end of a tag in the current range
43467         starts before the range.
43469         This also re-breaks some tests fixed by previous commits, as we begin
43470         to take a different direction in our parsing code, looking for JSX,
43471         rather than for non-JSX.  The parsing code will eventually provide
43472         information for indentation again.
43474         * lisp/progmodes/js.el (js--dotted-captured-name-re)
43475         (js-jsx--disambiguate-beginning-of-tag)
43476         (js-jsx--disambiguate-end-of-tag, js-jsx--disambiguate-syntax):
43477         Remove.
43478         (js-jsx--font-lock-keywords): New variable.
43479         (js--font-lock-keywords-3): Add JSX matchers.
43480         (js-jsx--match-tag-name, js-jsx--match-attribute-name): New functions.
43481         (js-jsx--syntax-propertize-tag): New function to aid in JSX
43482         font-locking and eventually indentation.
43483         (js-jsx--text-properties): New variable.
43484         (js-syntax-propertize): Propertize JSX properly using
43485         syntax-propertize-rules.
43487 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43489         Use js-jsx- prefix for functions and variables
43491         * lisp/progmodes/js.el (js--disambiguate-beginning-of-jsx-tag): Rename
43492         to js-jsx--disambiguate-beginning-of-tag.
43493         (js--disambiguate-end-of-jsx-tag): Rename to
43494         js-jsx--disambiguate-end-of-tag.
43495         (js--disambiguate-js-from-jsx): Rename to js-jsx--disambiguate-syntax.
43496         (js--jsx-start-tag-re): Rename to js-jsx--start-tag-re.
43497         (js--looking-at-jsx-start-tag-p): Rename to
43498         js-jsx--looking-at-start-tag-p.
43499         (js--jsx-end-tag-re): Rename to js-jsx--end-tag-re.
43500         (js--looking-back-at-jsx-end-tag-p): Rename to
43501         js-jsx--looking-back-at-end-tag-p.
43502         (js--as-sgml): Rename to js-jsx--as-sgml.
43503         (js--outermost-enclosing-jsx-tag-pos): Rename to
43504         js-jsx--outermost-enclosing-tag-pos.
43505         (js--jsx-indentation): Rename to js-jsx--indentation-type.
43506         (js--indent-line-in-jsx-expression): Rename to
43507         js-jsx--indent-line-in-expression.
43508         (js--indent-n+1th-jsx-line): Rename to js-jsx--indent-n+1th-line.
43510 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43512         js-syntax-propertize: Disambiguate JS from JSX, fixing some indents
43514         Fix some JSX indentation bugs:
43516         - Bug#24896 / https://github.com/mooz/js2-mode/issues/389
43517         - Bug#30225
43518         - https://github.com/mooz/js2-mode/issues/459
43520         * lisp/progmodes/js.el (js--dotted-captured-name-re)
43521         (js--unary-keyword-re, js--unary-keyword-p)
43522         (js--disambiguate-beginning-of-jsx-tag)
43523         (js--disambiguate-end-of-jsx-tag)
43524         (js--disambiguate-js-from-jsx): New variables and functions.
43526         (js-syntax-propertize): Additionally clarify when syntax is JS so that
43527         ‘(with-syntax-table sgml-mode-syntax-table …)’ does not mistake some
43528         JS punctuation syntax for SGML parenthesis syntax, namely ‘<’ and ‘>’.
43530         * test/manual/indent/js-jsx-unclosed-2.js: Add additional test for
43531         unary operator parsing.
43533 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43535         Add new (failing) unclosed JSX test and separate such tests
43537         * test/manual/indent/js-jsx.js: Move test with intentional scan error to
43538         its own file, js-jsx-unclosed-1.js.
43539         * test/manual/indent/js-jsx-unclosed-1.js: New file.
43540         * test/manual/indent/js-jsx-unclosed-2.js: New file with test for
43541         regression caused by new ambiguous parsing of JS/JSX.
43543 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43545         Refactor JSX indentation code to improve enclosing JSX discovery
43547         Fix a number of bugs reported for JSX indentation (caused by poor JSX
43548         detection):
43550         - https://github.com/mooz/js2-mode/issues/140#issuecomment-166250016
43551         - https://github.com/mooz/js2-mode/issues/490
43552         - Bug#24896 / https://github.com/mooz/js2-mode/issues/389 (with
43553         respect to comments)
43554         - Bug#26001 /
43555         https://github.com/mooz/js2-mode/issues/389#issuecomment-271869380
43556         - https://github.com/mooz/js2-mode/issues/411 / Bug#27000 /
43557         https://github.com/mooz/js2-mode/issues/451
43559         Potentially manifest some new bugs (due to false positives with ‘<’
43560         and ‘>’ and SGML detection).  Slow down indentation a fair bit.
43562         * lisp/progmodes/js.el (js-jsx-syntax, js--jsx-start-tag-re)
43563         (js--looking-at-jsx-start-tag-p, js--looking-back-at-jsx-end-tag-p):
43564         New variables and functions.
43565         (js--jsx-find-before-tag, js--jsx-after-tag-re): Deleted.
43567         (js--looking-at-operator-p): Don’t mistake a JSXOpeningElement for the
43568         ‘<’ operator.
43569         (js--continued-expression-p): Don’t mistake a JSXClosingElement as a
43570         fragment of a continued expression including the ‘>’ operator.
43572         (js--as-sgml): Simplify.  Probably needn’t bind forward-sexp-function
43573         to nil (sgml-mode already does) and probably shouldn’t bind
43574         parse-sexp-lookup-properties to nil either (see Bug#24896).
43576         (js--outermost-enclosing-jsx-tag-pos): Find enclosing JSX more
43577         accurately than js--jsx-find-before-tag.  Use sgml-mode’s parsing
43578         logic, rather than unreliable heuristics like paren-wrapping.  This
43579         implementation is much slower; the previous implementation was fast,
43580         but at the expense of accuracy.  To make up for all the grief we’ve
43581         caused users, we will prefer accuracy over speed from now on.  That
43582         said, this can still probably be optimized a lot.
43584         (js--jsx-indented-element-p): Rename to js--jsx-indentation, since it
43585         doesn’t just return a boolean.
43586         (js--jsx-indentation): Refactor js--jsx-indented-element-p to simplify
43587         the implementation as the improved accuracy of other code allows (and
43588         to repent for some awful stylistic choices I made earlier).
43590         (js--expression-in-sgml-indent-line): Rename to
43591         js--indent-line-in-jsx-expression, since it’s a private function and
43592         we can give it a name that reads more like English.
43593         (js--indent-line-in-jsx-expression): Restructure point adjustment
43594         logic more like js-indent-line.
43596         (js--indent-n+1th-jsx-line): New function to complement
43597         js--indent-line-in-jsx-expression.
43599         (js-jsx-indent-line): Refactor.  Don’t bind js--continued-expression-p
43600         to ignore any more; instead, rely on the improved accuracy of
43601         js--continued-expression-p.
43603         (js-jsx-mode): Set js-jsx-syntax to t.  For now, this will be the flag
43604         we use to determine whether ‘JSX is enabled.’  (Maybe later, we will
43605         refactor the code to use this variable instead of requiring
43606         js-jsx-mode to be enabled, thus rendering the mode obsolete.)
43608 2019-04-08  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
43610         Add failing tests for JSX indentation bugs
43612         * test/manual/indent/js-jsx.js: Add failing tests for all the js-mode
43613         and js2-mode JSX indentation bugs reported over the years that I could
43614         find.  Some may be duplicates, so I have grouped similar reports
43615         together, for now; we’ll see for certain which distinct cases we need
43616         once we start actually implementing fixes.
43617         * test/manual/indent/js-jsx-quote.js: New file with a nasty test.
43619 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
43621         Restore .dir-locals.el accidentally deleted
43623         But this way -- git add/commit/push -- is probably wrong, sorry.
43625 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
43627         Fix last commit message
43629 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
43631         Make `jump to group' work even if it is not activated (bug#33653)
43633         * lisp/gnus/gnus-group.el (gnus-group-goto-group):
43634         Use gnus-newsrc-hashtb instead of gnus-active-hashtb to check if
43635         a group exists even if its server is not activated (bug#33653).
43637 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
43639         Make `jump to group' work even if it is not activated (bug#33653)
43641         * lisp/gnus/gnus-group.el (gnus-group-goto-group):
43642         Use gnus-newsrc-hashtb instead of gnus-newsrc-hashtb to check if
43643         a group exists even if its server is not activated (bug#33653).
43645 2019-04-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
43647         Fix encoding and access of Gnus group names
43649         * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Encode group
43650           names as 'latin-1.
43651         * lisp/gnus/nnmail.el (nnmail-parse-active): Ditto.
43652         * lisp/gnus/nnml.el (nnml-request-group, nnml-request-create-group,
43653           nnml-request-expire-articles, nnml-request-delete-group,
43654           nnml-request-rename-group, nnml-deletable-article-p,
43655           nnml-active-number, nnml-open-incremental-nov): Use assoc-string
43656           with nnml-group-alist.
43657         * lisp/gnus/nnrss.el (nnrss-request-delete-group,
43658           nnrss-retrieve-groups, nnrss-read-group-data, nnrss-check-group,
43659           nnrss-generate-download-script): Use assoc-string with
43660           nnrss-group-alist.
43662 2019-04-08  Katsumi Yamaoka  <yamaoka@jpl.org>
43664         Make `move article' work again (bug#33653)
43666         * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Back to while loop
43667         m dolist that blocks nov and active from saving (bug#33653).
43669 2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
43671         * lisp/gnus/gnus-sum.el: Prepare for lexical-binding
43673         Add defvars for all the gnus-tmp-*.
43674         (gnus-summary-make-local-variables): Move let binding to avoid setq.
43675         (gnus-set-global-variables): Use dolist.
43676         (gnus-summary-from-or-to-or-newsgroups, gnus-summary-insert-line)
43677         (gnus-summary-insert-dummy-line): Avoid dynbind args.
43678         (gnus-build-old-threads): Remove unused var 'id'.
43679         (gnus-nov-parse-line): Remove unused var 'buffer'.
43680         (gnus-thread-header): Prepare it for a lexbind world.
43681         (gnus-adjust-marked-articles): Remove unused var 'marks'.
43682         (gnus-mark-xrefs-as-read): Remove unused var 'idlist'.
43683         (gnus-summary-display-article): Erase&widen before mm-enable-multibyte.
43684         (gnus-summary-better-unread-subject): Remove unused var 'score'.
43685         (gnus-summary-find-matching): Remove unused var 'd'.
43686         (ps-right-header, ps-left-header, shr-ignore-cache): Declare vars.
43687         (gnus-summary-idna-message, gnus-summary-morse-message)
43688         (gnus-summary-sort-by-original):
43689         Fix interactive spec since we don't actually use any prefix arg.
43690         (gnus-summary-move-article, gnus-read-move-group-name): Use user-error.
43691         (gnus-summary-move-article): Use dolist.
43692         (gnus-summary-edit-article): Fix unquoting.
43693         (gnus-summary-highlight-line-0, gnus-summary-highlight-line):
43694         Declare dynbind vars documented in gnus-summary-highlight.
43696 2019-04-08  Juri Linkov  <juri@linkov.net>
43698         * lisp/vc/diff-mode.el (diff-syntax-fontify-props): Check both buffer-local
43700         and default value of find-file-hook.
43702 2019-04-08  Paul Eggert  <eggert@cs.ucla.edu>
43704         Allow gap before first non-Lisp pseudovec member
43706         Problem reported by Keith David Bershatsky in:
43707         https://lists.gnu.org/r/emacs-devel/2019-04/msg00259.html
43708         Solution suggested by Stefan Monnier in:
43709         https://lists.gnu.org/r/emacs-devel/2019-04/msg00282.html
43710         * src/buffer.h (BUFFER_LISP_SIZE): Simplify by using PSEUDOVECSIZE.
43711         (BUFFER_REST_SIZE): Simplify by using VECSIZE and BUFFER_LISP_SIZE.
43712         * src/lisp.h (PSEUDOVECSIZE): Base it on the last Lisp field,
43713         not the first non-Lisp field.  All callers changed.  Callers
43714         without Lisp fields changed to use ALLOCATE_PLAIN_PSEUDOVECTOR.
43715         (ALLOCATE_PLAIN_PSEUDOVECTOR): New macro.
43717 2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
43719         * lisp/gnus/gnus-agent.el (gnus-agent-fetch-articles): Use match-string
43721         (gnus-agent-expire-group-1): Dial down on the 'setq'.
43723 2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
43725         * lisp/emacs-lisp/nadvice.el: Add ourselves to package--builtin-versions
43727 2019-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
43729         Eshell: Try to untangle the dependencies; move 'provide's to the end
43731         * lisp/eshell/esh-arg.el: Move defsubst and vars before first use.
43732         Don't require `esh-mode but esh-util instead.
43734         * lisp/eshell/esh-cmd.el: Require esh-module and esh-io.
43736         * lisp/eshell/esh-ext.el: Don't require esh-proc nor esh-cmd.
43737         (eshell-external-command): Require esh-proc for
43738         eshell-gather-process-output.
43740         * lisp/eshell/esh-mode.el: Don't require esh-io nor esh-var, but
43741         require esh-arg.
43742         (eshell-directory-name): Move from eshell.el.
43744         * lisp/eshell/esh-module.el: Don't require eshell.
43746         * lisp/eshell/esh-opt.el: Don't require esh-ext at top-level.
43747         (eshell--do-opts, eshell-show-usage): Require it here instead.
43749         * lisp/eshell/esh-proc.el: Don't require esh-cmd, but require esh-io.
43750         (eshell-reset-after-proc, eshell-record-process-object)
43751         (eshell-gather-process-output, eshell-send-eof-to-process):
43752         Require esh-mode and esh-var here.
43754         * lisp/eshell/esh-var.el: Require esh-module, esh-arg, and esh-io.
43756         * lisp/eshell/eshell.el: Require esh-module, esh-proc, esh-io, and esh-cmd.
43757         But don't require esh-mode.
43758         (eshell-directory-name): Move to esh-mode.
43759         (eshell-return-exits-minibuffer): Don't bind 'return' and 'M-return'
43760         since we already bind RET and M-RET.
43762 2019-04-08  Michael Albinus  <michael.albinus@gmx.de>
43764         Fix file-readable-p and file-executable-p in some Tramp backends
43766         * lisp/net/tramp-archive.el (tramp-archive-handle-file-readable-p):
43767         Use tramp-gvfs.
43769         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-executable-p):
43770         Check that FILENAME exists.
43771         (tramp-gvfs-handle-file-readable-p): Check that FILENAME exists.
43772         Use heuristic in case it cannot be determined correctly.
43774 2019-04-07  Mattias Engdegård  <mattiase@acm.org>
43776         Rename variable for clarity
43778         * lisp/progmodes/verilog-mode.el (verilog-sk-define-signal):
43779         Rename sig-re to sig-chars, to make it clear that it isn't a regexp.
43781 2019-04-07  Alexander Gramiak  <agrambot@gmail.com>
43783         Plug memory leak in GTK x-display-monitor-attributes-list
43785         * src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as
43786           well.
43788         * src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug
43789           memory leak.
43791         * src/frame.h (MonitorInfo): Declare name as pointing to const char.
43793 2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>
43795         Simplify fill_gstring_header
43797         * src/composite.c (fill_gstring_header): Omit first argument HEADER,
43798         since in practice it is always nil.  Change caller to match.
43799         Help the compiler by telling it LEN is nonnegative.
43800         Problem found with --enable-gcc-warnings and gcc -O2 -Og.
43802 2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>
43804         Help the compiler with byte order
43806         * src/xsettings.c (parse_settings): Help the compiler by
43807         letting it deduce the native endianness at compile-time.
43809 2019-04-07  Paul Eggert  <eggert@cs.ucla.edu>
43811         Fix more regexp oddities
43813         Problems reported by Mattias Engdegård in:
43814         https://lists.gnu.org/r/emacs-devel/2019-04/msg00178.html
43815         * lisp/progmodes/sh-script.el (sh-get-indent-info):
43816         Reorder skip-chars-forward arg so that it does not look like a regexp.
43817         * lisp/progmodes/verilog-mode.el (verilog-sk-define-signal):
43818         Fix typo: the string is not a regexp.
43819         * lisp/vc/log-edit.el (log-edit-goto-eoh): Fix typo: stray ‘:’.
43820         * lisp/xml.el (xml-parse-dtd): Avoid ‘-’ right after char class.
43822 2019-04-07  Michael Albinus  <michael.albinus@gmx.de>
43824         Fix typo in tramp.texi
43826         * doc/misc/tramp.texi (Change file name syntax)
43827         (Frequently Asked Questions): '.' or ',' must follow xref.
43829 2019-04-07  Michael Albinus  <michael.albinus@gmx.de>
43831         * lisp/net/tramp.el (tramp-parse-group): Rename third arg to SKIP-CHARS.
43833         (tramp-parse-sconfig-group): Fix thinko.
43835 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
43837         * lisp/frame.el (display-planes): Use logb over truncate + log
43839         Suggested by Basil L. Contovounesios:
43840         https://lists.gnu.org/r/bug-gnu-emacs/2019-03/msg01052.html
43842 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
43844         Introduce new defcustom for terminal CUA rectangle commands
43846         This allows a user to set a non-meta modifier for their terminal
43847         should his/her terminal support it. See bug#35058 for background on
43848         this change.
43850         * lisp/emulation/cua-base.el (cua-rectangle-terminal-modifier-key):
43851         New defcustom.
43853         * lisp/emulation/cua-base.el (cua--shift-control-x-prefix): Use new
43854         defcustom.
43856 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
43858         Define and use new procedure display-symbol-keys-p
43860         * lisp/frame.el (display-symbol-keys-p): Define.
43862         * lisp/simple.el (normal-erase-is-backspace-setup-frame): Use eq
43863         instead of memq.
43864         (normal-erase-is-backspace-mode): Use display-symbol-keys-p.
43866 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
43868         Define and use new alias display-blink-cursor-p
43870         display-graphic-p is not used in this case because it may be possible
43871         in the future for terminals to allow control over cursor blinking. For
43872         details, see bug#35058.
43874         * lisp/frame.el (blink-cursor-mode): Use display-blink-cursor-p.
43876 2019-04-06  Alexander Gramiak  <agrambot@gmail.com>
43878         Use display-graphic-p and display-multi-frame-p in more cases
43880         * lisp/disp-table.el:
43881         * lisp/faces.el:
43882         * lisp/frame.el:
43883         * lisp/info.el (Info-fontify-node):
43884         * lisp/window.el (handle-select-window): Use display-graphic-p and
43885           display-multi-frame-p instead of explicit memq calls.
43887 2019-04-06  Basil L. Contovounesios  <contovob@tcd.ie>
43889         Distinguish buttons from widgets (bug#34506)
43891         * lisp/button.el (button-at):
43892         * lisp/wid-edit.el (widget-at): Avoid returning a false positive
43893         when looking for a button and finding a widget, or vice versa.
43894         * test/lisp/button-tests.el:
43895         * test/lisp/wid-edit-tests.el: New files.
43897 2019-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
43899         * src/buffer.c (Fget_buffer_create): Apply booleans's eta-reduction
43901 2019-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
43903         * lisp/subr.el (setq-default): Fix thinko
43905         Reported by Johan Bockgård <bojohan+news@gnu.org>
43907 2019-04-06  Glenn Morris  <rgm@gnu.org>
43909         * doc/misc/tramp.texi (Remote processes): '.' or ',' must follow xref.
43911 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
43913         Encode the FILENAME argument of 'file-locked-p'
43915         * src/filelock.c (Ffile_locked_p): Encode the file name,
43916         before passing it to system APIs.  (Bug#35171)
43918 2019-04-06  Basil L. Contovounesios  <contovob@tcd.ie>
43920         Don't leave inhibit_buffer_hooks uninitialized
43922         * src/buffer.c (Fget_buffer_create): Explicitly initialize
43923         inhibit_buffer_hooks. (bug#34847)
43925 2019-04-06  Michael Albinus  <michael.albinus@gmx.de>
43927         Fix Bug#34847
43929         * lisp/autorevert.el (auto-revert-remove-current-buffer):
43930         Add optional argument BUFFER.
43931         (auto-revert-notify-rm-watch): Remove local hook.
43932         (auto-revert-buffers): Check `buffer-live-p' in time.  (Bug#34847)
43934 2019-04-05  Alex Branham  <alex.branham@gmail.com>
43936         Update documentation for indent-relative functions
43938         * lisp/indent.el (indent-relative): Document what happens when there
43939           is no previous nonblank line.
43940         * doc/lispref/text.texi (Relative Indent): Document
43941           indent-relative-first-indent-point instead of obsolete
43942           indent-relative-maybe. Fix documentation of which argument from
43943           'indent-relative' is used.
43945         Bug#34858
43947 2019-04-05  Michał Krzywkowski  <mkrzywkow@gmail.com>
43949         Small elide-head.el update
43951         * lisp/elide-head.el (elide-head-headers-to-hide):
43952         Also match https for GPL.  (Bug#34919)
43954 2019-04-05  Glenn Morris  <rgm@gnu.org>
43956         * doc/emacs/emacs.texi (Acknowledgments): Remove duplicate.
43958 2019-04-05  Michael Albinus  <michael.albinus@gmx.de>
43960         Adapt tramp-tests.el
43962         * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
43963         Instrument test.  Adapt check string.
43964         (tramp-test34-explicit-shell-file-name)
43965         (tramp-test43-asynchronous-requests): Skip tests for tramp-adb
43966         with older Emacsen.
43968 2019-04-05  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
43970         Minor cleanup in widget.c
43972         * src/widget.c (update_wm_hints): Remove variables that are
43973         always zero, and simplify all expressions which used them.
43974         (Bug#35062)
43976 2019-04-05  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
43978         Minor cleanup in gtkutil.c
43980         * src/gtkutil.c (x_wm_set_size_hint): Remove variables that
43981         are always zero, and simplify all expressions which used
43982         them.  (Bug#35062)
43984 2019-04-04  Katsumi Yamaoka  <yamaoka@jpl.org>
43986         Make `move article' work again (bug#33653)
43988         * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Back to while loop
43989         m dolist that blocks nov and active from saving (bug#33653).
43991 2019-04-04  Troy Hinckley  <t.macman@gmail.com>
43993         Don't check comp-buffer-name-function in derived mode (Bug#34956)
43995         * lisp/progmodes/compile.el (define-compilation-mode): Remove
43996         'compilation-buffer-name-function' from the list of overridden
43997         variables to ensure that it is not mistaken for a variable that can be
43998         major mode specific.  'compilation-buffer-name-function' is used
43999         before the major mode is loaded, therefore overriding it here is
44000         ineffectual.  Also, the function 'compilation-start' takes an optional
44001         argument name-function, so there is already a mechanism to override
44002         it.
44004 2019-04-04  Basil L. Contovounesios  <contovob@tcd.ie>
44006         Fix comment-empty-lines docstring (bug#35152)
44008         * lisp/newcomment.el (comment-empty-lines): Consistently use US
44009         commas in docstring.  Fix indentation of and typo in custom :type.
44011 2019-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
44013         * lisp/progmodes/compile.el (compilation-error-regexp-alist): Typo
44015         Reported by Kévin Le Gouguec <kevin.legouguec@gmail.com>
44017 2019-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
44019         * lisp/desktop.el (desktop--v2s): Add case for defstructs (bug#35131)
44021 2019-04-04  Michael Albinus  <michael.albinus@gmx.de>
44023         * test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
44025         Make it fit for tramp-adb.  Apply better check in process filter.
44027 2019-04-03  Mauro Aranda  <maurooaranda@gmail.com>
44029         Avoid recursive load of eshell
44031         * lisp/eshell/eshell.el: Provide eshell before requiring esh-mode to
44032         avoid a recursive load when esh-mode requires esh-module (which in
44033         turn requires eshell).  (Bug #34954)
44034         The double loading can be noticed by entries in 'eshell-load-hook' or
44035         forms passed to (with-eval-after-load 'eshell ...).
44037 2019-04-03  Mauro Aranda  <maurooaranda@gmail.com>
44039         Fix repeated 'custom-add-option' in esh-mode.el (Bug#34993)
44041         * lisp/eshell/esh-mode.el: Call 'custom-add-option' with the right
44042         argument.
44044 2019-04-03  Michael Albinus  <michael.albinus@gmx.de>
44046         Work on asynchronous processes for tramp-adb.el
44048         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
44049         Simplify.  Remove echoed first line.
44050         (tramp-adb-send-command): Add NEVEROPEN and NOOUTPUT.
44052         * lisp/net/tramp-sh.el (tramp-process-sentinel): Remove.
44053         (tramp-sh-handle-make-process): Simplify.
44055         * lisp/net/tramp.el (tramp-process-sentinel): New defun, taken from
44056         tramp-sh.el.  Delete trailing shell prompt.
44058         * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
44059         (tramp-test30-make-process): Run also for tramp-adb.
44060         (tramp-test32-shell-command): Remove tramp-adb restrictions.
44061         (tramp-test34-explicit-shell-file-name): Rework.  Remove :unstable tag.
44063 2019-04-03  Glenn Morris  <rgm@gnu.org>
44065         * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
44066         Expect failure on hydra.nixos.
44068 2019-04-03  Eli Zaretskii  <eliz@gnu.org>
44070         Improve commentary in 'field_relpos'
44072         * src/pdumper.c (PDUMPER_MAX_OBJECT_SIZE): New macro.
44073         (field_relpos): Use PDUMPER_MAX_OBJECT_SIZE, and comment on
44074         why we require that relpos be not too large.
44076 2019-04-03  Eli Zaretskii  <eliz@gnu.org>
44078         Restore process-environment after portable dumping
44080         * src/pdumper.c (struct dump_context): New member
44081         old_process_environment.
44082         (Fdump_emacs_portable): Record the original value of
44083         process-environment.
44084         (dump_unwind_cleanup): Restore the original values of
44085         process-environment and post-gc-hook.
44087 2019-04-03  Stephen Leake  <stephen_leake@stephe-leake.org>
44089         Fix bug in gud-gdb-marker-filter: first marker does not start with \n
44091 2019-04-03  Basil L. Contovounesios  <contovob@tcd.ie>
44093         Avoid using obsolete indent-relative-maybe
44095         * lisp/electric.el (electric-indent-functions-without-reindent):
44096         * lisp/indent.el (indent-according-to-mode): Check for
44097         indent-relative-first-indent-point in addition to its obsolete alias
44098         indent-relative-maybe.
44099         * lisp/obsolete/vi.el (vi-com-map): Use
44100         indent-relative-first-indent-point in place of its obsolete alias
44101         indent-relative-maybe.
44103 2019-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
44105         * lisp/progmodes/compile.el: Use non-nil values for *-function
44107         (compilation-parse-errors-filename-function,compilation-exit-message-function)
44108         (compilation-process-setup-function, compilation-buffer-name-function):
44109         Give them non-nil default values.
44110         (compilation-buffer-name): Restructure slightly.
44111         (compilation--default-buffer-name): New function, extracted from it.
44112         Use `name-of-mode` instead of `mode-command` to check if the current
44113         buffer is already in the appropriate mode.
44115 2019-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
44117         * lisp/progmodes/compile.el: Allow 'line' functions in error-regexp-alist
44119         (compilation-error-properties): Allow 'line' and 'end-line' to be functions,
44120         like 'col' and 'end-col'.
44121         (compilation-error-regexp-alist): Document this.
44122         (compilation-parse-errors): Drop support for old undocumented feature
44123         where 'line' was a function of 2 arguments.
44124         (compilation--compat-error-properties): Delete function.
44126 2019-04-02  Noam Postavsky  <npostavs@users.sourceforge.net>
44128         Allow partial decompression (Bug#33133)
44130         * src/decompress.c (Fzlib_decompress_region): Add optional
44131         ALLOW-PARTIAL parameter.
44132         * lisp/url/url-http.el (url-handle-content-transfer-encoding): Use it.
44133         * doc/lispref/text.texi (Decompression): Document it.
44134         * etc/NEWS: Announce it.
44136 2019-04-02  Basil L. Contovounesios  <contovob@tcd.ie>
44138         * lisp/gnus/gnus-dup.el: Use lexical-binding
44140         (gnus-dup-list-dirty): Add docstring.
44141         (gnus-dup-open): Allocate gnus-dup-hashtb more conservatively now
44142         that it is no longer an obarray.
44143         (gnus-dup-enter-articles): Fix off-by-one error.
44144         (gnus-dup-suppress-articles): DRY.
44146         For discussion, see thread starting at:
44147         https://lists.gnu.org/r/emacs-devel/2019-03/msg00974.html
44149 2019-04-02  Wilson Snyder  <wsnyder@wsnyder.org>
44151         Fix verilog-mode vmm statements and AUTOINPUTREG ignores.
44153         * lisp/progmodes/verilog-mode.el (verilog-vmm-statement-re):
44154         Fix vmm statement regexps. Reported by Mattias Engdegard.
44155         (verilog-auto-reg-input)
44156         (verilog-auto-reg-input-assigned-ignore-regexp): For AUTOINPUTREG,
44157         allow ignoring assignments with new
44158         `verilog-auto-reg-input-assigned-ignore-regexp' variable, bug1401.
44159         Reported by David Rogoff.
44161 2019-04-02  Paul Eggert  <eggert@cs.ucla.edu>
44163         Improve regexp advice again, and unchain ranges
44165         * doc/lispref/searching.texi (Regexp Special):
44166         Mention char classes earlier, in a more-logical place.
44167         Advise sticking to ASCII letters and digits in ranges.
44168         Reword negative advice to make it clearer that it’s negative.
44169         * lisp/files.el (make-auto-save-file-name):
44170         * lisp/gnus/message.el (message-mailer-swallows-blank-line):
44171         * lisp/gnus/nndoc.el (nndoc-lanl-gov-announce-type-p)
44172         (nndoc-generate-lanl-gov-head):
44173         * lisp/org/org-eshell.el (org-eshell-open):
44174         * lisp/org/org.el (org-deadline-time-hour-regexp)
44175         (org-scheduled-time-hour-regexp):
44176         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords):
44177         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
44178         * lisp/textmodes/less-css-mode.el (less-css-font-lock-keywords):
44179         * lisp/vc/vc-cvs.el (vc-cvs-valid-symbolic-tag-name-p):
44180         * lisp/vc/vc-svn.el (vc-svn-valid-symbolic-tag-name-p):
44181         Avoid attempts to chain ranges, as this can be confusing.
44182         For example, instead of [0-9-_.], use [0-9_.-].
44184 2019-04-02  Eli Zaretskii  <eliz@gnu.org>
44186         Fix documentation of last change
44188         * doc/misc/cl.texi (Structures): Document :noinline.
44190         * etc/NEWS: Mark the entry for :noinline as documented.
44192 2019-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
44194         * lisp/emacs-lisp/cl-macs.el: Don't always inline struct functions
44196         (cl--struct-inline): New var.
44197         (cl-defstruct): Obey it along with a new :noinline keyword argument.
44199 2019-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
44201         * lisp/subr.el (prog2): Define as a macro
44203         * src/eval.c (Fprog2): Delete function.
44204         (syms_of_eval): Don't register it.
44206         * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
44207         * lisp/emacs-lisp/generator.el (cps--transform-1): Remove `prog2` case.
44209         * lisp/emacs-lisp/bytecomp.el (prog2): Remove handlers.
44210         (byte-compile-prog2): Delete.
44212         * lisp/emacs-lisp/lisp-mode.el (prog2): Remove property.
44214 2019-04-02  Michael Albinus  <michael.albinus@gmx.de>
44216         Suppress timers in tramp-send-string
44218         * lisp/net/tramp.el (tramp-send-string): Suppress timers.  Use
44219         `with-local-quit'.
44221 2019-04-02  Michael Albinus  <michael.albinus@gmx.de>
44223         Give example for configuration in tramp.texi
44225         * doc/misc/tramp.texi (Configuration): Explain how to call Tramp
44226         configuration functions in the init file.
44228 2019-04-02  Paul Eggert  <eggert@cs.ucla.edu>
44230         More regexp advice and clarifications
44232         * doc/lispref/searching.texi (Regexp Special): Simplify style
44233         advice for order of ], ^, and - in character alternatives.
44234         Stick with saying that it’s not a good idea to put ‘-’ after a
44235         range.  Remove the special case about raw 8-bit bytes and
44236         unibyte characters, as this documentation is confusing and
44237         seems to be incorrect in some cases.  Say that z-a is the
44238         preferred style for reversed ranges, since it’s clearer and is
44239         typically what’s used in practice.  Mention some bad styles:
44240         duplicates in character alternatives, ranges that denote <=3
44241         characters, and ‘-’ as the first character.
44243 2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>
44245         Merge from origin/emacs-26
44247         0924b27bca Say which regexp ranges should be avoided
44249         # Conflicts:
44250         #       doc/lispref/searching.texi
44252 2019-04-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
44254         Refactor Gnus group name extraction in group completing read
44256         * lisp/gnus/gnus-group.el (gnus-group-completing-read): Only do the
44257           unibyte check once; make sure it applies to hash table keys as
44258           well.
44260 2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>
44262         Make struct Lisp_Objfwd etc. objects read-only
44264         Initialize these objects statically, and make them constants.
44265         This is a bit safer and more efficient.
44266         * src/data.c (XBOOLFWD, XKBOARD_OBJFWD, XFIXNUMFWD, XOBJFWD):
44267         * src/lisp.h (XBUFFER_OBJFWD):
44268         Return a pointer-to-const instead of an unrestricted pointer.
44269         (lispfwd): fwdptr is now a pointer-to-const instead of an
44270         unrestricted pointer.  All uses changed.
44271         (SET_SYMBOL_FWD): Accept pointer-to-const instead of an
44272         unrestricted pointer.
44273         (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
44274         (DEFVAR_KBOARD): Initialize static structures statically
44275         instead of dynamically, and make them const.
44276         * src/lread.c (defvar_int, defvar_bool, defvar_lisp_nopro)
44277         (defvar_lisp, defvar_kboard): Accept pointer-to-const instead
44278         of an unrestricted pointer; it’s now the caller’s
44279         responsibility to initialize the pointed-to storage.  No need
44280         for a separate address argument any more.  All callers
44281         changed.
44283 2019-04-01  Paul Eggert  <eggert@cs.ucla.edu>
44285         Fix union Lisp_Fwd * alignment bug
44287         It's not portable to cast (e.g.) struct Lisp_Objfwd * to union
44288         Lisp_Fwd * and then back again, because the compiler can then assume
44289         that the pointer is aligned for union Lisp_Fwd * when accessing
44290         the struct Lisp_Objfwd * components, and this assumption might
44291         be incorrect because we don't force that alignment.
44292         * src/lisp.h (lispfwd): New type, replacing ...
44293         (union Lisp_Fwd): ... this type, which was removed.
44294         All uses changed.
44295         (SET_SYMBOL_FWD): 2nd arg is now void *, not lispfwd.
44296         All uses changed (casts no longer needed; they were
44297         not portable anyway).
44299 2019-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
44301         * lisp/subr.el (setq-default): Define as a macro
44303         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default): Delete.
44304         (byte-compile-set-default): Inline the part that it used.
44306         * lisp/emacs-lisp/edebug.el (setq-default): Remove the debug spec.
44308         * src/data.c (Fsetq_default): Delete.
44309         (syms_of_data): Don't register.
44311 2019-04-01  Eli Zaretskii  <eliz@gnu.org>
44313         Fix a typo in xterm.c and w32term.c
44315         * src/xterm.c (x_window_to_scroll_bar):
44316         * src/w32term.c (x_window_to_scroll_bar): Fix a typo.
44318 2019-03-31  Paul Eggert  <eggert@cs.ucla.edu>
44320         Use update-game-score more often with Tetris
44322         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
44323         Go back to previous way of deciding whether to invoke
44324         update-game-score, except do not try to invoke it if file-modes
44325         fails on it (Bug#35056).
44327 2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>
44329         Do not set indent-line-function in text-mode
44331         * lisp/textmodes/text-mode.el (text-mode): Do not reset
44332         indent-line-function to its global default value of indent-relative.
44333         * doc/lispref/modes.texi (Example Major Modes):
44334         * etc/NEWS: Document change accordingly.
44336 2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>
44338         Do not set indent-line-function in text-mode
44340         For discussion, see thread starting at:
44341         https://lists.gnu.org/r/emacs-devel/2019-03/msg01012.html
44342         * lisp/textmodes/text-mode.el (text-mode): Do not reset
44343         indent-line-function to its global default value of indent-relative.
44344         * doc/lispref/modes.texi (Example Major Modes):
44345         * etc/NEWS: Document change accordingly.
44347 2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>
44349         Use lexical-binding in text-mode.el
44351         * lisp/textmodes/text-mode.el: Use lexical-binding.
44352         (text-mode, paragraph-indent-minor-mode, text-mode-hook-identify):
44353         Use setq-local.
44354         (toggle-text-mode-auto-fill): Quote function symbols as such.
44355         (center-line): Minor simplification.
44356         * doc/lispref/modes.texi (Example Major Modes): Update code example
44357         for these changes to text-mode.
44359 2019-03-31  Alan Third  <alan@idiocy.org>
44361         Use the correct filename for dump file in NS
44363         * nextstep/Makefile.in (all):
44364         (${ns_appbindir}/Emacs.pdmp):
44365         (links): Use mixed case 'Emacs.pdmp' to match the executable name.
44367 2019-03-31  Basil L. Contovounesios  <contovob@tcd.ie>
44369         Fix recently extended delete-indentation behavior
44371         * doc/lispref/text.texi (User-Level Deletion): Document new optional
44372         arguments of delete-indentation.
44374         * lisp/simple.el (delete-indentation): Do not barf if called
44375         interactively when region is inactive. (bug#35021)
44376         Do not skip blank lines. (bug#35036)
44377         Consistently deactivate mark even when no text was changed.
44378         Handle active region spanning a single line.
44380         * test/lisp/simple-tests.el (simple-test--buffer-substrings):
44381         New convenience function.
44382         (simple-test--dummy-buffer, simple-test--transpositions): Use it.
44383         (simple-delete-indentation-no-region)
44384         (simple-delete-indentation-inactive-region): Update commentary.
44385         Call delete-indentation interactively when testing for behavior with
44386         inactive region and region is not explicitly defined.
44387         (simple-delete-indentation-blank-line)
44388         (simple-delete-indentation-boundaries)
44389         (simple-delete-indentation-region)
44390         (simple-delete-indentation-prefix): New tests.
44392 2019-03-31  Eric Abrahamsen  <eric@ericabrahamsen.net>
44394         Check gnus-newsgroup-dependencies is hash table in gnus-id-to-thread
44396         * lisp/gnus/gnus-sum.el (gnus-id-to-thread): If dependencies haven't
44397           been initialized yet, don't blow up. Mimicks previous (non hasht
44398           table) behavior.
44400 2019-03-31  Mattias Engdegård  <mattiase@acm.org>
44402         Fix typo in regexp-opt example code
44404         * doc/lispref/searching.texi (Regexp Functions):
44405         Fix typo in example code (Bug#34596).
44407 2019-03-30  Alan Mackenzie  <acm@muc.de>
44409         Allow a CC Mode derived mode to have strings delimited by single quotes.
44411         Also fix the bug where the delimiters of '\033', etc. got the error face.
44413         * lisp/progmodes/cc-langs.el (c-single-quotes-quote-strings): Enhance the docr
44414         string.
44415         (c-string-delims): Change doc string to doc comment.
44417         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): In
44418         searches and comparisons, take account of the string delimiters possibly
44419         being '.  Fix argument in call of c-before-change-check-unbalanced-strings.
44420         (c-parse-quotes-before-change, c-parse-quotes-after-change): Bind
44421         case-fold-search to nil.  Analyze escape constructs inside character constants
44422         more accurately, in particular accepting as valid more than one character
44423         after /[0-7], /x, /u, and /U.  Amend calculations to account for this extra
44424         length.
44426 2019-03-30  Eli Zaretskii  <eliz@gnu.org>
44428         Fix a thinko in a recent commit
44430         * src/buffer.c (Fkill_buffer): Fix last change.  (Bug#31138)
44431         Reported by Mattias Engdegård <mattiase@acm.org>.
44433 2019-03-30  Mattias Engdegård  <mattiase@acm.org>
44435         Release regexp before signaling overflow error
44437         * src/search.c (looking_at_1, search_buffer_re): Unfreeze the regexp
44438         buffer before signaling a matcher overflow, since the error
44439         processing may require quite some regexp use as well (Bug#34910).
44441 2019-03-30  Mattias Engdegård  <mattiase@acm.org>
44443         Fix spurious regexp reentrancy error
44445         * src/search.c (compile_pattern): Don't give up if the last regexp
44446         cache entry is busy.  Instead, use the last (least recently used)
44447         non-busy entry, and only signal a reentrancy error if there is no free
44448         entry at all (Bug#34910).
44450 2019-03-30  Eli Zaretskii  <eliz@gnu.org>
44452         Don't run buffer-related hooks in " *code conversion work*" buffers
44454         Note: portions of this change were mistakenly pushed as part
44455         of an unrelated commit a35a1f6a9.
44457         * src/buffer.c (Fget_buffer_create): Set inhibit_buffer_hooks
44458         non-zero for temporary buffers created by coding.c.  Don't run
44459         buffer-list-update-hook for such buffers.
44460         (Frename_buffer, Fkill_buffer, record_buffer)
44461         (Fbury_buffer_internal): Don't run hooks for buffers whose
44462         inhibit_buffer_hooks flag is set.
44463         * src/buffer.h (struct buffer): New member
44464         inhibit_buffer_hooks.
44465         * src/pdumper.c (dump_buffer): Dump the new field.  Update the
44466         hash value in HASH_buffer_XXX.
44467         * src/coding.c (make_conversion_work_buffer): Function deleted;
44468         code moved to code_conversion_save.
44469         (code_conversion_save): Insert code from
44470         make_conversion_work_buffer, but arrange for unwind-protecting
44471         the current buffer before switching to the work buffer.  This
44472         avoids leaving reused_workbuf_in_use set if user presses C-g
44473         during encoding/decoding.
44474         (Vcode_conversion_workbuf_name): Now external variable.
44475         * src/coding.h (Vcode_conversion_reused_workbuf): Declare.
44477 2019-03-29  Michael Albinus  <michael.albinus@gmx.de>
44479         Extend comment about scope of tramp-test05-expand-file-name-relative
44481 2019-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
44483         Gnus: Automatically render text/calendar in a human-friendly way
44485         * lisp/gnus/mm-decode.el (mm-inline-media-tests): Add text/calendar entry.
44486         Use (fboundp 'device-sound-enabled-p) rather than fishing for features.
44487         (mm-automatic-display): Add text/calendar entry.
44489         * lisp/gnus/gnus-icalendar.el: Use lexical-binding.
44490         Remove redundant :group args.
44491         (gnus-icalendar-mm-inline): Add autoload cookie.
44493 2019-03-29  Alan Mackenzie  <acm@muc.de>
44495         Fix (again) regexp bug in CC Mode.
44497         * lisp/progmodes/cc-mode.el (c-after-change-mark-abnormal-strings): "|\\\r" ->
44498         "\\|\r".
44500 2019-03-28  Mattias Engdegård  <mattiase@acm.org>
44502         Use memql instead of memq in pcase
44504         * lisp/emacs-lisp/pcase.el (pcase--u1):
44505         Use memql instead of memq to work with bignums (Bug#34781).
44506         * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member): Test the above.
44508 2019-03-28  Eric Abrahamsen  <eric@ericabrahamsen.net>
44510         Initiate gnus-active-hashtb before making ephemeral group
44512         * lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-group): Needs to
44513           be a hash table, not nil.
44515 2019-03-28  Eli Zaretskii  <eliz@gnu.org>
44517         Fix display of sliced images on MS-Windows
44519         * src/w32term.c (x_draw_image_foreground): Fix detection of
44520         scaled images for sliced images.  Scale the original width of
44521         a slice and its coordinates of origin as well.
44523 2019-03-28  Michael Albinus  <michael.albinus@gmx.de>
44525         * lisp/net/tramp.el (tramp-accept-process-output): Use `push'.
44527 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44529         Simpler way to export HAVE_X_WINDOWS to GDB
44531         * src/.gdbinit: Simplify by removing dependency on globals
44532         implementation.  This is useful for a future performance
44533         improvement that I have in mind.
44534         * src/alloc.c (enum defined_HAVE_X_WINDOWS, defined_HAVE_X_WINDOWS):
44535         New enum and constant.
44536         (gdb_make_enums_visible) [__GNUC__]: Use it, to make
44537         defined_HAVE_X_WINDOWS visible to GDB.
44539 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44541         Tweak re_registers allocation
44543         * src/regex-emacs.c (re_match_2_internal):
44544         No need to allocate one extra trailing search register;
44545         Emacs does not use it.  Avoid quadratic behavior on
44546         reallocation.
44548 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44550         No need for m_search_regs_saved in thread.h
44552         * src/search.c (save_search_regs, restore_search_regs):
44553         Don’t use m_search_regs_saved; it’s equivalent to
44554         saved_search_regs.num_regs != 0.
44555         * src/thread.h (struct thread_state): Remove m_search_regs_saved.
44557 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44559         Fix search_regs memory leak when thread destroyed
44561         * src/thread.c (free_search_regs): New function.
44562         (finalize_one_thread): Use it.
44564 2019-03-27  Juri Linkov  <juri@linkov.net>
44566         * lisp/frame.el (make-frame-on-monitor): Add default value.  (Bug#34516)
44568 2019-03-27  Michael Albinus  <michael.albinus@gmx.de>
44570         * lisp/net/tramp.el (tramp-accept-process-output): Let progress reporter run.
44572 2019-03-27  Charles A. Roelli  <charles@aurox.ch>
44574         * test/lisp/mail/rmail-tests.el (rmail-autoload): Fix its doc.
44576 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44578         Tune css-mode regexp
44580         * lisp/textmodes/css-mode.el (css--font-lock-keywords):
44581         Omit unnecessary \(?: \) in regexp.  Suggested by Mattias Engdegård in:
44582         https://lists.gnu.org/r/emacs-devel/2019-03/msg01042.html
44584 2019-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
44586         Improve documentation of 'alist-get' (Bug#34708)
44588         * lisp/subr.el (alist-get): Enhance part of docstring explaining usage
44589         in place expressions.
44591 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44593         Use regexp-opt-charset to improve regexp tweaks
44595         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
44596         Reword confusing sentence in doc string.
44597         * lisp/erc/erc.el (erc-lurker-maybe-trim):
44598         * lisp/mail/footnote.el (footnote-hebrew-numeric-regex):
44599         Improve by using regexp-opt-charset.
44601 2019-03-27  Eli Zaretskii  <eliz@gnu.org>
44603         Attempt to fix crashes under GDB on Windows 10
44605         * src/pdumper.c (dump_discard_mem)
44606         [VM_SUPPORTED == VM_MS_WINDOWS]: Don't pass NULL pointer as
44607         last argument to VirtualProtect.  Reported by Martin Rudalics
44608         <rudalics@gmx.at>.
44610 2019-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44612         Minor xml.el tweaks
44614         * lisp/xml.el (xml-name-start-char-re, xml-name-char-re):
44615         No need to call concat.
44616         (xml-name-char-re): Use \u escapes rather than chars inline,
44617         so that the code matches the comments better and is easier
44618         to audit.
44620 2019-03-27  Michael Albinus  <michael.albinus@gmx.de>
44622         Use connection-local setting for tramp-remote-path
44624         * doc/misc/tramp.texi (Remote programs): Mention connection-local
44625         settings for `tramp-remote-path'.
44627         * lisp/net/tramp-sh.el (tramp-get-remote-path): Expand connection-local
44628         variables.
44630 2019-03-27  Basil L. Contovounesios  <contovob@tcd.ie>
44632         Avoid recently obsolete seq-contains in css-mode
44634         * lisp/textmodes/css-mode.el (css--join-nested-selectors): Replace
44635         recently obsolete seq-contains with new predicate seq-contains-p.
44637 2019-03-27  Mattias Engdegård  <mattiase@acm.org>
44639         * lisp/xml.el (xml-name-char-re): Remove superfluous `-' in regexp.
44641 2019-03-27  Alan Mackenzie  <acm@muc.de>
44643         Improve C++ raw string fontification.
44645         Integrate the handling of raw string and ordinary string fontification.
44647         * lisp/progmodes/cc-defs.el (c-font-lock-flush)
44648         (c-search-forward-char-property-without-value-on-char): new macros.
44649         (c-point): In the 'eoll arm, check for eobp.
44650         (c-search-forward-char-property-with-value-on-char): Handle the &optional
44651         limit argument being nil.
44652         (c-clear-char-property-with-value-on-char-function)
44653         (c-clear-char-property-with-value-on-char): Return the position of the first
44654         cleared property.
44656         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Don't spuriously
44657         recognize the change of face at a ) as the start of a string (a
44658         "pseudo match").
44659         (c-old-beg-rs c-old-end-rs): New variables.
44660         (c-raw-string-pos): Analyze raw string delimiters more carefully.
44661         (c-raw-string-in-end-delim): New function.
44662         (c-depropertize-raw-string): Largely rewritten.
44663         (c-before-change-check-raw-strings): New functionality: only remove the
44664         syntax-table text properties from raw strings whose delimiters are about to
44665         change.
44666         (c-propertize-raw-string-id): New function.
44667         (c-after-change-re-mark-raw-strings): Remove, incorporating functionality into
44668         other functions.
44669         (c-propertize-raw-string-opener): Largely rewritten.
44670         (c-after-change-re-mark-raw-strings): Removed.
44671         (c-after-change-unmark-raw-strings, c-after-change-unmark-raw-strings): New
44672         functions.
44674         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Largely rewritten.
44676         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Replace
44677         c-after-change-re-mark-unbalanced-strings by
44678         c-after-change-mark-abnormal-strings in the t, c+objc, c++ and java sections.
44679         Add c-after-change-unmark-raw-strings and remove
44680         c-after-change-re-mark-raw-strings from the c++ section.
44682         * lisp/progmodes/cc-mode.el (c-old-BEG c-old-END): Remove.
44683         (c-old-END-literality): New variable.
44684         (c-depropertize-CPP): Remove syntax-table properties from raw strings within
44685         macros.
44686         (c-before-change-check-unbalanced-strings): Call
44687         c-truncate-semi-nonlit-pos-cache to preserve the integrity of the cache.
44688         (c-before-change-check-unbalanced-strings): Call
44689         c-truncate-semi-nonlit-pos-cache, largely rewritten.
44690         (c-after-change-re-mark-unbalanced-strings): Renamed to
44691         c-after-change-mark-abnormal-strings.  Call c-maybe-re-mark-raw-string.
44693 2019-03-27  Andreas Schwab  <schwab@suse.de>
44695         * lisp/calc/calc-forms.el (calc-hms-notation): Fix interactive
44696         prompt.
44698 2019-03-27  Nicolas Petton  <nicolas@petton.fr>
44700         * lisp/emacs-lisp/map.el (map-inplace): Fix the message of the error.
44702 2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
44704         Support native image resizing on cairo
44706         * src/xterm.c (x_cr_draw_image): Add arguments image_width and
44707         image_height and support scaling.  All callers changed.
44708         * src/image.c (Fimage_scaling_p): Return t when USE_CAIRO.
44709         (x_set_image_size) [USE_CAIRO]: Record the scaled dimensions
44710         in the image struct.
44711         * src/dispextern.h (HAVE_NATIVE_SCALING): Define when
44712         USE_CAIRO as well.
44714         * etc/NEWS: Update the announcement of native image scaling.
44716 2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
44718         Fix cairo image drawing with box
44720         * src/xterm.c (x_cr_draw_image): Don't call cr_clip for non-mask case.
44721         (x_draw_image_foreground) [USE_CAIRO]: Draw image here ...
44722         (x_draw_image_glyph_string) [USE_CAIRO]: ... instead of here.
44723         (x_draw_image_foreground, x_draw_image_foreground_1)
44724         (x_draw_image_glyph_string) [USE_CAIRO]: Ifdef away unused code path.
44726 2019-03-26  Paul Eggert  <eggert@cs.ucla.edu>
44728         2019-03-26 regex cleanup
44730         Problems reported by Mattias Engdegård in:
44731         https://lists.gnu.org/r/emacs-devel/2019-03/msg01028.html
44732         * lisp/align.el (align-rules-list):
44733         * lisp/speedbar.el (speedbar-check-read-only, speedbar-check-vc):
44734         * lisp/vc/diff-mode.el (diff-add-change-log-entries-other-window):
44735         * lisp/woman.el (woman-parse-numeric-arg):
44736         Put "-" at end of character alternatives, since a range was not intended.
44737         * lisp/erc/erc.el (font-lock):
44738         * lisp/mail/footnote.el (cl-seq):
44739         Avoid duplicate character alternatives by using cl-seq API.
44740         * lisp/mail/footnote.el (footnote--current-regexp):
44741         * lisp/textmodes/css-mode.el (css--font-lock-keywords):
44742         Avoid repetition of repetition.
44743         * lisp/net/webjump.el (webjump-url-encode):
44744         Add ~ to character alternatives, and rewrite confusing range.
44745         * lisp/progmodes/verilog-mode.el (verilog-compiler-directives)
44746         (verilog-assignment-operator-re):
44747         Remove duplicate.
44748         * lisp/progmodes/verilog-mode.el (verilog-preprocessor-re):
44749         * lisp/textmodes/css-mode.el (css--font-lock-keywords):
44750         Don’t escape a char that doesn’t need it.
44751         * lisp/textmodes/picture.el (picture-tab-chars): In docstring,
44752         do not say regexp characters will be quoted; merely say in
44753         another way that the syntax is that of character alternatives.
44754         (picture-set-tab-stops, picture-tab-search): Don’t attempt
44755         to regexp-quote picture-tab-chars.
44756         (picture-tab-search): Quote \ in picture-tab-chars for
44757         skip-chars-backwards, which treats \ differently than
44758         regexp character alternatives do.
44760 2019-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
44762         * lisp/emacs-lisp/easy-mmode.el: simplify via custom-current-group
44764         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
44765         Don't try and guess a default :group, defcustom does it better anyway.
44767 2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
44769         Use cairo image surface instead of pattern for fringe bitmap
44771         * src/xterm.c (fringe_bmp, x_cr_define_fringe_bitmap)
44772         (x_cr_destroy_fringe_bitmap, x_cr_draw_image) [USE_CAIRO]:
44773         Change type of fringe bitmap.
44775 2019-03-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
44777         Fix cairo scrolling for left scroll bars case
44779         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling by unusing
44780         WINDOW_LEFT_EDGE_X.  (Bug#31288)
44782 2019-03-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
44784         Support tool bar icon image on GTK+ >= 3.10 with cairo
44786         * src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Use cairo image
44787         surface for GtkImage source.
44788         (xg_tool_item_stale_p, update_frame_tool_bar) [USE_CAIRO]: Use cairo
44789         image surface instead of pixmap for data associated with tool bar item.
44791 2019-03-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
44793         Simplify cairo image surface creation and destruction
44795         * src/dispextern.h (struct image) [USE_CAIRO]: Remove member cr_data2.
44796         * src/image.c (set_cairo_image_surface): New function split from
44797         original create_cairo_image_surface.  Call cairo_surface_mark_dirty.
44798         (create_cairo_image_surface): Just create image surface and return it.
44799         (x_clear_image): Don't free cr_data2.
44800         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
44801         (gif_load, imagemagick_load_image, svg_load_image) [USE_CAIRO]: Use
44802         new create_cairo_image_surface and cairo_image_surface_get_data
44803         instead of xmalloc.  Use set_cairo_image_surface instead of old
44804         create_cairo_image_surface.
44805         (pbm_load) [USE_CAIRO]: Call cairo_surface_destroy for surface instead
44806         of xfree for data.
44807         (gif_load) [USE_CAIRO]: Multiply y-coordinate value by width instead
44808         of subimg_width.
44810 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44812         Port recent ngettext stub to non-glibc
44814         * src/editfns.c: Don’t try to call glibc ngettext;
44815         we’re not ready for that yet.
44816         (Fngettext): Do not restrict integer arguments to fixnums.
44817         Improve doc string a bit.
44819 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44821         Update from Gnulib.
44823         This incorporates:
44824         2019-03-23 Support cross-compilation to musl libc
44825         2019-03-23 noreturn: In C++ mode with clang, use _Noreturn as fallback
44826         2019-03-22 _Noreturn: beware of C's _Noreturn in C++ pre C++11
44827         2019-03-19 Help making signal handlers more reliable
44828         2019-03-18 _Noreturn: clang and MSVC do support [[noreturn]] in C++11
44829         2019-03-17 _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11
44830         2019-03-14 all: Update URLs to msdn.microsoft.com
44831         * doc/misc/texinfo.tex, lib/_Noreturn.h, lib/gettimeofday.c:
44832         * lib/mktime.c, lib/regcomp.c, lib/regexec.c, lib/stat-time.h:
44833         * lib/utimens.c, m4/fdopendir.m4, m4/getgroups.m4:
44834         * m4/gettimeofday.m4, m4/gnulib-common.m4, m4/putenv.m4, m4/utimes.m4:
44835         Update from gnulib.
44837 2019-03-25  Juri Linkov  <juri@linkov.net>
44839         * lisp/vc/vc.el (vc-diff-mergebase, vc-log-mergebase): New commands.
44841         * lisp/vc/vc-git.el (vc-git-mergebase): New function.
44842         (vc-git-print-log): Interpret string value of arg LIMIT as an end-revision.
44844         * lisp/vc/vc-hooks.el (vc-prefix-map): Bind 'vc-log-mergebase' to
44845         'C-x v M L', and 'vc-diff-mergebase' to 'C-x v M D'.  (Bug#33950)
44847 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44849         Fix alignment bug with pure bignums
44851         Problem found on 32-bit sparc, which has stricter alignment
44852         checking than x86-64.
44853         * src/alloc.c (pure_alloc): When TYPE is negative it now specifies
44854         the negation of the required alignment of the result.
44855         (make_pure_bignum): Specify bignum limb alignment.
44857 2019-03-25  Juri Linkov  <juri@linkov.net>
44859         * lisp/international/mule-cmds.el (ngettext): Move to editfns.c.
44861         * src/editfns.c (Fngettext): Move from mule-cmds.el and use
44862         gettext's ngettext when available.
44864 2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
44866         Fix text property bug in gnus-group-list-active
44868         * lisp/gnus/gnus-group.el (gnus-group-list-active): The property value
44869           should be the group name, not the value of gethash. Ie, it should be
44870           the key, not the value.
44872 2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
44874         Don't save Gnus' dummy.group to the .newsrc.eld file
44876         * lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): Remove
44877           the "dummy.group" element.
44879 2019-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
44881         Handle multiple possible types for Gnus group names
44883         * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Numbers,
44884           symbols, and strings.
44886 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44888         Fix a dns-mode reentrancy bug
44890         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
44891         Don’t assume kill-new does no matching.
44893 2019-03-25  Basil L. Contovounesios  <contovob@tcd.ie>
44895         Fix non_local_exit_get signature in Elisp manual
44897         * doc/lispref/internals.texi (Module Nonlocal): Fix typo in return
44898         type of non_local_exit_get.
44900 2019-03-25  Michael Albinus  <michael.albinus@gmx.de>
44902         Explain messages with patches in CONTRIBUTE
44904         * CONTRIBUTE: A message shall contain the string "[PATCH]" in the
44905         subject if there's a patch in the message.
44907 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44909         Support ./configure --with-gif=ifavailable etc.
44911         Suggested by Stefan Monnier in:
44912         https://lists.gnu.org/r/emacs-devel/2019-03/msg00789.html
44913         * INSTALL, etc/NEWS: Document this.
44914         * configure.ac: Implement this.
44916 2019-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
44918         * lisp/vc/diff-mode.el: Better handle empty lines in context diffs
44920         (diff-end-of-hunk): Obey diff-valid-unified-empty-line for context style.
44921         (diff--refine-hunk): Don't look further than the end.
44923 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44925         Fix some integer issues in regex-emacs
44927         Also, remove some duplicate comments related to thread.h.
44928         * src/regex-emacs.h (struct re_registers):
44929         * src/regex-emacs.c (SIGN_EXTEND_CHAR): Remove.
44930         (TALLOC, RETALLOC): Remove.  All uses replaced by usual
44931         allocators, which check for integer overflow.
44932         (extract_number): Redo without using ‘unsigned’.
44933         (CHARSET_RANGE_TABLE_EXISTS_P): Clearly return a boolean.
44934         (print_fastmap, print_partial_compiled_pattern, CHECK_INFINITE_LOOP)
44935         (regex_compile, analyze_first, bcmp_translate, mutually_exclusive_p)
44936         (re_match_2_internal):
44937         Use bool for booleans.
44938         (print_fastmap, regex_compile, execute_charset):
44939         Prefer int to unsigned where either will do.
44940         (print_double_string): Prefer ptrdiff_t to ssize_t, since the
44941         latter can in theory be narrower than the former.  Use fwrite
44942         instead of repeated putchar.
44943         (emacs_re_max_failures, fail_stack_type, compile_stack_type)
44944         (re_wctype_parse, regex_compile, re_search, re_search_2)
44945         (re_match_2, re_match_2_internal, re_compile_pattern):
44946         Prefer ptrdiff_t to size_t where either will do.
44947         (union fail_stack_elt, PUSH_FAILURE_REG, POP_FAILURE_REG_OR_COUNT):
44948         Make the integer an intptr_t, not long.
44949         (GET_BUFFER_SPACE, EXTEND_BUFFER, regex_compile):
44950         Use xpalloc to simplify allocation.
44951         (regex_compile): Check for integer overflow when calculating
44952         register numbers.
44953         * src/regex-emacs.c (re_set_registers, re_match_2_internal):
44954         * src/regex-emacs.h (struct re_registers, struct re_pattern_buffer):
44955         * src/search.c (Freplace_match):
44956         Prefer ptrdiff_t to unsigned where either will do.
44957         * src/regex-emacs.h (struct re_pattern_buffer):
44958         Prefer bool_bf to unsigned where either will do.
44960 2019-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44962         * src/regex-emacs.c (regex_compile): Fix comments.
44964 2019-03-25  João Távora  <joaotavora@gmail.com>
44966         Avoid occasional confusion of Flymake C/C++ backend
44968         The regexp would sometimes match non-errors and create a diagnostic
44969         with nil severity, which would have consequences for the Flymake
44970         engine (these should eventually be addressed, too).
44972         * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
44973         Tighten regexp.
44975 2019-03-25  João Távora  <joaotavora@gmail.com>
44977         Make bundled Flymake C backend work for C++, too
44979         * lisp/progmodes/flymake-cc.el (flymake-cc-use-special-make-target):
44980         Pass -x flag according to major-mode.
44982 2019-03-24  Juri Linkov  <juri@linkov.net>
44984         i18n: Add function ngettext for pluralization.
44986         * lisp/international/mule-cmds.el (ngettext): New function.
44987         https://lists.gnu.org/r/emacs-devel/2019-03/msg00586.html
44989         * lisp/replace.el (flush-lines, how-many, occur-1, occur-engine)
44990         (perform-replace): Use ngettext.
44992         * lisp/progmodes/grep.el (grep-exit-message): Use ngettext.
44993         (grep-mode-font-lock-keywords): Match both singular and plural form
44994         of "matches".
44996 2019-03-24  Juri Linkov  <juri@linkov.net>
44998         * lisp/progmodes/xref.el (xref--show-xrefs): Push mark.  (Bug#34908)
45000 2019-03-24  Basil L. Contovounesios  <contovob@tcd.ie>
45002         Fix Gnus duplicate article unsuppression
45004         * lisp/gnus/gnus-sum.el (gnus-summary-mode-group): Declare before
45005         first use to silence byte-compiler.
45006         (gnus-summary-select-article): Simplify boolean expression.
45007         (gnus-summary-move-article): Do not try to unsuppress article when
45008         duplicate suppression is disabled. (bug#34973, bug#34974)
45010 2019-03-24  Paul Eggert  <eggert@cs.ucla.edu>
45012         * src/lisp.h (primary_thread): Remove unused decl.
45014 2019-03-24  Michael Albinus  <michael.albinus@gmx.de>
45016         Bind `enable-local-variables' in `hack-connection-local-variables'
45018         * lisp/files-x.el (hack-connection-local-variables):
45019         Bind `enable-local-variables', instead of re-declaring
45020         `safe-local-variable-p'.
45022 2019-03-23  Eli Zaretskii  <eliz@gnu.org>
45024         * src/Makefile.in ($(AM_V_GEN)POSIXLY_CORRECT): Use AM_V_GEN.
45026 2019-03-23  Michael Albinus  <michael.albinus@gmx.de>
45028         Fix Bug#34943
45030         * lisp/files-x.el (cl-lib): Require when compiling.
45031         (hack-connection-local-variables): Regard connection-local
45032         variables as safe.  (Bug#34943)
45034         * lisp/shell.el (shell): Use `with-connection-local-variables' for
45035         the whole code block.  (Bug#34943)
45037         * lisp/net/tramp-adb.el (tramp-connection-local-safe-shell-file-names):
45038         Do not set values.
45040         * lisp/net/tramp-integration.el
45041         (tramp-connection-local-safe-shell-file-names): Remove.
45042         (shell-file-name, shell-command-switch): Do not add safe-local-variable
45043         property.
45045         * lisp/net/tramp.el (tramp-handle-shell-command): Use proper
45046         buffer name.
45048         * test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name):
45049         Tag it :unstable.
45051 2019-03-23  Eli Zaretskii  <eliz@gnu.org>
45053         Avoid compiler warning in w32proc.c
45055         * src/w32proc.c (w32_executable_type): Avoid compiler warnings
45056         about potential NULL pointer dereferencing.
45058 2019-03-22  Michael R. Mauger  <michael@mauger.com>
45059         Fix Bug#25424.
45060         * lisp/progmodes/sql.el (sql-end-of-statement): default terminator
45061         as semicolon.
45063 2019-03-22  Stephen Leake  <stephen_leake@stephe-leake.org>
45065         Fix bug in delete-indentation when region is inactive
45067         * test/lisp/simple-tests.el: Add tests for delete-indentation.
45068         (simple-delete-indentation-no-region): Works with no region.
45069         (simple-delete-indentation-inactive-region): Was broken with inactive
45070         region; now fixed.
45072         * lisp/simple.el (delete-indentation): Check (use-region-p) before using BEG.
45074 2019-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
45076         Change Gnus hash tables into real hash tables
45078         Gnus has used obarrays as makeshift hash tables for groups: group
45079         names are coerced to unibyte and interned in custom obarrays, and
45080         their symbol-value set to whatever value needs to be stored. This
45081         patch replaces those obarrays with actual hash tables.
45083         * lisp/gnus/gnus-util.el (gnus-intern-safe, gnus-create-hash-size):
45084           Remove functions.
45085           (gnus-make-hashtable): Change to return a real hash table.
45086           (gnus-text-property-search): Utility similar to `text-property-any',
45087           but compares on `equal'. Needed because the 'gnus-group text
45088           property is now a string.
45089         * lisp/gnus/gnus.el (gnus-gethash, gnus-gethash-safe, gnus-sethash):
45090           Remove macros.
45091           (gnus-group-list): New variable holding all group names as an
45092           ordered list. Used because `gnus-newsrc-hashtb' used to preserve
45093           `gnus-newsrc-alist' ordering, but now doesn't.
45094         * lisp/gnus/nnmaildir.el (nnmaildir--servers): Change from obarray to
45095           alist.
45096           (nnmaildir--up2-1): Remove function.
45097         * lisp/thingatpt.el (thing-at-point-newsgroup-p): This was making use
45098           of Gnus obarrays, replace with a cond that can handle many different
45099           possibilities.
45100         * lisp/gnus/gnus-bcklg.el (gnus-backlog-articles): Remove
45101           gnus-backlog-hashtb, which wasn't doing anything. Just keep a list
45102           of ident strings in gnus-backlog-articles.
45103           (gnus-backlog-setup): Delete unnecessary function.
45104           (gnus-backlog-enter-article, gnus-backlog-remove-oldest-article,
45105           gnus-backlog-remove-article, gnus-backlog-request-article): Alter
45106           calls accordingly.
45107         * lisp/gnus/gnus-dup.el (gnus-duplicate-list-max-length): Rename from
45108           `gnus-duplicate-list-length', for accuracy.
45109         * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format,
45110           gnus-groups-to-gnus-format, gnus-newsrc-to-gnus-format): Read group
45111           names as strings.
45112           (gnus-gnus-to-quick-newsrc-format): Write `gnus-newsrc-alist' using
45113           the ordering in `gnus-group-list'.
45114         * lisp/gnus/gnus-agent.el:
45115         * lisp/gnus/gnus-async.el:
45116         * lisp/gnus/gnus-cache.el:
45117         * lisp/gnus/gnus-group.el:
45118         * lisp/gnus/gnus-score.el:
45119         * lisp/gnus/gnus-sum.el:
45120         * lisp/gnus/gnus-topic.el:
45121         * lisp/gnus/message.el:
45122         * lisp/gnus/mml.el:
45123         * lisp/gnus/nnagent.el:
45124         * lisp/gnus/nnbabyl.el:
45125         * lisp/gnus/nnvirtual.el:
45126         * lisp/gnus/nnweb.el: In all files, change obarrays to hash-tables,
45127           and swap `gnus-sethash' for `puthash', `gnus-gethash' for `gethash',
45128           `mapatoms' for `maphash', etc.
45129         * test/lisp/gnus/gnus-test-headers.el (gnus-headers-make-dependency-table,
45130           gnus-headers-loop-dependencies): New tests to make sure we're
45131           building `gnus-newsgroup-dependencies' correctly.
45133 2019-03-22  Michael Albinus  <michael.albinus@gmx.de>
45135         Fix Bug#24394, Bug#34172
45137         * lisp/subr.el (process-file-shell-command):
45138         Use `with-connection-local-variables'.  Do not set "/bin/sh" for
45139         remote buffers, trust settings of `shell-file-name'.
45141         * lisp/net/tramp-adb.el (tramp-methods) <adb>:
45142         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
45143         Remove `tramp-remote-shell' and `tramp-remote-shell-args'.
45145         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch)
45146         (tramp-maybe-open-connection): Use proper read syntax for function
45147         names.
45149         * lisp/net/tramp.el (tramp-handle-shell-command): Do not use shell
45150         file names from `tramp-methods'.
45151         Respect `async-shell-command-buffer'.  (Bug#24394, Bug#34172)
45152         Use `start-file-process-shell-command' and `process-file-shell-command'.
45154         * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
45155         Let it run partly for tramp-adb.
45157 2019-03-22  Nicolas Petton  <nicolas@petton.fr>
45159         Fix the error message when modifying maps in-place (Bug#34941)
45161         * lisp/emacs-lisp/map.el (map-not-inplace): Fix the message of the
45162         error.
45163         (map-put!): When signaling map-no-inplace error, output the map that
45164         cannot be updated inplace.
45166 2019-03-22  Eli Zaretskii  <eliz@gnu.org>
45168         Minor fixes for the last change
45170         * lisp/simple.el (delete-indentation):
45171         * doc/emacs/indent.texi (Indentation Commands):
45172         * etc/NEWS: Fix last change.  (Bug#34796)
45174 2019-03-22  Łukasz Stelmach  <stlman@poczta.fm>
45176         If the region is active, join all the lines it spans
45178         * lisp/simple.el (delete-indentation): Join lines in the active region.
45179         (Bug#34796)
45181         * doc/misc/org.texi: Describe the arguments of delete-indentation.
45183         * etc/NEWS: Mention region support in delete-indentation.
45185 2019-03-22  Eli Zaretskii  <eliz@gnu.org>
45187         Revert "Revert "Revert "Rely on conservative stack scanning to find "emacs_value"s"""
45189         This reverts commit 093d3e78d21d3d6c718997368ef4b31f9884401c,
45190         which reverted ee7ad83f20903208404a84b58b7a478b62924570,
45191         which reverted 3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a.
45193 2019-03-21  Federico Tedin  <federicotedin@gmail.com>
45195         Correctly handle packages without description in describe-package
45197         * lisp/emacs-lisp/package.el (describe-package-1): Do not call insert
45198           if package description is nil (Bug#34147).
45200 2019-03-21  Federico Tedin  <federicotedin@gmail.com>
45202         Make edebug-eval-expression support code completion
45204         * lisp/emacs-lisp/edebug.el (edebug-eval-expression): Use
45205           read--expression instead of read-from-minibuffer. (Bug#34065)
45207 2019-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
45209         Fix misuses of NULL when talking about the NUL character
45211         * lisp/subr.el (inhibit-null-byte-detection): Make it an obsolete alias.
45213         * src/coding.c (setup_coding_system): Use new name.
45214         (detect_coding): Rename null_byte_found => nul_byte_found.
45215         (detect_coding_system): Use new name.
45216         Rename null_byte_found => nul_byte_found.
45217         (Fdefine_coding_system_internal): Use new name.
45218         (syms_of_coding): Rename inhibit-null-byte-detection to
45219         inhibit-nul-byte-detection.
45220         * src/w16select.c (get_clipboard_data): null_char => nul_char.
45221         * src/json.c (check_string_without_embedded_nuls): Rename from
45222         check_string_without_embedded_nulls.
45223         (Fjson_parse_string): Adjust accordingly.
45224         * src/coding.h (enum define_coding_undecided_arg_index)
45225         (enum coding_attr_index): ...null_byte... => ...nul_byte....
45226         * lisp/info.el (info-insert-file-contents, Info-insert-dir):
45227         * lisp/international/mule.el (define-coding-system):
45228         * lisp/vc/vc-git.el (vc-git--call):
45229         * doc/lispref/nonascii.texi (Lisp and Coding Systems): Use the new name.
45231 2019-03-21  Nicolas Petton  <nicolas@petton.fr>
45233         * etc/NEWS: Document seq-contains-p.
45235         * lisp/emacs-lisp/seq.el (seq-difference): Inverse a conditional for clarity.
45237 2019-03-21  Nicolas Petton  <nicolas@petton.fr>
45239         New seq-contains-p predicate (Bug#34852)
45241         * lisp/emacs-lisp/seq.el (seq-contains-p): New predicate function.  It
45242         is a replacement for seq-contains which cannot be used as a predicate
45243         when a sequence contains nil values as it returns the element found.
45244         (seq-contains): Make obsolete.
45246         * test/lisp/emacs-lisp/seq-tests.el (test-seq-contains-p):
45247         (test-seq-intersection-with-nil, test-seq-set-equal-p-with-nil,
45248         test-difference-with-nil): Add regression tests.
45250         * doc/lispref/sequences.texi (Sequence Functions): Document
45251         seq-contains-p.
45253 2019-03-21  Eli Zaretskii  <eliz@gnu.org>
45255         Revert "Revert "Rely on conservative stack scanning to find "emacs_value"s""
45257         This reverts commit ee7ad83f20903208404a84b58b7a478b62924570.
45259         There was no consensus on reverting
45260         3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a, so doing that will have to
45261         wait until the discussion ends.
45263 2019-03-21  Philipp Stephani  <phst@google.com>
45265         Revert "Rely on conservative stack scanning to find "emacs_value"s"
45267         This reverts commit 3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a.
45269         There was no consensus for that commit, see
45270         https://lists.gnu.org/r/emacs-devel/2016-01/msg00150.html.
45271         Also, reverting this commit should fix Bug#31238.
45273 2019-03-21  Eli Zaretskii  <eliz@gnu.org>
45275         Avoid duplicate entries in process-environment after re-dumping
45277         * src/pdumper.c (Fdump_emacs_portable): Reset
45278         process-environment to nil.  (Bug#34936)
45280 2019-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
45282         * doc: Recommend putting '-' as last char in Emacs charset regexps
45284         * doc/lispref/searching.texi (Regexp Special):
45285         * doc/emacs/search.texi (Regexps): Recommend - as last char in [...].
45287 2019-03-20  Glenn Morris  <rgm@gnu.org>
45289         Merge from origin/emacs-26
45291         24b6e6e (origin/emacs-26) * etc/AUTHORS: Update.
45292         2f22a17 * ; ChangeLog.3 update
45293         0f523de Improve indexing of the user manual
45294         bd5795e Fix url-copy-file arglist
45295         eaa188a ; * admin/notes/bugtracker: Minor additions and updates.
45296         5ed05fb Fix downloading updates for packages with non-ASCII descriptions
45297         e9f2d1f * etc/NEWS: Remove temporary markers.
45298         24fc133 * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -...
45299         0f325d1 Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
45300         bc75589 Document restrictions when setting window margins, fringes or...
45301         cc4cebf More improvements for 'read-buffer's doc string
45302         d026d9a * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for E...
45303         5dbf08b * src/minibuf.c (Fread_buffer): Minor doc fixes.  (Bug#34749)
45305         # Conflicts:
45306         #       etc/NEWS
45307         #       lisp/url/url-handlers.el
45309 2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
45311         Eshell: Mostly cosmetic changes to be more explicit about dynbind
45313         * lisp/eshell/em-dirs.el (eshell-dirs-initialize): Reveal the lambdas.
45314         (eshell-expand-multiple-dots): Fix ^+$ => \`+\' in the regexp.
45316         * lisp/eshell/esh-cmd.el (eshell-this-command-hook): Declare as
45317         dynamically scoped.
45318         (eshell-trap-errors): Use `mapc funcall` since this can't have
45319         global/local settings like a true hook.
45320         (eshell-do-eval): Split the `let` case from the rest so we can use
45321         `cl-progv` rather than `eval` for it.
45322         (eshell/which): Use `fboundp` test instead of ugly
45323         gymnastics to try and hide the function call from the compiler.
45325         * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Reveal the lambdas.
45326         (eshell-parse-variable-ref): Use backquotes.
45328 2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
45330         * lisp/pcomplete.el: Improve heuristic to rely less on c-t-subvert.
45332         (pcomplete-completions-at-point): Try and take \ escapes into account
45333         when guessing the beginning of the text we're completing.
45335 2019-03-20  Paul Eggert  <eggert@cs.ucla.edu>
45337         Fix pcomplete typo in recent regex typo fix
45339         Problem reported by Stefan Monnier in:
45340         https://lists.gnu.org/r/emacs-devel/2019-03/msg00682.html
45341         * lisp/pcomplete.el (pcomplete-parse-comint-arguments):
45342         Restore the trailing backslash (but two of them this time).
45344 2019-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
45346         * test/lisp/minibuffer-tests.el (completion-table-subvert-test): New test
45348         * lisp/minibuffer.el (completion-table-subvert): Fix typo from rev 5697ca55cb
45350 2019-03-20  Mattias Engdegård  <mattiase@acm.org>
45352         Repair eshell-query-kill-processes
45354         * lisp/eshell/esh-proc.el (eshell-query-kill-processes):
45355         Remove invalid `format-message' call; `eshell-round-robin-kill' wants
45356         just the format string.
45358 2019-03-20  Eli Zaretskii  <eliz@gnu.org>
45360         Fix defining keyboard macros in CUA mode
45362         * lisp/emulation/cua-base.el (cua--prefix-override-replay):
45363         Push the key to replace wrapped in '(no-record . KEY)', so
45364         that it doesn't get recorded more than once.  (Bug#34901)
45366         * src/keyboard.c (read_char): Handle the '(no-record . KEY)'
45367         event by substituting KEY for it.
45368         (syms_of_keyboard) <no-record>: New DEFSYM.
45369         <unread-command-events>: Update the doc string.
45371         * doc/lispref/commands.texi (Event Input Misc): Document the
45372         '(no-record . EVENT)' form.
45374 2019-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
45376         * lisp/eshell/em-cmpl.el: Use completion-at-point i.s.o pcomplete
45378         (eshell-cmpl-initialize): Refrain from binding to the `tab` key,
45379         which prevents the tab -> TAB remapping.
45380         Use completion-at-point and completion-help-at-point.
45381         (eshell-complete-commands-list): Use `fboundp` test instead of ugly
45382         gymnastics to try and hide the function call from the compiler.
45383         (eshell-pcomplete): Make it an alias of completion-at-point.
45385         * doc/misc/eshell.texi (Completion): Change wording to reflect
45386         different default behavior.
45388 2019-03-19  Paul Eggert  <eggert@cs.ucla.edu>
45390         More minor regex cleanup
45392         Problems reported by Mattias Engdegård in:
45393         https://lists.gnu.org/r/emacs-devel/2019-03/msg00643.html
45394         plus a few others that I noticed.
45395         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
45396         * lisp/org/org-datetree.el (org-datetree--find-create):
45397         * lisp/org/org-pcomplete.el (org-thing-at-point):
45398         * lisp/progmodes/js.el (js--end-of-do-while-loop-p):
45399         * lisp/textmodes/sgml-mode.el:
45400         (sgml-electric-tag-pair-before-change-function):
45401         * lisp/textmodes/texnfo-upd.el (texinfo-menu-copy-old-description):
45402         * lisp/url/url-http.el (url-http-parse-response):
45403         Fix regular expression and similar syntax.
45405 2019-03-19  Juri Linkov  <juri@linkov.net>
45407         * lisp/vc/vc.el (vc-diff-build-argument-list-internal): Add arg fileset.
45409         (vc-root-version-diff): Set vc-diff-build-argument-list-internal's
45410         optional arg 'fileset' to the root directory.  (Bug#34532)
45412 2019-03-19  Juri Linkov  <juri@linkov.net>
45414         * lisp/frame.el (frame-monitor-attributes): Fall back to the last monitor
45416         when frames monitor attributes is still uninitialized.  (Bug#34680)
45418 2019-03-19  Juri Linkov  <juri@linkov.net>
45420         * lisp/frame.el (make-frame-on-monitor): Don't set height and width.
45422         Don't use x-parse-geometry.  Delete nil from completions (Bug#34516)
45424 2019-03-19  Paul Eggert  <eggert@cs.ucla.edu>
45426         Use ‘const’ to clarify GC marking
45428         Add ‘const’ to make the GC marking code a bit clearer.
45429         This can also help the compiler in some cases, I think because
45430         GCC can now determine more often that the value of a static C
45431         variable can be cached when its address is now converted to
45432         ‘Lisp Object const *’ before escaping.
45433         * src/alloc.c (staticvec, mark_maybe_objects, mark_memory)
45434         (mark_stack, staticpro, mark_object_root_visitor)
45435         (garbage_collect_1):
45436         * src/pdumper.c (dump_ptr_referrer, dump_emacs_reloc_to_lv)
45437         (dump_emacs_reloc_to_emacs_ptr_raw, dump_root_visitor):
45438         * src/lisp.h (vcopy, struct gc_root_visitor):
45439         * src/sysdep.c (stack_overflow):
45440         * src/thread.c (mark_one_thread):
45441         * src/thread.h (struct thread_state):
45442         Use pointer-to-const instead of plain pointer in some
45443         GC-related places where either will do.
45445 2019-03-19  Mattias Engdegård  <mattiase@acm.org>
45447         Disallow reversed char ranges in `rx'
45449         (any "a-Z0-9") generated "[0-9]", and (any (?9 . ?0)) generated "[9-0]".
45450         Reversed ranges are either mistakes or abuse.  Neither should be allowed.
45452         etc/NEWS: Explain the change.
45453         lisp/emacs-lisp/rx.el (rx): Document.
45454         (rx-check-any-string, rx-check-any): Add error checks for reversed ranges.
45455         test/lisp/emacs-lisp/rx-tests.el (rx-char-any-range-bad): New test.
45457 2019-03-18  Paul Eggert  <eggert@cs.ucla.edu>
45459         Remove buggy regexp use in comint-output-filter
45461         This reverts commit 2012-07-02T16:18:02!monnier@iro.umontreal.ca
45462         which perhaps could be rethought and recommitted, and perhaps
45463         it’s no longer needed now that comint-use-prompt-regexp
45464         is almost always nil.
45465         * lisp/comint.el (comint-output-filter): Don’t try to skip
45466         repeated prompts, since comint-prompt-regexp typically begins
45467         with "^" and the resulting "^^" in the regular expression does
45468         not have the desired effect.  Noted by Mattias Engdegård in:
45469         https://lists.gnu.org/r/emacs-devel/2019-03/msg00380.html
45471 2019-03-18  Paul Eggert  <eggert@cs.ucla.edu>
45473         Fix more regular expression typos
45475         Problem reported by Mattias Engdegård in:
45476         https://lists.gnu.org/r/emacs-devel/2019-03/msg00548.html
45477         except that I didn’t address the issues involving Hebrew,
45478         or involving comint-prompt-regexp.
45479         * lisp/align.el (align-rules-list, align-exclude-rules-list):
45480         * lisp/auth-source-pass.el (auth-source-pass--parse-secret)
45481         (auth-source-pass--parse-data):
45482         * lisp/cedet/data-debug.el (data-debug-next)
45483         (data-debug-prev, data-debug-expand-or-contract):
45484         * lisp/comint.el (comint-within-quotes):
45485         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
45486         * lisp/emulation/viper-ex.el (ex-cmd-complete):
45487         * lisp/gnus/gnus-cite.el (gnus-message-search-citation-line):
45488         * lisp/gnus/nnir.el (nnir-imap-end-of-input):
45489         * lisp/mail/mail-extr.el (mail-extr-all-letters):
45490         * lisp/minibuffer.el (minibuffer-maybe-quote-filename):
45491         * lisp/nxml/rng-nxml.el (rng-complete-tag)
45492         (rng-complete-end-tag, rng-complete-attribute-name):
45493         * lisp/obsolete/vip.el (vip-get-ex-token, vip-get-ex-pat):
45494         * lisp/org/org-pcomplete.el (org-thing-at-point):
45495         * lisp/org/org.el (org-set-tags)
45496         (org-increase-number-at-point)
45497         (org-fill-line-break-nobreak-p):
45498         * lisp/pcomplete.el (pcomplete-parse-comint-arguments):
45499         * lisp/progmodes/ada-mode.el (ada-compile-goto-error):
45500         * lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
45501         (cperl-find-pods-heres, cperl-not-bad-style-regexp)
45502         (cperl-regext-to-level-start):
45503         * lisp/progmodes/ebnf-yac.el (ebnf-yac-skip-spaces):
45504         * lisp/progmodes/flymake-proc.el (flymake-proc-master-tex-init):
45505         * lisp/progmodes/flymake.el (flymake-diag-region):
45506         * lisp/progmodes/fortran.el (fortran-current-line-indentation):
45507         * lisp/progmodes/idlw-complete-structtag.el:
45508         (idlwave-complete-structure-tag):
45509         * lisp/progmodes/idlwave.el (idlwave-complete-sysvar-or-tag):
45510         * lisp/progmodes/prolog.el (prolog-pred-end)
45511         (prolog-clause-info):
45512         * lisp/progmodes/ruby-mode.el (ruby-forward-sexp)
45513         (ruby-backward-sexp):
45514         * lisp/progmodes/verilog-mode.el (verilog-repair-open-comma):
45515         * lisp/term.el (term-within-quotes):
45516         * lisp/textmodes/bib-mode.el (bib-capitalize-title-stop-words):
45517         * lisp/textmodes/refbib.el (r2b-capitalize-title-stop-words):
45518         * lisp/textmodes/reftex-parse.el (reftex-nth-arg):
45519         * lisp/textmodes/rst.el (rst-svn-rev):
45520         * lisp/url/url-http.el (url-http-parse-response):
45521         * test/lisp/progmodes/f90-tests.el (f90-test-bug3730):
45522         Fix regular expression typos.
45524 2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
45526         * src/fileio.c: Don't convert \r to \n just because of C-x $
45528         (choose_write_coding_system): Setup the \r to \n conversion only if
45529         selective-display is t.
45531 2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
45533         * lisp/locate.el (locate-mode): Setup invisibility for Dired commands
45535         Also, use lexical-binding.
45537 2019-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
45539         Ebrowse: Use invisibility-spec instead of selective-display
45541         * lisp/progmodes/ebrowse.el: Use lexical-binding.
45542         (ebrowse-tree-mode): Set invisibility-spec instead of selective-display.
45543         (ebrowse--hidden-p, ebrowse--hide, ebrowse--unhide): New functions.
45544         (ebrowse-expand-all, ebrowse-unhide-base-classes, ebrowse-hide-line)
45545         (ebrowse-mouse-1-in-tree-buffer): Use them.
45546         (ebrowse-output): Remove macro, use with-silent-modifications instead.
45547         (ebrowse-save-selective): Remove macro, not needed any more.
45548         (ebrowse-trim-string, ebrowse-read, ebrowse-collapse-fn):
45549         No need to pay attention to \r.
45550         (ebrowse-files-list): Use push.
45551         (ebrowse-view/find-file-and-search-pattern): Use add-hook here...
45552         (ebrowse-find-pattern): ...and remove-hook here.
45553         (ebrowse-view/find-position): Use add/remove-hook.
45555 2019-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
45557         Dired: Use invisibility-spec instead of selective-display
45559         * lisp/dired.el (dired-subdir-regexp): No need to pay attention to \r.
45560         (dired-remember-hidden): Use pcase-dolist and dired--hidden-p.
45561         (dired-mode): Set invisibility-spec instead of selective-display.
45562         (dired--hidden-p, dired--hide, dired--unhide, dired--find-hidden-pos):
45563         New functions.
45564         (dired-move-to-end-of-filename): Use dired--hidden-p.
45565         (dired-next-subdir): No need to pay attention to \r.
45566         (dired-fun-in-all-buffers): Use push.
45568         * lisp/dired-aux.el (dired-unhide-subdir, dired-hide-subdir, dired-hide-all):
45569         Use the new functions and with-silent-modifications.
45570         (dired-add-entry): Use dired--hidden-p.
45571         (dired-goto-subdir): No need to pay attention to \r.
45572         (dired-hide-check): Remove.
45573         (dired-subdir-hidden-p): Use dired--hidden-p.
45574         (dired-do-find-regexp): Use file-name-as-directory.
45576 2019-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
45578         * doc/lispref/display.texi (Selective Display): Declare it deprecated
45580 2019-03-17  Eli Zaretskii  <eliz@gnu.org>
45582         Fix 'define-charset' after dumping with pdumper
45584         * src/charset.h:
45585         * src/charset.c (charset_table_used): Now static.
45586         (charset_table_size): Now extern.
45587         * src/pdumper.c (dump_charset_table): Dump the entire
45588         charset_table, not just its used slots.  (Bug#34826)
45590 2019-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
45592         * lisp/subr.el (combine-change-calls-1): Don't combine syntax-ppss flushes
45594 2019-03-16  Alexander Gramiak  <agrambot@gmail.com>
45596         Define macros to abstract support for external menu/tool-bars
45598         * src/lisp.h (HAVE_EXT_MENU_BAR)
45599         (HAVE_EXT_TOOL_BAR): Define.
45601         *src/dispnew.c:
45602         *src/frame.c:
45603         *src/frame.h:
45604         *src/keyboard.c:
45605         *src/menu.c:
45606         *src/menu.h:
45607         *src/window.c:
45608         *src/window.h:
45609         *src/xdisp.c:
45610         *src/xfns: Use the new macros.
45612 2019-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45614         Fix regexp typo in vc-git--program-version
45616         * lisp/vc/vc-git.el (vc-git--program-version):
45617         Require a period after ".windows", instead of allowing any char.
45619 2019-03-16  Mattias Engdegård  <mattiase@acm.org>
45621         Fix some ineffective backslashes in string literals
45623         Deal with lone backslashes that have no effect in string literals,
45624         but indicate that something is amiss.
45626         * lisp/auth-source-pass.el (auth-source-pass-entries):
45627         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
45628         * lisp/org/ob-abc.el (org-babel-expand-body:abc, org-babel-execute:abc):
45629         * lisp/org/ob-forth.el (org-babel-forth-session-execute):
45630         * lisp/vc/vc-git.el (vc-git--program-version):
45631         Add backslash in regexp for correctness.
45633         * lisp/gnus/nnmail.el (nnmail-split-abbrev-alist):
45634         Replace `\||' with `\\|' to follow the obvious regexp intent.
45636         * lisp/org/org-list.el (org-plain-list-ordered-item-terminator):
45637         Add backslash in doc comment so that it appears as intended.
45639         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1, c-end-of-decl-1):
45640         * lisp/progmodes/f90.el (f90-font-lock-keywords-2):
45641         * lisp/progmodes/etags.el (etags-tags-completion-table):
45642         * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
45643         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
45644         Remove superfluous backslashes from regexp.
45646         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any):
45647         Remove superfluous backslash from doc comment.
45649 2019-03-16  Eli Zaretskii  <eliz@gnu.org>
45651         Improve locale and language environment setting at startup
45653         * lisp/international/mule-cmds.el (locale-language-names): Add
45654         more locales and their language environments.
45655         (set-locale-environment): Use w32-multibyte-code-page, if
45656         non-zero, as locale-coding-system.  (Bug#34684)
45658         * src/w32fns.c (globals_of_w32fns) <w32-multibyte-code-page>:
45659         New variable.
45661         * etc/NEWS: Mention w32-multibyte-code-page.
45663 2019-03-15  Paul Eggert  <eggert@cs.ucla.edu>
45665         Bring back Emacs 26 compatibility to flymake.el
45667         * lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
45668         Revert to using seconds-to-time, since this file is part
45669         of ELPA and needs to work on Emacs 26 too.
45671 2019-03-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
45673         Use bool for menu_items_inuse
45675         * src/menu.c (menu_items_inuse): Now bool, instead of a
45676         Lisp_Object that is always Qt or Qnil.  All uses changed.
45678 2019-03-15  Philippe Vaucher  <philippe.vaucher@gmail.com>
45680         Customize tabulated-list sort indicators
45682         This allows the user to customize the sorting indicators displayed
45683         near the current column.
45685         * lisp/emacs-lisp/tabulated-list.el (tabulated-list): New group.
45686         (tabulated-list-gui-sort-indicator-asc)
45687         (tabulated-list-gui-sort-indicator-desc)
45688         (tabulated-list-tty-sort-indicator-asc)
45689         (tabulated-list-tty-sort-indicator-desc): New defcustomd.
45690         (tabulated-list-glyphless-char-display): Remove.
45691         (tabulated-list-make-glyphless-char-display-table): New function.
45693         * doc/lispref/modes.texi (Tabulated List Mode): Add documentation
45694         for new options.
45696         * etc/NEWS: Mention the new options.
45698 2019-03-15  Eli Zaretskii  <eliz@gnu.org>
45700         * etc/NEWS: Document Sami input methods.  (Bug#34866)
45702 2019-03-15  Wojciech Gac  <wojciech.s.gac@gmail.com>
45704         Add notice and fix missing character
45706         Add remaining Sami input methods
45708         Add Skolt Sami and Inari Sami input methods
45710 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
45712         * lisp/doc-view.el (doc-view--text-view-mode): Derive from text-mode.
45714 2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>
45716         Fix file attribute accessor typo in Elisp manual
45718         This was introduced in 662bee7d70ccd3903e123b08c7ec9108a1a2ce0b
45719         2018-09-24T01:30:46Z!eggert@cs.ucla.edu.
45720         * doc/lispref/files.texi (File Attributes): Fix typo referring to
45721         wrong file attribute accessor.
45723 2019-03-13  Glenn Morris  <rgm@gnu.org>
45725         * test/lisp/progmodes/python-tests.el
45726         (python-syntax-after-python-backspace): Expect failure again.
45728 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
45730         * lisp/emacs-lisp/easy-mmode.el: Fix most obvious bug#34723
45732         (easy-mmode-define-navigation): Don't scroll in the opposite direction of
45733         the movement.
45735 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
45737         * lisp/mail/hashcash.el (hashcash-insert-payment-async): Fix last change
45739 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
45741         * lisp/progmodes/python.el (python-rx-constituents): Fix ordering in `or`
45743         The previous code worked earlier because of a bug in `rx` (which used
45744         `regexp-opt` without passing it to `keep-order` argument), but now that `rx`
45745         has been fixed the underlying bug here reared its ugly head.
45747 2019-03-13  Eli Zaretskii  <eliz@gnu.org>
45749         Avoid gratuitous errors in 'url-retrieve-synchronously'
45751         * lisp/url/url-http.el (url-http-debug):
45752         * lisp/url/url-util.el (url-debug): Don't signal an error if
45753         quit-flag is non-nil, but not t.  This could happen because
45754         some unrelated code is running inside while-no-input.
45755         (Bug#34763)
45757 2019-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
45759         * lisp/battery.el (battery-bsd-apm): Group indices together; use pcase
45761 2019-03-13  Ahmed Khanzada  <me@enzu.ru>  (tiny change)
45763         * lisp/battery.el (battery-bsd-apm): Make it work on FreeBSD
45766         Use flag "t" to get remaining time, and adjust to different output order.
45768 2019-03-12  Christopher Wellons  <wellons@nullprogram.com>  (tiny change)
45770         * lisp/mail/hashcash.el: Get rid of backquoted lambdas
45773         (hashcash-generate-payment-async): η-reduce.
45774         (hashcash-insert-payment-async): Use proper closure.
45776 2019-03-12  Michael Albinus  <michael.albinus@gmx.de>
45778         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
45780         Use proper range when deleting the region.
45782 2019-03-12  Alan Mackenzie  <acm@muc.de>
45784         Correct the indentation of CC Mode brace lists
45786         while preserving the indentation of nested C++ uniform initialization.
45788         * lisp/progmodes/cc-align.el (c-lineup-2nd-brace-entry-in-arglist)
45789         (c-lineup-class-decl-init-+, c-lineup-class-decl-init-after-brace): New
45790         indentation functions.
45792         * lisp/progmodes/cc-engine.el (c-forward-class-decl): New function.
45793         (c-do-declarators): New function, partially extracted from
45794         c-font-lock-declarators, which now calls the new function.
45795         (c-inside-bracelist-p): Amend the introductory comment.
45796         (c-add-stmt-syntax): Add code to prevent the spurious recognition of a
45797         'defun-block-intro when a brace pair is used as an initializer.
45798         (c-evaluate-offset): No longer ignore vectors of length >= 2.
45799         (c-calc-offset): Refactor clumsily nested `if'/`or' into a cond form.
45801         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Replace the bulk of
45802         this function by a call to the new c-forward-class-decl.
45804         * lisp/progmodes/cc-langs.el (c-type-decl-prefix-key): Recognize "~" as a
45805         type decl operator.
45807         * lisp/progmodes/cc-mode.el (c-fl-decl-start): While searching backward for a
45808         "}" at an EOD, deal with actually finding the end of a brace list.
45810         * doc/misc/cc-mode.texi (List Line-Up): document
45811         c-lineup-2nd-brace-entry-in-arglist, c-lineup-class-decl-init-+, and
45812         c-lineup-class-decl-init-after-brace.
45814         * lisp/progmodes/cc-styles.el (c-style-alist): In styles "gnu", "bsd",
45815         "stroustrup", "python", and "java", change the offset for brace-list-intro
45816         from the default value or c-lineup-arglist-intro-after-paren to a list
45817         beginning with the symbol first, followed by two of the new alignment
45818         functions, followed by +.
45820         * lisp/progmodes/cc-vars.el (c-offset-alist): Change the default value of
45821         brace-list-entry from c-lineup-under-anchor back to 0.
45823 2019-03-12  Martin Rudalics  <rudalics@gmx.at>
45825         Revert last tweak in 'comint-output-filter'
45827         * lisp/comint.el (comint-output-filter): Revert last tweak because
45828         it can hang gdb indefinitely.
45830 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
45832         Reindent pdumper per usual Emacs style
45834         * src/pdumper.c, src/pdumper.h: Reindent.
45836 2019-03-11  Eli Zaretskii  <eliz@gnu.org>
45838         Fix show-trailing-whitespace in R2L text
45840         * src/xdisp.c (highlight_trailing_whitespace): Allow for
45841         stretch glyphs at the left edge of R2L lines, when skipping
45842         glyphs inserted by the display engine.  This unbreaks
45843         show-trailing-whitespace in R2L lines.
45845 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
45847         Fix a small pdumper memory leak
45849         * src/pdumper.c (dump_mmap_reset): Free the private area here ...
45850         (dump_mm_heap_cb_release): ... instead of here.
45851         (dump_mmap_release_heap): Simplify by avoiding a local.
45852         (dump_mmap_contiguous): Reindent GNU style.
45854 2019-03-11  Martin Rudalics  <rudalics@gmx.at>
45856         Rewrite minibuffer window resizing code
45858         * src/frame.c (resize_mini_frames): New variable.
45859         * src/window.c (resize_mini_window_apply): New function.
45860         (grow_mini_window, shrink_mini_window): Remove PIXELWISE
45861         argument.  Call resize_mini_window_apply to apply changes.
45862         (Fresize_mini_window_internal): Call resize_mini_window_apply
45863         to apply changes.
45864         (Qwindow__resize_mini_frame): New symbol.
45865         * src/window.h (grow_mini_window, shrink_mini_window): Adjust
45866         external declarations.
45867         * src/xdisp.c (resize_mini_window): For minibuffer-only frames
45868         call 'window--resize-mini-frame' if resize_mini_frames is
45869         non-nil.  Offload parts of logic to grow_mini_window and
45870         shrink_mini_window which are now called without the PIXELWISE
45871         argument.
45872         (Vresize_mini_windows): Mention 'resize-mini-frames' in
45873         doc-string.
45874         * lisp/cus-start.el (resize-mini-frames): Add customization
45875         support.
45876         * lisp/window.el (window--resize-mini-window): Simplify code.
45877         (window--resize-mini-frame): New function.
45878         * doc/lispref/minibuf.texi (Minibuffer Windows): Describe new
45879         option 'resize-mini-frames'.
45880         * etc/NEWS: Mention new option 'resize-mini-frames'.
45882 2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>
45884         * src/editfns.c: Fix docstring typo.
45886 2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>
45888         Improve binary-as-unsigned treatment (Bug#34792)
45890         * etc/NEWS:
45891         * src/editfns.c (Fformat, binary_as_unsigned):
45892         Update now that we always have bignums.
45893         (syms_of_editfns) [!defined lisp_h_FIXNUMP]: Remove now-obsolete
45894         code, since lisp_h_FIXNUMP is always defined now.
45895         * test/src/editfns-tests.el (read-large-integer): Simplify,
45896         now that we can assume binary-as-unsigned defaults to nil.
45898 2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>
45900         More regexp corrections and tweaks
45902         Problems reported by Mattias Engdegård in:
45903         https://lists.gnu.org/r/emacs-devel/2019-03/msg00247.html
45904         * lisp/align.el (align-rules-list):
45905         * lisp/comint.el (comint-output-filter):
45906         * lisp/language/china-util.el (encode-hz-region):
45907         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
45908         * lisp/progmodes/idlwave.el (idlwave-is-pointer-dereference):
45909         * lisp/progmodes/scheme.el (dsssl-font-lock-keywords):
45910         * lisp/textmodes/texinfmt.el (texinfo-accent-commands):
45911         * test/src/regex-emacs-tests.el (regex-tests-re-even-escapes):
45912         Fix some regular-expression typos.
45914 2019-03-10  Paul Eggert  <eggert@cs.ucla.edu>
45916         Update from Gnulib
45918         This incorporates:
45919         2019-03-10 alloca-opt: Fix conflict mingw's new <alloca.h> file
45920         2019-03-03 getloadavg: Write NULL for the null pointer
45921         Reported by Michal Privoznik <mprivozn@redhat.com>.
45922         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
45923         * build-aux/config.guess, build-aux/move-if-change:
45924         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/getloadavg.c:
45925         * m4/alloca.m4:
45926         Copy from Gnulib.
45927         * lib/gnulib.mk.in: Regenerate.
45929 2019-03-10  Dmitry Gutov  <dgutov@yandex.ru>
45931         (ruby-add-log-current-method): Recognize methods ending with ? or !
45933         * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
45934         Recognize method names ending with ? or !.
45936 2019-03-10  Dmitry Gutov  <dgutov@yandex.ru>
45938         project--find-regexp-in-files: Use 'grep -E'
45940         * lisp/progmodes/project.el (project--find-regexp-in-files): Use
45941         'grep -E' because we convert the regexp to extended already.
45943 2019-03-10  Michael Albinus  <michael.albinus@gmx.de>
45945         Changes in Tramp adb process handling
45947         * lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-remote-shell'
45948         and `tramp-remote-shell-args'.
45949         (tramp-adb-file-name-handler-alist): Use `tramp-handle-shell-command'
45950         rather than `tramp-adb-handle-shell-command'.
45951         (tramp-adb-handle-shell-command): Remove.
45952         (tramp-adb-handle-make-process): Use a proper prompt.
45953         (tramp-adb-wait-for-output): Simplify.
45955 2019-03-10  Ken Brown  <kbrown@cornell.edu>
45957         Use a runtime test for timerfd on Cygwin (Bug#34618)
45959         * src/atimer.c [HAVE_TIMERFD] (have_buggy_timerfd): New
45960         function.
45961         (init_atimer) Use it.
45963 2019-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
45965         * lisp/speedbar.el: Minor tweaks
45967         (speedbar-directory-buttons-follow): Use file-name-as-directory.
45968         (speedbar-ignored-directory-expressions)
45969         (speedbar-supported-extension-expressions): Use `sym` in the setter.
45970         (speedbar-frame-mode): Use with-current-buffer.
45971         (speedbar-item-info-tag-helper): Use 'cond'.
45972         (speedbar-highlight-one-tag-line): Don't use position beyond EOB.
45974 2019-03-09  Tassilo Horn  <tsdh@gnu.org>
45976         Make doc-view work with text-mode as default major-mode (bug#34451)
45978         * lisp/doc-view.el (doc-view--text-view-mode): New alias for view-mode.
45979         (doc-view-open-text): Use it.
45980         (doc-view-toggle-display): Use it.
45982 2019-03-09  Christopher Wellons  <wellons@nullprogram.com>  (tiny change)
45984         * lisp/emulation/viper.el: Use user-error for "Viper bell"
45987         * lisp/emulation/viper-init.el (viper-ViperBell): New constant.
45988         * lisp/emulation/viper-cmd.el (viper-prefix-arg-com)
45989         (viper-forward-char, viper-backward-char, viper-goto-col)
45990         (viper-find-char, viper-paren-match, viper-put-back, viper-Put-back)
45991         (viper-delete-char, viper-mark-point, viper-goto-mark-subr):
45992         * lisp/emulation/viper-ex.el (ex-delete): Use it and `user-error`.
45994 2019-03-09  Tassilo Horn  <tsdh@gnu.org>
45996         Name buffer according to attachment filename (bug#34478).
45998         * lisp/gnus/mm-decode.el (mm-display-external): Name buffer showing
45999           the attachment according to the attachment's filename, i.e. "*mm*
46000           <filename>" instead of " *mm*12345".
46002 2019-03-09  Ken Brown  <kbrown@cornell.edu>
46004         Re-enable the timerfd interface on Cygwin
46006         * configure.ac (emacs_cv_have_timerfd): No longer set this to "no"
46007         on Cygwin.  (Bug#34618)
46009 2019-03-09  Ivan Andrus  <darthandrus@gmail.com>
46011         Mention `binary-as-unsigned' in `format' docstring (Bug#34792)
46013         * src/editfns.c (format): Update docstring to mention binary-as-unsigned
46014         (Bug#34792)
46016 2019-03-09  Glenn Morris  <rgm@gnu.org>
46018         Merge from origin/emacs-26
46020         0589de5 (origin/emacs-26) Fix markup of fake keys in the ELisp manual
46021         82d4b98 Avoid errors in Auto Revert mode
46022         a3b1935 Mention empty strings in file name expansion, emacs lisp refe...
46023         a38da0d cc-mode.texi: Work around makeinfo alignment bug.  Fix proble...
46024         464ee80 Warn against recursive invocations of 'buffer-list-update-hoo...
46025         60b5c10 Provide more details in doc-string of 'delete-windows-on' (Bu...
46026         f0be0f1 Improve documentation of 'delete-windows-on'
46027         f1bddc7 * lisp/frame.el (make-frame-command): Doc fix.  (Bug#34715)
46028         2848623 Avoid undefined behavior in gdb-mi.el
46029         dbf1837 * lisp/window.el (fit-frame-to-buffer): Make doc-string more ...
46030         099ef44 Minor spelling and grammar fixes (bug#34756)
46031         52fd400 Minor improvement of documentation of '(when CONDITION . SPEC)'
46032         f872b65 Improve documentation of 'auto-coding-functions'
46033         04cad5e Fix visiting XML files with non-Unix EOL format
46034         a89fabe Update example major mode code in Elisp manual
46036         # Conflicts:
46037         #       lisp/autorevert.el
46038         #       lisp/window.el
46040 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
46042         Consult 'face-remapping-alist' for 'internal-border' face
46044         * src/xterm.c (x_clear_under_internal_border)
46045         (x_after_update_window_line):
46046         * src/w32fns.c (x_clear_under_internal_border):
46047         * src/w32term.c (x_after_update_window_line): Consult
46048         'face-remapping-alist' when using the 'internal-border' face.
46050 2019-03-09  Alan Mackenzie  <acm@muc.de>
46052         CC Mode: Correct some incorrect regular expressions:
46054         * lisp/progmodes/cc-awk.el (c-awk-regexp-char-list-re): "^" -> "\\^".  R*x?R*
46055         -> \(R*x\)?R*.
46057         * lisp/progmodes/cc-mode.el (c-after-change-re-mark-unbalanced-strings): "|"
46058         -> "\\|".
46060 2019-03-09  Michael Albinus  <michael.albinus@gmx.de>
46062         Do not hardcode "/bin/sh" in compile.  Bug#24338, Bug#29723
46064         * doc/emacs/custom.texi (Connection Variables): New node.
46066         * doc/emacs/emacs.texi (Top): Add entry for Connection Variables.
46068         * doc/emacs/misc.texi (Single Shell): Mention default value for
46069         remote buffers.
46071         * doc/lispref/variables.texi (Connection Local Variables):
46072         Describe `with-connection-local-variables' instead of
46073         `with-connection-local-profiles'.
46075         * doc/misc/tramp.texi (Remote processes): Refer to Emacs manual.
46076         Mention default connection-local settings for `shell-file-name'
46077         and `shell-command-switch'.
46079         * etc/NEWS: Mention connection-local variables changes.
46081         * lisp/files-x.el (hack-connection-local-variables):
46082         Push connection-local variables to `file-local-variables-alist'.
46083         (connection-local-criteria-for-default-directory): New defsubst.
46084         (with-connection-local-variables): Rename from
46085         `with-connection-local-profiles'.  Adapt implementation.
46087         * lisp/files.el (hack-local-variables):
46088         Call `hack-connection-local-variables'.
46090         * lisp/shell.el (shell): Use `with-connection-local-variables'.
46092         * lisp/subr.el (start-file-process-shell-command):
46093         * lisp/progmodes/compile.el (compilation-start):
46094         Use `with-connection-local-variables'.  Do not set "/bin/sh" for
46095         remote buffers, trust settings of `shell-file-name'.  (Bug#24338),
46096         (Bug#29723)
46098         * lisp/net/ange-ftp.el (ange-ftp-compress, ange-ftp-uncompress):
46099         Use `shell-command-switch'.
46101         * lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
46102         New defvar.  Add it to connection-local profiles after loading "shell".
46104         * lisp/net/tramp-integration.el (tramp-compat): Require tramp-compat.
46105         (tramp-compat-exec-path): Do not declare anymore.
46106         (tramp-connection-local-safe-shell-file-names): New defvar.
46107         (tramp-connection-local-default-profile): New defconst.  Activate
46108         it after loading "shell".
46109         (shell-file-name, shell-command-switch): Add safe-local-variable
46110         property.
46112         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
46113         Add tramp-autoload cookie.
46115         * test/lisp/files-x-tests.el (remote-shell-file-name):
46116         Add safe-local-variable property to remote-* variables.
46117         (tramp-connection-local-default-profile): Declare.
46118         (files-x-test-with-connection-local-variables):
46119         Rename from `files-x-test-with-connection-local-profiles'.  Adapt
46120         implementation.
46122         * test/lisp/net/tramp-tests.el
46123         (tramp-test34-connection-local-variables): New test.
46124         (tramp-test34-explicit-shell-file-name): Run it also for tramp-adb.
46125         Bind connection-local-{profile,criteria}-alist.  Use tramp-adb
46126         specific `shell-file-name'.  Add safe-local-variable property to
46127         `explicit-shell-file-name' and `explicit-sh-args'.
46129 2019-03-09  Charles A. Roelli  <charles@aurox.ch>
46131         Make help for file supersession more readable
46133         * lisp/userlock.el (ask-user-about-supersession-help): Use
46134         'substitute-command-keys' to show the command key for
46135         "\\[revert-buffer]" properly.
46137 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
46139         Import Unicode 12.0 data files
46141         * admin/unidata/copyright.html:
46142         * admin/unidata/UnicodeData.txt:
46143         * admin/unidata/SpecialCasing.txt:
46144         * admin/unidata/NormalizationTest.txt:
46145         * admin/unidata/Blocks.txt:
46146         * admin/unidata/BidiMirroring.txt:
46147         * admin/unidata/BidiBrackets.txt: New versions from Unicode 12.0.
46148         * admin/unidata/unidata-gen.el (unidata-gen-file):
46149         * admin/unidata/blocks.awk (name2alias): Adapt to changes in
46150         new data files.
46151         * admin/notes/unicode: Update and improve instructions for
46152         importing a new Unicode Standard.
46154         * lisp/international/characters.el (char-width-table): Update
46155         lists of characters according to Unicode 12.0.
46156         * lisp/international/fontset.el (script-representative-chars):
46157         Add characters from new scripts to 'script-representative-chars'.
46158         (otf-script-alist): Update according to data on the MS site.
46159         * lisp/international/mule-cmds.el (ucs-names): Update unused
46160         ranges of codepoints according to Unicode 12.0.
46162         * test/lisp/international/ucs-normalize-tests.el
46163         (ucs-normalize-tests--failing-lines-part1)
46164         (ucs-normalize-tests--failing-lines-part2): Update for the new
46165         NormalizationTest.txt file.
46166         * test/manual/BidiCharacterTest.txt: Update with the new
46167         version from Unicode 12.0.
46169 2019-03-09  Martin Rudalics  <rudalics@gmx.at>
46171         Further redesign of window change functions
46173         * doc/lispref/windows.texi (Window Hooks): Revise description
46174         of window change functions.  Add documentation for
46175         'window-state-change-hook' and window state change flag.
46176         * etc/NEWS: Update entry for window change functions.
46177         * src/frame.c (Fframe_window_state_change)
46178         (Fset_frame_window_state_change): New functions.
46179         * src/frame.h (struct frame): New boolean window_state_change.
46180         (FRAME_WINDOW_STATE_CHANGE): New macro.
46181         * src/window.c (window_change_record_frames): New static
46182         boolean.
46183         (window_change_record_frame): Remove function - code moved to
46184         window_change_record.
46185         (window_change_record): Record frame changes here taking
46186         window_change_record_frames into account.
46187         (run_window_change_functions_1): Set window_change_record_frames
46188         whenever we run one of our hooks.
46189         (run_window_change_functions): Run hooks also when
46190         FRAME_WINDOW_STATE_CHANGE has been set.  Run
46191         Vwindow_state_change_hook.  Leave decision whether to record
46192         changes for all frames to window_change_record.
46193         (Vwindow_state_change_functions): Update doc-string.
46194         (Vwindow_state_change_hook): New normal hook.
46196 2019-03-09  Alan Third  <alan@idiocy.org>
46198         Don't redraw the glyph on top of bar cursors
46200         * src/nsterm.m (ns_draw_window_cursor): Limit when we redraw the
46201         glyph.
46203 2019-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
46205         * lisp/emacs-lisp/autoload.el (make-autoload): Don't add useless doc
46207         More specifically, don't add a useless '(fn)' to the docstring for
46208         functions which take no arguments.
46209         This should fix the 'No docstring slot for pcase--make-docstring'
46210         warning during bootstrap.
46212 2019-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
46214         * lisp/emacs-lisp/cursor-sensor.el: Fix sensor behavior with overlays
46216         (cursor-sensor--detect): Also consult overlay properties when checking
46217         to see if we just moved inside the same "element" as opposed to
46218         changing from one to another of the same type.
46220 2019-03-08  Tassilo Horn  <tsdh@gnu.org>
46222         New command ido-switch-to-completions.
46224         * lisp/ido.el (ido-switch-to-completions): New command.
46226 2019-03-08  Paul Eggert  <eggert@cs.ucla.edu>
46228         More regexp corrections and tweaks
46230         From suggestions by Mattias Engdegård in:
46231         https://lists.gnu.org/r/emacs-devel/2019-03/msg00131.html
46232         * lisp/arc-mode.el (archive-rar-summarize):
46233         * lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp):
46234         * lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer):
46235         * lisp/nxml/rng-uri.el (rng-file-name-uri):
46236         * lisp/org/org-mobile.el (org-mobile-apply):
46237         * lisp/progmodes/cperl-mode.el (cperl-init-faces):
46238         * lisp/progmodes/fortran.el (fortran-fill):
46239         * lisp/progmodes/mantemp.el (mantemp-remove-comments)
46240         (mantemp-remove-memfuncs, mantemp-insert-cxx-syntax):
46241         * lisp/speedbar.el (speedbar-directory-buttons-follow):
46242         * lisp/vc/add-log.el (change-log-font-lock-keywords):
46243         Fix more regular expressions that seem to be typos or infelicities.
46245 2019-03-08  Mark Diekhans  <markd@ucsc.edu>  (tiny change)
46247         Improve ispell.el diagnostics if Hunspell dictionaries aren't found
46249         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params):
46250         Set ispell-last-program-name only at the end, so as to produce
46251         useful diagnostics when Hunspell dictionaries are not found.
46252         (Bug#34640)
46254 2019-03-07  Paul Eggert  <eggert@cs.ucla.edu>
46256         * lisp/net/rcirc.el: Undo previous change; it was a typo.
46258 2019-03-07  Paul Eggert  <eggert@cs.ucla.edu>
46260         Be safer about "%" in message formats
46262         * lisp/calc/calc-store.el (calc-copy-special-constant):
46263         * lisp/net/rcirc.el (rcirc-handler-PART, rcirc-handler-KICK):
46264         * lisp/org/org-agenda.el (org-agenda):
46265         * lisp/org/org-clock.el (org-clock-out, org-clock-display):
46266         * lisp/org/org.el (org-refile):
46267         * lisp/progmodes/ada-xref.el (ada-goto-declaration):
46268         * lisp/progmodes/idlwave.el (idlwave-scan-library-catalogs):
46269         Don’t trust arbitrary strings to not contain "%" or "`" in
46270         (message (concat STRING1 STRING2 ...)).
46272 2019-03-06  Mattias Engdegård  <mattiase@acm.org>
46274         Rename regexp-opt argument noreorder to keep-order
46276         * doc/lispref/searching.texi (Regular Expression Functions):
46277         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
46278         Rename newly added `noreorder' argument to `keep-order', to avoid a
46279         negative in the name.  Suggested by Phil Sainty (Bug#34641).
46281 2019-03-06  Eli Zaretskii  <eliz@gnu.org>
46283         Fix OBJECT binding in conditional display specs
46285         * src/xdisp.c (compute_display_string_pos): Pass OBJECT1, not
46286         OBJECT to handle_display_spec, as the latter doesn't expect a
46287         window object.  (Bug#34771)
46289 2019-03-06  Paul Eggert  <eggert@cs.ucla.edu>
46291         Fix typo in fix for Bug#33498
46293         * src/frame.c (delete_frame): Fix typo in previous patch,
46294         which caused GCC to complain about the use of an uninitialized
46295         variable.
46297 2019-03-06  Michael Albinus  <michael.albinus@gmx.de>
46299         Handle empty strings in Tramp's expand-file-name implementations
46301         * lisp/net/tramp.el (tramp-handle-expand-file-name):
46302         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
46303         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
46304         * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name):
46305         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name):
46306         Handle empty NAME.
46308         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
46309         (tramp-test01-file-name-syntax-simplified)
46310         (tramp-test01-file-name-syntax-separate): Use neutral IPv4 address.
46311         (tramp-test05-expand-file-name): Check also "." and "".
46313 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
46315         * lisp/window.el (fit-frame-to-buffer): Make doc-string more accurate.
46317 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
46319         In unwind_with_echo_area_buffer use set_marker_restricted_both
46321         * src/xdisp.c (unwind_with_echo_area_buffer): Use
46322         set_marker_restricted_both instead of set_marker_both to avoid
46323         spurious assertion failures.
46325 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
46327         Fix handling of 'window-combination-resize' with fixed-size windows
46329         * lisp/window.el (window-combinations): New optional argument
46330         IGNORE-FIXED.
46331         (window--combination-resizable): New function.
46332         (split-window): Fix handling of 'window-combination-resize'
46333         in the presence of fixed-size windows.
46335 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
46337         Fix initialization of Vwindow_state_change_functions
46339         * src/window.c (Vwindow_state_change_functions): Initialize the
46340         right variable.
46342 2019-03-05  Glenn Morris  <rgm@gnu.org>
46344         * doc/misc/gnus-coding.texi: Remove no longer relevant sections.
46346         * doc/misc/gnus.texi (New Features): Refer to NEWS for newer items.
46348 2019-03-05  Glenn Morris  <rgm@gnu.org>
46350         Remove doc/misc/gnus-news.texi
46352         * doc/misc/gnus.texi (No Gnus): Merge in gnus-news.texi.
46353         * doc/misc/gnus-news.texi: Remove.
46355 2019-03-05  Glenn Morris  <rgm@gnu.org>
46357         Remove etc/GNUS-NEWS (bug#34662)
46359         It is not relevant since Gnus stopped being distributed separately.
46360         * etc/GNUS-NEWS: Remove this generated file.
46361         * etc/NEWS.26: Relocate an entry mistakenly added to GNUS-NEWS.
46362         * doc/misc/gnus-coding.texi (Gnus Maintenance Guide):
46363         No longer mention GNUS-NEWS.
46364         * doc/misc/gnus-news.el: Remove.
46365         * doc/misc/gnus-news.texi: Update a comment.
46366         * lisp/Makefile.in (update-gnus-news): Remove this phony target.
46368 2019-03-05  Glenn Morris  <rgm@gnu.org>
46370         Remove gnus-overrides.texi
46372         * doc/misc/gnus-overrides.texi: Remove.
46373         * doc/misc/auth.texi, doc/misc/emacs-mime.texi:
46374         * doc/misc/gnus.texi, doc/misc/message.texi, doc/misc/pgg.texi:
46375         * doc/misc/sasl.texi, doc/misc/sieve.texi:
46376         Do not include gnus-overrides.texi.
46378 2019-03-05  Wilson Snyder  <wsnyder@wsnyder.org>
46380         Fix regexp issues introduced in last trunk commit.
46382         * lisp/progmodes/verilog-mode.el (verilog-coverpoint-re): Fix regexp issues introduced
46383         in last trunk commit.
46385 2019-03-05  Eli Zaretskii  <eliz@gnu.org>
46387         Remove unreliable assertion in buf_bytepos_to_charpos
46389         * src/marker.c (buf_bytepos_to_charpos): Remove the assertion
46390         regarding bytepos always at the head byte of a multibyte
46391         sequence.  For the reasons, see
46392         https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00100.html
46393         https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00102.html
46395 2019-03-05  Wilson Snyder  <wsnyder@wsnyder.org>
46397         Fix regular-expression glitches and typos. Update verilog-mode from upstream.
46399         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix AUTO vectors with
46400         double brackets, msg2839.
46401         (verilog-read-auto-template-middle): Fix AUTO_TEMPLATE with regexp
46402         capture group reference, but1379.  Reported by David Rogoff.
46404 2019-03-05  Martin Rudalics  <rudalics@gmx.at>
46406         Fix interactive spec of some functions in window.el (Bug#34749)
46408         * lisp/window.el (delete-windows-on, quit-windows-on)
46409         (display-buffer-other-frame): Interactively, permit existing
46410         buffers only (Bug#34749).
46412 2019-03-05  Martin Rudalics  <rudalics@gmx.at>
46414         Fix handling of minibuffer-only child frames (Bug#33498)
46416         * doc/lispref/frames.texi (Buffer Parameters): Describe how to
46417         make a minibuffer-only child frame.
46418         (Child Frames): Describe how minbuffer child frames are
46419         deleted.
46420         * src/frame.c (delete_frame): Handle deletion of minibuffer
46421         child frames (Bug#33498).  In the course, fix reassigning of
46422         'default-minibuffer-frame' with minibuffer-only frames.
46423         * lisp/frame.el (frame-notice-user-settings): Handle creation of
46424         initial minibuffer-only child frame.
46425         (make-frame): Handle creation of frame with a minibuffer-only
46426         child frame.
46428 2019-03-05  Michael Albinus  <michael.albinus@gmx.de>
46430         Test an IPv4 mapped IPv6 address in Tramp
46432         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
46433         (tramp-test01-file-name-syntax-simplified)
46434         (tramp-test01-file-name-syntax-separate): Check also an IPv4
46435         mapped IPv6 address.
46437 2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>
46439         Fix regular-expression glitches and typos
46441         Problems reported by Mattias Engdegård in:
46442         https://lists.gnu.org/r/emacs-devel/2019-03/msg00085.html
46443         * admin/admin.el (set-version):
46444         * lisp/allout.el (allout-latexify-one-item):
46445         * lisp/arc-mode.el (archive-arc-rename-entry)
46446         (archive-rar-summarize):
46447         * lisp/calc/calc-graph.el (calc-graph-set-styles)
46448         (calc-graph-hide):
46449         * lisp/calc/calc-help.el (calc-describe-key):
46450         * lisp/calc/calc-lang.el (math-compose-tex-func, eqn):
46451         * lisp/calc/calc.el (calcDigit-key):
46452         * lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list):
46453         * lisp/cedet/ede/speedbar.el (ede-tag-expand):
46454         * lisp/cedet/semantic/sb.el (semantic-sb-show-extra)
46455         (semantic-sb-expand-group):
46456         * lisp/comint.el (comint-substitute-in-file-name):
46457         * lisp/dired.el (dired-actual-switches):
46458         * lisp/emacs-lisp/chart.el (chart-rmail-from):
46459         * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand):
46460         * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand):
46461         * lisp/emacs-lisp/rx.el (rx-not, rx-atomic-p):
46462         * lisp/emulation/viper-ex.el (viper-get-ex-token)
46463         (viper-get-ex-pat, ex-set-read-variable):
46464         * lisp/epg.el (epg--status-SIG_CREATED):
46465         * lisp/erc/erc-speedbar.el (erc-speedbar-expand-user):
46466         (erc-speedbar-expand-channel, erc-speedbar-expand-server)
46467         * lisp/erc/erc.el (erc-is-message-ctcp-and-not-action-p)
46468         (erc-banlist-update):
46469         * lisp/eshell/em-dirs.el (eshell-parse-drive-letter, eshell/pwd):
46470         * lisp/find-dired.el (find-dired):
46471         * lisp/frame.el (frame-set-background-mode):
46472         * lisp/generic-x.el (apache-log-generic-mode):
46473         * lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp):
46474         * lisp/gnus/gnus.el (gnus-short-group-name):
46475         * lisp/gnus/message.el (message-mailer-swallows-blank-line):
46476         * lisp/ibuffer.el (ibuffer-fontification-alist):
46477         * lisp/ido.el (ido-set-matches-1):
46478         * lisp/info-xref.el (info-xref-lock-file-p):
46479         * lisp/info.el (Info-dir-remove-duplicates)
46480         (Info-unescape-quotes, Info-split-parameter-string)
46481         (Info-speedbar-expand-node):
46482         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
46483         * lisp/isearch.el (isearch-pre-command-hook):
46484         * lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer):
46485         * lisp/mail/rmail.el (rmail-collect-deleted):
46486         * lisp/mh-e/mh-alias.el (mh-alias-suggest-alias):
46487         * lisp/mh-e/mh-comp.el (mh-forward):
46488         * lisp/mh-e/mh-search.el (mh-index-next-folder)
46489         (mh-index-create-imenu-index):
46490         * lisp/mh-e/mh-xface.el (mh-picon-get-image):
46491         * lisp/minibuffer.el (completion--embedded-envvar-re):
46492         * lisp/net/ange-ftp.el (ange-ftp-ls-parser):
46493         * lisp/net/goto-addr.el (goto-address-mail-regexp)
46494         (goto-address-find-address-at-point):
46495         * lisp/net/pop3.el (pop3-read-response, pop3-user)
46496         (pop3-pass, pop3-apop):
46497         * lisp/net/tramp.el (tramp-ipv6-regexp)
46498         (tramp-replace-environment-variables):
46499         * lisp/nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
46500         * lisp/nxml/rng-uri.el (rng-uri-escape-multibyte):
46501         * lisp/nxml/rng-xsd.el (rng-xsd-convert-any-uri):
46502         * lisp/obsolete/pgg.el (pgg-fetch-key):
46503         * lisp/obsolete/vip.el (vip-get-ex-token):
46504         * lisp/org/ob-core.el (org-babel-string-read):
46505         * lisp/org/org-agenda.el:
46506         (org-agenda-add-entry-to-org-agenda-diary-file):
46507         * lisp/org/org-element.el (org-element-keyword-parser):
46508         * lisp/org/org-list.el (org-list-indent-item-generic):
46509         * lisp/org/org-mhe.el (org-mhe-get-message-folder-from-index):
46510         * lisp/org/org-mobile.el (org-mobile-apply):
46511         * lisp/org/org-mouse.el (org-mouse-context-menu):
46512         * lisp/org/org-plot.el (org-plot/gnuplot):
46513         * lisp/org/org-protocol.el (org-protocol-flatten-greedy):
46514         * lisp/org/org-table.el (org-table-copy-down)
46515         (org-table-formula-make-cmp-string)
46516         (org-table-get-stored-formulas, org-table-recalculate)
46517         (org-table-edit-formulas):
46518         * lisp/org/org.el (org-translate-link-from-planner)
46519         (org-fill-line-break-nobreak-p):
46520         * lisp/org/ox-ascii.el (org-ascii-item):
46521         * lisp/org/ox-latex.el (org-latex-clean-invalid-line-breaks):
46522         * lisp/org/ox.el (org-export-expand-include-keyword):
46523         * lisp/progmodes/ada-xref.el (ada-treat-cmd-string):
46524         * lisp/progmodes/cfengine.el (cfengine2-font-lock-keywords):
46525         * lisp/progmodes/cperl-mode.el (cperl-to-comment-or-eol)
46526         (cperl-find-pods-heres, cperl-fix-line-spacing)
46527         (cperl-have-help-regexp, cperl-word-at-point-hard)
46528         (cperl-make-regexp-x):
46529         * lisp/progmodes/dcl-mode.el (dcl-option-value-offset):
46530         * lisp/progmodes/etags.el (tag-implicit-name-match-p):
46531         * lisp/progmodes/fortran.el (fortran-fill):
46532         * lisp/progmodes/gdb-mi.el (gdb-speedbar-expand-node)
46533         (gdb-locals-handler-custom):
46534         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
46535         * lisp/progmodes/gud.el (gud-jdb-find-source-using-classpath):
46536         * lisp/progmodes/js.el (js--continued-expression-p):
46537         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
46538         * lisp/progmodes/meta-mode.el (meta-indent-level-count):
46539         * lisp/progmodes/mixal-mode.el (mixal-font-lock-keywords):
46540         * lisp/progmodes/opascal.el (opascal-find-unit-in-directory):
46541         * lisp/progmodes/pascal.el (pascal-progbeg-re):
46542         * lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re)
46543         (ruby-expr-beg, ruby-parse-partial)
46544         (ruby-toggle-string-quotes, ruby-font-lock-keywords):
46545         * lisp/progmodes/sql.el (sql--make-help-docstring):
46546         * lisp/progmodes/verilog-mode.el (verilog-coverpoint-re)
46547         (verilog-skip-forward-comment-p)
46548         (verilog-read-sub-decls-gate)
46549         (verilog-read-auto-template-middle):
46550         * lisp/progmodes/vhdl-mode.el (vhdl-resolve-env-variable)
46551         (vhdl-speedbar-expand-project, vhdl-speedbar-expand-entity)
46552         (vhdl-speedbar-expand-architecture)
46553         (vhdl-speedbar-expand-config, vhdl-speedbar-expand-package)
46554         (vhdl-speedbar-dired):
46555         * lisp/speedbar.el (speedbar-dired, speedbar-tag-file)
46556         (speedbar-tag-expand):
46557         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
46558         * lisp/textmodes/flyspell.el (flyspell-debug-signal-word-checked):
46559         * lisp/textmodes/ispell.el (ispell-process-line):
46560         * lisp/textmodes/reftex-cite.el (reftex-end-of-bib-entry):
46561         * lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes):
46562         * lisp/url/url-parse.el (url-generic-parse-url):
46563         * lisp/url/url-util.el (url-truncate-url-for-viewing):
46564         * lisp/vc/diff-mode.el (diff-unified->context):
46565         * lisp/vc/vc-bzr.el (vc-bzr-error-regexp-alist):
46566         * lisp/vc/vc-cvs.el (vc-cvs-parse-status):
46567         * lisp/woman.el (woman0-el, woman-if-ignore)
46568         (woman-change-fonts):
46569         * lisp/xdg.el (xdg--substitute-home-env):
46570         Fix regular-expression infelicities and typos.
46572         Fix regular expression typos
46573         Fix typos reported by Mattias Engdegård in:
46574         that occurred in preloaded modules.
46575         * lisp/frame.el (frame-set-background-mode):
46576         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
46577         * lisp/isearch.el (isearch-pre-command-hook):
46578         * lisp/minibuffer.el (completion--embedded-envvar-re):
46580 2019-03-04  Charles A. Roelli  <charles@aurox.ch>
46582         Fix diff-mode tests after renaming diff-font-lock-refine
46584         This fixes tests broken in my last change, "Merge
46585         diff-font-lock-refine and diff-auto-refine-mode into diff-refine" from
46586         2019-02-24.
46588         * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock):
46589         Bind diff-refine to symbol 'font-lock' instead of binding
46590         diff-font-lock-refine to t.
46591         (diff-mode-test-font-lock-syntax-one-line): Bind diff-refine
46592         to nil instead of binding diff-font-lock-refine to nil.
46594 2019-03-04  Eli Zaretskii  <eliz@gnu.org>
46596         Avoid assertion violations in buf_bytepos_to_charpos
46598         * src/marker.c (buf_bytepos_to_charpos): Disable the assertion
46599         regarding bytepos always at the head byte of a multibyte
46600         sequence.
46602 2019-03-04  Eli Zaretskii  <eliz@gnu.org>
46604         Fix invocation with -rv on the command line
46606         * lisp/frame.el (frame-set-background-mode): Avoid errors from
46607         'face-spec-match-p' when the face was not yet realized for
46608         FRAME.  (Bug#34725)
46610 2019-03-04  Nicolas Petton  <nicolas@petton.fr>
46612         * lisp/emacs-lisp/map.el: Bump version to 2.0.
46614 2019-03-04  Martin Rudalics  <rudalics@gmx.at>
46616         Prevent introducing invalid scroll bar width/height values (Bug#34569)
46618         * src/frame.c (store_frame_param): Don't store invalid values
46619         for scroll_bar_width/height.
46620         (x_report_frame_params): Don't report invalid values for
46621         scroll_bar_width/height.
46622         (x_set_scroll_bar_width, x_set_scroll_bar_height): Don't set
46623         invalid values for scroll_bar_width/height.
46625 2019-03-04  Martin Rudalics  <rudalics@gmx.at>
46627         Fix minibuffer resizing with temporarily selected frames (Bug#34317)
46629         * src/keyboard.c (command_loop_1): Resize echo area exactly
46630         only if the echo area window is the minibuffer window of the
46631         selected frame (Bug#34317).
46632         * src/xdisp.c (x_consider_frame_title): Inhibit redisplay also
46633         when restoring the selected window/frame to avoid that
46634         resize_mini_window sizes back the minibuffer window of a
46635         temporarily selected frame (Bug#34317).
46637 2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>
46639         * src/alloc.c (gcstat): Now static.
46641         * src/gfilenotify.c: Fix indenting.
46643         * src/font.h: Fix commentary.
46645 2019-03-04  Paul Eggert  <eggert@cs.ucla.edu>
46647         Simplify list creation in C code
46649         The main new thing here is that C code can now say
46650         ‘list (a, b, c, d, e, f)’ instead of
46651         ‘listn (CONSTYPE_HEAP, 6, a, b, c, d, e, f)’,
46652         thus relieving callers of the responsibility of counting
46653         arguments (plus, the code feels more like Lisp).  The old
46654         list1 ... list5 functions remain, as they’re probably a bit
46655         faster for small lists.
46656         * src/alloc.c (cons_listn, pure_listn): New functions.
46657         (listn): Omit enum argument.
46658         All callers changed to use either new ‘list’ or ‘pure_list’ macros.
46659         * src/charset.c (Fdefine_charset_internal):
46660         * src/coding.c (detect_coding_system)
46661         (Fset_terminal_coding_system_internal):
46662         * src/frame.c (frame_size_history_add, adjust_frame_size):
46663         * src/gtkutil.c (xg_frame_set_char_size):
46664         * src/keyboard.c (command_loop_1):
46665         * src/nsfns.m (frame_geometry):
46666         * src/widget.c (set_frame_size):
46667         * src/xfaces.c (Fcolor_distance):
46668         * src/xfns.c (frame_geometry):
46669         * src/xterm.c (x_set_window_size_1):
46670         * src/xwidget.c (Fxwidget_size_request):
46671         Prefer list1i, list2i, etc. to open-coding them.
46672         * src/charset.c (Fset_charset_priority):
46673         * src/nsterm.m (append2):
46674         * src/window.c (window_list):
46675         * src/xfaces.c (Fx_list_fonts):
46676         Use nconc2 instead of open-coding it.
46677         * src/eval.c (eval_sub, backtrace_frame_apply):
46678         * src/kqueue.c (kqueue_generate_event):
46679         * src/nsterm.m (performDragOperation:):
46680         * src/pdumper.c (Fpdumper_stats):
46681         * src/w32.c (init_environment):
46682         Prefer list1, list2, etc. to open-coding them.
46683         * src/font.c (font_list_entities):
46684         Parenthesize to avoid expanding new ‘list’ macro.
46685         * src/gtkutil.c (GETSETUP): Rename from MAKE_FLOAT_PAGE_SETUP
46686         to get lines to fit.  Move outside the ‘list’ call, since it’s
46687         now a macro.
46688         * src/keymap.c (Fmake_keymap): Simplify.
46689         * src/lisp.h (list, pure_list): New macros.
46690         (list1i): New function.
46692 2019-03-03  Charles A. Roelli  <charles@aurox.ch>
46694         Merge diff-font-lock-refine and diff-auto-refine-mode into diff-refine
46696         This change was discussed in Bug#32991.
46698         * admin/gitmerge.el (gitmerge-resolve): Bind 'diff-refine'
46699         instead of 'diff-auto-refine-mode' to nil.
46700         * doc/emacs/files.texi (Diff Mode): Explain 'diff-refine'
46701         instead of 'diff-auto-refine-mode' in the documentation of
46702         'diff-hunk-next' and 'diff-hunk-prev'.  Mention in the
46703         documentation of 'diff-refine-hunk' that refining is already
46704         done by default.
46705         * etc/NEWS (Diff mode): Explain renamed 'diff-refine' variable
46706         and mention deprecation and disabling of
46707         'diff-auto-refine-mode'.
46708         * lisp/vc/diff-mode.el (diff-font-lock-refine): Rename to
46709         'diff-refine' and allow choices nil, 'font-lock' and 'navigation'.
46710         (diff-auto-refine-mode): Disable it by default, make it
46711         obsolete and make it set 'diff-refine' appropriately to keep
46712         backward compatibility.
46713         (diff-hunk-next, diff-hunk-prev): Adapt to rename of
46714         diff-auto-refine-mode and ensure that refining only happens
46715         when calling these commands interactively.
46716         (diff--font-lock-refined): Adapt to rename of
46717         diff-font-lock-refine.
46718         * lisp/vc/smerge-mode.el (smerge-next, smerge-prev): Check
46719         that 'diff-refine' is set instead of checking
46720         'diff-auto-refine-mode' when deciding whether to refine a
46721         conflict.
46723 2019-03-03  Alan Mackenzie  <acm@muc.de>
46725         Correct some slightly incorrect regular expressions:
46727         * lisp/progmodes/cc-awk.el (c-awk-harmless-char-re)
46728         (c-awk-harmless-line-char-re, c-awk-_-harmless-nonws-char-re): [...\\\\...]
46729         -> [...\\...].
46731         * lisp/progmodes/cc-engine.el (c-literal-limits): "*/" -> "\\*/".
46733         * lisp/progmodes/cc-mode.el (c-after-change-re-mark-unbalanced-strings):
46734         "\\\r" -> "\r".
46736 2019-03-03  Eli Zaretskii  <eliz@gnu.org>
46738         Fix starting temacs interactively
46740         * src/dispnew.c (init_display_interactive): Don't call
46741         init_faces_initial if we aren't initialized, since
46742         tty-set-up-initial-frame-faces is not available then.  This
46743         restores the ability to start "temacs -nw" and also avoids
46744         bad crashes in "emacs -nw" if the pdumper file is not found.
46745         (Bug#34707)
46747 2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>
46749         Fix typo in previous change
46751         * src/alloc.c (memory_full_cons_threshold):
46752         Move to after definition of struct cons_block.
46753         Problem reported by Basil L. Contovounesios in:
46754         https://lists.gnu.org/r/emacs-devel/2019-03/msg00067.html
46756 2019-03-02  Glenn Morris  <rgm@gnu.org>
46758         * test/lisp/progmodes/python-tests.el
46759         (python-syntax-after-python-backspace): Expect success.
46761 2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>
46763         memory_full_cons_threshold is a constant
46765         * src/alloc.c (memory_full_cons_threshold): Now const.
46766         (memory_full): Omit no-longer-needed initialization.
46768 2019-03-02  Paul Eggert  <eggert@cs.ucla.edu>
46770         Avoid staticvec duplicates
46772         * src/alloc.c (staticpro) [ENABLE_CHECKING]: Check for duplicates.
46773         * src/keyboard.c (syms_of_keyboard): Define
46774         while-no-input-ignore-events and inhibit--record-char here ...
46775         (syms_of_keyboard_for_pdumper): ... instead of here.
46776         This avoids duplicates in staticvec.
46778 2019-03-02  Alan Mackenzie  <acm@muc.de>
46780         Check by eassert that a bytepos argument isn't in the middle of a character
46782         * src/marker.c (buf_bytepos_to_charpos): Add an eassert to check that the
46783         parameter bytepos is at the beginning of a character or EOB.
46785 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
46787         Fix DND on MS-Windows with files from UNC directories
46789         * lisp/dnd.el (dnd-get-local-file-uri): Always return nil on
46790         MS-Windows, as this method cannot possibly work there: URIs
46791         that begin with the local system's name are UNCs, where the
46792         //SERVER part cannot be removed.  (Bug#34675)
46794 2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>
46796         Revert "Add hook for all events"
46798         This reverts commit 7b31de4d107302ed91ce7519cd778b340a9880ee.
46800 2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>
46802         Revert "; Fix typos in NEWS"
46804         This reverts commit d52bc534d799c255f24ff2a56e8bed830d8f68ca.
46806 2019-03-02  Phillip Lord  <phillip.lord@russet.org.uk>
46808         Revert "; Document input-event-functions"
46810         This reverts commit 27fffb2701c38090916e077d28a4a6b9e2bc09d2.
46812 2019-03-02  Mattias Engdegård  <mattiase@acm.org>
46814         Correct regexp-opt return value for empty string list
46816         When regexp-opt is called with an empty list of strings, return a regexp
46817         that doesn't match anything instead of the empty string (Bug#20307).
46819         * doc/lispref/searching.texi (Regular Expression Functions):
46820         * etc/NEWS:
46821         Document the new behaviour.
46822         * lisp/emacs-lisp/regexp-opt.el (regexp-opt):
46823         Return a never-match regexp for empty inputs.
46825 2019-03-02  Mattias Engdegård  <mattiase@acm.org>
46827         rx: fix `or' ordering by adding argument to regexp-opt
46829         The rx `or' form may reorder its arguments in an unpredictable way,
46830         contrary to user expectation, since it sometimes uses `regexp-opt'.
46831         Add a NOREORDER option to `regexp-opt' for preventing it from
46832         producing a reordered regexp (Bug#34641).
46834         * doc/lispref/searching.texi (Regular Expression Functions):
46835         * etc/NEWS (Lisp Changes in Emacs 27.1):
46836         Describe the new regexp-opt NOREORDER argument.
46837         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Add NOREORDER.
46838         Make no attempt at regexp improvement if the set of strings contains
46839         a prefix of another string.
46840         (regexp-opt--contains-prefix): New.
46841         * lisp/emacs-lisp/rx.el (rx-or): Call regexp-opt with NOREORDER.
46842         * test/lisp/emacs-lisp/rx-tests.el: Test rx `or' form match order.
46844 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
46846         Fix 'end-of-visual-line' with overlay strings with newlines
46848         * src/indent.c (Fvertical_motion): Get out of overlay strings
46849         with embedded newlines even if moving within the same screen
46850         line.  See https://github.com/emacs-lsp/lsp-mode/issues/677
46851         for more details.
46852         Fix test for IT_CHARPOS being at the beginning of the
46853         accessible portion of the buffer.
46855 2019-03-01  Stefan Monnier  <monnier@iro.umontreal.ca>
46857         * src/syntax.c (update_syntax_table): Prefer 'else' to 'goto'
46859         * lisp/Makefile.in (leim): Fix void-function pinyin-convert
46861 2019-03-01  Alan Mackenzie  <acm@muc.de>
46863         Maintain interval ->position fields correctly in update_interval
46865         Also fix some anomalies in the handling of byte positions in regexp-emacs.c
46866         This fixes bug #34525.
46868         * src/intervals.c (SET_PARENT_POSITION): New macro.
46869         (update_interval): When moving to an interval's parent, set that parent's
46870         ->position field, to maintain the consistency of the tree.
46872         * src/intervals.h (struct interval): Amend the comment describing when
46873         ->position is valid.
46875         * src/pdumper.c: Update the hash associated with struct interval.
46877         * src/regex-emacs.c: (re_match_2_internal): Only invoke POINTER_TO_OFFSET on a
46878         known character boundary.  Only perform arithmetic on character positions, not
46879         on byte positions.  Correct the argument to an invocation of
46880         UPDATE_SYNTAX_TABLE_FORWARD by adding 1 to it (in case wordend:).
46882         * src/syntax.c: (update_syntax_table): Remove the now redundant code that set
46883         the ->position field of all parents of the interval found by update_interval.
46885 2019-03-01  Glenn Morris  <rgm@gnu.org>
46887         Merge from origin/emacs-26
46889         9df1365 Fix a typo in the Calc manual
46890         f3dab02 Minor improvement in cross-references of the ELisp manual
46891         560c84b Fix last change on 'compilation-parse-errors'
46893 2019-03-01  Glenn Morris  <rgm@gnu.org>
46895         Merge from origin/emacs-26
46897         dee3cdc Minor improvement for docs of completion
46898         c86d419 ; * src/image.c (imagemagick_load, svg_load): Fix typos in co...
46899         6d46fa9 Disable the timerfd interface on Cygwin
46900         3707ea4 Fix a typo in the doc string of 'regex-opt'
46901         d9905d5 Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192)
46903         # Conflicts:
46904         #       doc/misc/tramp.texi
46906 2019-03-01  Paul Eggert  <eggert@cs.ucla.edu>
46908         Suppress GC stats when obviously not needed
46910         This should help future improvements where these stats can be
46911         bignums that do not fit into intmax_t.
46912         * src/alloc.c (struct gcstat, gcstat): New type and static var,
46913         to package up GC statistics into one C object.  It replaces ...
46914         (total_free_intervals, total_intervals, total_strings)
46915         (total_free_strings, total_string_bytes, total_vectors)
46916         (total_vector_slots, total_free_vector_slots): ... these
46917         removed static vars.  All uses changed.
46918         (garbage_collect_1): Accept a struct gcstat *, not a void *
46919         which was not used anymore anyway.  Return a bool indicating
46920         success, instead of a Lisp object.  All callers changed.
46921         (garbage_collect): New function.  All C callers of
46922         Fgarbage_collect changed to use it, since none of them use the
46923         return value.  Now, only Lisp code uses Fgarbage_collect.
46924         (Fgarbage_collect): No longer noinline.  Cons up the return
46925         value here, not in garbage_collect_1.
46927 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
46929         Don't signal Quit from 'while-no-input' on TTY frames
46931         * src/keyboard.c (read_char): Don't inject quit-char after
46932         longjmp if while-no-input is in effect.  (Bug#34535)
46934 2019-03-01  Evan Moses  <evan@emoses.org>  (tiny change)
46936         Add 'breakpoint' to builtins for Python
46938         * lisp/progmodes/python.el (python-font-lock-keywords-level-2)
46939         (python-font-lock-keywords-maxiumum-decoration): Add 'breakpoint'
46940         to the list of builtins, it's new as of Python 3.7.
46942 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
46944         Be more defensive regarding elements of 'load-history'
46946         * lisp/loadhist.el (file-dependents):
46947         * lisp/apropos.el (apropos-library):
46948         * lisp/help-fns.el (help-fns--autoloaded-p, help--loaded-p):
46949         * lisp/emacs-lisp/package.el (package--list-loaded-files):
46950         Don't assume 'load-history' elements must have a string as their
46951         'car'.  (Bug#34462)
46953 2019-03-01  Alan Mackenzie  <acm@muc.de>
46955         * src/pdumper.c: Clarify the message about updating hash values
46957 2019-03-01  Federico Tedin  <federicotedin@gmail.com>
46959         Allow control on the threshold for using 'distant-foreground'
46961         * src/xfaces.c (NEAR_SAME_COLOR_THRESHOLD): Macro deleted.
46962         (load_face_colors): Compare against
46963         face_near_same_color_threshold instead of
46964         NEAR_SAME_COLOR_THRESHOLD.
46965         (syms_of_xfaces) <face-near-same-color-threshold>: New
46966         variable.  (Bug#34001)
46968         * etc/NEWS: Announce the change.
46970 2019-02-28  Juri Linkov  <juri@linkov.net>
46972         * lisp/replace.el (flush-lines): Return the number of deleted lines.
46974         When called interactively, also print the number. (Bug#34520)
46976         * doc/emacs/search.texi (Other Repeating Search): Update
46977         flush-lines that prints the number of deleted lines.
46979 2019-02-28  Eli Zaretskii  <eliz@gnu.org>
46981         Avoid rare crashes in xbacktrace
46983         * src/eval.c (backtrace_thread_p, backtrace_top): Don't
46984         segfault in "xbacktrace" if called before the specpdl
46985         machinery is initialized in pdumped Emacs.
46987 2019-02-28  Michael Albinus  <michael.albinus@gmx.de>
46989         Adapt test names in tramp-archive-tests.el
46991         * test/lisp/net/tramp-archive-tests.el
46992         (tramp-archive-test39-make-nearby-temp-file)
46993         (tramp-archive-test42-file-system-info)
46994         (tramp-archive-test45-auto-load)
46995         (tramp-archive-test45-delay-load): Rename.
46997 2019-02-28  Michael Albinus  <michael.albinus@gmx.de>
46999         Use proper read syntax for all function names in Tramp
47001         * lisp/net/tramp.el:
47002         * lisp/net/tramp-adb.el:
47003         * lisp/net/tramp-archive.el:
47004         * lisp/net/tramp-cache.el:
47005         * lisp/net/tramp-cmds.el:
47006         * lisp/net/tramp-compat.el:
47007         * lisp/net/tramp-ftp.el:
47008         * lisp/net/tramp-gvfs.el:
47009         * lisp/net/tramp-integration.el:
47010         * lisp/net/tramp-rclone.el:
47011         * lisp/net/tramp-sh.el:
47012         * lisp/net/tramp-smb.el:
47013         * lisp/net/tramp-sudoedit.el:
47014         * test/lisp/net/tramp-archive-tests.el:
47015         * test/lisp/net/tramp-tests.el: Use proper read syntax for all
47016         function names.
47018 2019-02-27  Paul Eggert  <eggert@cs.ucla.edu>
47020         Escape HTML NUL as &#0; in eww
47022         * lisp/net/eww.el (eww-display-html): Escape NUL as &#0; as this
47023         is more appropriate for HTML.
47025 2019-02-27  Juri Linkov  <juri@linkov.net>
47027         * lisp/vc/vc-annotate.el: Better error handling (bug#34532)
47029         * lisp/vc/vc-annotate.el (vc-annotate-revision-previous-to-line):
47030         Print message when prev-rev is nil.
47032 2019-02-27  Juri Linkov  <juri@linkov.net>
47034         Directional window swap states (bug#34656)
47036         * lisp/windmove.el (windmove-swap-states-in-direction)
47037         (windmove-swap-states-left, windmove-swap-states-up)
47038         (windmove-swap-states-down, windmove-swap-states-right)
47039         (windmove-swap-states-default-keybindings): New functions.
47041 2019-02-27  Juri Linkov  <juri@linkov.net>
47043         * doc/emacs/frames.texi (Multiple Displays): Add make-frame-on-monitor.
47045         * doc/lispref/frames.texi (Multiple Terminals): Add make-frame-on-monitor.
47046         (Bug#34516)
47048 2019-02-27  Arash Esbati  <arash@gnu.org>
47050         Improve matching of key-val labels (bug#34629)
47052         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve
47053         regexp for key-val labels in order to skip over content in braces.
47055 2019-02-27  Robert Pluim  <rpluim@gmail.com>
47057         Replace NUL characters when calling into libxml
47059         2019-02-27  Robert Pluim  <rpluim@gmail.com>
47061         * lisp/net/eww.el (eww-display-html): Replace NUL characters with
47062         "\0", as libxml can't handle embedded NULLs.  (Bug#34469)
47064 2019-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
47066         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Autoload
47068 2019-02-27  John Shahid  <jvshahid@gmail.com>
47070         Add text properties to newlines used to unwrap long lines.
47072         * lisp/term.el (term-emulate-terminal): do it.
47074 2019-02-27  Paul Eggert  <eggert@cs.ucla.edu>
47076         DEFVAR_INT variables are now intmax_t
47078         Formerly they were fixnums, which led to problems when dealing
47079         with values that might not fit on 32-bit platforms, such as
47080         string-chars-consed or floats_consed.  64-bit counters should
47081         be good enough for these (for a while, anyway...).
47082         While we’re at it, fix some unlikely integer overflow bugs
47083         that have been in the code for a while.
47084         * lib-src/make-docfile.c (write_globals):
47085         * src/data.c (do_symval_forwarding, store_symval_forwarding):
47086         * src/eval.c (restore_stack_limits, call_debugger):
47087         * src/frame.h (struct frame.cost_calculation_baud_rate):
47088         * src/keyboard.c (last_auto_save, bind_polling_period, read_char):
47089         * src/lisp.h (struct Lisp_Intfwd.intvar):
47090         * src/lread.c (defvar_int):
47091         * src/pdumper.c (dump_fwd_int):
47092         * src/thread.h (struct thread_state.m_lisp_eval_depth):
47093         * src/undo.c (truncate_undo_list):
47094         * src/xselect.c (wait_for_property_change)
47095         (x_get_foreign_selection):
47096         * src/xterm.c (x_emacs_to_x_modifiers):
47097         DEFVAR_INT variables now have the C type intmax_t, not EMACS_INT.
47098         * src/data.c (store_symval_forwarding):
47099         * src/gnutls.c (Fgnutls_boot):
47100         * src/keyboard.c (bind_polling_period):
47101         * src/macros.c (pop_kbd_macro, Fexecute_kbd_macro):
47102         * src/undo.c (truncate_undo_list):
47103         Allow any integer that fits into intmax_t, instead of
47104         requiring it to be a Lisp fixnum.
47105         * src/dispnew.c (update_window):
47106         * src/frame.c (x_figure_window_size):
47107         * src/gnutls.c (init_gnutls_functions)
47108         (emacs_gnutls_handle_error):
47109         * src/keyboard.c (make_lisp_event):
47110         * src/nsterm.m (ns_dumpglyphs_image):
47111         * src/profiler.c (make_log):
47112         * src/scroll.c (calculate_scrolling)
47113         (calculate_direct_scrolling):
47114         * src/termcap.c (tputs):
47115         * src/xterm.c (x_draw_image_relief):
47116         Avoid implementation-defined behavior on conversion of
47117         out-of-range integers.
47118         * src/eval.c (when_entered_debugger): Now intmax_t.
47119         (max_ensure_room): New function, that avoids signed integer overflow.
47120         (call_debugger, signal_or_quit): Use it.
47121         * src/fileio.c (Fdo_auto_save):
47122         * src/keyboard.c (make_lisp_event):
47123         * src/term.c (calculate_costs):
47124         * src/xdisp.c (build_desired_tool_bar_string)
47125         (hscroll_window_tree, try_scrolling, decode_mode_spec)
47126         (x_produce_glyphs):
47127         Avoid signed integer overflow.
47128         * src/lisp.h (clip_to_bounds): Generalize to intmax_t.
47129         * src/pdumper.c (dump_emacs_reloc_immediate_emacs_int): Remove, ...
47130         (dump_emacs_reloc_immediate_intmax_t): ... replacing with this
47131         function.  All uses changed.
47132         * src/profiler.c (make_log): Omit args.  All callers changed.
47133         * src/termcap.c: Include stdlib.h, for atoi.
47134         Include intprops.h.
47135         * src/window.c (sanitize_next_screen_context_lines): New function.
47136         (window_scroll_pixel_based, window_scroll_line_based):
47137         Use it to avoid signed integer overflow.
47139 2019-02-25  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
47141         Fix mod-test build failure
47143         Problem reported by Glenn Morris in:
47144         https://lists.gnu.org/r/emacs-devel/2019-02/msg00739.html
47145         * test/Makefile.in (HYBRID_MALLOC, LIBEGNU_ARCHIVE):
47146         New macros, taken from ../src/Makefile.in.
47147         (MODULE_CFLAGS): Add -I$(srcdir)/../lib.
47148         ($(test_module)): Link $(LIBEGNU_ARCHIVE) too.
47150 2019-02-25  Juri Linkov  <juri@linkov.net>
47152         * lisp/vc/diff-mode.el (diff-font-lock-keywords): Add more Git headers.
47154         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Set mode to
47155         the selected major-mode, so diff-mode could be detected afterwards.
47157 2019-02-25  Juri Linkov  <juri@linkov.net>
47159         * lisp/frame.el (make-frame-on-monitor): New command.  (Bug#34516)
47161         (make-frame-on-display): Add completion on available display names.
47163 2019-02-25  Paul Eggert  <eggert@cs.ucla.edu>
47165         format-time-string: document new '+' flag
47167         * doc/lispref/os.texi (Time Parsing), etc/NEWS:
47168         * src/timefns.c (Fformat_time_string): Document the new
47169         behavior, added for compatibility with POSIX.1-2017.
47171 2019-02-25  Paul Eggert  <eggert@cs.ucla.edu>
47173         Update from Gnulib
47175         This incorporates:
47176         2019-02-24 nstrftime: support the ‘+’ flag
47177         2019-02-24 stat, lstat: fix conflict with relocatable-prog-wrapper
47178         2019-02-23 nstrftime: tweak arg order
47179         2019-02-21 nstrftime: merge glibc strftime changes
47180         2019-02-02 vla: add commentary about VLA_ELEMS
47181         * build-aux/config.guess, doc/misc/texinfo.tex, lib/fstatat.c:
47182         * lib/lstat.c, lib/nstrftime.c, lib/vla.h:
47183         Copy from Gnulib.
47185 2019-02-25  Michael Albinus  <michael.albinus@gmx.de>
47187         Adapt hooks in Tramp
47189         * lisp/net/tramp-archive.el (tramp-archive-cleanup-hash):
47190         Remove autoload cookie.
47191         (tramp-cleanup-all-connections-hook): Add `tramp-archive-cleanup-hash'.
47193         * lisp/net/tramp-cmds.el (tramp-cleanup-connection-hook)
47194         (tramp-cleanup-all-connections-hook): New hook variables.
47195         (tramp-cleanup-connection): Set `tramp-current-connection' always
47196         to nil.
47197         (tramp-cleanup-connection): Do not call `tramp-recentf-cleanup'.
47198         Run ´tramp-cleanup-connection-hook`.
47199         (tramp-cleanup-all-connections): Do not call
47200         `tramp-archive-cleanup-hash' and ´tramp-recentf-cleanup'.  Run
47201         `tramp-cleanup-all-connections-hook'.
47203         * lisp/net/tramp-ftp.el (top): Simply call `tramp-disable-ange-ftp'.
47205         * lisp/net/tramp-integration.el (tramp-recentf-cleanup-all): New defun.
47206         (top): Adapt `tramp-integration-unload-hook',
47207         `tramp-cleanup-connection-hook' and
47208         `tramp-cleanup-all-connections-hook'.
47210 2019-02-24  Alex Branham  <alex.branham@gmail.com>
47212         * lisp/comint.el (comint-skip-input): Set inhibit-read-only to t
47214         Bug#33975
47216 2019-02-24  Philipp Stephani  <phst@google.com>
47218         Ignore pending_signals when checking for quits.
47220         pending_signals is often set if no quit is pending.  This results in
47221         bugs in module code if the module returns but no quit is actually
47222         pending.
47224         As a better alternative, add a new process_input environment function
47225         for Emacs 27.  That function processes signals (like maybe_quit).
47227         * configure.ac: Add module snippet for Emacs 27.
47229         * src/module-env-27.h: New file.
47231         * src/emacs-module.h.in: Add process_input function to environment
47232         interface.
47234         * src/emacs-module.c (module_should_quit): Use QUITP macro to check
47235         whether the caller should quit.
47236         (module_process_input): New function.
47237         (initialize_environment): Use it.
47239         * src/eval.c: Remove obsolete comment.
47241         * test/data/emacs-module/mod-test.c (signal_wrong_type_argument)
47242         (signal_errno): New helper functions.
47243         (Fmod_test_sleep_until): New test module function.
47245         * test/src/emacs-module-tests.el (mod-test-sleep-until): New unit
47246         test.
47248         * doc/lispref/internals.texi (Module Misc): Document process_input.
47250 2019-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
47252         * lisp/term.el: Fix minor compilation issues with cl-lib and lexbind
47254         Remove left-over comment from the bulk comint->term query/replace.
47255         (term-command-function): Rename from term-command-hook.
47256         Give it a global default value.
47257         (term-suppress-hard-newline): Mark it as generally obsolete.
47258         (term-mode): Don't manually make hooks buffer-local.
47259         (term--remove-fake-newlines): Fix assert -> cl-assert.
47260         (term-char-mode): Use add-function.
47261         (term-send-input): Use run-hook-with-args.
47262         (term-dynamic-complete): Use run-hook-with-args-until-success.
47263         (term-dynamic-simple-complete): Completion tables can be plain lists.
47264         (serial-read-name): Simplify and fix misuse of `set`.
47266 2019-02-24  John Shahid  <jvshahid@gmail.com>
47268         Adjust line wrapping on window resize and killing text
47270         * lisp/term.el (term-mode): Advice filter-buffer-substring-function to
47271         remove line unwrapping from killed text.
47272         (term-reset-size): Add or remove line unwrapping depending on the new
47273         terminal width.
47274         (term-suppress-hard-newline): Mark obsolete.
47275         (term-unwrap-line): Use text properties to be able to find the
47276         newlines later.
47278 2019-02-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
47280         Make pinyin to Chinese character mapping available to elisp
47282         * leim/Makefile.in: Build the file pinyin.el from pinyin.map.
47283         * lisp/international/titdic-cnv.el (pinyin-convert): New function that
47284           writes the library pinyin.el, containing a new constant
47285           `pinyin-character-map'.
47286         * .gitignore: Ignore the generated pinyin.el file.
47288 2019-02-24  Richard Stallman  <rms@gnu.org>
47290         fix rmail armor decryption problems
47292         * lisp/mail/rmail.el (rmail-epa-decrypt): Don't decrypt an armor
47293         that was copied into the message from a message it is a reply to.
47294         (rmail-epa-decrypt-1): Catch and ignore errors in
47295         epa-decrypt-region.  Make armor-start and armor-end markers.
47297 2019-02-24  Richard Stallman  <rms@gnu.org>
47299         Don't clobber epa-mail-aliases
47301         * lisp/epa-mail.el (epa-mail-default-recipients):
47302         Copy elements of epa-mail-aliases; don't clobber them.
47304 2019-02-24  Eli Zaretskii  <eliz@gnu.org>
47306         * doc/lispref/text.texi (Replacing): Fix a typo in recent change.
47308 2019-02-24  Michael Albinus  <michael.albinus@gmx.de>
47310         Cleanup also recentf files in Tramp
47312         * doc/misc/tramp.texi (Cleanup remote connections): Mention also
47313         recentf cache.
47315         * lisp/net/tramp-cmds.el (tramp-cleanup-connection)
47316         (tramp-cleanup-all-connections): Call `tramp-recentf-cleanup'.
47318         * lisp/net/tramp-integration.el: New package.
47320         * lisp/net/tramp.el (tramp-rfn-eshadow-overlay)
47321         (tramp-rfn-eshadow-setup-minibuffer)
47322         (tramp-rfn-eshadow-update-overlay-regexp)
47323         (tramp-rfn-eshadow-update-overlay):
47324         (tramp-eshell-directory-change): Move to tramp-integration.el
47326 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
47328         Don’t assume timersub and gettimeofday
47330         POSIX does not specify timersub, and marks gettimeofday as
47331         obsolescent.  Avoid porting problems by using timespec.h
47332         functions instead.
47333         * src/editfns.c: Include systime.h instead of sys/time.h.
47334         (EXTRA_CONTEXT_FIELDS): Replace start and max_secs with
47335         time_limit.  All uses changed.  This removes the need to call
47336         gettimeofday or timersub.
47337         * src/term.c (timeval_to_Time): Remove.  Replace all uses with ...
47338         (current_Time): ... this new function, removing the need to
47339         call gettimeofday.
47341 2019-02-23  Tassilo Horn  <tsdh@gnu.org>
47343         Improve replace-buffer-contents/replace-region-contents
47345         * src/editfns.c (Freplace_buffer_contents): Add two optional arguments
47346           for mitigating performance issues.
47347         * lisp/emacs-lisp/subr-x.el (replace-region-contents): Move from
47348           subr.el.  Add the same two arguments as for replace-buffer-contents.
47349         * lisp/json.el (json-pretty-print-max-secs): New variable holding the
47350           default MAX-SECS value json-pretty-print passes to
47351           replace-buffer-contents.
47352           (json-pretty-print): Use it.
47353         * doc/lispref/text.texi (Replacing): Add documentation for
47354           replace-buffer-contents two new optional arguments.  Document
47355           replace-region-contents.
47357 2019-02-23  Michael Albinus  <michael.albinus@gmx.de>
47359         Make last Tramp change backward compatible to Emacs 24
47361         * lisp/net/tramp-cache.el (tramp-get-file-property):
47362         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
47363         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
47364         Make them backward compatible to Emacs 24.
47366 2019-02-23  Felicián Németh  <felician.nemeth@gmail.com>
47368         Jump to the current error in xref with zero prefix arg
47370         * lisp/progmodes/xref.el (xref--next-error-function): Handle the corner case of
47371         n == 0.  (Bug#34462)
47373 2019-02-22  Paul Eggert  <eggert@cs.ucla.edu>
47375         Avoid some double-rounding of Lisp timestamps
47377         Also, simplify some time-related Lisp timestamp code
47378         while we’re in the neighborhood.
47379         * lisp/battery.el (battery-linux-proc-acpi)
47380         (battery-linux-sysfs, battery-upower, battery-bsd-apm):
47381         * lisp/calendar/timeclock.el (timeclock-seconds-to-string)
47382         (timeclock-log, timeclock-last-period)
47383         (timeclock-entry-length, timeclock-entry-list-span)
47384         (timeclock-find-discrep, timeclock-generate-report):
47385         * lisp/cedet/ede/detect.el (ede-detect-qtest):
47386         * lisp/completion.el (cmpl-hours-since-origin):
47387         * lisp/ecomplete.el (ecomplete-decay-1):
47388         * lisp/emacs-lisp/ert.el (ert--results-update-stats-display)
47389         (ert--results-update-stats-display-maybe):
47390         * lisp/emacs-lisp/timer-list.el (list-timers):
47391         * lisp/emacs-lisp/timer.el (timer-until)
47392         (timer-event-handler):
47393         * lisp/erc/erc-backend.el (erc-server-send-ping)
47394         (erc-server-send-queue, erc-handle-parsed-server-response)
47395         (erc-handle-unknown-server-response):
47396         * lisp/erc/erc-track.el (erc-buffer-visible):
47397         * lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p)
47398         (erc-cmd-PING, erc-send-current-line):
47399         * lisp/eshell/em-pred.el (eshell-pred-file-time):
47400         * lisp/eshell/em-unix.el (eshell-show-elapsed-time):
47401         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event:org-timestamp):
47402         * lisp/gnus/gnus-int.el (gnus-backend-trace):
47403         * lisp/gnus/gnus-sum.el (gnus-user-date):
47404         * lisp/gnus/mail-source.el (mail-source-delete-crash-box):
47405         * lisp/gnus/nnmaildir.el (nnmaildir--scan):
47406         * lisp/ibuf-ext.el (ibuffer-mark-old-buffers):
47407         * lisp/gnus/nnmaildir.el (nnmaildir--scan):
47408         * lisp/mouse.el (mouse--down-1-maybe-follows-link)
47409         (mouse--click-1-maybe-follows-link):
47410         * lisp/mpc.el (mpc--faster-toggle):
47411         * lisp/net/rcirc.el (rcirc-handler-ctcp-KEEPALIVE)
47412         (rcirc-sentinel):
47413         * lisp/net/tramp-cache.el (tramp-get-file-property):
47414         * lisp/net/tramp-sh.el (tramp-sh-handle-file-newer-than-file-p)
47415         (tramp-maybe-open-connection):
47416         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
47417         * lisp/org/org-clock.el (org-clock-resolve):
47418         (org-resolve-clocks, org-clock-in, org-clock-out, org-clock-sum):
47419         * lisp/org/org-timer.el (org-timer-start)
47420         (org-timer-pause-or-continue, org-timer-seconds):
47421         * lisp/org/org.el (org-evaluate-time-range):
47422         * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
47423         * lisp/pixel-scroll.el (pixel-scroll-in-rush-p):
47424         * lisp/play/hanoi.el (hanoi-move-ring):
47425         * lisp/proced.el (proced-format-time):
47426         * lisp/progmodes/cpp.el (cpp-progress-message):
47427         * lisp/progmodes/flymake.el (flymake--handle-report):
47428         * lisp/progmodes/js.el (js--wait-for-matching-output):
47429         * lisp/subr.el (progress-reporter-do-update):
47430         * lisp/term/xterm.el (xterm--read-event-for-query):
47431         * lisp/time.el (display-time-update, emacs-uptime):
47432         * lisp/tooltip.el (tooltip-delay):
47433         * lisp/url/url-cookie.el (url-cookie-parse-file-netscape):
47434         * lisp/url/url-queue.el (url-queue-prune-old-entries):
47435         * lisp/url/url.el (url-retrieve-synchronously):
47436         * lisp/xt-mouse.el (xterm-mouse-event):
47437         Avoid double-rounding of time-related values.  Simplify.
47438         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
47439         When hoping for the best (unlikely), use a better decoded time.
47440         (icalendar--convert-sexp-to-ical): Avoid unnecessary encode-time.
47441         * lisp/calendar/timeclock.el (timeclock-when-to-leave):
47442         * lisp/cedet/ede/detect.el (ede-detect-qtest):
47443         * lisp/desktop.el (desktop-create-buffer):
47444         * lisp/emacs-lisp/benchmark.el (benchmark-elapse):
47445         * lisp/gnus/gnus-art.el (article-lapsed-string):
47446         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
47447         * lisp/gnus/nnmail.el (nnmail-expired-article-p):
47448         * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
47449         * lisp/nxml/rng-maint.el (rng-time-function):
47450         * lisp/org/org-clock.el (org-clock-get-clocked-time)
47451         (org-clock-resolve, org-resolve-clocks, org-resolve-clocks-if-idle):
47452         * lisp/org/org-habit.el (org-habit-insert-consistency-graphs):
47453         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
47454         (vhdl-fix-case-region-1):
47455         Use time-since instead of open-coding most of it.
47456         * lisp/erc/erc-dcc.el (erc-dcc-get-sentinel):
47457         * lisp/erc/erc.el (erc-string-to-emacs-time, erc-time-gt):
47458         Now obsolete.  All uses changed.
47459         (erc-time-diff): Accept all Lisp time values.
47460         All uses changed.
47461         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since):
47462         * lisp/gnus/gnus-score.el (gnus-score-headers):
47463         * lisp/gnus/nneething.el (nneething-make-head):
47464         * lisp/gnus/nnheader.el (nnheader-message-maybe):
47465         * lisp/gnus/nnimap.el (nnimap-keepalive):
47466         * lisp/image.el (image-animate-timeout):
47467         * lisp/mail/feedmail.el (feedmail-rfc822-date):
47468         * lisp/net/imap.el (imap-wait-for-tag):
47469         * lisp/net/newst-backend.el (newsticker--image-get):
47470         * lisp/net/rcirc.el (rcirc-handler-317, rcirc-handler-333):
47471         * lisp/obsolete/xesam.el (xesam-refresh-entry):
47472         * lisp/org/org-agenda.el (org-agenda-show-clocking-issues)
47473         (org-agenda-check-clock-gap, org-agenda-to-appt):
47474         * lisp/org/org-capture.el (org-capture-set-target-location):
47475         * lisp/org/org-clock.el (org-clock-resolve-clock)
47476         (org-clocktable-steps):
47477         * lisp/org/org-colview.el (org-columns-edit-value)
47478         (org-columns, org-agenda-columns):
47479         * lisp/org/org-duration.el (org-duration-from-minutes):
47480         * lisp/org/org-element.el (org-element-cache-sync-duration)
47481         (org-element-cache-sync-break)
47482         (org-element--cache-interrupt-p, org-element--cache-sync):
47483         * lisp/org/org-habit.el (org-habit-get-faces)
47484         * lisp/org/org-indent.el (org-indent-add-properties):
47485         * lisp/org/org-table.el (org-table-sum):
47486         * lisp/org/org-timer.el (org-timer-show-remaining-time)
47487         (org-timer-set-timer):
47488         * lisp/org/org.el (org-babel-load-file, org-today)
47489         (org-auto-repeat-maybe, org-2ft, org-time-stamp)
47490         (org-read-date-analyze, org-time-stamp-to-now)
47491         (org-small-year-to-year, org-goto-calendar):
47492         * lisp/org/ox.el (org-export-insert-default-template):
47493         * lisp/ses.el (ses--time-check):
47494         * lisp/type-break.el (type-break-time-warning)
47495         (type-break-statistics, type-break-demo-boring):
47496         * lisp/url/url-cache.el (url-cache-expired)
47497         (url-cache-prune-cache):
47498         * lisp/vc/vc-git.el (vc-git-stash-snapshot):
47499         * lisp/erc/erc-match.el (erc-log-matches-come-back):
47500         Simplify.
47502 2019-02-22  Paul Eggert  <eggert@cs.ucla.edu>
47504         Remove some timestamp format assumptions
47506         Don’t assume that current-time and plain encode-time return
47507         timestamps in (HI LO US PS) format.
47508         * lisp/gnus/gnus-art.el (article-make-date-line)
47509         (article-lapsed-string):
47510         * lisp/gnus/gnus-demon.el (gnus-demon-time-to-step):
47511         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
47512         * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
47513         * lisp/net/pop3.el (pop3-uidl-dele):
47514         * lisp/org/ox-publish.el (org-publish-sitemap):
47515         * lisp/vc/vc-hg.el (vc-hg-state-fast):
47516         Simplify and remove assumptions about timestamp format.
47517         * lisp/gnus/gnus-art.el (article-lapsed-string):
47518         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
47519         Do not worry about time-subtract returning nil; that's not possible.
47520         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
47521         Avoid race due to duplicate current-time calls.
47522         * lisp/vc/vc-hg.el (vc-hg--time-to-integer): Remove; no longer used.
47524 2019-02-22  Alex Branham  <alex.branham@gmail.com>
47526         which-function: Do not display outdated imenu information
47528         * lisp/progmodes/which-func.el (which-function): Check
47529           `add-log-current-defun' before imenu. Update `imenu--index-alist' if
47530           needed. Bug#33695
47532 2019-02-21  Nicholas Drozd  <nicholasdrozd@gmail.com>
47534         Handle HTML 'ol' start attribute in shr.el
47536         * lisp/net/shr.el (shr-tag-ol): Don't automatically assume
47537         1-indexing for all ordered lists, use <ol> if given.
47539         * etc/NEWS: Announce change in shr behavior.
47541         * test/data/shr/ol.html:
47542         * test/data/shr/ol.txt: New test data files.
47544 2019-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
47546         * lisp/vc/diff-mode.el: Reduce redundancy in diff-syntax-fontify code
47548         (diff--iterate-hunks): New function extracted from diff--font-lock-refined.
47549         (diff--font-lock-refined, diff--font-lock-syntax): Use it.
47550         (diff--overlay-auto-delete): Rename from diff--font-lock-refine--refresh.
47551         (diff--font-lock-syntax--refresh): Delete.
47552         (diff-syntax-fontify-hunk): Don't completely silence errors.
47553         (diff-syntax-fontify-props): Remove `no-init` arg, testing if `file` is
47554         nil instead.  Adjust all callers.
47555         (diff-syntax-fontify-props): Remove redundant code since we don't
47556         modify the buffer.
47558 2019-02-21  Mattias Engdegård  <mattiase@acm.org>
47560         Replace 8-bit-specific case-manipulation
47562         * lisp/completion.el (cmpl-coerce-string-case):
47563         Rewrite case-changing code written for ASCII or latin-1 but not valid
47564         in generally today.
47566 2019-02-20  Michael R. Mauger  <michael@mauger.com>
47568         Correct implementation of `sql-set-product-feature' (Bug#30494).
47570         * lisp/progmodes/sql.el (sql-add-product): Correct argument spec.
47571         (sql-set-product-feature): Handle all cases as intended.
47572         (sql-get-product-feature): Fetch variable value by `eval'.
47573         * test/lisp/progmodes/sql-tests.el (sql-test-feature-value-[a-d]):
47574         New test variables.
47575         (sql-test-product-feature-harness): New test macro.
47576         (sql-test-add-product, sql-test-add-existing-product)
47577         (sql-test-set-feature, sql-test-set-indirect-feature)
47578         (sql-test-set-existing-feature)
47579         (sql-test-set-existing-indirect-feature)
47580         (sql-test-set-missing-product, sql-test-get-feature)
47581         (sql-test-get-indirect-feature, sql-test-get-missing-product)
47582         (sql-test-get-missing-feature)
47583         (sql-test-get-missing-indirect-feature): New ERT tests
47585 2019-02-20  Glenn Morris  <rgm@gnu.org>
47587         Merge from origin/emacs-26
47589         ff9c962 ; * lisp/ldefs-boot.el: Update.
47590         b4a251c * ; ChangeLog.3 update
47591         d3104e3 * etc/AUTHORS: Update.
47592         a19bfb7 Remove .art from the default list of ImageMagick extensions
47593         6985caa Fix input after setting x-wait-for-event-timeout nil
47594         715388a Fix two warnings in eshell.texi
47595         d49cdd9 * lisp/minibuffer.el (completion-table-dynamic): Improve docs...
47596         5dc4e51 * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fi...
47597         76ef805 Fix a typo in ELisp manual
47598         b5e66f4 Update citations of Internet RFCs
47599         57ece2a Fix handling of manpage references divided by hyphenation
47600         7ad0cd6 * doc/misc/eshell.texi: Fix some @ref's.
47601         12b7940 Fix a typo in lispref/syntax.texi
47603         # Conflicts:
47604         #       lisp/gnus/nnrss.el
47605         #       lisp/mail/ietf-drums.el
47607 2019-02-20  Tassilo Horn  <tsdh@gnu.org>
47609         Fix missing interactive spec
47611         * lisp/json.el (json-pretty-print-buffer-ordered): Add interactive
47612           spec "P" which has been missing.
47614 2019-02-20  Michael Albinus  <michael.albinus@gmx.de>
47616         Improve connection hand-shaking in tramp-adb.el
47618         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
47619         Send an additional RET.
47621 2019-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
47623         * lisp/progmodes/sql.el (sql-is-indent-available): Remove
47625         (sql-indent-enable): Check (fboundp 'sqlind-minor-mode) without
47626         wondering which file might provide it.
47627         (sql-read-connection): η-reduce 'car'.
47629 2019-02-20  Martin Rudalics  <rudalics@gmx.at>
47631         Fix handling of MINIBUF argument in 'walk-window-tree'
47633         * lisp/window.el (walk-window-tree): Handle MINIBUF argument
47634         as advertised when FRAME is minibuffer-only.
47635         (window--resize-apply-p, window--sanitize-window-sizes)
47636         (delete-other-windows, split-window-sensibly): Call
47637         'walk-window-tree' with suitable MINIBUF argument.
47639 2019-02-19  Glenn Morris  <rgm@gnu.org>
47641         * lisp/progmodes/sql.el: Fix use of string-empty-p in recent change.
47643 2019-02-19  Charles A. Roelli  <charles@aurox.ch>
47645         Simplify easy-mmode-define-navigation
47647         * lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
47648         Simplify a one-argument call to "or" and use buffer-narrowed-p instead
47649         of checking that condition by hand.
47651 2019-02-19  Michael Albinus  <michael.albinus@gmx.de>
47653         Implement access-file in Tramp
47655         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
47656         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
47657         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
47658         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
47659         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
47660         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
47661         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
47662         Add `access-file'.
47664         * lisp/net/tramp-archive.el (tramp-archive-handle-access-file):
47665         * lisp/net/tramp.el (tramp-handle-access-file): New defun.
47666         (tramp-condition-case-unless-debug): Add declaration.
47667         (tramp-handle-insert-directory):
47668         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
47669         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
47670         Check, whether directory is accessible.
47672         * test/lisp/net/tramp-archive-tests.el
47673         (tramp-archive-test17-insert-directory)
47674         (tramp-archive-test18-file-attributes):
47675         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
47676         (tramp-test18-file-attributes): Test error cases.
47678 2019-02-19  João Távora  <joaotavora@gmail.com>
47680         cycle-sort-function prevails in completion-all-sorted-completions
47682         * lisp/minibuffer.el (completion-all-sorted-completions): If
47683         completion table has cycle-sort-function, that prevails over other
47684         sorting strategies.
47686 2019-02-19  João Távora  <joaotavora@gmail.com>
47688         switch-to-buffer's completion table uses its own sorting
47690         * src/minibuf.c (Finternal_complete_buffer): Add
47691         Qcycle_sort_function to completion table's metadata.
47692         (syms_of_minibuf): New symbol Qcycle_sort_function.
47694 2019-02-18  Michael R. Mauger  <michael@mauger.com>
47696         Merge branch 'wallet'
47698         * lisp/progmodes/sql.el: Added password wallet using
47699         `auth-source' package.
47700         (sql-auth-source-search-wallet): New function.
47701         (sql-password-wallet): New variable.
47702         (sql-password-search-wallet-function): New variable.
47703         (sql-get-login): Handle password wallet search.
47704         (sql-product-interactive): Handle password function.
47705         * test/lisp/progmodes/sql-tests.el: Test wallet changes.
47706         (sql-test-login-params): New test variable.
47707         (with-sql-test-connect-harness): New macro to wrap test
47708         configuration around calls to `sql-connect'.
47709         (sql-test-connect, sql-test-connect-password-func)
47710         (sql-test-connect-wallet-server-database)
47711         (sql-test-connect-wallet-database)
47712         (sql-test-connect-wallet-server): New ERT tests.
47713         * etc/NEWS: Updated SQL Mode descriptions.
47715 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
47717         * lisp/mh-e/mh-acros.el (mh-defstruct): Minor simplification
47719         * lisp/erc/erc.el (erc-version-string): Remove, unused
47721 2019-02-18  Michael R. Mauger  <michael@mauger.com>
47723         * lisp/progmodes/sql.el defensive programming
47725         (sql-statement-regexp): if 'ansi' dialect is not defined, use "select"
47726         (sql-interactive-mode): establish process sentinel iff there is a
47727         process. Default values for :prompt-regexp and :prompt-length.
47728         (sql-product-interactive): only check process status iff there is a
47729         process.
47731 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
47733         * lisp/elec-pair.el: Do modify+undo more carefully
47735         (electric-pair-inhibit-if-helps-balance): Use the undo system
47736         instead of undoing by hand.
47738 2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>
47740         Speed up cl-list-length
47742         * lisp/emacs-lisp/cl-extra.el (cl-list-length): Use ‘length’
47743         to do the real work; this is simpler and uses a better algorithm.
47745 2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>
47747         Minor profiler improvements
47749         * src/profiler.c (evict_lower_half, record_backtrace)
47750         (setup_cpu_timer, cmpfn_profiler, hashfn_profiler):
47751         Assume C99.  Use bool for boolean.
47752         (timer_getoverrun): Remove; simplify use to not need it.
47753         (Fprofiler_cpu_start): Any negative return from setup_cpu_timer fails.
47754         (Fprofiler_cpu_stop): Simplify initialization.
47756 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
47758         * lisp/emacs-lisp/cl-lib.el (cl-endp): Move to cl-seq.el
47760         Use 'cl-check-type'.
47762 2019-02-18  Ken Brown  <kbrown@cornell.edu>
47764         Use 'timer_getoverrun' on Cygwin when possible
47766         * configure.ac: Add a check for the 'timer_getoverrun' function.
47768         * src/profiler.c [CYGWIN] : Define 'timer_getoverrun' as a
47769         macro only on versions of Cygwin where it is not already
47770         defined as a function.
47772 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
47774         * lisp/vc/smerge-mode.el (smerge-change-buffer-confirm): New var
47776         (smerge-vc-next-conflict): Obey it.  Save buffer before going to
47777         the next.  Don't emit message when vc-find-conflicted-file can't find
47778         other conflicted file.
47780         * lisp/vc/vc-hooks.el: Use lexical-binding.
47782         * lisp/vc/vc.el: Remove redundant :groups.
47783         (vc-find-conflicted-file): Autoload.
47785 2019-02-18  Konstantin Kharlamov  <Hi-Angel@yandex.ru>  (tiny change)
47787         * lisp/vc/smerge-mode.el (smerge-vc-next-conflict): New command
47789 2019-02-18  Michael Albinus  <michael.albinus@gmx.de>
47791         Increase timeout on emba for Tramp
47793         * test/lisp/net/tramp-tests.el
47794         (tramp--test-shell-command-to-string-asynchronously):
47795         Increase timeout on emba.
47797 2019-02-18  Paul Eggert  <eggert@cs.ucla.edu>
47799         * src/fns.c: Fix comment.
47801 2019-02-17  Paul Eggert  <eggert@cs.ucla.edu>
47803         emacs-init-time outputs more digits now
47805         * lisp/time.el (emacs-init-time): Output more digits;
47806         formerly this was always outputting "0.0 seconds" for me
47807         because the number of seconds was less than 0.1.
47809 2019-02-17  Paul Eggert  <eggert@cs.ucla.edu>
47811         * lisp/emacs-lisp/cl-lib.el (cl-endp): Remove stray 'x.
47813 2019-02-17  Juri Linkov  <juri@linkov.net>
47815         * lisp/tar-mode.el (tar--try-jka-compr): Remove.  (Bug#34251)
47817         (tar-extract): Call archive-try-jka-compr instead of tar--try-jka-compr.
47819         * lisp/arc-mode.el (archive-try-jka-compr): Call set-buffer-multibyte
47820         after erase-buffer.
47822 2019-02-17  Alan Mackenzie  <acm@muc.de>
47824         Fontify C function identifiers in parentheses correctly (e.g. in lisp.h)
47826         Fix handling of CC Mode's syntactic WS cache.  Make noise-macro option
47827         variables buffer local.
47829         * lisp/progmodes/cc-engine.el (c-put-is-sws, c-put-in-sws, c-remove-is-sws)
47830         (c-remove-in-sws c-remove-is-and-in-sws): Add edebug specs.
47831         (c-invalidate-sws-region-before): Add a `beg' parameter.  Handle noise
47832         macros like other literals.
47833         (c-invalidate-sws-region-after-del): Move the adjustment of (cdr
47834         c-sws-lit-limits) due to buffer change to c-invalidate-sws-region-after.
47835         (c-invalidate-sws-region-after-ins): Move (goto-char end) to the correct
47836         place.
47837         (c-invalidate-sws-region-after): Adjust (cdr c-sws-lit-limits) due to buffer
47838         change.  Handle noise macros.
47839         (c-backward-sws): Set simple-ws-beg appropriately when the start point is in
47840         the middle of a noise macro.
47841         (c-forward-decl-or-cast-1): Recognize a function identifier being declared in
47842         parentheses.
47844         * lisp/progmodes/cc-mode.el (c-before-change): Supply a `beg' argument to
47845         c-invalidate-sws-region-before.
47847         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
47848         (c-noise-macro-name-re, c-noise-macro-names, c-noise-macro-with-parens-names):
47849         Make these buffer local variables.
47851 2019-02-17  Alan Mackenzie  <acm@muc.de>
47853         * Put INLINE and ATTRIBUTE_NO_SANITIZE_UNDEFINED into c-noise-macro-names
47855         * .dir-locals.el (entry for c-mode): Put the two strings into
47856         c-noise-macro-names.
47858 2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>
47860         * src/lread.c (readevalloop): Simplify via suffix_p.
47862 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
47864         * lisp/startup.el (load--user-init-file): Support early-init.elc as well.
47866 2019-02-16  Stefan Monnier  <monnier@iro.umontreal.ca>
47868         * lisp/startup.el: Rename load-user-init-file
47870         Remove redundant :groups.
47871         (startup--load-user-init-file): Rename from load-user-init-file.
47873 2019-02-16  Mattias Engdegård  <mattiase@acm.org>
47875         Prevent over-eager rx character range condensation
47877         `rx' incorrectly considers character ranges between ASCII and raw bytes to
47878         cover all codes in-between, which includes all non-ASCII Unicode chars.
47879         This causes (any "\000-\377" ?Å) to be simplified to (any "\000-\377"),
47880         which is not at all the same thing: [\000-\377] really means
47881         [\000-\177\200-\377] (Bug#34492).
47883         * lisp/emacs-lisp/rx.el (rx-any-condense-range): Split ranges going
47884         from ASCII to raw bytes.
47885         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any-raw-byte): Add test case.
47886         * etc/NEWS: Mention the overall change (Bug#33205).
47888 2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>
47890         Port tramp-adb to various 'touch' platforms
47892         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
47893         Try nanoseconds first, then plain seconds, then touch -t.
47895 2019-02-15  Eli Zaretskii  <eliz@gnu.org>
47897         Fix 'early-init-file' value when file is missing
47899         * lisp/startup.el (command-line): Pass 'early-init.el', with
47900         an explicit .el extension, to load-user-init-file.
47901         Reported by Radon Rosborough <radon.neon@gmail.com> in
47902         https://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00314.html.
47904 2019-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>
47906         * lisp/progmodes/cc-engine.el: Remove unneeded require of 'cl'
47908         Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
47910         * src/lread.c (readevalloop): Use filename to decide macroexpansion
47912 2019-02-15  Glenn Morris  <rgm@gnu.org>
47914         * test/lisp/textmodes/conf-mode-tests.el (conf-test-align-assignments):
47915         Fix whitespace.
47917 2019-02-15  Glenn Morris  <rgm@gnu.org>
47919         Merge from origin/emacs-26
47921         f721084 (origin/emacs-26) Avoid errors in erc-dcc.el when erc-dcc-ver...
47922         3cba92d Fix faces in compilation messages
47924 2019-02-15  Glenn Morris  <rgm@gnu.org>
47926         Merge from origin/emacs-26
47928         25d9fe2 Work for empty MIME attachments (related to bug#34387)
47930 2019-02-15  Glenn Morris  <rgm@gnu.org>
47932         Merge from origin/emacs-26
47934         3f4b8e9 * src/data.c (Fmake_local_variable): Fix bug#34318
47935         b384996 Minor fixes in ELisp manual wrt syntax-table properties
47936         71fc6d2 * admin/notes/emba: New file.
47937         3aaa2d2 Fix Hunspell invocation for discovering its dictionaries
47939         # Conflicts:
47940         #       test/src/data-tests.el
47942 2019-02-15  Stefan Monnier  <monnier@iro.umontreal.ca>
47944         * lisp/progmodes/compile.el: Remove redundant :groups
47946         (compilation-shell-minor-mode, compilation-minor-mode): Use :lighter
47947         rather than the old positional args.
47948         (compilation-next-error): Make "No error here" into a user-error.
47950 2019-02-15  Eli Zaretskii  <eliz@gnu.org>
47952         Make ls-lisp.el behave like Posix hosts when directory doesn't exist
47954         * lisp/ls-lisp.el (ls-lisp-insert-directory): For a directory
47955         that cannot be accessed, signal an error, like insert-directory
47956         does on Posix systems.  This causes files-tests.el to pass on
47957         MS-Windows.
47959 2019-02-15  Eli Zaretskii  <eliz@gnu.org>
47961         Support ~USER for some names on MS-Windows
47963         * src/w32.c (getpwnam): Support usernames provided through
47964         LOGNAME or USERNAME environment variables, to mimic what
47965         editfns.c:init_editfns does.
47967 2019-02-15  Alex Branham  <alex.branham@gmail.com>
47969         Add basic conf-mode tests
47971         * test/lisp/textmodes/conf-mode-tests.el: New file with tests for
47972         conf-mode.  Mostly taken from conf-mode docstrings.  (Bug#34419)
47974 2019-02-15  Alex Branham  <alex.branham@gmail.com>
47976         Use lexical binding for conf-mode
47978         * lisp/textmodes/conf-mode.el: Use lexical binding.
47979         (conf-align-assignments, conf-quote-normal, conf-mode-initialize):
47980         Doc fix.  (Bug#34419)
47982 2019-02-15  Eli Zaretskii  <eliz@gnu.org>
47984         Add documentation for last change in eww.el
47986         * doc/misc/eww.texi (Basics): Document the prefix arg effect
47987         on "M-x eww".  (Bug#34374)
47989         * etc/NEWS: Mention the change in behavior of 'eww'.
47991 2019-02-15  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
47993         * lisp/net/eww.el (eww): With prefix arg, open url in new buffer.
47995         Bug#34374
47997 2019-02-14  João Távora  <joaotavora@gmail.com>
47999         Change scoring strategy for 'flex' completion style
48001         The previous strategy had problems comparing scores of matches to
48002         strings of different lengths.  This one seems slightly more sensible,
48003         and uses a new constant `flex-score-match-tightness' instead of the
48004         more abstract `flex-score-falloff'.
48006         It's not completely without problems, and I think it shouldn't count
48007         "holes" at the front and at the back, but that needs a different
48008         "pattern-to-regexp" conversion in completion-pcm--hilit-commonality.
48010         (defun test ()
48011           (mapcar (lambda (a)
48012                     (cons (substring-no-properties a)
48013                           (get-text-property 0 'completion-score a)))
48014                   (sort (completion-pcm--hilit-commonality
48015                           '(prefix "f" star "o" star "o" point)
48016                           '("foo"
48017                             "barfoobaz"
48018                             "foobarbaz"
48019                             "barbazfoo"
48020                             "fabrobazo"
48021                             "foot"
48022                             "foto"
48023                             "fotttttttttttttttttttttttto"))
48024               (lambda (a b)
48025                 (> (get-text-property 0 'completion-score a)
48026                    (get-text-property 0 'completion-score b))))))
48028         (let ((flex-score-match-tightness 100)) (test))
48029         => (("foo" . 1.0)
48030             ("foot" . 0.375)
48031             ("foto" . 0.375)
48032             ("foobarbaz" . 0.16260162601626016) ;; one hole
48033             ("barbazfoo" . 0.16260162601626016) ;; one hole
48034             ("barfoobaz" . 0.10964912280701755) ;; two holes
48035             ("fabrobazo" . 0.10964912280701755) ;; two holes
48036             ("fotttttttttttttttttttttttto" . 0.04982561036372696))
48038         (let ((flex-score-match-tightness 0.1)) (test))
48039         => (("foo" . 1.0)
48040             ("foot" . 0.375)
48041             ("foto" . 0.375)
48042             ("barfoobaz" . 0.007751937984496124) ;; two holes
48043             ("fabrobazo" . 0.007751937984496124) ;; two holes
48044             ("foobarbaz" . 0.00641025641025641)  ;; one hole
48045             ("barbazfoo" . 0.00641025641025641)  ;; one hole
48046             ("fotttttttttttttttttttttttto" . 0.0004789272030651341))
48048         * lisp/minibuffer.el (flex-score-falloff): Rename to
48049         flex-score-match-tightness.
48050         (completion-pcm--hilit-commonality): Update function.
48052 2019-02-14  Mattias Engdegård  <mattiase@acm.org>
48054         Add categories L, R, SPC and . to `rx' doc string
48056         * lisp/emacs-lisp/rx.el (rx): Add new categories to doc string.
48058 2019-02-14  Mattias Engdegård  <mattiase@acm.org>
48060         Use lexical-binding in rx.el
48062         * lisp/emacs-lisp/rx.el: Use lexical-binding.
48063         (rx-form): Use `let' to bind the dynamic variable `rx-parent' instead
48064         of binding it as an argument.
48066 2019-02-14  João Távora  <joaotavora@gmail.com>
48068         * lisp/minibuffer.el (completion-styles-alist): Tweak flex's docstring
48070 2019-02-14  Michael Albinus  <michael.albinus@gmx.de>
48072         Adapt tramp-adb-handle-set-file-times
48074         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
48075         Use 'touch -d', 'touch -t' does not seem to work.  Use Universal Time.
48077 2019-02-13  Dmitry Gutov  <dgutov@yandex.ru>
48079         Rename project-query-replace to project-query-replace-regexp
48081         * lisp/progmodes/project.el (project-query-replace): Rename to
48082         project-query-replace-regexp.
48084 2019-02-13  Gregor Zattler  <telegraph@gmx.net>
48086         * doc/misc/eshell.texi (Built-ins): Fix alias description
48088         Dear eamcs developers, eshells current documentation first states
48089         that alias definitions are not saved to an alias file, later that
48090         they are saved to an alias file.  I tested it and the latter is
48091         correct.
48093         Please find attached a patch which fixes this.
48095         Thanks for working on emacs which is really great, Gregor
48097         >From 1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
48098         From: Gregor Zattler <telegraph@gmx.net>
48099         Date: Wed, 13 Feb 2019 20:19:38 +0100
48100         Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.
48102         Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
48103         which describes the actual behaviur.
48105 2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>
48107         Add missing dependency to ucs-normalize.el
48109         * lisp/international/ucs-normalize.el:
48110         Require regexp-opt when compiling.  Problem reported by hx in:
48111         https://lists.gnu.org/r/emacs-devel/2019-02/msg00334.html
48113 2019-02-13  João Távora  <joaotavora@gmail.com>
48115         Score flex-style completions according to match tightness
48117         The new completion style needs to score completion matches so that we
48118         can use it later on when sorting the completions.  This is because
48119         "foo" can flex-match "foobar", "frodo" and "barfromsober" but we
48120         probably want "foobar" to appear at the top of the completion list.
48122         This change introduces a scoring formula and adds scoring hints in the
48123         candidate string's `completion-score' property.
48125         * lisp/minibuffer.el (completion-pcm--hilit-commonality): Propertize
48126         completion with 'completion-score
48127         (flex-score-falloff): New variable.
48129 2019-02-13  João Távora  <joaotavora@gmail.com>
48131         Add a new 'flex' completion style
48133         * lisp/minibuffer.el (completion-styles-alist): Add flex.
48134         (completion-substring--all-completions): Accept
48135         transform-pattern-fn arg.
48136         (completion-flex-all-completions, completion-flex-try-completion)
48137         (completion-flex--make-flex-pattern): New functions.
48139 2019-02-13  Eli Zaretskii  <eliz@gnu.org>
48141         Avoid crashes upon C-g in nested invocations of 'read_char'
48143         * src/keyboard.c (read_char, read_event_from_main_queue):
48144         Ensure the global value of getcjmp is restored when the stack
48145         is unwound by the likes of 'throw', by calling
48146         record_unwind_protect_ptr instead of restoring the value
48147         manually.  (Bug#34394)
48148         (restore_getcjmp): Argument is now 'void *', to match the
48149         signature of record_unwind_protect_ptr.
48151 2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>
48153         Don’t assume CURRENT_TIME_LIST
48155         * lisp/progmodes/cc-cmds.el (c-progress-init)
48156         (c-progress-update):
48157         * lisp/progmodes/cperl-mode.el (cperl-time-fontification):
48158         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
48159         (vhdl-fix-case-region-1):
48160         Don’t assume (current-time) returns a list.
48161         Fix unlikely bug if we’re called 65536 seconds apart.
48163 2019-02-13  Paul Eggert  <eggert@cs.ucla.edu>
48165         Don’t assume CURRENT_TIME_LIST
48167         * lisp/url/url-util.el (url-lazy-message):
48168         Don’t assume (current-time) returns a list.
48169         Fix unlikely bug if we’re called 65536 seconds apart.
48171 2019-02-12  Paul Eggert  <eggert@cs.ucla.edu>
48173         Simplify nnspool-request-newgroups arithmetic
48175         * lisp/gnus/nnspool.el (nnspool-request-newgroups):
48176         Simplify by compute time stamps as integers, not floats,
48177         since integers don’t overflow any more.
48179 2019-02-12  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
48180             Felipe Ochoa  <felipe@fov.space>
48182         Indent arrows’ expression bodies like function bodies (Bug#25904)
48184         * lisp/progmodes/js.el (js--continued-expression-p): Don’t confuse
48185         ‘=>’ for a ‘>’ operator.
48186         (js--line-terminating-arrow-re): New variable.
48187         (js--looking-at-broken-arrow-function-p): New function.
48188         (js--proper-indentation): Don’t align arrow functions’ expression
48189         bodies starting on new lines like list continuations, instead align
48190         them like function bodies (js-indent-align-list-continuation need not
48191         be nil).
48193         * test/manual/indent/js.js: Add test for Bug#25904.
48195 2019-02-12  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
48197         js-indent-align-list-continuation: Make variable safe
48199         * lisp/progmodes/js.el (js-indent-align-list-continuation): Indicate
48200         variable is safe as a file-local variable.  This fixes the
48201         js-indent-align-list-continuation-nil test when run with make.
48203 2019-02-12  Paul Eggert  <eggert@cs.ucla.edu>
48205         Make xterm-mouse-truncate-wrap obsolete
48207         * lisp/xt-mouse.el (xterm-mouse-truncate-wrap): Now obsolete,
48208         since we no longer need to worry about integer overflow.
48209         (xterm-mouse-event): Use plain ‘truncate’ instead.
48211 2019-02-12  Glenn Morris  <rgm@gnu.org>
48213         * admin/notes/hydra: Small updates.
48215 2019-02-11  Mattias Engdegård  <mattiase@acm.org>
48217         Add missing categories L, R, . and SPC to rx
48219         * lisp/emacs-lisp/rx.el (rx-categories):
48220         Add missing categories L, R, . and SPC.  (Bug#34436)
48222 2019-02-11  Paul Eggert  <eggert@cs.ucla.edu>
48224         Simplify url-digest-auth-make-cnonce
48226         * lisp/url/url-auth.el (url-digest-auth-make-cnonce):
48227         Simplify by using encode-time instead of round-tripping
48228         through a format-time-string and ‘read’.
48230 2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>
48232         Don’t assume CURRENT_TIME_LIST
48234         Use timestamp accessors instead of delving into a timestamp
48235         format that is planned to change in a future version.
48236         * lisp/find-lisp.el (find-lisp-format-time):
48237         * lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
48238         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
48239         Use encode-time instead of delving into timestamp format.
48240         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
48241         Use float-time instead of delving into timestamp format.
48242         * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
48243         Use format-time-string instead of delving into timestamp format.
48244         * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
48245         Use time-less-p instead of delving into timestamp format.
48246         * lisp/ido.el (ido-wash-history, ido-file-name-all-completions):
48247         Use time-equal-p instead of delving into timestamp format.
48248         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
48249         Use format-time-string to generate POSIX ‘test -t’ format instead
48250         of timestamp-format-dependent code along with shell arithmetic
48251         that can’t possibly do the right thing on a POSIX platform.
48253 2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>
48255         Simplify use of encode-time
48257         Most uses of (apply #'encode-time foo) can now be replaced
48258         with (encode-time foo).  Make similar simplifications.
48259         * lisp/calendar/time-date.el (date-to-time):
48260         * lisp/calendar/timeclock.el (timeclock-when-to-leave)
48261         (timeclock-day-base, timeclock-generate-report):
48262         * lisp/emacs-lisp/timer.el (timer-set-idle-time):
48263         * lisp/eshell/esh-util.el (eshell-parse-ange-ls):
48264         * lisp/gnus/gnus-art.el (article-make-date-line):
48265         * lisp/gnus/gnus-delay.el (gnus-delay-article)
48266         (gnus-delay-send-queue):
48267         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--decode-datefield):
48268         * lisp/gnus/gnus-logic.el (gnus-advanced-date):
48269         * lisp/gnus/message.el (message-make-expires-date):
48270         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
48271         * lisp/mail/ietf-drums.el (ietf-drums-parse-date):
48272         * lisp/net/tramp-adb.el (tramp-adb-ls-output-time-less-p):
48273         * lisp/org/org-agenda.el (org-agenda-get-timestamps)
48274         (org-agenda-get-progress, org-agenda-show-clocking-issues):
48275         * lisp/org/org-capture.el (org-capture-set-target-location):
48276         * lisp/org/org-clock.el (org-clock-get-sum-start, org-clock-sum)
48277         (org-clocktable-steps):
48278         * lisp/org/org-colview.el (org-colview-construct-allowed-dates)
48279         * lisp/org/org-macro.el (org-macro--vc-modified-time):
48280         * lisp/org/org-table.el (org-table-eval-formula):
48281         * lisp/org/org.el (org-current-time, org-store-link)
48282         (org-time-today, org-read-date, org-read-date-display)
48283         (org-display-custom-time, org-time-string-to-time)
48284         (org-timestamp-change, org-timestamp--to-internal-time):
48285         * lisp/url/url-dav.el (url-dav-process-date-property):
48286         * lisp/vc/vc-cvs.el (vc-cvs-annotate-current-time)
48287         (vc-cvs-parse-entry):
48288         Simplify use of encode-time.
48289         * lisp/org/org-clock.el (org-clock-get-clocked-time):
48290         (org-clock-resolve, org-resolve-clocks, org_clock_out)
48291         (org-clock-update-time-maybe):
48292         Avoid some rounding problems with encode-time and float-time.
48293         * lisp/org/org-clock.el (org-clock-in, org-clock-update-time-maybe):
48294         * lisp/org/org-colview.el (org-columns--age-to-minutes):
48295         * lisp/org/org.el (org-get-scheduled-time, org-get-deadline-time)
48296         (org-add-planning-info, org-2ft, org-time-string-to-absolute)
48297         (org-closest-date):
48298         Use org-time-string-to-time instead of doing it by hand with
48299         encode-time.
48300         * lisp/org/org.el (org-current-time): Simplify rounding.
48301         (org-read-date): Avoid extra trip through encode-time.
48303 2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>
48305         Fix doc string treatment of integer overflow
48307         * lisp/calendar/cal-dst.el (calendar-dst-find-startend):
48308         Fix doc string.
48310 2019-02-10  Paul Eggert  <eggert@cs.ucla.edu>
48312         Prefer encode-time to its alias
48314         * lisp/calendar/icalendar.el, lisp/calendar/timeclock.el:
48315         * lisp/emacs-lisp/timer.el, lisp/gnus/gnus-delay.el:
48316         * lisp/gnus/gnus-sum.el, lisp/gnus/nndiary.el:
48317         * lisp/gnus/nnrss.el, lisp/net/newst-backend.el:
48318         * lisp/net/rcirc.el, lisp/obsolete/xesam.el:
48319         * lisp/org/org-agenda.el, lisp/org/org-clock.el:
48320         * lisp/org/org-element.el, lisp/org/org-timer.el:
48321         * lisp/org/org.el, lisp/progmodes/flymake.el:
48322         * lisp/url/url-cache.el, lisp/url/url-cookie.el:
48323         Use encode-time instead of its alias seconds-to-time.
48325 2019-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
48327         * test/lisp/emacs-lisp/package-tests.el: Allow extra extras
48329         (package-test--compatible-p): New function.
48330         (package-test-desc-from-buffer, package-test-install-single): Use it.
48331         (package-x-test-upload-buffer, package-x-test-upload-new-version):
48332         Don't burp in presence of extra extras.
48334 2019-02-10  Mattias Engdegård  <mattiase@acm.org>
48336         Document that [:cntrl:] does not match DEL (Bug#34391)
48338         * doc/lispref/searching.texi (Character Classes):
48339         * lisp/emacs-lisp/rx.el (rx):
48340         Document that [:cntrl:] excludes DEL.
48341         * test/src/regex-emacs-tests.el (regex-tests-PTESTS-whitelist):
48342         Swap misplaced comments and fix wrong code for DEL.
48344 2019-02-10  João Távora  <joaotavora@gmail.com>
48346         Properly remove stale Flymake diagnostics on :region reports
48348         Among other bugs fixed, modifying a list structure while iterating it
48349         is a no-no.  This would again cause duplicate diagnostics.  See
48350         https://github.com/joaotavora/eglot/issues/223 for an example.
48352         * lisp/progmodes/flymake.el (Version): Bump to 1.0.5
48353         (flymake--handle-report): Use cl-loop.
48355 2019-02-10  Eli Zaretskii  <eliz@gnu.org>
48357         Unbreak the Cygw32 build
48359         * src/emacs.c (main) [HAVE_NTGUI]: Remove code that is only
48360         for WINDOWSNT or condition it on WINDOWSNT.  (Bug#34409)
48362 2019-02-10  João Távora  <joaotavora@gmail.com>
48364         Cleanup stale diagnostics on Flymake restart
48366         Not doing so would cause duplicate diagnostics.  See
48367         https://github.com/joaotavora/eglot/issues/223 for an example.
48369         * lisp/progmodes/flymake.el (Version): 1.0.4
48370         (flymake-mode): Cleanup overlays before starting Flymake.
48372 2019-02-09  Paul Eggert  <eggert@cs.ucla.edu>
48374         * lisp/ecomplete.el (ecomplete-add-item): Simplify.
48376 2019-02-09  Paul Eggert  <eggert@cs.ucla.edu>
48378         Don’t assume CURRENT_TIME_LIST
48380         * lisp/gnus/gnus-delay.el (gnus-delay-send-queue):
48381         * lisp/gnus/nnmail.el (nnmail-activate):
48382         * lisp/mh-e/mh-alias.el (mh-alias-tstamp):
48383         * lisp/net/newst-backend.el (newsticker--cache-item-compare-by-time):
48384         Use time-less-p instead of assuming timestamp format.
48386 2019-02-08  Alex Branham  <alex.branham@gmail.com>
48388         Fix byte compile warnings in checkdoc.el
48390         * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): Fix
48391           byte compile warnings by requiring lisp-mnt top-level, remove XEmacs
48392           compatibility code.
48394         Bug#34290
48396 2019-02-08  Tassilo Horn  <tsdh@gnu.org>
48398         Impl. json-pretty-print with replace-region-contents + minimization
48400         * lisp/json.el (json-pretty-print): Use the new
48401           replace-region-contents.  Add prefix arg for minimzation.
48402         (json-pretty-print-buffer): Add prefix arg for minimzation.
48403         (json-pretty-print-buffer-ordered): Add prefix arg for minimzation.
48404         (json-pretty-print-ordered): Add prefix arg for minimzation.
48406 2019-02-08  Tassilo Horn  <tsdh@gnu.org>
48408         Add new function replace-buffer-contents
48410         * src/editfns.c (Freplace_buffer_contents): Use lower value of
48411           too_expensive and enable heuristic.
48412         * lisp/subr.el (replace-region-contents): New convenient wrapper
48413           function around replace-buffer-contents.
48415 2019-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
48417         * lisp/emacs-lisp/package.el: Improve generated foo-pkg.el
48419         (package-generate-description-file): Make first line more informative.
48420         (package-buffer-info): Include keywords, to more closely match
48421         elpa.git's archive--metadata.
48423 2019-02-08  Glenn Morris  <rgm@gnu.org>
48425         Merge from origin/emacs-26
48427         0cd7b52 (origin/emacs-26) Minor improvements to do strings in callproc.c
48428         b8c7017 Improve documentation of 'date-to-time' and 'parse-time-string'
48429         46095a7 Fix downloading of URLs that end in a slash
48430         3b60a0a * doc/misc/eww.texi (Basics): Fix eww keybindings.  (Bug#34291)
48431         8e22025 Fix process-thread docstring
48432         459b669 Fix failures of vc-find-revision with non-ASCII file names
48433         e9ff190 * doc/lispref/tips.texi (Documentation Tips): Fix quotes.  (B...
48434         3e49a08 ; * src/coding.h (struct coding_system): Fix a typo in a comm...
48435         b657286 Add documentation for tabulated-list functions in the elisp m...
48436         6e0f67b Fix URL in ucs-normalize.el
48437         ce3ae1f * etc/PROBLEMS: Amend entry for profiler bug #34235 to mentio...
48439         # Conflicts:
48440         #       doc/lispref/os.texi
48442 2019-02-08  Glenn Morris  <rgm@gnu.org>
48444         Merge from origin/emacs-26
48446         9d87ba1 * etc/PROBLEMS: Mention profiler-report bug (Bug#34235).
48448 2019-02-08  Robert Pluim  <rpluim@gmail.com>
48450         Unify three font info structures
48452         * src/ftfont.h (struct font_info): New type, unifies similar types
48453         from ftcrfont.c, ftfont.c and xftfont.c
48454         * src/xftfont.c (struct xftfont_info): Remove, replace with struct
48455         font_info.  Adjust all uses.
48456         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
48457         * src/ftfont.c (struct ftfont_info): Likewise.
48459         (cherry picked from commit 9e0d69b5a17a0fa3b0dd099a51584a85f3ddb5bf)
48461 2019-02-08  Robert Pluim  <rpluim@gmail.com>
48463         Unify three font info structures
48465         * src/ftfont.h (struct font_info): New type, unifies similar types
48466         from ftcrfont.c, ftfont.c and xftfont.c
48467         * src/xftfont.c (struct xftfont_info): Remove, replace with struct
48468         font_info.  Adjust all uses.
48469         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
48470         * src/ftfont.c (struct ftfont_info): Likewise.
48472 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
48474         Minor fixes for last change
48476         * etc/NEWS: Announce the change in EWW download behavior.
48478         * lisp/net/eww.el (eww-download): Doc fix.  (Bug#34291)
48480 2019-02-07  Nick Drozd  <nicholasdrozd@gmail.com>
48482         Download of URL in EWW falls back on current URL
48484         * lisp/net/eww.el (eww-download): If there's no URL at point,
48485         download the current URL instead.  Previous behavior was to
48486         signal an error if there was no URL at point.  (Bug#34291)
48487         * doc/misc/eww.texi (Basics): Update documentation.
48489 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
48491         Minor fix for unexec builds.
48493         * src/emacs.c (main): Fix assertions and logic for pdump
48494         loading in builds that can both unexec and pdump.
48496 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
48498         Avoid segfaults on MS-Windows in enexec'ed Emacs
48500         * src/emacs.c (main) [WINDOWSNT]: Fix logic of using dynamic
48501         heap in unexec case.  (Bug#34277)
48503 2019-02-07  Dmitry Gutov  <dgutov@yandex.ru>
48505         Avoid unnecessary consing in project--files-in-directory
48507         * lisp/progmodes/project.el (project--remote-file-names): New function.
48508         (project--files-in-directory): Use it.
48510 2019-02-07  Ian Dunn  <dunni@gnu.org>
48512         Add vc-hg-revert-switches
48514         * lisp/vc/vc-hg.el (vc-hg-revert-switches): New option.
48515         (vc-hg-revert): Use it.
48517 2019-02-07  Dmitry Gutov  <dgutov@yandex.ru>
48519         Rename multifile.el to fileloop.el
48521         * lisp/multifile.el: Rename to fileloop.el as discussed in
48522         https://lists.gnu.org/r/emacs-devel/2018-12/msg00475.html.
48523         Update symbol prefixes and all callers
48525 2019-02-07  Aurelien Aptel  <aaptel@suse.com>
48527         Revert "Fix typo in add-hook doc string"
48529         This reverts commit 7fd2ad755e7fa599697648ac4c971e834de75bf3.
48531 2019-02-06  Juri Linkov  <juri@linkov.net>
48532             João Távora  <joaotavora@gmail.com>
48534         Make window choice in xref commands configurable
48536         Previously, it wasn't easy to tell xref.el commands like
48537         xref-find-definitions or xref-find-definitions-other-window how to
48538         choose a window for the *xref* buffer or how to find windows for
48539         displaying the results after choosing a candidate.  This patch makes
48540         that task easier, but keeps the current behaviour intact.
48543         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Simplify.
48545 2019-02-06  Robert Pluim  <rpluim@gmail.com>
48547         Add dwim function for inserting @ref variants
48549         * lisp/textmodes/texinfo.el (texinfo-insert-dwim-@ref): New function.
48550         Insert @ref variant based on surrounding context.
48551         (texinfo-mode-map): Add binding for texinfo-insert-dwim-@ref.
48553         * etc/NEWS: Describe new texinfo dwim reference functionality.
48555 2019-02-06  Aurelien Aptel  <aaptel@suse.com>
48557         Fix typo in add-hook doc string
48559         * lisp/subr.el (add-hook): fix typo in doc string.
48561 2019-02-06  Eli Zaretskii  <eliz@gnu.org>
48563         Unbreak interactive invocation of temacs on MS-Windows
48565         * src/emacs.c (main) [WINDOWSNT]: Allow to invoke temacs
48566         interactively without the --temacs= option.
48568 2019-02-06  Eli Zaretskii  <eliz@gnu.org>
48570         Prevent segfaults when running inside docker
48572         * src/coding.c (syms_of_coding): New symbol Qus_ascii.
48573         (reset_coding_after_pdumper_load): Call
48574         set-safe-terminal-system-internal to set up
48575         safe_terminal_coding after restoring from pdump file.
48576         Reported by Philippe Vaucher <philippe.vaucher@gmail.com>.
48578 2019-02-06  Michael Albinus  <michael.albinus@gmx.de>
48580         Fix Bug#34196
48582         * lisp/autorevert.el (auto-revert-buffers): Handle buffers with a
48583         remote default-directory only, when they are connected.  (Bug#34196)
48585         * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
48586         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
48587         Set "connected" property.
48589         * lisp/net/tramp.el (tramp-process-actions): Revert change from
48590         2019-02-04.  Bug#34196 will be solved in autorevert.el.
48592 2019-02-05  Robert Pluim  <rpluim@gmail.com>
48594         Fix network stream tests
48596         * test/lisp/net/network-stream-tests.el
48597         (make-ipv6-tcp-server-with-unspecified-port): Skip if IPv6 is not available.
48598         (make-ipv6-tcp-server-with-specified-port): Likewise.
48599         (echo-server-with-local-ipv6): Likewise.
48601 2019-02-04  Glenn Morris  <rgm@gnu.org>
48603         * make-dist: Prefer a temporary manifest file.
48605         This prevents the manifest cluttering up the build tree,
48606         and possibly getting stale if --no-update is used.
48608 2019-02-04  Eli Zaretskii  <eliz@gnu.org>
48610         Avoid segfaults due to image cache being cleared during redisplay
48612         * src/xdisp.c (redisplay_internal): Set the
48613         inhibit_clear_image_cache flag of a frame while its windows
48614         are being redisplayed, and reset the flag after the call top
48615         update_frame returns.
48616         * src/image.c (clear_image_cache): Do nothing if the frame's
48617         inhibit_clear_image_cache flag is set.  (Bug#34256)
48618         * src/frame.h (struct frame): New flag inhibit_clear_image_cache.
48620 2019-02-04  Robert Pluim  <rpluim@gmail.com>
48622         Don't map imaps to 993 anymore except on old Windows versions
48624         'open-network-stream' will do the imaps service lookup itself, and
48625         using 993 forced the user to use the numeric value in .authinfo for
48626         certificate lookups.
48628         * lisp/gnus/nnimap.el (nnimap-map-port): Only do mapping for Windows
48629         XP or earlier.
48630         * etc/NEWS: Describe imaps mapping change.
48632 2019-02-04  Eli Zaretskii  <eliz@gnu.org>
48634         Support (locale-info 'paper) on MS-Windows
48636         * src/w32proc.c (LOCALE_IPAPERSIZE): Define if undefined.
48637         (nl_langinfo): Support _NL_PAPER_WIDTH and _NL_PAPER_HEIGHT
48638         like glibc does.
48639         * src/fns.c (Flocale_info): Update the doc string.
48641         * nt/inc/langinfo.h: Add _NL_PAPER_WIDTH and _NL_PAPER_HEIGHT
48642         to the enumeration.
48643         (_NL_PAPER_WIDTH, _NL_PAPER_HEIGHT): Define namesake macros.
48644         * nt/mingw-cfg.site (emacs_cv_langinfo__nl_paper_width): Set
48645         to 'yes'.
48647         * doc/lispref/nonascii.texi (Locales): Update the
48648         documentation of 'locale-info' for the argument of 'paper'.
48650         * etc/NEWS: Update the locale-info entry.
48652 2019-02-04  Federico Tedin  <federicotedin@gmail.com>
48654         Allow doc-view to open password-protected PDF files (bug#33684)
48656         * lisp/doc-view.el (doc-view-ghostscript-options): Removed "-sDEVICE"
48657         option.
48658         (doc-view-ghostscript-device): New customizable variable, passed as
48659         "-sDEVICE" option to GhostScript.
48660         (doc-view-pdf-password-protected-ghostscript-p): New function.
48661         (doc-view-pdf->png-converter-ghostscript): Can now open
48662         password-protected PDF files.
48663         (doc-view-pdfdraw-program-subcommand): New function.
48664         (doc-view-pdf-password-protected-pdfdraw-p): New function.
48665         (doc-view-pdf->png-converter-mupdf): Can now open password-protected
48666         PDF files.
48667         * etc/NEWS: Mention new doc-view-mode feature.
48669 2019-02-04  Michael Albinus  <michael.albinus@gmx.de>
48671         Fix Bug#34196
48673         * lisp/net/tramp.el (tramp-process-actions): Disable `global-auto-revert-mode'
48674         temporarily.  (Bug#34196)
48676 2019-02-04  Michael Albinus  <michael.albinus@gmx.de>
48678         Improve Tramp host name completion
48680         * lisp/net/tramp-rclone.el (tramp-default-host-alist): Add empty host.
48682         * lisp/net/tramp.el (tramp-parse-auth-sources): Require :port.
48684 2019-02-04  Robert Pluim  <rpluim@gmail.com>
48686         Use IPv6 localhost when family is 'ipv6
48688         This fixes Bug#34193
48690         * src/process.c (Fmake_network_process): Explicitly use ::1 when
48691         using IPv6 with 'local.  Update docstring.
48693         * test/lisp/net/network-stream-tests.el
48694         (make-ipv6-tcp-server-with-unspecified-port):
48695         (make-ipv6-tcp-server-with-specified-port): Test creating ipv6
48696         local server.
48697         (make-server): Add optional family argument, default ipv4
48698         (echo-server-with-local-ipv4): Test connecting to 'local ipv4
48699         (echo-server-with-local-ipv6): Test connecting to 'local ipv6
48701         * doc/lispref/processes.texi (Network Processes): Describe
48702         behavior when using 'local.
48704         * etc/NEWS: Document new 'make-network-process' behavior when
48705         connecting to 'local with ipv6.
48707 2019-02-03  Juri Linkov  <juri@linkov.net>
48709         * lisp/tar-mode.el (tar-extract): Call tar--try-jka-compr (bug#34251)
48711         * lisp/tar-mode.el (tar--try-jka-compr): New function copied from
48712         archive-try-jka-compr.
48714         * lisp/arc-mode.el (archive-try-jka-compr): Set buffer-multibyte to t
48715         instead of let-binding coding-system-for-read to 'no-conversion.
48717         * test/data/decompress/tg.tar.gz:
48718         * test/data/decompress/zg.zip: New fixtures.
48720         * test/lisp/arc-mode-tests.el (arc-mode-test-zip-extract-gz):
48721         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-extract-gz): New tests.
48723         * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock)
48724         (diff-mode-test-font-lock-syntax-one-line): Skip unless shell and
48725         diff executables are found.
48727 2019-02-03  Michael Albinus  <michael.albinus@gmx.de>
48729         Work on accept-process-output in Tramp
48731         * lisp/net/tramp.el (tramp-accept-process-output): Rework timer
48732         handling.
48733         (tramp-call-process): Adapt VEC if nil.
48734         (tramp-interrupt-process): Use `tramp-accept-process-output'.
48735         (tramp-process-lines): New defun.
48736         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
48737         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names): Use it.
48739         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
48740         Use timeout 0 in `tramp-accept-process-output'.
48742         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Move up.
48743         (tramp-test29-start-file-process, tramp-test30-make-process)
48744         (tramp-test32-shell-command)
48745         (tramp--test-shell-command-to-string-asynchronously): Use it.
48746         (tramp-test35-remote-path): Suppress warning.
48747         (tramp--test-asynchronous-requests-timeout): New defconst.
48748         (tramp-test43-asynchronous-requests): Skip if not the only test.
48749         Use `tramp--test-asynchronous-requests-timeout'.
48750         Remove instrumentation.  Use `start-process-shell-command' for
48751         watchdog.  Add timeout in timer function.  Print status messages.
48752         Remove file operations from sentinel.  Suppress timers in
48753         `accept-process-output'.
48755 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
48757         Support (locale-info 'paper) on GNU platforms
48759         * configure.ac (HAVE_LANGINFO__NL_PAPER_WIDTH): New macro.
48760         * src/fns.c (Flocale_info) [HAVE_LANGINFO__NL_PAPER_WIDTH]:
48761         Get paper width and height from locale.
48763 2019-02-02  Juri Linkov  <juri@linkov.net>
48765         * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock): New test.
48767         (diff-mode-test-font-lock-syntax-one-line): New test for one line.
48769         * test/data/vc/diff-mode/hello_world.c:
48770         * test/data/vc/diff-mode/hello_world_1.c:
48771         * test/data/vc/diff-mode/hello_emacs.c:
48772         * test/data/vc/diff-mode/hello_emacs_1.c: New fixtures.
48774         * lisp/vc/diff-mode.el (diff-syntax-fontify): Move remove-overlays
48775         from diff-syntax-fontify-hunk.  (Bug#33567)
48776         (diff-syntax-fontify-hunk): Remove VISIT arg from insert-file-contents.
48778 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
48780         Update from Gnulib
48782         This incorporates:
48783         2019-02-02 dtoastr, ftoastr, ldtoastr: port to c-strtod changes
48784         2019-02-01 c-strtod, c-strtold: use the bug fixes
48785         2019-01-30 strtold: New module
48786         * doc/misc/texinfo.tex, lib/ftoastr.c, lib/regexec.c, lib/stdlib.in.h:
48787         * m4/stdlib_h.m4:
48788         Copy from Gnulib.
48789         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
48790         * m4/c-strtod.m4: Remove.
48792 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
48794         Fix unlikely user-full-name integer overflow
48796         * src/editfns.c (Fuser_full_name):
48797         Don’t assume uid fits into fixnum.
48799 2019-02-02  Eli Zaretskii  <eliz@gnu.org>
48801         Prevent segfault in bootstrap-emacs on MinGW
48803         * src/emacs.c (main) [WINDOWSNT]: Fix logic of determining by
48804         argv[0] whether to use the static heap.  (Bug#34277)
48806 2019-02-02  Felicián Németh  <felician.nemeth@gmail.com>
48808         Fix Bug#34221
48810         * lisp/progmodes/project.el (project--files-in-directory):
48811         Support remote files.  (Bug#34221)
48813 2019-02-02  Martin Rudalics  <rudalics@gmx.at>
48815         Fix window splitting behavior of 'display-buffer-at-bottom'
48817         * lisp/window.el (display-buffer-at-bottom): Never split an
48818         arbitrary bottom window.  Try to split the frame's main
48819         window instead (Bug#33870).
48821 2019-02-02  Martin Rudalics  <rudalics@gmx.at>
48823         Fix bugs caused by running window change functions during redisplay
48825         * src/xdisp.c (redisplay_internal): Run window change
48826         functions before updating the display so changes induced by
48827         these functions can get caught by redisplay (Bug#34138).
48828         * src/window.c (run_window_change_functions): Bind
48829         Qinhibit_redisplay to avoid that the minibuffer window gets
48830         resized while running window change functions (Bug#34179,
48831         Bug#34260).
48833 2019-02-01  Glenn Morris  <rgm@gnu.org>
48835         * .gitignore: Add MANIFEST.
48837         * make-dist: Avoid "Bad fd number" error with dash.
48839 2019-02-01  Glenn Morris  <rgm@gnu.org>
48841         * make-dist: Remove references to src/stamp-h.in.
48843         This file was removed two years ago in 2f89350.
48845 2019-02-01  Glenn Morris  <rgm@gnu.org>
48847         * make-dist: Fix --no-update with no pre-existing MANIFEST.
48849 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48851         Restore SETFATTR substitution
48853         * configure.ac (SETFATTR): Restore the AC_SUBST of this
48854         that was inadvertently removed when pdumper support was added.
48855         Need for ./configure --with-dumping=unexec on Fedora 29.
48857 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48859         Make make-dist more automatic
48861         Simplify make-dist maintenance by having it generate its
48862         list of files more automatically.  Put the list of distributed
48863         files into a file MANIFEST that can be used in the unusual
48864         situations when you’re making a distribution without having
48865         access to a Git repository.
48866         * make-dist (top_level_ChangeLog): Now nonempty if the
48867         distribution tarball will contain a ChangeLog, instead of
48868         being nonempty when a ChangeLog is requested, Git is present
48869         and a readable ChangeLog exists.  The new interpretation makes
48870         the script a bit easier to follow.
48871         (possibly_non_vc_files, info_files, mkdir_verbose)
48872         (file_to_skip, MANIFEST_subdir_sed, tempsubdirs):
48873         New variables.
48874         (MANIFEST): Update and use this file, which now records what
48875         files are distributed.
48876         (top_level, subdir, files, file): Remove.
48878 2019-02-01  Glenn Morris  <rgm@gnu.org>
48880         * configure.ac (emacs_config_features): Add pdumper and unexec.
48882 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48884         Rename CANNOT_DUMP to HAVE_UNEXEC
48886         * configure.ac (CANNOT_DUMP): Remove.  All uses removed,
48887         or changed to the negative of with_unexec.
48888         (HAVE_UNEXEC): New macro.  All uses of CANNOT_DUMP changed
48889         to the negative of this macro.
48891 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48893         Omit some linker hacks if not doing unexec
48895         * configure.ac (LDFLAGS, LD_SWITCH_SYSTEM_TEMACS):
48896         Omit some funky linker flags if not supporting unexec.
48898         Use macOS linker hacks only if needed
48899         * configure.ac: On darwin, link with -fno-pie and -headerpad
48900         only if configuring with unexec.
48902 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48904         Stop using macOS -prebind option
48906         * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Remove -prebind,
48907         which has been obsolete and ineffective since Mac OS X 10.4 (2005),
48908         which was never necessary for correct operation, and which now
48909         generates annoying warnings.  Problem reported by Robert Pluim in:
48910         https://lists.gnu.org/r/emacs-devel/2019-01/msg00761.html
48912 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48914         Merge from origin/emacs-26
48916         6c6b540711 Correct the docs of inserting kmacro counter
48917         32555daf4c * doc/misc/calc.texi (Algebraic Tutorial): Fix a typo.  (B...
48919 2019-02-01  Paul Eggert  <eggert@cs.ucla.edu>
48921         Merge from origin/emacs-26
48923         7ba8f80398 Avoid errors in 'rmail-get-new-mail'
48924         9c8412a0b8 Fix process-contact bug with TCP connections
48926         # Conflicts:
48927         #       src/process.c
48929 2019-02-01  Mattias Engdegård  <mattiase@acm.org>
48931         Make the rx operators \? and \?? behave correctly
48933         * lisp/emacs-lisp/rx.el (rx-kleene):
48934         Treat \? and \?? like ? and ?? (Bug#34100).
48935         * test/lisp/emacs-lisp/rx-tests.el: Add tests for all repetition operators.
48937 2019-01-31  Dmitry Gutov  <dgutov@yandex.ru>
48939         js--re-search-backward-inner: Fix infloop
48941         Fix JS indentation infloop reported in
48942         https://github.com/mooz/js2-mode/issues/513.
48944         * lisp/progmodes/js.el (js--re-search-backward-inner): Account for
48945         multiline string literals.
48946         * test/manual/indent/js.js: New test example.
48948 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
48950         Prefer static to extern where either will do
48952         * src/charset.c (charset_table_size):
48953         * src/pdumper.c (dump_private):
48954         * src/sysdep.c (init_sigsegv):
48955         * src/window.c (old_selected_window):
48956         Now static.
48957         * src/charset.c (charset_table_size):
48958         Now int, since the value always fits in int.
48959         * src/gtkutil.c (xg_gtk_initialized): Now present only if
48960         HAVE_XWIDGETS, to make it clearer that this is an xwidgets
48961         hack.  All uses changed.
48962         * src/lread.c (ndefsubr): Remove; unused.
48963         * src/pdumper.h: Use usual GNU indenting style for functions,
48964         since my static-vs-extern checking hack relies on it.
48965         (dump_public): Always declare; simpler and doesn’t hurt.
48966         (pdumper_handle_page_fault): Remove unused decl.
48968 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
48970         Widen modiff counts to avoid wraparound
48972         Widen modification counts to at least 64 bits, to make
48973         wraparound practically impossible.
48974         * doc/lispref/buffers.texi (Buffer Modification):
48975         Don’t say the modification-count can wrap around.
48976         * src/buffer.c (Frestore_buffer_modified_p, Fbuffer_swap_text)
48977         (modify_overlay):
48978         * src/insdel.c (insert_1_both, insert_from_string_1)
48979         (insert_from_gap, insert_from_buffer_1)
48980         (adjust_after_replace, replace_range, replace_range_2)
48981         (del_range_2, modify_text):
48982         * src/textprop.c (modify_text_properties):
48983         Use modiff_incr instead of incrementing directly.
48984         (Fbuffer_modified_tick, Fbuffer_chars_modified_tick):
48985         Don’t assume modification counts fit into fixnums.
48986         * src/buffer.h (struct buffer_text, struct buffer):
48987         * src/cmds.c (internal_self_insert):
48988         * src/fileio.c (Finsert_file_contents):
48989         * src/indent.c (last_known_column_modified):
48990         * src/keyboard.c (command_loop_1):
48991         * src/marker.c (cached_modiff):
48992         * src/syntax.c (find_start_modiff, parse_sexp_propertize)
48993         (find_defun_start):
48994         * src/window.h (struct window):
48995         Use modiff_count for modification counts.
48996         * src/editfns.c (Fsubst_char_in_region):
48997         Copy instead of incrementing modification counts,
48998         since integer overflow checking is not needed here.
48999         * src/lisp.h (modiff_count): New type.
49000         (modiff_incr, modiff_to_integer): New inline functions.
49001         * src/pdumper.c (dump_buffer): Update hash.
49003 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
49005         Minor pdumper simplification
49007         * src/pdumper.c (dump_roots, pdumper_load): Simplify initialization.
49008         (dump_bitset_init, pdumper_load): Omit unnecessary assignments.
49009         (dump_bitset_destroy): Remove; never called.  All callers removed.
49010         (dump_do_dump_relocation, pdumper_load): Add FIXME comment.
49011         (pdumper_load): Simplify by assuming C99.  Remove unused local.
49013 2019-01-30  Glenn Morris  <rgm@gnu.org>
49015         Merge from origin/emacs-26
49017         b94d767 (origin/emacs-26) Minor copyedits in last manual change
49018         73508e6 Improve documentation of face numbers
49019         bf235ce * doc/emacs/custom.texi (Authentication): Refer to the "Help ...
49020         ceccb3c New node Authentication in the Emacs manual
49021         9078f34 Fix a loop in c-fl-decl-start.  This fixes bug #34186.
49022         a177fe7 Fix LaTeX output of month and day from cal-tex.el
49023         90177d7 Avoid elisp crash for OpenPGP User IDs with no e-mail address
49024         68e55a0 image-mode: Do not use default scaling (bug#33990)
49025         b6c762a create-image: Expand documentation (bug#33990)
49026         928d342 Improve documentation of 'isearch-filter-predicate'
49027         9034dd6 Fix cursor column positioning on Grep hits
49029         # Conflicts:
49030         #       doc/emacs/custom.texi
49032 2019-01-30  Michael Albinus  <michael.albinus@gmx.de>
49034         Fix problem in filenotify-tests
49036         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
49037         Adapt `accept-process-output' argument.
49039         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
49040         Remove :unstable tag.
49042 2019-01-30  Michael Albinus  <michael.albinus@gmx.de>
49044         * lisp/net/tramp-rclone.el (tramp-rclone-mounted-p): Fix thinko.
49046 2019-01-30  Michael Albinus  <michael.albinus@gmx.de>
49048         * test/lisp/net/tramp-tests.el
49050         (tramp-test43-asynchronous-requests): Tag it :unstable also for
49051         emba.  Adapt `accept-process-output' arguments.
49053 2019-01-29  Michael Albinus  <michael.albinus@gmx.de>
49055         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
49057         Tag as :unstable.
49059 2019-01-29  Robert Pluim  <rpluim@gmail.com>
49061         Move some descriptions to the right section
49063         * etc/NEWS: Move ibuffer and gnus change descriptions to
49064         mode-specific section.
49066 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
49068         Fix documentation of pdump file installation
49070         * doc/lispref/internals.texi (Building Emacs): Correct the
49071         directory where the pdump file is installed.  (Bug#34244)
49073 2019-01-29  Michael Albinus  <michael.albinus@gmx.de>
49075         Adapt `accept-process-output' arguments in tramp-tests
49077         * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
49078         (tramp-test30-make-process, tramp-test31-interrupt-process)
49079         (tramp-test32-shell-command)
49080         (tramp--test-shell-command-to-string-asynchronously)
49081         (tramp-test43-asynchronous-requests):
49082         Adapt `accept-process-output' arguments.
49084 2019-01-28  Juri Linkov  <juri@linkov.net>
49086         Small fixes
49088         * lisp/generic-x.el (etc-passwd-generic-mode): Add comment.  (Bug#34225)
49090         * lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Set overlay
49091         property 'diff-mode to 'syntax.  (Bug#33567)
49092         (diff-syntax-fontify-props): Reset buffer-file-name to nil.
49094 2019-01-28  Glenn Morris  <rgm@gnu.org>
49096         * src/Makefile.in (clean): Delete versioned pdmp files.
49098         Else build number increments without limit even in clean builds.
49100 2019-01-28  Juri Linkov  <juri@linkov.net>
49102         More checks for live buffers.
49104         * lisp/dired-x.el (dired-jump): Check if archive/tar superior buffer
49105         was killed by the user.
49107         * lisp/progmodes/ruby-mode.el (ruby-flymake--helper): Check if source buffer
49108         was killed by the user immediately after visiting and before process finishes.
49110 2019-01-28  Juri Linkov  <juri@linkov.net>
49112         * lisp/generic-x.el (etc-passwd-generic-mode): Support backups of passwd,
49114         group and shadow /etc files.  (Bug#34225)
49116 2019-01-28  Eli Zaretskii  <eliz@gnu.org>
49118         Fix last change in xfaces.c
49120         * src/xfaces.c (init_xfaces): Don't rely of 'face'
49121         property of a face to be a natural number.
49123 2019-01-28  Michael Albinus  <michael.albinus@gmx.de>
49125         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults): Adapt test.
49127 2019-01-28  Michael Albinus  <michael.albinus@gmx.de>
49129         Adapt accept-process-output timeouts in Tramp
49131         * lisp/net/tramp.el (tramp-accept-process-output):
49132         Make timeout optional.  Do not set explicit timer.
49133         (tramp-action-out-of-band, tramp-process-one-action)
49134         (tramp-wait-for-regexp, tramp-interrupt-process):
49135         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
49136         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
49137         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
49138         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
49139         * lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
49140         (tramp-smb-action-set-acl, tramp-smb-wait-for-output):
49141         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
49142         Adapt `accept-process-output' calls wrt timeouts.
49144 2019-01-28  Eli Zaretskii  <eliz@gnu.org>
49146         Fix bug with face-id after restoring from pdump
49148         * src/xfaces.c (init_xfaces): New function.
49149         * src/emacs.c (main) [HAVE_PDUMPER]: If dumped with pdumper,
49150         call init_xfaces.  (Bug#34226)
49151         * src/lisp.h (init_xfaces) [HAVE_PDUMPER]: Add prototype.
49153         * test/lisp/faces-tests.el (faces--test-face-id): New test for
49154         bug#34226.
49156 2019-01-28  Sam Steingold  <sds@gnu.org>
49158         links: also link pdmp
49160 2019-01-28  Alan Mackenzie  <acm@muc.de>
49162         Detect when we hit limit in backward search in c-just-after-func-arglist-p
49164         This fixes a bug reported by Yasushi SHOJI <yasushi.shoji@gmail.com> to
49165         emacs-devel on 2018-11-26, where wrong analysis and fontification occurred.
49167         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Add new parameter
49168         HIT-LIM which, if non-nil causes the function to return nil rather than 'same
49169         when we reach the backward search limit without finding the beginning of
49170         statement.
49171         (c-just-after-func-arglist-p): Supply argument t to this new parameter in call
49172         to c-beginning-of-statement-1.
49174 2019-01-27  Paul Eggert  <eggert@cs.ucla.edu>
49176         Update from Gnulib
49178         This incorporates:
49179         2019-01-26 getloadavg: Add support for Android
49180         2019-01-24 fchownat: Fix compilation error on Android 4.3
49181         2019-01-24 mbtowc: Fix compilation error on Android 4.3
49182         2019-01-24 random: Fix compilation error on Android 4.3
49183         2019-01-24 renameat: Fix compilation error on Android 4.3
49184         2019-01-24 unlinkat: Fix compilation error on Android 4.3
49185         2019-01-19 gettext: support disabling use of VLAs
49186         2019-01-17 sys_stat: Fix warning on OS/2 kLIBC
49187         2019-01-17 fcntl: Fix syntax error (regression from 2018-10-05)
49188         2019-01-10 verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++
49189         2018-12-22 stdioext: port to newer 32-bit Android
49190         2018-12-16 libc-config: Support HP-UX cc in C99 mode.
49191         * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
49192         * lib/cdefs.h, lib/fcntl.c, lib/getloadavg.c, lib/gettext.h:
49193         * lib/regexec.c, lib/stdio-impl.h, lib/stdio.in.h, lib/stdlib.in.h:
49194         * lib/sys_stat.in.h, lib/unistd.in.h, lib/verify.h, m4/stdlib_h.m4:
49195         Copy from Gnulib.
49196         * lib/gnulib.mk.in: Regenerate.
49198 2019-01-27  Paul Eggert  <eggert@cs.ucla.edu>
49200         forward-line now works with bignums
49202         * src/cmds.c (Fforward_line): Support bignum arg.
49203         (scan_newline): Return void since no caller was using the
49204         return value.
49205         * src/search.c (find_newline, scan_newline_from_point)
49206         (find_newline1): Return the number of newlines counted, not
49207         the count shortage, so that the return value always fits in
49208         ptrdiff_t even if the original count was a bignum.  All
49209         callers changed.
49210         * test/src/cmds-tests.el (forward-line-with-bignum): New test.
49212 2019-01-27  Eli Zaretskii  <eliz@gnu.org>
49214         Improve pdump load diagnostics
49216         * src/emacs.c (load_pdump): Improve diagnostics when pdump
49217         file fails to load correctly.
49219 2019-01-26  Eli Zaretskii  <eliz@gnu.org>
49221         * src/emacs.c (load_pdump): Fix a thinko in last change.
49223 2019-01-26  Eli Zaretskii  <eliz@gnu.org>
49225         Improve pdump file search and 'pdumper-stats'
49227         * src/pdumper.c (pdumper_record_wd): New function.
49228         (pdumper_load): Use xstrdup instead of strdup, as on
49229         MS-Windows the latter uses the wrong heap.  Don't free a
49230         NULL pointer.
49231         * src/emacs.c (load_pdump): Support the use case where the
49232         Emacs binary was renamed: look in exec-directory for the
49233         pdump file whose base name is derived from the Emacs binary,
49234         in addition to just emacs.pdmp.
49235         (main): Call pdumper_record_wd to prepend CWD to the pdump
49236         file name.
49237         * src/fileio.c (file_name_absolute_p): Now extern.
49238         * src/lisp.h (file_name_absolute_p): Add prototype.
49239         * src/pdumper.h (pdumper_record_wd): Add prototype.
49241         * doc/emacs/cmdargs.texi (Initial Options): Update the
49242         documentation of where Emacs looks for the dump file.
49244 2019-01-26  Eli Zaretskii  <eliz@gnu.org>
49246         Fix face initializations in pdump'ed Emacs
49248         * src/dispnew.c (init_display_interactive): Call init_faces_initial
49249         in the daemon if dumped with pdumper. (Bug#34114)
49251 2019-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
49253         * lisp/loadup.el (load-file-name): Set back to nil
49255 2019-01-25  João Távora  <joaotavora@gmail.com>
49257         Adjust previous electric.el and elec-pair.el change
49259         This fixes a serious bug introduced previously
49260         electric-pair-inhibit-if-helps-balance and
49261         electric-pair-skip-if-helps-balance, whereby "innocent" markers were
49262         being pushed by those function's new save-change-and-restore
49263         semantics.  The fix can probably still be improved.
49265         It also adds comments to parts of the code, where deemed necessary.
49267         * lisp/elec-pair.el (electric-pair--insert): Add comment.
49268         (electric-pair--save-literal-point-excursion): New helper macro.
49269         (electric-pair-inhibit-if-helps-balance)
49270         (electric-pair-skip-if-helps-balance): Don't use
49271         insert-before-markers since it may hurt other markers that have
49272         nothing to do with the 'save-excursion'.
49273         (electric-pair-post-self-insert-function): Use
49274         electric-pair--save-literal-point-excursion.
49276         * lisp/electric.el (electric-indent-post-self-insert-function):
49277         Remove lexical variable.
49279 2019-01-25  João Távora  <joaotavora@gmail.com>
49281         Use minibuffer-default in completion-all-sorted-completions (bug#34083)
49283         * lisp/minibuffer.el (completion-all-sorted-completions): Sort with the
49284         default on top.
49286 2019-01-25  Alex Branham  <alex.branham@gmail.com>
49288         Make tabulated-list-mode-map inherit from special-mode-map
49290         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Use
49291           'make-composed-keymap'.
49293         Bug #30452
49295 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
49297         image-mode: Make parameters buffer-local
49299         Image parameters were treated as image specific, but because they
49300         actually were global variables, their behaviour transferred to new
49301         images.
49302         * lisp/image-mode.el (image-transform-resize, image-transform-scale)
49303         (image-transform-rotation): Declare with defvar-local.  (Bug#33990)
49305 2019-01-24  Michael Albinus  <michael.albinus@gmx.de>
49307         Some fixes in tramp-smb.el
49309         * lisp/net/tramp-smb.el (tramp-smb-errors):
49310         Add "NT_STATUS_NOT_A_DIRECTORY".
49311         (tramp-smb-maybe-open-connection): Respect ´non-essential'.  Do
49312         not record smbserver-version.
49313         (tramp-smb-wait-for-output): Improve reading pending output.
49315 2019-01-24  Eli Zaretskii  <eliz@gnu.org>
49317         Avoid byte-compiler warning in starttls.el
49319         * lisp/net/network-stream.el (starttls-open-stream): Declare
49320         to avoid compilation warning.
49322 2019-01-24  Robert Pluim  <rpluim@gmail.com>
49324         Check for client certificates when using GnuTLS
49326         This fixes Bug#33780, and extends the documentation to describe how to
49327         enable use of client certificates.
49329         * lisp/net/network-stream.el (network-stream-certificate): Correct
49330         order of parameters to plist-get.
49331         (network-stream-open-tls): Pass all received parameters to
49332         open-gnutls-stream as plist, not just :nowait.
49334         * lisp/net/gnutls.el (open-gnutls-stream): Change optional nowait arg
49335         to be plist.  Derive nowait and client certificate(s) and keys(s) from
49336         plist (maybe via auth-source) and pass to gnutls-boot-parameters and
49337         gnutls-negotiate.
49338         (network-stream-certificate): Add declare-function form for it.
49340         * doc/misc/auth.texi (Help for users): Describe format to use for
49341         client key/cert specification.
49343         * doc/misc/emacs-gnutls.texi (Help For Developers): Describe usage of
49344         optional plist argument.  Add crossreference to description of
49345         .authinfo format for client key/cert specification.
49347         * etc/NEWS: Describe new client certificate functionality for
49348           'open-network-stream'.
49350         * test/lisp/net/network-stream-tests.el: Add require of network-stream.
49351         (connect-to-tls-ipv4-nowait): Bind network-security-level to 'low
49352         in order to bypass nsm prompting.
49353         (connect-to-tls-ipv6-nowait): Likewise.
49354         (open-network-stream-tls-wait): New test.
49355         (open-network-stream-tls-nowait): New test.
49356         (open-network-stream-tls): New test.
49357         (open-network-stream-tls-nocert): New test.
49358         (open-gnutls-stream-new-api-default): New test.
49359         (open-gnutls-stream-new-api-wait): New test.
49360         (open-gnutls-stream-old-api-wait): New test.
49361         (open-gnutls-stream-new-api-nowait): New test.
49362         (open-gnutls-stream-old-api-nowait): New test.
49363         (open-gnutls-stream-new-api-errors): New test.
49364         The new tests exercise 'open-network-stream' and the old and new
49365         api of 'open-gnutls-stream'.
49367 2019-01-24  Michael Albinus  <michael.albinus@gmx.de>
49369         Fix error in Tramp's encoding check
49371         * lisp/net/tramp-sh.el (tramp-find-inline-encoding):
49372         Use `tramp-get-connection-buffer'.
49374 2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
49376         doc-view-presentation, doc-view-fit-window-to-page, and use mutool
49378         * lisp/doc-view.el (doc-view-pdfdraw-program): Use "mutool" if available.
49379         (doc-view-mode-map): Keep default 'g' binding of 'revert-buffer'.
49380         Change 'r' binding to 'revert-buffer'.
49381         (doc-view-revert-buffer): Make it an obsolete alias.
49382         (doc-view--revert-buffer): Rename from doc-view-revert-buffer, change
49383         calling convention for use in add-function.
49384         (doc-view-fit-window-to-page): New command.
49385         (doc-view-pdf->png-converter-mupdf): Make it work with "mutool".
49386         (doc-view-mode): Use add-function for revert-buffer-function.
49387         (doc-view-presentation-mode-map, doc-view-presentation--src-data):
49388         New vars.
49389         (doc-view-presentation-exit, doc-view-presentation-mode)
49390         (doc-view-presentation--propagate-pn, doc-view-presentation):
49391         New functions.
49393 2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
49395         Avoid having to build src/emacs when we just want to `make tags`
49397         * Makefile.in (TAGS tags): Remove `src` from the dependencies.
49398         * src/Makefile.in (ctagsfiles1): Strip macuvs.h and fingerprint.c.
49400 2019-01-23  Eli Zaretskii  <eliz@gnu.org>
49402         Fix build errors with pdump fingerprint on macOS
49404         * src/Makefile.in ($(lispsource)/international/charprop.el):
49405         Remove macuvs.h from the target list, to avoid circular
49406         dependency on macOS.  Reported by Alan Third <alan@idiocy.org>.
49408 2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
49410         Rework last commit to icomplete and minibuffer.el.
49412         Rather than let minibuffer-force-complete set up cycling and then undoing it,
49413         better tell it directly not to setup cycling.  Also be a bit more careful
49414         to remove the transient map.
49415         Additionally to bug#34077 and bug#34116, this also relates to bug#25644.
49417         * lisp/minibuffer.el (completion--flush-all-sorted-completions):
49418         Also take down the transient cycling map if applicable.
49419         (minibuffer-force-complete): New arg dont-cycle.
49420         Set completion-cycling to the actual function that takes down the
49421         transient map rather than just t.
49422         (minibuffer-force-complete-and-exit):
49423         * lisp/icomplete.el (icomplete-force-complete): Use new dont-cycle arg.
49425 2019-01-23  João Távora  <joaotavora@gmail.com>
49427         Force completion in icomplete with C-M-i, but don't cycle (bug#34077)
49429         Cycling after forcing a completion with C-M-i in icomplete can be
49430         confusing, as it leaves rotated prospects in the minibuffer.  In C-x
49431         C-f, for example it is very difficult to understand if the prospects
49432         refer to subdirectories of the directory being completed to, which
49433         happens naturally when the completion is unique; or if they are a
49434         cycled version of prospects that match the new completion pattern, in
49435         case the completion happens to still match other items.
49437         To resolve this confusion, never cycle with C-M-i in icomplete:
49438         non-ambiguous cycling can be achieved with C-. and C-,
49440         The former behaviour can still be restored with:
49442         (define-key icomplete-minibuffer-map (kbd "C-M-i") 'minibuffer-force-complete)
49444         * lisp/icomplete.el (icomplete-force-complete): New command.
49445         (icomplete-minibuffer-map): Bind C-M-i to icomplete-force-complete.
49447 2019-01-23  João Távora  <joaotavora@gmail.com>
49449         Avoid cycling in minibuffer-force-complete-and-exit (bug#34116)
49451         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Check
49452         completion-cycling before minibuffer-force-complete.
49454 2019-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49456         * src/keyboard.c (read_char): Use CALLN.
49458 2019-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
49460         * src/emacs.c (load_pdump): Minor simplification.
49462 2019-01-23  Eli Zaretskii  <eliz@gnu.org>
49464         Fix compilation of pdumper.c with old buggy GCC
49466         * src/pdumper.c (emacs_ptr_at): Renamed from emacs_ptr, to
49467         avoid compilation errors with GCC 4.7.  Reported by Martin
49468         Rudalics <rudalics@gmx.at>.  All callers changed.
49470 2019-01-23  Michael Albinus  <michael.albinus@gmx.de>
49472         * lisp/net/tramp.el (tramp-set-file-uid-gid): Fix thinko.
49474         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
49475         Adapt docstring.
49477 2019-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
49479         * lisp/emacs-lisp/package.el (package--alist): New
49481         (package-activate-all): Use it so we only initialize the local part of
49482         package.el (this reduces the impact of bug#24467 and speeds up startup).
49483         (package-installed-p): Use it so it works even if package is not
49484         fully initialized.
49485         (package-delete): Use it so we only initialize the local part of
49486         package.el.
49488 2019-01-22  Phillip Lord  <phillip.lord@russet.org.uk>
49490         Add hook for all events
49492         * lisp/subr.el (input-event-functions): Add input-event-functions
49493         * src/keyboard.c (read_char): Call input-event-functions on all hooks
49495 2019-01-22  João Távora  <joaotavora@gmail.com>
49497         electric-layout-mode kicks in before electric-pair-mode
49499         This aims to solve problems with indentation.  Previously in, say, a
49500         js-mode buffer with electric-layout-rules set to
49502            (?\{ before after)
49503            (?\} before)
49505         would produce an intended:
49507            function ()
49508            {
49509              <indented point>
49510            }
49512         The initial state
49514           function () {
49516         Would go immediately to the following by e-p-m
49518           function () {}
49520         Only then would e-l-m be applied to } first, and then again to {.
49521         This makes lines indent in the wrong order, which can be a problem in
49522         some modes.
49524         The way we fix this is by reversing the order of e-p-m and e-l-m in
49525         the post-self-insert-hook (and also fixing a number of details that
49526         this uncovered).  In the end this changes the sequence from
49528           function () {
49530         By way of e-l-m becomes:
49532           function () <newline>
49533           {
49534           <newline>
49536         The e-p-m inserts the pair
49538           function () <newline>
49539           {
49540           <newline>}
49542         And then e-l-m kicks in for the pair again, yielding the desired result
49544           function () <newline>
49545           {
49546           <indented point>
49547           }
49549         * lisp/elec-pair.el (electric-pair--insert): Bind
49550         electric-layout-no-duplicate-newlines.
49551         (electric-pair-inhibit-if-helps-balance)
49552         (electric-pair-skip-if-helps-balance): Use insert-before-markers,
49553         playing nice with save-excurion.
49554         (electric-pair-post-self-insert-function): Go to correct position
49555         before checking electric-pair-inhibit-predicate and
49556         electric-pair-skip-self predicate.
49557         (electric-pair-post-self-insert-function): Increase priority to
49558         50.
49560         * lisp/electric.el (electric-indent-post-self-insert-function):
49561         Delete trailing space in reindented line only if line was
49562         really reindented.  Rewrite comment.
49563         (electric-layout-allow-duplicate-newlines): New variable.
49564         (electric-layout-post-self-insert-function-1): Rewrite comments.
49565         Honours electric-layout-allow-duplicate-newlines.  Don't reindent
49566         previous line because racecar.
49568         * test/lisp/electric-tests.el: New test.
49569         (plainer-c-mode): Move up.
49570         (electric-modes-int-main-allman-style)
49571         (electric-layout-int-main-kernel-style): Simplify
49572         electric-layout-rules.
49573         (electric-layout-for-c-style-du-jour): New helper.
49574         (electric-layout-plainer-c-mode-use-c-style): New test.
49576 2019-01-22  João Távora  <joaotavora@gmail.com>
49578         Remove tests of electric-pair-mode and CC-based modes
49580         The behaviour previously observed in cc-mode-based-modes (and every
49581         other major-mode) when electric-pair-mode or electric-layout-mode is
49582         turned on may no longer be observed: this because CC-mode goes around
49583         the generic implementation of electric-pair-mode.
49585         An alternative is to bind every delimiter key like '{', '}', etc to
49586         'self-insert-command, like most major modes already do, at the cost of
49587         losing c-auto-newline functionality (which was incompatible anyway
49588         before the recent changes of bug#33794).
49590         * test/lisp/electric-tests.el
49591         (electric-pair-test-for): No longer set it.
49592         (define-electric-pair-test): Use js-mode instead of c++ mode,
49593         which broke recently.
49594         (whitespace-chomping-2): Add failing C++ test explicitly.
49595         (electric-layout-int-main-kernel-style): Use plainer-c-mode.
49596         (electric-layout-int-main-allman-style): Deleted.
49597         (electric-modes-int-main-allman-style): Renamed from
49598         electric-layout-int-main-allman-style.
49600 2019-01-22  Alan Mackenzie  <acm@muc.de>
49602         Extend electric-pair-mode actions to < and >, and also to ( and ) in literals
49604         * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Actuate electric-pair-mode if
49605         a < or > is typed in a context where this is meaningful (#include, or
49606         template).
49607         (c-electric-paren): Allow electric-pair-mode activity in a comment or string.
49609         * lisp/progmodes/cc-defs.el (c-make-keywords-re): Fix a bug where lists of
49610         source symbols could get overwritten when parameter adorn is set to
49611         'appendable.
49613         * lisp/progmodes/cc-langs.el (c-cpp-include-key): New lang const and var.
49615 2019-01-22  Alan Mackenzie  <acm@muc.de>
49617         Revert "Fix electric-pair-tests by disabling bug#33794's fix with a variable"
49619         This reverts commit be505726b68d407a44fdcd9c7ac1ef722398532d.
49621 2019-01-22  Michael Albinus  <michael.albinus@gmx.de>
49623         Make Tramp tests more robust
49625         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
49626         Bind `tramp-default-method'.
49627         (tramp--test-file-attributes-equal-p): New defsubst.
49628         (tramp-test19-directory-files-and-attributes): Use it.
49630 2019-01-22  Michael Albinus  <michael.albinus@gmx.de>
49632         Respect setgid bit of the upper directory in Tramp
49634         * doc/misc/trampver.texi:
49635         * lisp/net/trampver.el: Change version to "2.4.2-pre".
49637         * lisp/net/tramp.el: Bump version to 2.4.2-pre.
49638         (tramp-set-file-uid-gid): Respect setgid bit of the upper directory.
49639         (tramp-default-file-modes, tramp-handle-insert-file-contents)
49640         (tramp-mode-string-to-int, tramp-make-tramp-temp-file):
49641         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
49642         (tramp-adb-handle-write-region):
49643         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
49644         (tramp-sh-handle-write-region): Use octal constants.
49646 2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
49648         * lisp/international/titdic-cnv.el: Use lexical-binding
49650         (tit-process-body): Remove unused vars 'template' and 'second'.
49651         (tsang-quick-converter): Remove unused args 'name' and 'title'.
49652         Remove unused var 'slot'.
49653         (tsang-b5-converter, quick-b5-converter, tsang-cns-converter)
49654         (quick-cns-converter, py-converter, ziranma-converter)
49655         (ctlau-converter, ctlau-gb-converter, ctlau-b5-converter):
49656         Remove unused args 'name' and 'title'.
49657         (miscdic-convert): Remove unused var 'dicbuf'.
49658         Don't pass 'name' and 'title' to the conversion function.
49660 2019-01-21  Paul Eggert  <eggert@cs.ucla.edu>
49662         Simplify pdumper-load via timespectod
49664         Suggested by Eli Zaretskii in:
49665         https://lists.gnu.org/r/emacs-devel/2019-01/msg00458.html
49666         * src/pdumper.c (pdumper_load): Simplify.
49668 2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
49670         * src/pdumper.c (dump_string) [CHECK_STRUCTS]: Fix copy&paste error
49672         * lisp/electric.el: Fix typo in last change.
49674 2019-01-21  Stefan Monnier  <monnier@iro.umontreal.ca>
49676         (electric--sort-post-self-insertion-hook): Accept non-symbol functions
49678         * lisp/electric.el (electric--sort-post-self-insertion-hook):
49679         Don't burp on non-symbol functions.
49681 2019-01-21  Alan Third  <alan@idiocy.org>
49683         Fix occasional pdumper/bootstrap error
49685         * src/Makefile.in (emacs$(EXEEXT)): Copy the new executable over
49686         bootstrap-emacs.
49688 2019-01-21  Michael Albinus  <michael.albinus@gmx.de>
49690         * lisp/net/tramp-sh.el (tramp-set-remote-path): Fix usage of tmpfile.
49692 2019-01-21  Michael Albinus  <michael.albinus@gmx.de>
49694         Use `inhibit-read-only' in Tramp
49696         * lisp/net/tramp.el (tramp-process-actions, tramp-accept-process-output)
49697         (tramp-send-string):
49698         * lisp/net/tramp-adb.el (tramp-adb-handle-make-process)
49699         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output):
49700         * lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
49701         (tramp-wait-for-output, tramp-send-command-and-check):
49702         * lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
49703         Use `inhibit-read-only'.
49705 2019-01-20  Michael Albinus  <michael.albinus@gmx.de>
49707         Use POSIX "df" in Tramp, if available
49709         * lisp/net/tramp-sh.el (tramp-get-remote-df):
49710         Support also POSIX.1 "df".
49711         (tramp-sh-handle-file-system-info): Adapt accordingly.
49713 2019-01-20  Eli Zaretskii  <eliz@gnu.org>
49715         Support native image resizing on MS-Windows
49717         * src/w32term.c (x_draw_image_foreground): Scale the image if
49718         the requested dimensions are different from the bitmap
49719         dimensions.
49720         * src/image.c (Fimage_scaling_p): Return t when HAVE_NTGUI.
49721         (x_set_image_size) [HAVE_NTGUI]: Record the scaled dimensions
49722         in the image struct.
49723         * src/dispextern.h (HAVE_NATIVE_SCALING): Define when
49724         HAVE_NTGUI as well.
49726         * etc/NEWS: Update the announcement of native image scaling.
49728 2019-01-19  Philipp Stephani  <phst@google.com>
49730         Improve error data when passing a wrong type to 'sort' (Bug#34104)
49732         * src/fns.c (Fsort): Use 'list-or-vector-p' for error message.
49733         (syms_of_fns): Define 'list-or-vector-p'.
49735         * test/src/fns-tests.el (fns-tests-sort): Extend unit test.
49737 2019-01-19  Paul Eggert  <eggert@cs.ucla.edu>
49739         pdumper-stats now returns s, not ms
49741         * doc/lispref/internals.texi (pdumper-stats):
49742         * src/pdumper.c (pdumper_load): Return seconds, not milliseconds.
49743         Minimize rounding errors in the usual case.
49745 2019-01-19  Eli Zaretskii  <eliz@gnu.org>
49747         Minor cleanup in pdumper.c
49749         * src/pdumper.c (subtract_timespec): Function removed.
49750         (pdumper_load): Use timespec_sub instead of subtract_timespec.
49752 2019-01-19  Eli Zaretskii  <eliz@gnu.org>
49754         Improve 'pdumper-stats' and its documentation
49756         * src/pdumper.c (Fpdumper_stats): Improve formatting and
49757         wording of the doc string.  Decode the pdump file name and
49758         expand-file-name it.
49760         * doc/lispref/internals.texi (Building Emacs): Document
49761         'pdumper-stats'.
49763 2019-01-19  Eli Zaretskii  <eliz@gnu.org>
49765         Unbreak the macOS NS build
49767         * src/xdisp.c (expose_window_tree): Declare and define 'f' on
49768         NS as well.  Reported by Herbert J. Skuhra <herbert@gojira.at>.
49770 2019-01-18  Dmitry Gutov  <dgutov@yandex.ru>
49772         Misc ignore-related project.el changes
49774         * lisp/progmodes/project.el (project-ignores): Don't append the
49775         default ignores list, just use vc-directory-exclusion-list.
49776         (project--dir-ignores): Use the default ignores if the dir is
49777         outside of the current project.
49778         (project-files): Use project--dir-ignores to support external
49779         roots better.
49781 2019-01-18  João Távora  <joaotavora@gmail.com>
49783         Revert "Remove leftover from previous electric-layout-rules API"
49785         This is a backward-incompatible change, and removing it isn't really
49786         necessary.
49788         This reverts commit 942dad2b519cabddf6caea7641517507dc06944b.
49790 2019-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>
49792         (electric-layout-post-self-insert-function-1): Simplify.
49794         Call electric--after-char-pos right from the start, and take advantage of the
49795         fact that it guarantees to return the right position or nil.
49797 2019-01-18  João Távora  <joaotavora@gmail.com>
49799         Ensure fns in electric-layout-rules are called in right position
49801         * lisp/electric.el (electric-layout-rules): Ensure rules are
49802         called from right spot.
49804 2019-01-18  João Távora  <joaotavora@gmail.com>
49806         Remove leftover from previous electric-layout-rules API
49808         An element of electric-layout-rules is either a function or a pair
49809         (CHAR . WHERE), and WHERE can't be a function anymore.
49811         * lisp/electric.el (electric-layout-post-self-insert-function-1):
49812         Remove leftover line.
49814 2019-01-18  Paul Eggert  <eggert@cs.ucla.edu>
49816         Port to platforms where NULL is a pointer
49818         * src/image.c (x_create_x_image_and_pixmap):
49819         The Picture type is an integer, not a pointer.
49820         Come to think of it, Picture is really XID, and as
49821         far as I can tell, all-bits-one is the invalid XID,
49822         not all-bits-zero.  However that is a bigger issue;
49823         for now, this patch just unbreaks the build.
49825 2019-01-18  Eli Zaretskii  <eliz@gnu.org>
49827         Improve documentation of portable dumping
49829         * src/pdumper.c (Fdump_emacs_portable): Improve the doc string
49830         and the error messages.
49832         * doc/lispref/internals.texi (Building Emacs): Document
49833         portable dumping and the 'dump-emacs-portable' function.
49835 2019-01-18  Glenn Morris  <rgm@gnu.org>
49837         Merge from origin/emacs-26
49839         b6d78a0 (origin/emacs-26) Fix a typo in ELisp manual
49840         c9f6f86 Prevent redrawing if frame is garbaged
49841         00ba226 Attempt to fix hangs on MS-Windows due to C-g
49842         b26d637 Fix Calc graph output on MS-Windows
49843         03818b0 Fix a minor mistake in ELisp manual
49844         6ac5985 ; Fix some trivial doc typos
49845         21b9026 * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
49846         d223727 Fix UI of Buffer-menu
49847         0f71655 Reinitialize ispell-really-enchant when changing the speller
49848         9845044 Speed up loading css-mode
49850 2019-01-18  Eli Zaretskii  <eliz@gnu.org>
49852         Clean up memory allocation and unexec support on MS-Windows
49854         * src/w32heap.c (report_temacs_memory_usage): Condition on
49855         !CANNOT_DUMP, in addition to ENABLE_CHECKING.
49856         (init_heap): Accept an argument, which tells us what heap
49857         allocation method to use.
49858         (DUMPED_HEAP_SIZE) [CANNOT_DUMP]: Define to a small value, as
49859         we don't use dumped_data[] in this case.
49860         * src/w32heap.h (init_heap): Adjust prototype.
49861         <using_dynamic_heap>: Remove declaration.
49862         * src/emacs.c (main) [WINDOWSNT]: Determine heap allocation
49863         method based on whether we are in temacs and whether unexec
49864         will be used to dump Emacs.  Pass the heap allocation method
49865         to init_heap, which is now called after parsing the
49866         --temacs=METHOD option.
49867         * src/unexw32.c (unexec): Don't fiddle with using_dynamic_heap.
49868         <using_dynamic_heap>: Remove definition.
49869         * src/w32proc.c (malloc_before_init, realloc_before_init)
49870         (free_before_init): New functions, to catch memory allocation
49871         before heap allocation method is set up.
49873 2019-01-17  Dmitry Gutov  <dgutov@yandex.ru>
49875         Rebase project-find-regexp on top of project-files
49877         * lisp/progmodes/project.el (project--files-in-directory):
49878         New function.
49879         (project-files, project-find-regexp): Use it.
49880         (project--dir-ignores): New function.
49881         (project--find-regexp-in): Remove.
49882         (project--process-file-region): New function.
49883         (project--find-regexp-in-files): New function.
49884         (project-find-regexp, project-or-external-find-regexp): Use it, and
49885         project-files as well.
49887 2019-01-17  Dmitry Gutov  <dgutov@yandex.ru>
49889         Make 'project-files' the "canonical" generic of the two
49891         * lisp/progmodes/project.el (project-files): Move the actual
49892         command building and invocation here.
49893         (project-file-completion-table): Delegate to 'project-files'.
49895 2019-01-17  Stefan Monnier  <monnier@iro.umontreal.ca>
49897         * lisp/textmodes/sgml-mode.el: Try and fix bug#33887.
49899         Remove redundant :group args.
49900         (sgml-syntax-propertize-rules): Speed up processing of most double quotes.
49902 2019-01-17  João Távora  <joaotavora@gmail.com>
49904         Fix electric-pair-tests by disabling bug#33794's fix with a variable
49906         The variable c--disable-fix-of-bug-33794, which should be removed in
49907         the short term in favor of a permanent solution, is introduced.
49909         It is bound to nil by default.  This means that breakage is still
49910         happening in actual c-mode and c++-mode usage, though the tests no
49911         longer show it.
49913         To get around this breakage, put
49915            (setq c--disable-fix-of-bug-33794 t)
49917         In your init file.  Evidently, you will lose the fix for bug#33794,
49918         but that only affects a small corner case of c-toggle-auto-newline,
49919         which is not turned on by default.
49921         See https://lists.gnu.org/r/emacs-devel/2019-01/msg00360.html
49922         for more information.
49924         * lisp/progmodes/cc-cmds.el (c--disable-fix-of-bug-33794): New
49925         variable.
49926         (c--with-post-self-insert-hook-maybe): New macro.
49927         (c-electric-pound, c-electric-brace, c-electric-slash)
49928         (c-electric-star, c-electric-semi&comma, c-electric-colon)
49929         (c-electric-lt-gt, c-electric-paren): Use it.
49930         (c-electric-paren, c-electric-brace): Check
49931         c--disable-fix-of-bug-33794.
49933         * test/lisp/electric-tests.el (c--disable-fix-of-bug-33794):
49934         Forward declare.
49935         (electric-pair-test-for)
49936         (electric-layout-int-main-kernel-style)
49937         (electric-modes-in-c-mode-with-self-insert-command): Use it.
49939 2019-01-17  João Távora  <joaotavora@gmail.com>
49941         Revert "Temporarily comment out CC Mode from tests..."
49943         This reverts commit 54f297904e0c641fcfd81f16e9a87177124a27be.
49945 2019-01-17  Martin Rudalics  <rudalics@gmx.at>
49947         Fix wording in Window Hooks section of Elisp manual
49949         * doc/lispref/windows.texi (Window Hooks): Fix wording in
49950         description of window change functions.  Suggested by Robert
49951         Pluim <rpluim@gmail.com>.
49953 2019-01-17  Alan Third  <alan@idiocy.org>
49955         Be more specific with XRender bit-depths (bug#34051)
49957         * src/image.c (x_create_x_image_and_pixmap): Fail gracefully if a bit
49958         depth is requested that XRender doesn't support.
49960 2019-01-17  João Távora  <joaotavora@gmail.com>
49962         Simplify ignored extensions filtering in Icomplete (bug#34070)
49964         * lisp/icomplete.el: Use lexical binding.
49965         (icomplete-completions): Use minibuffer-completion-predicate
49966         to filter out completion-ignored-extensions.
49968 2019-01-17  João Távora  <joaotavora@gmail.com>
49970         Revert "Fix icomplete's cycling when filename filtering kicks in"
49972         This reverts commit cdb082322d4209c5104bc1a98b21bf3dd75e8f17, which
49973         was a fix for bug#34070.  A much better fix to be added soon.
49975 2019-01-17  João Távora  <joaotavora@gmail.com>
49977         Fix flymake-proc--delete-temp-directory if temp dir ends in slash
49979         (Bug#34074)
49981         Reported by 林宝龙 <lbl52001@gmail.com>.
49983         * lisp/progmodes/flymake-proc.el
49984          (flymake-proc--delete-temp-directory):  Use directory-file-name.
49986 2019-01-17  Alan Mackenzie  <acm@muc.de>
49988         Temporarily comment out CC Mode from tests which are incompatible with it.
49990         * test/lisp/electric-tests.el (electric-pair-test-for): comment out c++-mode from the
49991         list of modes to be used in tests.
49992         (electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings)
49993         (ert-deftest electric-layout-int-main-kernel-style)
49994         (ert-deftest electric-layout-int-main-allman-style): Comment out.
49996 2019-01-17  Glenn Morris  <rgm@gnu.org>
49998         Fix --enable-profiling builds (bug#34099)
50000         * src/profiler.c (syms_of_profiler_for_pdumper):
50001         Only set cpu_log if CPU profiling is enabled.
50003 2019-01-17  Martin Rudalics  <rudalics@gmx.at>
50005         Expand spectrum of window change functions
50007         * src/window.c (run_window_change_functions): Run window
50008         change functions for Qwindow_state_change_functions.
50009         (resize_frame_windows): Set frame's window_change slot when
50010         single-window frames change size.
50011         (Qwindow_state_change_functions): New symbol.
50012         (Vwindow_state_change_functions): New Lisp variable.
50013         * doc/lispref/windows.texi (Selecting Windows): Mention
50014         'window-selection/state-change-functions' and add reference to
50015         Window Hooks.
50016         (Window Hooks): Document 'window-state-change-functions'.
50017         * etc/NEWS: Mention new hook 'window-state-change-functions'.
50019 2019-01-16  Paul Eggert  <eggert@cs.ucla.edu>
50021         Port pdumper to older GNU/Linux
50023         Problem reported by Colin Baxter in:
50024         https://lists.gnu.org/r/emacs-devel/2019-01/msg00321.html
50025         * src/alloc.c (my_heap_start): Also define if
50026         GNU_LINUX && CANNOT_DUMP && DOUG_LEA_MALLOC.
50028 2019-01-16  Daniel Colascione  <dancol@dancol.org>
50030         Fix segfault in profiler after pdump load
50032         Move initialization of the profiler's hash test to static
50033         initialization from the syms function so that pdumper doesn't need to
50034         bother capturing it in any special way.
50036         * src/profiler.c (cmpfn_profiler, hashfn_profiler):
50037         forward declare.
50038         (hashtest_profiler): statically initialize.
50039         (syms_of_profiler): remove dynamic initialization of
50040         hashtest_profiler.
50042 2019-01-16  Paul Eggert  <eggert@cs.ucla.edu>
50044         * doc/lispref/processes.texi (Accepting Output): Simplify.
50046 2019-01-16  Daniel Colascione  <dancol@dancol.org>
50048         Fix previous change: use correct pdumper function
50050 2019-01-16  Daniel Colascione  <dancol@dancol.org>
50052         Fix crash in charset detection after pdumper load
50054         * src/coding.c:
50055         (reset_coding_after_pdumper_load): new function re-init character
50056         classes after pdumper load.
50057         (syms_of_coding): Call it.
50059 2019-01-16  Andy Moreton  <andrewjmoreton@gmail.com>
50061         Avoid compilation warnings in MS-Windows build
50063         * src/pdumper.c (dump_cold_bignum):
50064         * src/emacs.c(load_pdump) [WINDOWSNT]: Avoid compiler warnings
50065         due to 64-bit vs 32-bit data type mismatches.
50067 2019-01-16  Eli Zaretskii  <eliz@gnu.org>
50069         Improve documentation of pdumper; minor code cleanup
50071         * src/emacs.c (usage_message): Add the --dump-file option.
50072         (string_starts_with_p, find_argument): Functions removed; use
50073         'argmatch' instead.
50074         (PDUMP_FILE_ARG): Macro removed; use literal strings instead,
50075         as with other command-line options.  Use HAVE_PDUMPER for cpp
50076         conditionals which used PDUMP_FILE_ARG.
50077         (load_pdump, main): Use 'argmatch' for "--dump-file" and
50078         "--temacs" arguments, thus supporting the "-dump-file" and
50079         "-temacs" variants, for consistency with other options.
50080         (main): Remove the extra fatal error for using --dump-file in
50081         unexec'ed Emacs: load_pdump does that anyway.
50082         (standard_args): Add --dump-file and --temacs, with
50083         appropriate priorities.
50085         * etc/NEWS: Expand on the pdumper support.
50087         * doc/emacs/cmdargs.texi (Initial Options): Document the
50088         '--dump-file' command-line option.
50090 2019-01-16  Eli Zaretskii  <eliz@gnu.org>
50092         Fix minor glitch with producing 'emacs' executable
50094         * src/Makefile.in (LC_ALL) [!DUMPING]: Don't overwrite
50095         previous emacs-X.Y.Z executables with new ones.
50097 2019-01-16  Michael Albinus  <michael.albinus@gmx.de>
50099         Some accept-process-output cleanups in Tramp
50101         * lisp/net/tramp.el (tramp-action-out-of-band): Read process
50102         output in a loop.
50103         (tramp-accept-process-output): Return result.
50104         (tramp-interrupt-process):
50105         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
50106         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
50107         Remove FIXME.
50109         * lisp/net/tramp-sh.el (tramp-local-coding-commands): Fix docstring.
50111         * lisp/net/tramp-smb.el (tramp-smb-wait-for-output): Adapt docstring.
50112         Simplify code.
50114         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
50115         Adapt docstring.  Read process output in a loop.
50117         * test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
50118         Remove :unstable tag on emba.
50120 2019-01-16  Glenn Morris  <rgm@gnu.org>
50122         * make-dist: Include src/dmpstruct.awk.
50124 2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>
50126         Fix unlikely races with GnuTLS, datagrams
50128         Retry some calls if interrupted at inopportune times.
50129         These were found by code inspection.
50130         * src/gnutls.c (gnutls_try_handshake): Simplify by using
50131         new emacs_gnutls_handle_error API.
50132         (emacs_gnutls_write): Remove GNUTLS_E_AGAIN hack since
50133         emacs_gnutls_handle_error now does that.
50134         Use emacs_gnutls_handle_error only on errors.
50135         (emacs_gnutls_read): Retry if gnutls_record_recv returns
50136         GNUTLS_E_INTERRUPTED, to be consistent with emacs_read.
50137         (emacs_gnutls_handle_error): Return 0 on fatal errors,
50138         -1 (setting errno) on ordinary errors, to simplify callers.
50139         Assume that ERR is negative, since it always is now.
50140         Map non-fatal GnuTLS errors to errno values as best we can.
50141         * src/process.c (read_process_output) [DATAGRAM_SOCKETS]:
50142         Retry recvfrom if it is interrupted, to be consistent with
50143         how things are handled when not a datagram channel.
50144         (send_process) [DATAGRAM_SOCEKTS]: If sendto is interrupted,
50145         process pending signals and retry it, to be consistent with
50146         how things are handled when not a datagram channel.
50148 2019-01-15  Daniel Colascione  <dancol@dancol.org>
50150         Make sure dump-mode is nil after dump
50152         * lisp/loadup.el (dump-mode): Bind dump-mode to nil before dumping
50154 2019-01-15  Daniel Colascione  <dancol@dancol.org>
50156         Add NEWS for pdumper
50158 2019-01-15  Daniel Colascione  <dancol@dancol.org>
50160         Add portable dumper
50162         Add a new portable dumper as an alternative to unexec.  Use it by default.
50164         * src/dmpstruct.awk: New file.
50165         * src/doc.c (get_doc_string): use will_dump_p().
50166         * src/editfns.c (styled_format): silence compiler warning
50167         with UNINIT.
50168         * src/emacs-module.c (syms_of_module): staticpro ltv_mark.
50169         * src/emacs.c (gflags): new variable.
50170         (init_cmdargs): unwrap
50171         (string_starts_with_p, find_argument, dump_error_to_string)
50172         (load_pdump): new functions.
50173         (main): detect pdumper and --temacs invocation; actually load
50174         portable dump when detected; set gflags as appropriate; changes to
50175         init functions throughout to avoid passing explicit
50176         'initialized' argument.
50177         * src/eval.c (inhibit_lisp_code): remove unused variable.
50178         (init_eval_once_for_pdumper): new function.
50179         (init_eval_once): call it.
50180         * src/filelock.c: CANNOT_DUMP -> will_dump_p()
50181         * src/fingerprint-dummy.c: new file
50182         * src/fingerprint.h: new file
50183         * src/fns.c: CANNOT_DUMP -> will_dump_p(), etc.
50184         (weak_hash_tables): remove
50185         (hashfn_equal, hashfn_eql): un-staticify
50186         (make_hash_table): set new 'next_weak' hash table field; drop
50187         global weak_hash_tables logic.
50188         (copy_hash_table): drop global weak_hash_tables logic.
50189         (hash_table_rehash): new function.
50190         (hash_lookup, hash_put, hash_remove_from_table, hash_clear):
50191         rehash if needed.
50192         (sweep_weak_table): un-staticify; explain logic; bool-ify.
50193         (sweep_weak_hash_tables): remove function.
50194         * src/font.c (syms_of_font): remember pdumper stuff.
50195         * src/fontset.c (syms_of_fontset): remember pdumper stuff.
50196         * src/frame.c (make_initial_frame): don't reset Vframe_list.
50197         (init_frame_once_for_pdumper, init_frame_once): new functions.
50198         (syms_of_frame): remove redundant staticpro.
50199         * src/fringe.c (init_fringe_once_for_pdumper): new function.
50200         (init_fringe_once): call it.
50201         * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function.
50202         (syms_of_ftcrfont): call it.
50203         * src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
50204         (syms_of_ftfont): call it.
50205         * src/ftxfont.c (syms_of_ftxfont_for_pdumper): new function.
50206         (syms_of_ftxfont): call it.
50207         * src/gmalloc.c: adjust for pdumper throughout
50208         (DUMPED): remove weird custom dumped indicator.
50209         * src/gnutls.c (syms_of_gnutls): pdumper note for
50210         gnutls_global_initialized.
50211         * src/image.c (syms_of_image): add pdumper comment,
50212         initializer note.
50213         * src/insdel.c (prepare_to_modify_buffer_1): account
50214         for buffer contents possibly being in dump image.
50215         * src/keyboard.c (syms_of_keyboard_for_pdumper): new function.
50216         (syms_of_keyboard): staticpro more; call pdumper syms function.
50217         * src/lisp.h: add comments throughout
50218         (gflags): declare.
50219         (will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
50220         (dumped_with_pdumper_p, will_dump_with_unexec_p)
50221         (dumped_with_unexec_p, definitely_will_not_unexec_p): new
50222         functions.
50223         (POWER_OF_2, ROUNDUP): move macros.
50224         (PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header
50225         pointer instead of vector; constify.
50226         (Lisp_Hash_Table): add comment about need to rehash on access; add
50227         comment for next_weak.
50228         (HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify.
50229         (hash_table_rehash): declare.
50230         (hash_rehash_needed_p, hash_rehash_if_needed): new functions.
50231         (finalizers, doomed_finalizers): declare extern.
50232         (SUBR_SECTION_ATTRIBUTE): new macro.
50233         (staticvec, staticidx): un-static-ify.
50234         (sweep_weak_hash_tables): remove declaration.
50235         (sweep_weak_table): declare.
50236         (hashfn_eql, hashfn_equal): declare.
50237         (number_finalizers_run): new variable.
50238         (Vdead): externify when ENABLE_CHECKING.
50239         (gc_root_type): new enumeration.
50240         (gc_root_visitor): new struct.
50241         (visit_static_gc_roots): declare.
50242         (vectorlike_nbytes): declare.
50243         (vector_nbytes): define as trivial inline function wrapper for
50244         vectorlike_nbytes.
50245         (init_obarray_once): change signature.
50246         (primary_thread): extern-ify.
50247         (init_buffer): change signature.
50248         (init_frame_once): declare.
50249         * src/lread.c (readevalloop): adjust for new dumped predicates.
50250         (init_obarray_once): new function.
50251         (ndefsubr): new variable.
50252         (defsubr): increment it.
50253         (load_path_check): adjust for pdumper.
50254         (load_path_default): use pdumper functions; adjust for
50255         dump search.
50256         * src/macfont.m (macfont_init_font_change_handler): avoid
50257         shadowing global.
50258         (syms_of_macfont_for_pdumper): new function.
50259         (syms_of_macfont): call it.
50260         * src/menu.c (syms_of_menu): staticpro more stuff.
50261         * src/minibuf.c (Ftry_completion): rehash if needed.
50262         (init_minibuf_once_for_pdumper): new function.
50263         (init_minibuf_once): call it.
50264         * src/nsfont.m (syms_of_nsfns): staticpro more.
50265         * src/nsfont.m (syms_of_nsfont_for_pdumper): new function.
50266         (syms_of_nsfont): call it.
50267         * src/nsterm.m (syms_of_nsfont): remember pdumper stuff.
50268         * src/pdumper.c: new file.
50269         * src/pdumper.h: new file.
50270         * src/process.c (init_process_emacs): use new pdumper functions
50271         instead of CANNOT_DUMP.
50272         * src/profiler.c (syms_of_profiler_for_pdumper): new function.
50273         (syms_of_profiler_for_pdumper): call it.
50274         * src/search.c (syms_of_search_for_pdumper): new function.
50275         (syms_of_search_for_pdumper): call it.
50276         * src/sheap.c (bss_sbrk_did_unexec): remove.
50277         * src/sheap.h (bss_sbrk_did_unexec): remove.
50278         * src/syntax.c (syms_of_syntax): don't redundantly staticpro
50279         re_match_object.
50280         * src/sysdep.c: use will_dump_with_unexec_p() instead of bss
50281         hack thing.
50282         * src/syssignal.h (init_sigsegv): declare.
50283         * src/systime.h (init_timefns): remove bool from signature.
50284         * src/textprop.c (syms_of_textprop): move staticpro.
50285         * src/thread.c (main_thread_p): constify.
50286         * src/thread.h (main_thread_p): constify.
50287         * src/timefns.c (init_timefns): remove bool from signature.
50288         (syms_of_timefns_for_pdumper): new function.
50289         (syms_of_timefns): call it.
50290         * src/w32.c: rearrange code.
50291         * src/w32.h (w32_relocate): declare.
50292         * src/w32fns.c (syms_of_w32fns): add pdumper note.
50293         * src/w32font.c (syms_of_w32font_for_pdumper): new function.
50294         (syms_of_w32font): call it.
50295         * src/w32heap.c (using_dynamic_heap): new variable.
50296         (init_heap): use it.
50297         * src/w32menu.c (syms_of_w32menu): add pdumper note.
50298         * src/w32proc.c
50299         (ctrl_c_handler, mainCRTStartup, _start, open_input_file)
50300         (rva_to_section, close_file_data): move here.
50301         * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
50302         new function.
50303         (syms_of_w32uniscribe): call it.
50304         * src/window.c (init_window_once_for_pdumper): new function.
50305         (init_window_once): call it; staticpro more stuff.
50306         * src/xfont.c (syms_of_xfont_for_pdumper): new function.
50307         (syms_of_xfont): call it.
50308         * src/xftfont.c (syms_of_xftfont_for_pdumper): new function.
50309         (syms_of_xftfont): call it.
50310         * src/xmenu.c (syms_of_xmenu_for_pdumper): new function.
50311         (syms_of_xmenu): call it.
50312         * src/xselect.c (syms_of_xselect_for_pdumper): new function.
50313         (syms_of_xselect): call it.
50314         * src/xsettings.c (syms_of_xsettings): add more pdumper notes.
50315         * src/term.c (syms_of_xterm): add pdumper note.
50317         * src/dispnew.c (init_faces_initial): new function.
50318         (init_display_interactive): rename from init_display; use
50319         will_dump_p instead of !initialized.  Initialize faces early for
50320         pdumper if needed.
50321         (init_display): new function.
50322         (syms_of_display_for_pdumper): new function.
50323         (syms_of_display): call it.
50325         * src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset
50326         on pdumper load.
50328         * src/data.c (Fdefalias): Use will_dump_p
50329         instead of Vpurify_flag.
50330         (Fmake_variable_buffer_local): silence compiler warning with -Og
50331         by making valcontents UNINIT.
50332         (arith_driver): silence compiler warning with UNINIT.
50334         * src/conf_post.h (ATTRIBUTE_SECTION): new macro.
50336         * src/composite.c (composition_gstring_put_cache): rehash hash
50337         table if needed.
50339         * src/coding.c (init_coding_once, syms_of_coding): remember
50340         pdumper stuff.
50342         * src/charset.h (charset_table_size, charset_table_user): declare.
50344         * src/charset.c (charset_table_used, charset_table_size): un-static.
50345         (init_charset_oncem, syms_of_charset): remember pdumper stuff.
50347         * src/category.c (category_table_version): remove obsolete
50348         variable.
50350         * src/callint.c (syms_of_callint): staticpro 'preserved_fns'
50351         (init_callproc): use will_dump_p instead of !CANNOT_DUMP.
50353         * src/bytecode.c (exec_byte_code): rehash table tables if needed
50355         * src/buffer.c (alloc_buffer_text, free_buffer_text): account for
50356         pdumper
50357         (init_buffer_once): add TODO; remember stuff for pdumper.
50358         (init_buffer): don't take initialized argument; adjust
50359         for pdumper.
50361         * src/atimer.c (init_atimer): initialize subr only if
50362         !initialized.
50364         * src/alloc.c: (vector_marked_p, set_vector_marked)
50365         (vectorlike_marked_p, set_vectorlike_marked, cons_marked_p)
50366         (set_cons_marked, string_marked_p, set_string_marked)
50367         (symbol_marked_p, set_symbol_marked, interval_marked_p)
50368         (set_interval_marked): new accessor routines.  Use them
50369         instead of raw GC access throughout.
50370         (Vdead): make non-static when ENABLE_CHECKING.
50371         (vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike
50372         header as input instead of a vector.
50373         (number_finalizers_run): new internal C variable.
50374         (mark_maybe_object): check for pdumper objects.
50375         (valid_pointer_p): don't be gratuitously inefficient under rr(1).
50376         (make_pure_c_string): add support for size_byte = -2 mode
50377         indicating that string data points into Emacs image rodata.
50378         (visit_vectorlike_root): visits GC roots embedded in
50379         vectorlike objects.
50380         (visit_buffer_root): visits GC roots embedded in
50381         our totally-not-a-buffer buffer global objects.
50382         (visit_static_gc_roots): visit GC roots in the Emacs data section.
50383         (mark_object_root_visitor): root callback used for conventional GC
50384         marking
50385         (weak_hash_tables): new internal variable for tracking found weak
50386         hash tables during GC.
50387         (mark_and_sweep_weak_table_contents): new weak hash table marking.
50388         (garbage_collect_1): use new GC root visitor machinery.
50389         (mark_vectorlike): accept a vectorlike_header instead of a
50390         Lisp_Vector.
50391         (mark_frame, mark_window, mark_hash_table): new functions.
50392         (mark_object): initialize 'm'; check for pdumper objects and use
50393         new mark-bit accessors throughout.  Remove some object-specific
50394         marking code and move to helper functions above.
50395         (survives_gc_p): check for pdumper objects.
50396         (gc-sweep): clear pdumper mark bits.
50397         (init_alloc_once_for_pdumper): new helper function for early init
50398         called both during normal init and pdumper load.
50399         (init_alloc_once): pdumper integration.
50401         * src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o;
50402         invoke temacs with --temacs command line option; build dmpstruct.h
50403         from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper
50404         intermediate files during build.
50406         * nextstep/Makefile.in: build emacs.pdmp into NS packages
50408         * lisp/startup.el: account for new '--temacs' and '--dump-file'
50409         command line option.
50411         * lisp/loadup.el: rewrite early init to account for pdumper; use
50412         injected 'dump-mode' variable (set via the new '--temacs' option)
50413         instead of parsing command line.
50415         * lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag',
50416         since the new 'dump-mode'
50418         * lib-src/make-fingerprint.c: new program
50420         * lib-src/Makefile.in: built make-fingerprint utility program
50422         * configure.ac: Add --with-pdumper toggle to control pdumper
50423         support; add --with-unexec toggle to control unexec support.
50424         Add --with-dumping option to control which dumping strategy we use
50425         by default.  Adjust for pdumper throughout.  Check for
50426         posix_madvise.
50428         * Makefile.in: Add @DUMPING@ substitution; add pdumper mode.
50430         * .gitignore: Add make-fingerprint, temacs.in, fingerprint.c,
50431         dmpstruct.h, and pdumper dump files.
50433 2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>
50435         Avoid using obsolete accept-process-output arg
50437         * lisp/gnus/nnheader.el (nnheader-accept-process-output):
50438         * lisp/net/dns.el (dns-query):
50439         * lisp/net/imap.el (imap-wait-for-tag):
50440         * lisp/net/network-stream.el (network-stream-get-response):
50441         * lisp/net/pop3.el (pop3-accept-process-output):
50442         * lisp/obsolete/starttls.el (starttls-negotiate-gnutls)
50443         (starttls-open-stream-gnutls):
50444         * lisp/server.el (server-eval-at):
50445         * lisp/textmodes/ispell.el (ispell-accept-output):
50446         Do not depend on the obsolete milliseconds argument of
50447         accept-process-output.
50449 2019-01-15  Paul Eggert  <eggert@cs.ucla.edu>
50451         Fix accept-process-output/process-live-p confusion
50453         * doc/lispref/processes.texi (Accepting Output):
50454         Document the issue.
50455         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
50456         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
50457         * lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
50458         * lisp/net/tramp.el (tramp-interrupt-process):
50459         * test/src/process-tests.el (make-process/mix-stderr):
50460         Fix code that uses accept-process-output and process-live-p.
50461         Add FIXME comments as necessary.
50462         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
50463         * lisp/net/tramp.el (tramp-action-out-of-band):
50464         Add FIXME comments as necessary.
50466 2019-01-15  Alan Mackenzie  <acm@muc.de>
50468         Make CC Mode and electric-pair-mode work together.  This fixes bug #33794
50470         * lisp/progmodes/cc-cmds.el (c-electric-pound, c-electric-slash)
50471         (c-electric-star, c-electric-semi&comma, c-electric-colon, c-electric-lt-gt):
50472         Bind post-self-insert-hook to nil around calls to self-insert-command to
50473         protect against arbitrary functionality confusing CC Mode.
50474         (c-do-brace-electrics): New function, extracted from c-electric-brace and
50475         enhanced.
50476         (c-electric-brace): Bind post-self-insert-hook to nil around the call to
50477         self-insert-command.  When electric-pair-mode is configured, call
50478         electric-pair-post-self-insert-function.  Handle any deletion done by this
50479         function.  Call c-do-brace-electrics for the inserted brace, and perhaps for a
50480         brace inserted by electric-pair-self-insert-function.
50481         (c-electric-paren): Bind post-self-insert-hook to nil around the call to
50482         self-insert-command.  When electric-pair-mode is configured, call
50483         electric-pair-post-self-insert-function.
50485 2019-01-14  Philipp Stephani  <phst@google.com>
50487         Disable electric quotes for most files in the Emacs codebase.
50489         * .dir-locals.el: Disable electric quotes in comments and strings for
50490         C, Emacs Lisp, and Texinfo, as the Emacs codebase doesn't use them.
50492 2019-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
50494         * lisp/emacs-lisp/package.el (package-activate-all): Fix last change
50496         * lisp/emacs-lisp/package.el (package-activate-all): Silence load msg
50498 2019-01-14  João Távora  <joaotavora@gmail.com>
50500         Fix icomplete's cycling when filename filtering kicks in
50502         (Bug#34070)
50504         * lisp/icomplete.el (icomplete--filtered-completions): New variable.
50505         (icomplete-forward-completions, icomplete-backward-completions):
50506         Use it.
50507         (icomplete-completions): Set it.
50509 2019-01-14  Robert Pluim  <rpluim@gmail.com>
50511         Improve some of the breve/caron/cedilla mappings
50513         * lisp/leim/quail/latin-pre.el ("latin-prefix"): Describe new 'c with
50514         cedilla mapping'.  Extend caron description.  Correct dot above
50515         description.  Add new mappings for 'a with breve' and 'c with caron'.
50516         Add additional mapping for 'c with cedilla'.  Delete ~o mapping for 'g
50517         with dot above'.
50519 2019-01-14  Robert Pluim  <rpluim@gmail.com>
50521         Fix some breve and dot above related doc strings
50523         * lisp/leim/quail/latin-pre.el ("romanian-prefix"): Correct
50524         description of 'a with breve'.
50525         ("romanian-alt-prefix"): Correct description of 'a
50526         with breve'.  Reformat other entries for consistency.
50527         ("latin-3-prefix"): Correct 'dot above' description.
50529 2019-01-13  Paul Eggert  <eggert@cs.ucla.edu>
50531         Fix translation-region bug with MAX_CHAR
50533         Also, clean up the code a bit.
50534         Actually I discovered the bug while cleaning up the code.
50535         * src/editfns.c (Fsubst_char_in_region)
50536         (Ftranslate_region_internal): Use bool for booleans.
50537         (Ftranslate_region_internal): Fix off-by-1 bug when a
50538         translation table translates the maximum char.  Assume C99
50539         decl-after-statement, similar minor cleanups.
50540         * test/src/editfns-tests.el (test-translate-region-internal):
50541         New test.
50543 2019-01-13  Paul Eggert  <eggert@cs.ucla.edu>
50545         Minor overflow fix in translate-region-internal
50547         * src/editfns.c (Ftranslate_region_internal):
50548         Use ptrdiff_t, not int, for a count that might exceed INT_MAX.
50550 2019-01-12  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
50552         Check that feature exist in `sql-set-product-feature' (Bug#30494).
50554         * lisp/progmodes/sql.el (sql-set-product-feature): Add test for
50555         feature existence.
50557 2019-01-11  Glenn Morris  <rgm@gnu.org>
50559         Remove some obsolete stub files from etc/
50561         * etc/CENSORSHIP, etc/FTP, etc/GNU, etc/LINUX-GNU, etc/MORE.STUFF:
50562         * etc/ORDERS, etc/THE-GNU-PROJECT, etc/WHY-FREE:
50563         Remove stub files that were marked obsolete 5 years ago.
50565 2019-01-11  Martin Rudalics  <rudalics@gmx.at>
50567         Run window change functions during redisplay
50569         * doc/lispref/windows.texi (Window Sizes): Move (and rename)
50570         descriptions of 'window-pixel-height-before-size-change' and
50571         'window-pixel-width-before-size-change' to Window Hooks
50572         section.
50573         (Window Configurations): Remove warning against use of
50574         'save-window-excursion' in 'window-size-change-functions'.
50575         (Window Hooks): Rewrite section according to redesign of
50576         window change functions.
50577         * lisp/erc/erc-track.el (erc-window-configuration-change)
50578         (erc-modified-channels-update): Call latter directly from
50579         'window-configuration-change-hook' instead via
50580         'post-command-hook'.
50581         * lisp/frame.el (frame-size-changed-p): Change nomenclature
50582         in let bindings.
50583         * lisp/net/rcirc.el (rcirc-window-configuration-change)
50584         (rcirc-window-configuration-change-1): Call latter directly
50585         from 'window-configuration-change-hook' instead via
50586         'post-command-hook'.
50587         * lisp/window.el (window-pixel-width-before-size-change)
50588         (window-pixel-height-before-size-change): Defalias.
50589         (window--resize-mini-window, window-resize)
50590         (adjust-window-trailing-edge, delete-window)
50591         (delete-other-windows, balance-windows): Don't run
50592         'window-configuration-change-hook' any more from here.
50593         (split-window): Don't run 'window-configuration-change-hook'
50594         from here.  'run-window-scroll-functions' from here.
50595         (window--adjust-process-windows): Run from
50596         'window-configuration-change-hook' only.
50597         * src/frame.c (old_selected_frame): New Lisp variable.
50598         (make_frame): Initialize frame's change_stamp slot.
50599         (Fold_selected_frame): New function.
50600         * src/frame.h (struct frame): New slots old_selected_window,
50601         window_change, change_stamp and number_of_windows.
50602         (fset_old_selected_window): New inlined function.
50603         (FRAME_WINDOW_CHANGE, FRAME_OLD_SELECTED_WINDOW): New macros.
50604         * src/window.c (old_selected_window): New Lisp variable.
50605         (wset_old_buffer): New inlined function.
50606         (Fframe_old_selected_window, Fold_selected_window)
50607         (Fwindow_old_buffer): New functions.
50608         (Fwindow_old_pixel_width, Fwindow_old_pixel_height): Rename
50609         from Fwindow_pixel_width_before_size_change and
50610         Fwindow_pixel_height_before_size_change.  Update doc-strings.
50611         (Fwindow_old_body_pixel_width, Fwindow_old_body_pixel_height):
50612         New functions.
50613         (Fdelete_other_windows_internal): Set frame's window_change
50614         slot instead of running 'window-configuration-change-hook'.
50615         (Frun_window_configuration_change_hook): In doc-string tell
50616         that this function is no more needed.
50617         (Frun_window_scroll_functions): Amend doc-string.  Run with
50618         window's buffer current.
50619         (window_sub_list, window_change_record_windows)
50620         (window_change_record_frame, window_change_record)
50621         (run_window_change_functions_1, run_window_change_functions):
50622         New functions.
50623         (set_window_buffer): Set frame's window_change slot instead of
50624         running 'window-configuration-change-hook'.
50625         (make_window): Don't initialize pixel_width_before_size_change
50626         and pixel_height_before_size_change slots.
50627         (window_resize_apply, Fdelete_window_internal): Set frame's
50628         window_change slot.
50629         (Fsplit_window_internal): Set frame's window_change slot.
50630         Don't run 'window-scroll-functions' from here.
50631         * src/window.h (struct window): New slots old_buffer,
50632         change_stamp, old_pixel_width (renamed from
50633         pixel_width_before_size_change), old_pixel_height (renamed
50634         from pixel_height_before_size_change), old_body_pixel_width
50635         and old_body_pixel_height.
50636         * src/xdisp.c (init_iterator): Set frame's window_change slot
50637         when the body height or width changes.
50638         (prepare_menu_bars): Don't run_window_size_change_functions.
50639         (redisplay_internal): Don't run_window_size_change_functions,
50640         run_window_change_functions instead.
50642 2019-01-10  Paul Eggert  <eggert@cs.ucla.edu>
50644         List lengths are always fixnums now
50646         Without this patch, it was theoretically possible for a list
50647         length to be a bignum, which means that safe-length could
50648         signal an error (due to generating a too-large bignum) contrary
50649         to its documentation.  Fix things to remove the theoretical
50650         possibility, so that list lengths are always fixnums (and so
50651         that list lengths are always ptrdiff_t values too, since that
50652         is assumed internally anyway).
50653         * src/alloc.c (Fcons): Do not allocate so many conses that
50654         a list length won’t fit into ptrdiff_t or into fixnum.
50655         This matters only on weird platforms; on typical platforms,
50656         list lengths always fit anyway.
50657         * src/fns.c (list_length, Fsafe_length, proper-list-p):
50658         Remove integer overflow checks that are no longer needed.
50660 2019-01-10  Paul Eggert  <eggert@cs.ucla.edu>
50662         Minor tweaks to HAVE_NATIVE_SCALING code
50664         This mostly just reindents.
50665         * src/image.c (x_set_image_size): Always define, but to a no-op
50666         if !HAVE_NATIVE_SCALING, to avoid an #ifdef elsewhere.
50667         (x_create_x_image_and_pixmap): Move decl to avoid an #ifdef.
50668         (image_create_x_image_and_pixmap): Move #ifdef outside of call.
50669         * src/xterm.c (x_composite_image): Avoid ‘else #endif’.
50671 2019-01-10  Alan Third  <alan@idiocy.org>
50673         Add native image scaling (bug#33587)
50675         * configure.ac: Test for XRender outside of xft checks.
50676         * src/Makefile.in (XRENDER_LIBS): List XRender libs separately from
50677         xft libs.
50678         * lisp/image.el (image--get-imagemagick-and-warn): Allow resizing if
50679         native scaling is available.
50680         * src/dispextern.h: Add XRender and image scaling stuff.
50681         (struct image): Add XRender Pictures.
50682         * src/image.c (x_create_bitmap_mask):
50683         (image_create_x_image_and_pixmap): Handle XRender Picture.
50684         (scale_image_size):
50685         (compute_image_size): Make available when any form of scaling is
50686         enabled.
50687         (x_set_image_size): New function.
50688         (lookup_image): Set image size.
50689         (x_create_x_image_and_pixmap): Create XRender Picture when necessary.
50690         (x_put_x_image): Handle the case where desired size != actual size.
50691         (free_image): Free XRender Pictures.
50692         (Fimage_scaling_p): New function.
50693         (syms_of_image): Add image-scaling-p.
50694         * src/nsimage.m (ns_load_image): Remove NS specific resizing.
50695         ([EmacsImage setSizeFromSpec:]): Remove method.
50696         (ns_image_set_size): New function.
50697         * src/nsterm.m (ns_draw_fringe_bitmap): Cocoa and GNUstep both have
50698         the same compositing functions, so remove unnecessary difference.
50699         * src/xterm.c (x_composite_image): New function.
50700         (x_draw_image_foreground): Use new x_composite_image function.
50701         * doc/lispref/display.texi (Image Descriptors): Document
50702         image-scaling-p and add resizing descriptors.
50703         (ImageMagick Images): Remove resizing descriptors.
50705 2019-01-10  Alan Third  <alan@idiocy.org>
50707         Fix drag and drop behaviour on NS (bug#30929)
50709         * doc/emacs/macos.texi (Mac / GNUstep Events): Describe the new drag
50710         and drop behaviour.
50711         * lisp/term/ns-win.el (ns-drag-n-drop): Handle the new event format.
50712         (ns-drag-n-drop-other-frame):
50713         (ns-drag-n-drop-as-text):
50714         (ns-drag-n-drop-as-text-other-frame): Remove functions and key
50715         bindings.
50716         * src/nsterm.m ([EmacsView performDragOperation:]): Send Emacs event
50717         in new format without setting any modifiers.
50719 2019-01-10  Michael Albinus  <michael.albinus@gmx.de>
50721         New test custom--test-theme-variables
50723         * test/lisp/custom-tests.el (custom--test-user-option)
50724         (custom--test-variable): New variables.
50725         (custom--test-theme-variables): New test.
50727         * test/lisp/custom-resources/custom--test-theme.el (custom--test):
50728         New file.
50730 2019-01-10  Martin Rudalics  <rudalics@gmx.at>
50732         Handle dedicated status in 'window--display-buffer' (Bug#33870)
50734         * lisp/window.el (display-buffer-record-window): Rewrite
50735         doc-string.
50736         (window--display-buffer): Remove fifth argument DEDICATED and
50737         either directly use a 'dedicated' entry in ALIST or the value
50738         of 'display-buffer-mark-dedicated' instead.
50739         (display-buffer-in-atom-window, display-buffer-use-some-frame)
50740         (display-buffer-pop-up-frame, display-buffer-pop-up-window)
50741         (display-buffer-below-selected, display-buffer-at-bottom):
50742         Adjust callers of 'window--display-buffer'.
50743         (window--make-major-side-window)
50744         (display-buffer-in-side-window): Handle dedicated status of
50745         the chosen side window via a 'dedicated' alist entry and
50746         adjust 'window--display-buffer' call.
50747         (display-buffer-in-child-frame): Set up TYPE correctly for and
50748         adjust 'window--display-buffer' call.
50749         (display-buffer-in-previous-window): Handle dedicated status
50750         of a previous window already showing BUFFER.
50751         * doc/lispref/windows.texi (Buffer Display Action Alists): New
50752         action alist entry 'dedicated'.
50753         (Dedicated Windows): Mention new buffer display action alist
50754         entry 'dedicated'.
50755         * etc/NEWS: Mention new buffer display action alist entry
50756         'dedicated'.
50758 2019-01-09  Paul Eggert  <eggert@cs.ucla.edu>
50760         Mention Japanese change in documentation
50762 2019-01-09  Yasuhiro KIMURA  <yasu@utahime.org>
50764         Change preferred Japanese coding system to UTF-8
50766         * lisp/language/japan-util.el (setup-japanese-environment-internal):
50767         Use utf-8 as preferred coding system instead of japanese-iso-8bit when
50768         system is not MS-Windows. And while I'm at it, fix comment to fit current
50769         implementation.  (Bug#28705)
50771 2019-01-09  Paul Eggert  <eggert@cs.ucla.edu>
50773         Use shortcuts for Flength
50775         When calculating the length of a Lisp object whose type is
50776         known, use a specialized length operation on it to save a bit
50777         of runtime overhead.
50778         * src/callint.c (Fcall_interactively):
50779         * src/minibuf.c (read_minibuf_unwind):
50780         Use ASIZE rather than Flength on values that must be vectors.
50781         * src/charset.c (Fsort_charsets):
50782         * src/coding.c (detect_coding_sjis):
50783         (Fdefine_coding_system_internal):
50784         * src/data.c (wrong_choice):
50785         * src/eval.c (Flet, eval_sub, Fapply, apply_lambda):
50786         * src/fns.c (sort_list):
50787         * src/font.c (font_vconcat_entity_vectors)
50788         (font_find_for_lface):
50789         * src/frame.c (Fmodify_frame_parameters):
50790         * src/fringe.c (get_logical_fringe_bitmap):
50791         * src/ftfont.c (ftfont_get_open_type_spec):
50792         * src/gtkutil.c (xg_print_frames_dialog):
50793         * src/lread.c (read1, read_vector):
50794         * src/keymap.c (Fkey_description):
50795         * src/kqueue.c (Fkqueue_add_watch):
50796         * src/macfont.m (macfont_get_open_type_spec):
50797         * src/menu.c (parse_single_submenu, x_popup_menu_1):
50798         * src/minibuf.c (Finternal_complete_buffer):
50799         * src/nsfont.m (ns_findfonts, nsfont_list_family):
50800         * src/process.c (Fmake_process):
50801         * src/search.c (Fset_match_data):
50802         * src/xfaces.c (Fx_family_fonts):
50803         Use list_length rather than Flength on values that must be lists.
50804         * src/fns.c (list_length): New function.
50805         (Flength): Use it.
50806         * src/nsfont.m (ns_findfonts):
50807         Use !NILP (x) rather than XFIXNUM (Flength (x)) != 0.
50808         * src/xdisp.c (store_mode_line_string):
50809         Use SCHARS rather than Flength on values that must be strings.
50811 2019-01-08  Stefan Monnier  <monnier@iro.umontreal.ca>
50813         * src/window.c (save_window_save): Revert part of d82e73f
50815         ...made unnecessary by a058edae.
50817 2019-01-08  Paul Eggert  <eggert@cs.ucla.edu>
50819         * admin/notes/unicode: Update to match recent changes.
50821 2019-01-08  Stefan Monnier  <monnier@iro.umontreal.ca>
50823         * lisp/emacs-lisp/map.el: Prepare for addition to GNU ELPA
50825         * lisp/help-fns.el (help--load-prefixes): Demote errors from files.
50827 2019-01-08  Michael Albinus  <michael.albinus@gmx.de>
50829         Fix nasty cut'n'waste error in Tramp
50831         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
50832         Remove weird code, resulting from cut'n'waste.
50834 2019-01-08  Michael Albinus  <michael.albinus@gmx.de>
50836         Adapt .gitlab-ci.yml
50838         * .gitlab-ci.yml (variables): Move outside jobs.  Use
50839         "GIT_STRATEGY: fetch".
50840         (before_script): Install git.
50841         (test-all): Rename from test.  Install inotify-tools.  Run "make
50842         check-expensive".
50843         (test-filenotify-gio): New job.
50845 2019-01-07  Leo Liu  <sdl.web@gmail.com>
50847         * lisp/progmodes/js.el: Remove unused (require 'thingatpt).
50849 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
50851         Use utf-8 coding system for all our Elisp files
50853         * lisp/international/ja-dic-cnv.el:
50854         * lisp/international/ja-dic-utl.el:
50855         * lisp/international/kinsoku.el:
50856         * lisp/international/kkc.el:
50857         * lisp/language/japan-util.el:
50858         * lisp/language/japanese.el:
50859         * lisp/leim/quail/cyril-jis.el:
50860         * lisp/leim/quail/hanja-jis.el:
50861         * lisp/leim/quail/japanese.el:
50862         * lisp/leim/quail/py-punct.el:
50863         * lisp/leim/quail/pypunct-b5.el: Use utf-8 coding system.
50864         * lisp/international/titdic-cnv.el: Use utf-8-emacs coding system.
50866 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
50868         * lisp/international/titdic-cnv.el: Save generated files with utf-8
50870         (titdic-convert, miscdic-convert): Use utf-8 when writing and don't
50871         bother putting a `coding:` tag since utf-8 is the default anyway.
50873 2019-01-07  Glenn Morris  <rgm@gnu.org>
50875         Merge from origin/emacs-26
50877         f1ce72b ; ChangeLog.3 update
50878         5b59cf0 * etc/AUTHORS: Update.
50879         2cf20b6 * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug...
50881         # Conflicts:
50882         #       ChangeLog.3
50883         #       lisp/textmodes/mhtml-mode.el
50885 2019-01-07  Glenn Morris  <rgm@gnu.org>
50887         Merge from origin/emacs-26
50889         0ecff00 Improve commentary in font.h
50890         a058eda Fix definition of Qwindow_point_insertion_type (Bug#33871)
50892 2019-01-07  Glenn Morris  <rgm@gnu.org>
50894         Merge from origin/emacs-26
50896         5f2aa32 Update Unicode copyright notice
50898 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
50900         Adapt tests for emba
50902         * test/lisp/filenotify-tests.el (file-notify-test03-events)
50903         (file-notify-test05-file-validity)
50904         (file-notify-test06-dir-validity)
50905         (file-notify-test07-many-events)
50906         (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
50908 2019-01-06  Paul Eggert  <eggert@cs.ucla.edu>
50910         Minor INFINITY/NAN cleanup
50912         * src/lread.c (INFINITY): Use a more-portable way to specify
50913         this macro on non-C99 platforms that lack it.
50914         (NAN): Remove; unused.
50916 2019-01-06  Paul Eggert  <eggert@cs.ucla.edu>
50918         Fix logb on zero, infinite, NaN args
50920         Change logb to return -infinity, +infinity, and NaN respectively.
50921         Formerly logb returned an extreme fixnum to represent
50922         infinity, but this is no longer the right thing to do now that
50923         we have bignums and there is no extreme integer.
50924         * doc/lispref/numbers.texi (Float Basics), etc/NEWS: Document.
50925         * src/floatfns.c (Flogb): Implement this.
50927 2019-01-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
50929         Use integers for syntax-pps-stats
50931         * lisp/emacs-lisp/syntax.el (syntax-ppss-stats):
50932         Use integers, not floating-point, for stats, now that integers are
50933         unbounded.  Almost always these should be fixnums.  Add 1 to last
50934         slot’s car so that this addition need not be done at runtime.
50935         (syntax-pps-stats, syntax-ppss): Use integers for calculations.
50936         (syntax-ppss--update-stats): New convenience function.
50937         (syntax-ppss): Use it.
50939 2019-01-06  Michael Albinus  <michael.albinus@gmx.de>
50941         Adapt filenotify-tests for emba
50943         * test/lisp/filenotify-tests.el (file-notify-test03-events)
50944         (file-notify-test05-file-validity)
50945         (file-notify-test06-dir-validity)
50946         (file-notify-test07-many-events)
50947         (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
50949 2019-01-05  Khaled Hosny  <khaledhosny@eglug.org>
50951         Always set explicit HarfBuzz buffer direction
50953         If no direction was given by the caller, I assume the text will be drawn
50954         left to right, if this is not the case then callers must provide
50955         sensible direction. Letting HarfBuzz guess the direction is not
50956         appropriate since shaping and drawing must use the same direction.
50958         Also move hb_buffer_guess_segment_properties() call to the end, so it
50959         only guessing unset properties, until we completely get rid of it.
50961 2019-01-05  Khaled Hosny  <khaledhosny@eglug.org>
50963         We need the bidi level not the paragraph direction
50965 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
50967         Port to platforms where tputs is in libtinfow
50969         * configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).
50971 2019-01-05  João Távora  <joaotavora@gmail.com>
50973         New flymake-supress-zero-counters defcustom
50975         A feature suggested by Yuri Khan <yurivkhan@gmail.com>.
50977         * lisp/progmodes/flymake.el (flymake-suppress-zero-counters): New
50978         variable.  (flymake--mode-line-format): Use it.
50980 2019-01-05  João Távora  <joaotavora@gmail.com>
50982         Fix Flymake tests for GCC 8.2.0
50984         (Bug#33872)
50986         "Now you have two problems..."
50988         * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
50989         Adjust regexp.
50991 2019-01-05  John Shahid  <jvshahid@gmail.com>  (tiny change)
50993         Unbreak Flymake's diagnostics buffer when revisiting source
50995         (Bug#33881)
50997         * lisp/progmodes/flymake.el (flymake-show-diagnostics-buffer):
50998         Set flymake--diagnostics-buffer-source before reverting.
51000 2019-01-05  Drew Adams  <drew.adams@oracle.com>
51002         Don't signal error from "C-x C-k l" about mouse events
51004         * lisp/edmacro.el (edmacro-fix-menu-commands): Ignore mouse
51005         events instead of signaling an error.  Display unsupported
51006         events in the error message.  (Bug#33930)
51008 2019-01-05  Joel Rosdahl  <joel@rosdahl.net>  (tiny change)
51010         Fix electric indent bug in python-mode after dedenting colon
51012         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
51013         Use markers instead of positions when reindenting statement(s) after
51014         inserting electric colon to avoid reindenting too many
51015         statements (bug#22663).
51017         * test/lisp/progmodes/python-tests.el (python-indent-electric-colon-2):
51018         Improve test case to also verify the fix of bug#22663.
51020 2019-01-04  Eli Zaretskii  <eliz@gnu.org>
51022         Improve documentation of 'server-name'
51024         * doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
51025         (emacsclient Options):
51026         * lisp/server.el (server-name): Document the usage of
51027         'server-name' to specify the server file as an absolute file
51028         name.  (Bug#33934)
51030 2019-01-03  Michael Albinus  <michael.albinus@gmx.de>
51032         Mark some filenotify tests unstable on emba
51034         * .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.
51036         * test/lisp/filenotify-tests.el (file-notify-test03-events)
51037         (file-notify-test05-file-validity)
51038         (file-notify-test06-dir-validity)
51039         (file-notify-test07-many-events)
51040         (file-notify-test09-watched-file-in-watched-dir): Mark them as
51041         :unstable on emba.
51043 2019-01-03  Michael Albinus  <michael.albinus@gmx.de>
51045         Adapt test/README
51047         * test/README: Speak about continuous integration tests on hydra
51048         and emba.
51050 2019-01-03  Andrey Kotlarski  <m00naticus@gmail.com>
51052         Fix EBROWSE parsing of classes declared final.
51054 2019-01-02  Philipp Stephani  <phst@google.com>
51056         Avoid a compiler warning on macOS.
51058         * src/xdisp.c (expose_window_tree): Define variable f only if used.
51060 2019-01-02  Nicolas Petton  <nicolas@petton.fr>
51062         Document the new functions of seq.el
51064         * etc/NEWS: New section documenting the addition of `seq-first' and
51065         `seq-rest'.
51067 2019-01-02  Eli Zaretskii  <eliz@gnu.org>
51069         Fix text direction of the HarfBuzz shaping buffer
51071         * src/indent.c (scan_for_column, compute_motion):
51072         * src/xdisp.c (CHAR_COMPOSED_P): Pass PDIR argument to
51073         composition_reseat_it.
51074         * src/composite.c (composition_reseat_it): Accept an
51075         additional argument PDIR that provides the current paragraph's
51076         base direction; all callers changed.  Use PDIR to fix
51077         calculation of the DIRECTION argument to autocmp_chars.
51078         (Bug#33944)
51079         * src/composite.h: Include dispextern.h.
51080         (composition_reseat_it): Update prototype.
51082 2019-01-02  João Távora  <joaotavora@gmail.com>
51084         Extend electric-layout-mode to handle more complex layouts (bug#33794)
51086         Entries in electric-layout-rules can specify multiple
51087         newline-related actions which are executed in order of appearance.
51089         Also, have it play nice with electric-pair-mode when inserting a
51090         newlines, particularly with electric-pair-open-newline-between-pairs.
51092         Entries in electric-layout-rules can also be functions.  Among other
51093         things, the logic behind electric-pair-open-newline-between-pairs
51094         could now be moved to electric-layout-mode, but this commit doesn't do
51095         that yet.
51097         This change was motivated by bug#33794 and is an alternative solution
51098         to the problem reported in that bug.
51100         * lisp/electric.el (electric-layout-rules): Adjust docstring.
51101         (electric-layout-post-self-insert-function): Call
51102         electric-layout-post-self-insert-function-1.
51103         (electric-layout-post-self-insert-function-1): Rename from
51104         electric-layout-post-self-insert-function.  Redesign.
51105         (electric-layout-local-mode): New minor mode.
51107         * test/lisp/electric-tests.el (electric-layout-int-main-kernel-style)
51108         (electric-layout-int-main-allman-style)
51109         (electric-modes-in-c-mode-with-self-insert-command)
51110         (electric-pair-mode-newline-between-parens)
51111         (electric-layout-mode-newline-between-parens-without-e-p-m)
51112         (electric-layout-mode-newline-between-parens-without-e-p-m-2): New
51113         tests.
51114         (plainer-c-mode): New helper.
51116 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
51118         Don’t limit range error reports to fixnums
51120         * src/lisp.h (CHECK_RANGED_INTEGER): When signaling an error,
51121         don’t arbitrarily limit the reported valid range to fixnums.
51123 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
51125         Bignums from garbage-collect, memory-use-counts
51127         Do not limit the results of garbage-collect and memory-use-counts
51128         to fixnums, as they might be bignums now on 32-bit hosts.
51129         * src/lisp.h (byte_ct): New type.
51130         * src/alloc.c (object_ct): New type.
51131         (consing_since_gc, gc_relative_threshold)
51132         (memory_full_cons_threshold, total_string_bytes):
51133         Now byte_ct, not EMACS_INT.
51134         (total_conses, total_symbols, total_buffers, total_free_conses)
51135         (total_free_symbols, total_free_floats, total_floats)
51136         (total_free_intervals, total_intervals, total_strings)
51137         (total_free_strings, total_vectors, total_vector_slots)
51138         (total_free_vector_slots): Now object_ct, not EMACS_INT.
51139         (bounded_number): Remove.  All uses removed.
51140         (object_bytes): New function.
51141         (total_bytes_of_live_objects, garbage_collect_1): Use byte_ct,
51142         not size_t, to count total GC bytes where multiple objects are
51143         involved.
51144         (garbage_collect_1, Fmemory_use_counts):
51145         Do not limit returned counts to fixnums.
51146         (sweep_conses, sweep_floats, sweep_intervals, sweep_symbols):
51147         Use object_ct, not EMACS_INT, to count GC objects.
51149 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
51151         Be consistent about list length fixnum overflow
51153         * src/fns.c (Flength, Fproper_list_p): Use overflow_error to
51154         report the (typically impossible) fixnum overflow.
51156 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
51158         Fix woman.el to not confuse scan-sexps
51160         * lisp/woman.el (woman-unpadded-space-char):
51161         Escape the close-bracket (Bug#33940).
51163 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
51165         decode-time: allow bignum years
51167         * src/timefns.c (TM_YEAR_BASE):
51168         Now a constant as it need not be a macro.
51169         (Fdecode_time): Do not signal an overflow merely because the
51170         Gregorian year number does not fix in a fixnum (which can
51171         happen on hosts with 64-bit time_t and with 32-bit int and
51172         EMACS_INT).
51174 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
51176         Fix integer overflow check in json code
51178         * src/json.c (json_to_lisp): Check for ptrdiff_t overflow,
51179         not fixnum overflow.
51181 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
51183         Update more copyright years
51185         Update some other copyright years automatically, by running:
51186         Run 'UPDATE_COPYRIGHT_YEAR=2019 \
51187         UPDATE_COPYRIGHT_USE_INTERVALS=1 \
51188         UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 admin/update-copyright'
51189         followed by 'admin/merge-gnulib'.
51191 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
51193         Update from Gnulib
51195         This incorporates mostly just copyright-year changes, plus
51196         recent minor updates from glibc for the non-Emacs regular
51197         expression code.
51199 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
51201         Merge from origin/emacs-26
51203         2fcf2df Fix copyright years by hand
51204         26bed8b Update copyright year to 2019
51205         2814292 Fix value of default frame height.  (Bug#33921)
51207 2018-12-31  Paul Eggert  <eggert@cs.ucla.edu>
51209         Remove UCHAR typedef
51211         * src/lisp.h (_UCHAR_T, UCHAR): Remove.  This workaround for
51212         circa-1993 old-AIX has evidently not been needed for decades.
51213         Tested on AIX 7.1, the oldest AIX version IBM still supports.
51215 2018-12-31  Michael Albinus  <michael.albinus@gmx.de>
51217         Reset `tramp-default-proxies-alist' in case of errors
51219         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
51220         Reset `tramp-default-proxies-alist' in case of errors.
51222 2018-12-31  Michael Albinus  <michael.albinus@gmx.de>
51224         Precise documentation of Tramp ad-hoc proxies
51226         * doc/misc/tramp.texi (Ad-hoc multi-hops): Remove superfluous
51227         first entry about %h and %u.  Describe, how to remove ad-hoc proxy
51228         definitions.
51229         (Cleanup remote connections): Mention, that also ad-hoc proxy
51230         definitions are removed.
51232         * etc/NEWS: Mention default host names in Tramp ad-hoc proxies.
51234 2018-12-31  Michael Albinus  <michael.albinus@gmx.de>
51236         * lisp/files.el (locate-file, files--splice-dirname-file): Fix docstring.
51238 2018-12-30  Paul Eggert  <eggert@cs.ucla.edu>
51240         Fix assertion-violations on non-integers
51242         These bugs were introduced after bignums were added.
51243         * src/data.c (cons_to_unsigned, cons_to_signed):
51244         * src/xdisp.c (calc_line_height_property):
51245         Invoke integer_to_intmax and integer_to_uintmax only on integers.
51247 2018-12-30  Glenn Morris  <rgm@gnu.org>
51249         Merge from origin/emacs-26
51251         82c82b1 (origin/emacs-26) In user manual fix value of default frame h...
51252         2e8825d Improve documentation of 'file-local-name' and related APIs
51253         11f0635 ; Remove comment in esh-proc.el
51255         # Conflicts:
51256         #       lisp/simple.el
51258 2018-12-30  Glenn Morris  <rgm@gnu.org>
51260         Merge from origin/emacs-26
51262         3abebeb * lisp/files.el (cd): Fix last change.  (Bug#33791)
51263         7a60a4f Fix remote directories in Eshell on MS-Windows
51264         822a2d0 Fix :type 'group' in defcustom
51265         a731c56 Fix NS fringe bitmap drawing bug (bug#33864)
51266         0c52459 Fix commentary in dispnew.c
51267         c9fdd1b Improve accept-process-process doc
51268         9578c2a Fix a simple bug in display-buffer-use-some-frame
51269         0f9be72 Clarify thread switching while waiting for process output
51270         24ddea0 Improve process doc. with respect to handling of large input ...
51271         2931016 ; Cosmetic changes in etc/NEWS
51272         85516b8 Minor copyedits in landmark.el
51274         # Conflicts:
51275         #       etc/NEWS
51277 2018-12-30  Alan Mackenzie  <acm@muc.de>
51279         CC Mode - use font-lock-comment-delimiter-face on block comment end delimiters
51281         In particular when the default comment type is currently line comments.  Do
51282         this by setting font-lock-comment-end-skip.
51284         * lisp/progmodes/cc-cmds.el (c-font-lock-comment-end-skip): New lang const.
51285         (font-lock-comment-end-skip): New c-lang-setvar.
51287 2018-12-30  Martin Rudalics  <rudalics@gmx.at>
51289         Handle 'unbound' like nil for 'window-point-insertion-type' (Bug#33871)
51291         * src/window.c (save_window_save): When setting the marker
51292         insertion type of saved window points treat a buffer local
51293         value of 'unbound' for 'window-point-insertion-type' like
51294         nil (Bug#33871).
51296 2018-12-29  Dmitry Gutov  <dgutov@yandex.ru>
51298         Skip 'basic' completion style for project-find-file
51300         * lisp/minibuffer.el (completion-category-defaults): Skip 'basic'
51301         for 'project-file', in order not to prefer files at the top of the
51302         directory tree.
51304 2018-12-29  Mattias Engdegård  <mattiase@acm.org>
51306         Handle raw bytes, and LF in ranges, in rx `any' argument strings
51308         * lisp/emacs-lisp/rx.el (rx-check-any-string): Rewrite to handle raw bytes
51309         in unibyte strings and accept LF as range endpoints (Bug#33205).
51310         * test/lisp/emacs-lisp/rx-tests.el: Add tests for the above.
51312 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
51314         Provide text directionality and language to HarfBuzz shaper
51316         * lisp/language/tv-util.el (tai-viet-composition-function):
51317         * lisp/language/ethio-util.el (ethio-composition-function):
51318         * lisp/language/japanese.el (compose-gstring-for-variation-glyph):
51319         * lisp/language/thai-util.el (thai-composition-function):
51320         * lisp/language/misc-lang.el (arabic-shape-gstring):
51321         * lisp/language/lao-util.el (lao-composition-function):
51322         * lisp/language/hebrew.el (hebrew-shape-gstring):
51323         * lisp/composite.el (compose-gstring-for-graphic)
51324         (compose-gstring-for-dotted-circle, auto-compose-chars)
51325         (compose-gstring-for-terminal): Accept 2nd argument DIRECTION; all
51326         callers changed.
51328         * src/composite.c (composition_reseat_it): Call
51329         auto-composition-function with one more argument DIRECTION.
51330         (syms_of_composite) <auto-composition-function>: Update the doc
51331         string.
51332         * src/ftfont.c (ftfont_shape_by_hb): Compute language and
51333         direction, and set buffer properties accordingly.
51334         * src/composite.c (autocmp_chars):
51335         * src/w32uniscribe.c (uniscribe_shape):
51336         * src/xftfont.c (xftfont_shape):
51337         * src/ftfont.c (ftfont_shape, ftfont_shape_by_hb):
51338         * src/font.c (Ffont_shape_gstring): Accept an additional argument
51339         DIRECTION.
51340         * src/macfont.m (lgstring_direction): New enum.
51341         (mac_font_shape_1, mac_screen_font_shape, mac_font_shape):
51342         Accept an additional argument specifying text direction.  All
51343         callers changed.
51344         * src/font.c (syms_of_font): New symbols QL2R and QR2L.
51345         * src/font.h (shape): Accept new argument DIRECTION.  All
51346         implementations changed.  (Bug#33729)
51347         (ftfont_shape): Update prototype.
51349 2018-12-29  Martin Rudalics  <rudalics@gmx.at>
51351         Avoid that unwind_format_mode_line messes up buffer points (Bug#32777)
51353         * src/xdisp.c (format_mode_line_unwind_data): Before
51354         temporarily selecting a window on another frame, separately save
51355         the point of that window's buffer too.
51356         (unwind_format_mode_line): After undoing the temporary
51357         selection of a window on another frame, separately restore the
51358         buffer point of that window.  This is needed since the
51359         operation that deselects that window will have stored back the
51360         point of that window into its buffer's point which is wrong
51361         since that window was never "officially" selected (Bug#32777).
51363 2018-12-28  Dmitry Gutov  <dgutov@yandex.ru>
51365         project-find-file: Move the common parent directory to the prompt
51367         * lisp/progmodes/project.el (project--completing-read-strict):
51368         Extract the common parent directory of all files first
51369         (https://lists.gnu.org/r/emacs-devel/2018-12/msg00444.html).
51371 2018-12-28  Michael Albinus  <michael.albinus@gmx.de>
51373         * lisp/net/tramp-sh.el (tramp-set-remote-path): Handle platforms w/o getconf.
51375 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
51377         Improve motivations in gomoku messages
51379         * lisp/play/gomoku.el (gomoku-terminate-game):
51380         Don't make six-year-old children cry (Bug#33803).
51382 2018-12-27  Paul Pogonyshev  <pogonyshev@gmail.com>
51384         Accept 1-arg 'substring' calls in byte compiler
51386         Those have been supported by the function implementation since
51387         commit 2014-03-31T12:06:34Z!dmantipov@yandex.ru (Bug#33807).
51388         * lisp/emacs-lisp/bytecomp.el: substring has 1-3 args, not 2-3.
51390 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
51392         Update from Gnulib
51394         * build-aux/config.guess, lib/regcomp.c, lib/regex.c:
51395         * lib/regex_internal.h, lib/regexec.c: Copy from Gnulib.
51397 2018-12-27  Eli Zaretskii  <eliz@gnu.org>
51399         Avoid assertion violation in directory-files
51401         * src/dired.c (directory_files_internal): Make sure MATCH is
51402         either nil or a string.  (Bug#33889)
51404 2018-12-27  Michael Albinus  <michael.albinus@gmx.de>
51406         Bump Tramp version to 2.4.1
51408         * doc/misc/trampver.texi:
51409         * lisp/net/tramp.el:
51410         * lisp/net/trampver.el: Change version to "2.4.1".
51412 2018-12-27  Martin Rudalics  <rudalics@gmx.at>
51414         Fix last change of debug.el
51416         * lisp/emacs-lisp/debug.el (debug): In noninteractive calls do
51417         the buffer text truncation in the debugger buffer.
51419 2018-12-26  Dmitry Gutov  <dgutov@yandex.ru>
51421         Tone down diff-refine-removed and diff-refine-added as well
51423         * lisp/vc/diff-mode.el (diff-refine-removed, diff-refine-added):
51424         Change backgrounds in light backgrounds themes (bug#33567).
51426 2018-12-26  Paul Eggert  <eggert@cs.ucla.edu>
51428         Port message-checksum to bignums
51430         * lisp/gnus/message.el (message--rotate-fixnum-left): New function.
51431         (message-checksum): Use it instead of assuming fixnum-only arithmetic.
51432         This should fix Bug#33083.
51434 2018-12-26  Martin Rudalics  <rudalics@gmx.at>
51436         Set up debugger buffer earlier and fit window to it (Bug#32825)
51438         * lisp/emacs-lisp/debug.el (debug): Set up debugger buffer
51439         before displaying it and advise 'display-buffer' to fit the
51440         window to it (Bug#32825).
51442 2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>
51444         Tone down diff-added and diff-removed in light themes
51446         * lisp/vc/diff-mode.el (diff-removed, diff-added): Tone down
51447         light background colors (bug#33567).
51449 2018-12-25  Juri Linkov  <juri@linkov.net>
51451         * lisp/isearch.el (isearch-done): Reset isearch-lazy-highlight-last-string
51453         to nil (bug#33838).
51454         (isearch-lazy-highlight-new-loop)
51455         (isearch-lazy-highlight-buffer-update): Don't set arg ELLIPSIS of
51456         isearch-message to t to not reset the value of isearch-error.
51458 2018-12-25  Juri Linkov  <juri@linkov.net>
51460         * lisp/vc/diff-mode.el (diff-syntax-fontify-hunk): Add `*' to names
51462         of ephemeral buffers like in " *org-src-fontification:%s*" from
51463         `org-src-font-lock-fontify-block'.  (Bug#33567)
51464         (diff-header, diff-file-header): Tone down light background colors.
51466 2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>
51468         Prepend 'rubocop' with 'bundle exec' when appropriate
51470 2018-12-25  Dmitry Gutov  <dgutov@yandex.ru>
51472         Use rubocop --lint when no .rubocop.yml
51474         * lisp/progmodes/ruby-mode.el (ruby-flymake-rubocop): When no
51475         config file found, only run lint cops (bug#31760).
51477 2018-12-25  Michael Albinus  <michael.albinus@gmx.de>
51479         Provide tramp-adb-handle-make-process
51481         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
51482         Add `tramp-adb-handle-make-process' and
51483         `tramp-handle-start-file-process'.
51484         (tramp-adb-handle-make-process): New defun, derived from
51485         `tramp-adb-handle-start-file-process'.  (Bug#28691)
51487 2018-12-24  Michael Albinus  <michael.albinus@gmx.de>
51489         Provide tramp-sh-handle-make-process
51491         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
51492         Add `tramp-sh-handle-make-process' and
51493         `tramp-handle-start-file-process'.
51494         (tramp-sh-handle-make-process): New defun, derived from
51495         `tramp-sh-handle-start-file-process'.  (Bug#28691)
51497         * lisp/net/tramp.el (tramp-handle-start-file-process): New defun.
51499         * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
51500         New test.
51501         (tramp-test31-interrupt-process, tramp-test32-shell-command)
51502         (tramp-test33-environment-variables)
51503         (tramp-test33-environment-variables-and-port-numbers)
51504         (tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
51505         (tramp-test35-remote-path, tramp-test36-vc-registered)
51506         (tramp-test37-make-auto-save-file-name)
51507         (tramp-test38-find-backup-file-name)
51508         (tramp-test39-make-nearby-temp-file)
51509         (tramp-test40-special-characters)
51510         (tramp-test40-special-characters-with-stat)
51511         (tramp-test40-special-characters-with-perl)
51512         (tramp-test40-special-characters-with-ls, tramp-test41-utf8)
51513         (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
51514         (tramp-test41-utf8-with-ls, tramp-test42-file-system-info)
51515         (tramp-test43-asynchronous-requests, tramp-test44-auto-load)
51516         (tramp-test44-delay-load, tramp-test44-recursive-load)
51517         (tramp-test44-remote-load-path, tramp-test45-unload): Rename.
51519 2018-12-23  Dmitry Gutov  <dgutov@yandex.ru>
51521         xref-goto-xref: Highlight the exact symbol after the jump
51523         * lisp/progmodes/xref.el (xref-goto-xref): Bind
51524         'xref--current-item' to highlight the exact symbol after the jump
51525         and not the whole line.
51527 2018-12-23  Dmitry Gutov  <dgutov@yandex.ru>
51529         execute-extended-command: Skip waiting in more cases
51531         * lisp/simple.el (execute-extended-command): Don't wait when
51532         there's no binding the current command, and the user doesn't want
51533         to see "shorter" suggestions, or TYPED is nil anyway.
51535 2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>
51537         Clarify one FIXME a bit
51539 2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>
51541         Cache HarfBuzz buffer
51543         Potentially faster and less memory allocations. I did not do any
51544         measurements though, so possibly a micro optimization.
51546 2018-12-23  Khaled Hosny  <khaledhosny@eglug.org>
51548         Remove one more FIXME
51550 2018-12-23  Michael Albinus  <michael.albinus@gmx.de>
51552         Handle `make-process' in Tramp and ange-ftp
51554         * doc/lispref/processes.texi (Asynchronous Processes):
51555         Explain, that not all file name handlers support `make-process'.
51557         * lisp/net/ange-ftp.el:
51558         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
51559         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
51560         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
51561         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
51562         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
51563         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
51564         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
51565         * lisp/net/tramp.el (tramp-file-name-for-operation): Add `make-process'.
51567         * lisp/vc/ediff-util.el:
51568         * src/process.c:
51569         * test/src/process-tests.el: Use "file name handler" consequently.
51571 2018-12-22  Juri Linkov  <juri@linkov.net>
51573         * lisp/simple.el (next-error-no-select): Use save-selected-window.
51575         Let-bind display alist of display-buffer-overriding-action to
51576         `(inhibit-same-window . t)'.  (Bug#32607)
51578 2018-12-22  Philipp Stephani  <p.stephani2@gmail.com>
51580         Add file name handler support for 'make-process' (Bug#28691)
51582         * src/process.c (Fmake_process): Add new keyword argument
51583         ':file-handler'.
51584         (syms_of_process) <make-process, :file-handler>: Define new symbols.
51586         * lisp/files.el (file-name-non-special): Add support for
51587         'make-process'.
51589         * test/src/process-tests.el (make-process/file-handler/found)
51590         (make-process/file-handler/not-found)
51591         (make-process/file-handler/disable): New unit tests.
51592         (process-tests--file-handler): New helper function.
51594         * test/lisp/files-tests.el
51595         (files-tests-file-name-non-special-make-process): New unit test.
51597         * doc/lispref/files.texi (Magic File Names): Document that
51598         'make-process' can invoke file name handlers.
51600         * doc/lispref/processes.texi (Asynchronous Processes): Document
51601         ':file-handlers' argument to 'make-process'.
51603         * etc/NEWS (Lisp Changes in Emacs 27.1): Mention new
51604         :file-handler argument for 'make-process'.
51606 2018-12-22  Eli Zaretskii  <eliz@gnu.org>
51608         * etc/HELLO: Add missing charset properties for Japanese and Korean.
51610 2018-12-22  Charles A. Roelli  <charles@aurox.ch>
51612         Macroexpand before evaluating in eval-expression (bis)
51614         * lisp/simple.el (eval-expression): Macroexpand before
51615         evaluating.  This repeats the fix made for Bug#20730 in
51616         another branch of the code a few lines down.
51618 2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>
51620         Replace another FIXME with a TODO and expanded comment
51622         Replace a FIXME with an expanded comment
51624 2018-12-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
51626         ldap.el: Do not set process-connection-type
51628         * lisp/net/ldap.el (ldap-search-internal): Leave
51629         process-connection-type at its default value.  (Bug#33050)
51631 2018-12-22  Michael Albinus  <michael.albinus@gmx.de>
51633         Use "file name handler" consequently
51635         * doc/lispref/files.texi:
51636         * doc/lispref/processes.texi:
51637         * doc/misc/ediff.texi:
51638         * lisp/simple.el:
51639         * lisp/vc/ediff-ptch.el:
51640         * src/buffer.c:
51641         * src/dired.c:
51642         * src/fileio.c:
51643         * src/image.c:
51644         * src/insdel.c:
51645         * src/w32fns.c: Use "file name handler" consequently.
51647 2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>
51649         Subclass default HarfBuzz Unicode functions
51651         Instead of creating new functions from scratch, subclass the default
51652         implementation and override the selected functions we want/can
51653         override.  (Bug#33729)
51655 2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>
51657         Fix previous commit
51659 2018-12-22  Khaled Hosny  <khaledhosny@eglug.org>
51661         Properly fix building with HarfBuzz and without libotf
51663         HarfBuzz support does not depend on libotf, the build breakage when
51664         libotf is missing was because code guarded with:
51666          #if defined HAVE_M17N_FLT && defined HAVE_LIBOTF
51668         was incorrectly changed to:
51670          #if defined HAVE_M17N_FLT || defined HAVE_HARFBUZZ
51672         this is now properly fixed by making it:
51674          #if (defined HAVE_M17N_FLT && defined HAVE_LIBOTF) || defined HAVE_HARFBUZZ
51676         Other changes in previous commits were reverted.
51678 2018-12-21  Michael Albinus  <michael.albinus@gmx.de>
51680         Fix Bug#33735
51682         * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
51683         Delete empty lines.  (Bug#33735)
51684         (tramp-sh-inotifywait-process-filter): Use `string-match'.
51685         (tramp-set-remote-path): Check for PIPE_BUF but PATH_MAX.
51687         * test/lisp/filenotify-tests.el: Handle $REMOTE_FILE_NOTIFY_LIBRARY.
51688         (file-notify--deftest-remote): Suppress vc-handled-backends.
51689         (file-notify-test08-backup): Do not expect failure on hydra.
51690         (Bug#33735).
51692 2018-12-21  Michael Albinus  <michael.albinus@gmx.de>
51694         * test/lisp/filenotify-tests.el, test/lisp/shadowfile-tests.el:
51696         Don't require tramp-sh, bug#33781 is fixed.
51698 2018-12-20  Juri Linkov  <juri@linkov.net>
51700         * lisp/emacs-lisp/debug.el (debug): Add display-buffer-below-selected
51702         to display actions of pop-to-buffer, and `(window-min-height . 10)'
51703         to display alist.  (Bug#32825)
51705 2018-12-20  Juri Linkov  <juri@linkov.net>
51707         * lisp/windmove.el (windmove-delete-in-direction): Change prefix arg C-u
51709         to kill the buffer.  Add prefix arg M-0 to delete the selected window.
51710         (Bug#32790)
51712 2018-12-20  Juri Linkov  <juri@linkov.net>
51714         * lisp/window.el (switch-to-buffer-obey-display-actions): New defcustom.
51716         (switch-to-buffer): Use it.  (Bug#32790)
51717         (switch-to-buffer-preserve-window-point):  Mention it in docstring.
51719         * lisp/windmove.el (windmove-display-in-direction): Mention it in docstring.
51721         * doc/lispref/windows.texi (Switching Buffers):
51722         Document switch-to-buffer-obey-display-actions.
51724 2018-12-20  Juri Linkov  <juri@linkov.net>
51726         * lisp/hi-lock.el (hi-salmon, hi-aquamarine): New faces.  (Bug#33398)
51728         (hi-lock-face-defaults): Add them.
51729         (hi-green-b, hi-red-b): Tone down foreground colors.
51731 2018-12-20  Glenn Morris  <rgm@gnu.org>
51733         Merge from origin/emacs-26
51735         081fb69 (origin/emacs-26) Check result from c-backward-token-2 to avo...
51736         f4ea746 cl-make-random-state was not copying its arg
51738 2018-12-20  Glenn Morris  <rgm@gnu.org>
51740         Merge from origin/emacs-26
51742         4c6c327 Restrict downcasing in elisp xref tests (bug#25534)
51743         ab8ed41 Avoid test failures if directory name looks like a regexp
51745 2018-12-20  Glenn Morris  <rgm@gnu.org>
51747         Merge from origin/emacs-26
51749         5825279 * doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.
51751 2018-12-20  Stefan Monnier  <monnier@iro.umontreal.ca>
51753         * lisp/emacs-lisp/map.el: Add support for plists
51755         (map--plist-p, map--plist-delete): New functions.
51756         (map-elt, map-delete, map-length, map-into, map-put!, map-insert)
51757         (map-apply, map-do): Handle the plist case.
51759         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Add sample plist.
51760         (test-map-put!): The behavior of map-put! is not the same for plists as
51761         for alists.
51763 2018-12-20  Michael Albinus  <michael.albinus@gmx.de>
51765         * test/lisp/net/tramp-tests.el (tramp-test32-environment-variables):
51767         Remove expected failure.
51769 2018-12-20  Michael Albinus  <michael.albinus@gmx.de>
51771         Fix Bug#33781
51773         * lisp/net/tramp-sh.el (tramp-set-remote-path): Use a temporary
51774         file for setting $PATH, if it exceeds PATH_MAX on the remote system.
51775         (tramp-send-command-and-read): Ignore errors if NOERROR.  (Bug#33781)
51777         * test/lisp/net/tramp-tests.el (tramp-test34-remote-path): New test.
51779 2018-12-19  Glenn Morris  <rgm@gnu.org>
51781         Skip rather than fail in flymake tests
51783         * test/lisp/progmodes/flymake-tests.el
51784         (flymake-tests--wait-for-backends): Skip rather than fail if
51785         backends are slow to respond.  This always seems like a temporary
51786         system glitch and not something that should be reported as a failure.
51788 2018-12-19  Eric Abrahamsen  <eric@ericabrahamsen.net>
51790         Make gnus-newsgroup-name local var available to gnus-summary-mode
51792         * lisp/gnus/gnus-sum.el (gnus-summary-mode-group): New defvar for
51793           passing gnus-newsgroup-name (a local variable) into the body of
51794           gnus-summary-mode, so that it's available to gnus-summary-mode-hook.
51796 2018-12-19  Juri Linkov  <juri@linkov.net>
51798         * lisp/vc/diff-mode.el (diff-syntax-fontify-props): Use font-lock-ensure
51800         unconditionally.  (Bug#33798)
51802 2018-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51804         Minor fixes/simplifications to time functions
51806         * doc/lispintro/emacs-lisp-intro.texi (Files List): Simplify.
51807         * doc/lispref/os.texi (Time of Day): Mention format-time-string
51808         as an alternative to current-time-string.
51809         * lisp/arc-mode.el (archive-unixdate, archive-unixtime):
51810         Port better to future versions of Emacs where (COUNT . HZ)
51811         will take precedence to (HI . LO).
51812         * lisp/arc-mode.el (archive-unixtime):
51813         * lisp/calendar/todo-mode.el (todo-insert-item--basic)
51814         (todo-item-done, todo-read-time):
51815         Prefer format-time-string to substringing current-time-string.
51816         * lisp/calc/calc-forms.el (calc-time, calcFunc-now):
51817         Prefer decode-time to parsing the output of current-time-string.
51818         * lisp/emacs-lisp/cl-extra.el (cl--random-time):
51819         Prefer encode-time to hashing the output of current-time-string.
51820         * lisp/gnus/gnus-score.el (gnus-score-headers)
51821         (gnus-score-adaptive):
51822         Avoid stringifying and then reparsing timestamp.
51823         * src/timefns.c (Fencode_time): Omit redundant assignment.
51825 2018-12-19  Michael Albinus  <michael.albinus@gmx.de>
51827         * lisp/net/tramp-sh.el (tramp-set-remote-path): Send a warning, if
51829         $PATH exceeds PATH_MAX on the remote system.
51831 2018-12-19  Nicholas Drozd  <nicholasdrozd@gmail.com>
51833         * src/editfns.c (Finsert_char): Skip unnecessary fixnum check.
51835 2018-12-18  Glenn Morris  <rgm@gnu.org>
51837         Skip a remote filenotify test on hydra
51839         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
51840         Add optional argument to skip test.
51841         (file-notify-test07-many-events-remote): Skip on hydra.nixos.org.
51843 2018-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
51845         * lisp/font-lock.el: Use lexical-binding
51847         (font-lock-initial-fontify, font-lock-compile-keywords):
51848         Silence compiler warning.
51849         (font-lock-ensure-function): Fix some problems in last commit.
51851 2018-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
51853         * lisp/font-lock.el (font-lock-ensure-function): Fix bug#33798
51855 2018-12-18  Juri Linkov  <juri@linkov.net>
51857         More font-lock improvements for diff-mode
51859         * lisp/vc/diff-mode.el (diff-font-lock-keywords): Use diff-header face
51860         for git index lines (like already used for bzr index lines).
51861         Use diff-file-header face for binary file headers.
51862         (diff-find-source-location): Use expand-file-name for vc-find-revision.
51863         (diff--font-lock-prettify): Use diff-indicator-* faces for
51864         left-fringe indicators.
51865         (diff-syntax-fontify-props): Optimize to not use text-property-not-all
51866         for font-lock-ensure.
51868         * lisp/replace.el (occur-engine-line): Simplify to use font-lock-ensure
51869         without text-property-not-all.
51871 2018-12-18  Juri Linkov  <juri@linkov.net>
51873         Fontify one-line diffs without the final newline (bug#33567)
51875         * lisp/vc/diff-mode.el (diff-hunk-text, diff-syntax-fontify-hunk):
51876         Skip lines beginning with backslash like "\ No newline at end of file".
51877         (diff-syntax-fontify-hunk): Use string-trim-right.
51878         For one-line diffs use 1 explicitly in the list of line numbers.
51880 2018-12-18  Paul Eggert  <eggert@cs.ucla.edu>
51882         Support (ash INTEGER BIGNUM)
51884         * src/data.c (emacs_mpz_mul_2exp): 2nd arg is now a
51885         nonnegative EMACS_INT not mp_bitcnt_t, to simplify checking.
51886         (Fash): Support COUNT values that are bignums or that
51887         exceed mp_bitcnt_t range.
51888         * test/src/data-tests.el (data-tests-ash-lsh): Test this.
51890 2018-12-18  Eli Zaretskii  <eliz@gnu.org>
51892         Fix one last compilation warning in ftfont.c
51894         * src/ftfont.c (ftfont_get_hb_font): Only define if
51895         HAVE_LIBOTF is defined.  (Bug#33771)
51897 2018-12-18  Glenn Morris  <rgm@gnu.org>
51899         Expect tramp environment test to fail on hydra
51901         * test/lisp/net/tramp-tests.el (tramp-test32-environment-variables):
51902         Expect failure on hydra.nixos.org.
51904 2018-12-18  Glenn Morris  <rgm@gnu.org>
51906         A filenotify test now passes on hydra
51908         * test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
51909         Remote test now passes on hydra.nixos.org, since PATH
51910         workaround for bug#33781.
51912 2018-12-18  Eli Zaretskii  <eliz@gnu.org>
51914         Condition some more hb_* functions on HAVE_LIBOTF.
51916 2018-12-18  Michael Albinus  <michael.albinus@gmx.de>
51918         Fix Bug#33781
51920         * lisp/net/tramp-cache.el (tramp-connection-properties):
51921         * lisp/net/tramp-sh.el (tramp-remote-path)
51922         (tramp-remote-process-environment, tramp-sh-extra-args):
51923         Reinsert autoload cookie.  (Bug#33781)
51925         * test/lisp/net/tramp-tests.el: Do not require tramp-sh before
51926         changing tramp-remote-path.
51928 2018-12-18  Nicolas Petton  <nicolas@petton.fr>
51930         New convenience functions in seq.el
51932         Functions to access the first or all but the first elements of
51933         sequences have been repeatedly asked for (the last occurrence being
51934         https://github.com/NicolasPetton/seq.el/issues/9).
51936         * lisp/emacs-lisp/seq.el (seq-first, seq-rest): New functions.
51937         * test/lisp/emacs-lisp/seq-tests.el (test-seq-first, test-seq-rest):
51938         New tests for seq-first and seq-rest.
51940 2018-12-17  Glenn Morris  <rgm@gnu.org>
51942         Tiny ert-summarize-tests-batch-and-exit improvement
51944         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
51945         Report the details of unexpected passes as well as failures.
51947 2018-12-17  Juri Linkov  <juri@linkov.net>
51949         Syntactic fontification of diff hunks (bug#33567)
51951         * lisp/vc/diff-mode.el (diff-font-lock-syntax): New defcustom.
51952         (diff-default-directory): New buffer-local variable.
51953         (diff-indicator-removed, diff-indicator-added)
51954         (diff-indicator-changed): Set foreground to distinctive colors.
51955         (diff-context): Remove colors to make room for syntax highlighting.
51956         (diff-font-lock-keywords): Add diff--font-lock-syntax.
51957         (diff--font-lock-cleanup): Remove diff-mode syntax overlays.
51958         (diff--font-lock-syntax, diff--font-lock-syntax--refresh)
51959         (diff-syntax-fontify-revisions, diff-syntax-fontify-hunk)
51960         (diff-syntax-fontify-props): New functions.
51962         * lisp/vc/diff.el (diff-no-select): Set diff-default-directory to
51963         default-directory.
51965         * doc/emacs/files.texi (Diff Mode): Document diff-font-lock-syntax.
51967 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
51969         Make org-protocol-flatten always an alias
51971         * lisp/org/org-protocol.el (org-protocol-flatten):
51972         Rewrite as top-level alias, as per Stefan’s suggestion,
51973         to avoid compiler warnings.
51975 2018-12-17  Stefan Monnier  <monnier@iro.umontreal.ca>
51977         * lisp/emacs-lisp/map.el: Avoid special casing lists.
51979         (map-not-inplace, map-inplace): New errors.
51980         (map-insert): New generic function.
51981         (map-put!): Signal map-not-inplace rather than a generic 'error'.
51982         (map-elt): Use map-not-inplace and map-insert to avoid hardcoding
51983         a special case for lists.
51985         * test/lisp/emacs-lisp/map-tests.el (test-map-put!): Rename from
51986         test-map-put.  Also test the errors signaled.
51988 2018-12-17  Glenn Morris  <rgm@gnu.org>
51990         Avoid tests failures on hydra due to Tramp autoload changes
51992         * test/lisp/filenotify-tests.el, test/lisp/shadowfile-tests.el:
51993         * test/lisp/net/tramp-tests.el: Require tramp-sh before changing
51994         tramp-remote-path.
51996 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
51998         One more flatten-tree test
52000         * test/lisp/subr-tests.el (subr-tests-flatten-tree):
52001         Add a test for lots of nothing.
52003 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
52005         Some more flatten-tree aliases
52007         * lisp/allout.el (allout-flatten):
52008         * lisp/progmodes/hideif.el (hif-flatten):
52009         Now an obsolete alias for flatten-tree.  All callers changed.
52010         * lisp/org/org-protocol.el (org-protocol-flatten):
52011         Make it an alias for flatten-tree if available.
52012         * lisp/progmodes/js.el (js--flatten-list):
52013         Remove alias.  We shouldn’t need obsolete function aliases for
52014         private functions.
52016 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
52018         Improve flatten-tree documentation
52020         * doc/lispref/lists.texi (Building Lists):
52021         * lisp/subr.el (flatten-tree):
52022         Don’t imply that flatten-tree modifies its argument.
52023         Clarify wording.
52025 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
52027         Improve flatten-tree performance
52029         * lisp/subr.el (flatten-tree): Improve performance by calling
52030         ‘cons’ once rather than twice when a cons cell is popped.
52032 2018-12-17  Eli Zaretskii  <eliz@gnu.org>
52034         Avoid compilation warning in ftfont.c
52036         * src/ftfont.c (ftfont_shape_by_hb): Compile only if
52037         HAVE_LIBOTF is defined.  (Bug#33771)
52039 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
52041         Assume ‘emacs’ is defined in Emacs-only code
52043         * src/charset.c, src/coding.c, src/coding.h, src/gmalloc.c:
52044         * src/ralloc.c, src/regex-emacs.c: Simplify slightly by
52045         assuming that ‘emacs’ is defined.  These modules have long
52046         been specific to Emacs, and are not used elsewhere.
52048 2018-12-17  Eli Zaretskii  <eliz@gnu.org>
52050         Fix last change.
52052 2018-12-17  Mike Kupfer  <mkupfer@alum.berkeley.edu>
52054         * src/ftcrfont.c (ftcrfont_driver): Really commit last change.
52056 2018-12-17  Mike Kupfer  <mkupfer@alum.berkeley.edu>
52058         More fixes for build without libotf
52060         * src/xftfont.c (xftfont_driver):
52061         * src/ftxfont.c (ftxfont_driver):
52062         * src/ftcrfont.c (ftcrfont_driver): Set the .shape member only
52063         if HAVE_LIBOTF is defined.  (Bug#33771)
52065 2018-12-17  Eli Zaretskii  <eliz@gnu.org>
52067         Fix compilation errors when building without libotf
52069         * src/ftfont.c (ftfont_shape): Only compile if HAVE_LIBOTF is
52070         defined.
52071         (ftfont_driver): Set the .shape member only if HAVE_LIBOTF is
52072         defined.  (Bug#33771)
52074 2018-12-17  Michael Albinus  <michael.albinus@gmx.de>
52076         Use `flatten-tree' in Tramp
52078         * lisp/net/tramp-compat.el (tramp-compat-flatten-tree): New defun.
52079         (tramp-compat-flatten-list): Remove.
52081         * lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Use it.
52083 2018-12-17  Alex Branham  <alex.branham@gmail.com>
52084             Basil L. Contovounesios  <contovob@tcd.ie>
52086         New function flatten-tree
52089         * doc/lispref/lists.texi: Document `flatten-tree'.
52091         * lisp/progmodes/js.el (js--maybe-join):
52092         * lisp/printing.el (pr-switches):
52093         * lisp/lpr.el (lpr-print-region):
52094         * lisp/gnus/nnimap.el (nnimap-find-wanted-parts):
52095         * lisp/gnus/message.el (message-talkative-question):
52096         * lisp/gnus/gnus-sum.el (gnus-remove-thread)
52097         (gnus-thread-highest-number, gnus-thread-latest-date):
52098         * lisp/eshell/esh-util.el (eshell-flatten-and-stringify):
52099         * lisp/eshell/esh-opt.el (eshell-eval-using-options):
52100         * lisp/eshell/esh-ext.el (eshell-external-command):
52101         * lisp/eshell/em-xtra.el (eshell/expr):
52102         * lisp/eshell/em-unix.el (eshell/rm, eshell-mvcpln-template)
52103         (eshell/cat, eshell/make, eshell-poor-mans-grep, eshell-grep)
52104         (eshell/du, eshell/time, eshell/diff, eshell/locate):
52105         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
52106         * lisp/eshell/em-term.el (eshell-exec-visual):
52107         * lisp/eshell/em-dirs.el (eshell-dirs-substitute-cd, eshell/cd):
52108         * lisp/eshell/em-basic.el (eshell/printnl):
52109         Use new flatten-tree.
52111         * lisp/progmodes/js.el (js--flatten-list):
52112         * lisp/lpr.el (lpr-flatten-list):
52113         * lisp/gnus/message.el (message-flatten-list):
52114         * lisp/eshell/esh-util.el (eshell-flatten-list):
52115         Obsolete in favor of Emacs-wide `flatten-tree'.
52117         * lisp/subr.el (flatten-list): Alias to `flatten-tree' for
52118         discoverability.
52120         * lisp/subr.el (flatten-tree): New defun.
52122         * test/lisp/subr-tests.el (subr-tests-flatten-tree): New test.
52124 2018-12-17  Michael Albinus  <michael.albinus@gmx.de>
52126         Fix Bug#33524
52128         * lisp/progmodes/flymake-proc.el
52129         (flymake-proc-create-temp-with-folder-structure):
52130         Unquote file-name.  (Bug#33524)
52132 2018-12-17  Michael Albinus  <michael.albinus@gmx.de>
52134         Reduce autoloaded objects in Tramp
52136         * lisp/net/tramp-adb.el (tramp-adb-program)
52137         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
52138         Remove autoload cookie.
52140         * lisp/net/tramp-cache.el (tramp-connection-properties)
52141         (tramp-persistency-file-name): Remove autoload cookie.
52143         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
52144         Use `tramp-autoload' cookie.
52146         * lisp/net/tramp-gvfs.el (tramp-gvfs-zeroconf-domain):
52147         Remove autoload cookie.
52149         * lisp/net/tramp-rclone.el (tramp-rclone-program): Remove autoload
52150         cookie.
52151         (tramp-set-completion-function): Use `tramp--with-startup'.
52153         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
52154         (tramp-copy-size-limit, tramp-histfile-override)
52155         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
52156         (tramp-remote-process-environment, tramp-sh-extra-args):
52157         Remove autoload cookie.
52158         (tramp-stat-marker, tramp-stat-quoted-marker): Move to tramp.el.
52160         * lisp/net/tramp-smb.el (tramp-smb-program)
52161         (tramp-smb-acl-program, tramp-smb-conf)
52162         (tramp-smb-winexe-program, tramp-smb-winexe-shell-command)
52163         (tramp-smb-winexe-shell-command-switch): Remove autoload cookie.
52165         * lisp/net/tramp-sudoedit.el (server, tramp-sh): Do not require.
52167         * lisp/net/tramp.el (tramp--startup-hook): Define.
52168         (tramp-stat-marker, tramp-stat-quoted-marker): New defconsts,
52169         taken from tramp-sh.el.
52171         * test/lisp/net/tramp-archive-tests.el (tramp-copy-size-limit)
52172         (tramp-persistency-file-name): Declare.
52174         * test/lisp/net/tramp-tests.el (tramp-connection-properties)
52175         (tramp-display-escape-sequence-regexp)
52176         (tramp-inline-compress-start-size, tramp-remote-path): Declare.
52178 2018-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
52180         * lisp/emacs-lisp/macroexp.el: Don't hide backtrace
52182         (macroexp--compiler-macro): Use condition-case-unless-debug.
52184 2018-12-16  João Távora  <joaotavora@gmail.com>
52186         Jsonrpc error handlers can now safely call jsonrpc-shutdown
52188         Previously, if an error handler called jsonrpc-shutdown, and if that
52189         error handler was being called from the process sentinel,
52190         jsonrpc-shutdown would infloop waiting for jsonrpc-sentinel-done to be
52191         set.
52193         Rename the process property jsonrpc-sentinel-done to
52194         jsonrpc-sentinel-cleanup-started, arrange for it to be set earlier
52195         in the sentinel, and also check for it earlier in jsonrpc-shutdown.
52197         * lisp/jsonrpc.el (Version): Bump to 1.0.7.
52198         (jsonrpc--process-sentinel): Set jsonrpc-sentinel-cleanup-started
52199         a bit earlier than previous jsonrpc-sentinel-done.
52200         (jsonrpc-shutdown): Query jsonrpc-sentinel-cleanup-started
52202 2018-12-16  Paul Eggert  <eggert@cs.ucla.edu>
52204         Update from Gnulib
52206         This incorporates:
52207         2018-12-16 regex: propagate fix for glibc bug 18040
52208         2018-12-16 obstack, libc-config: Support HP-UX cc in C99 mode
52209         2018-12-15 regex: work around a bug in glibc-2.27 and prior
52210         2018-12-13 localtime-buffer: Avoid endless recursion
52211         * build-aux/config.guess, build-aux/config.sub, lib/cdefs.h:
52212         * lib/gettext.h, lib/localtime-buffer.c, lib/regexec.c, m4/regex.m4:
52213         Copy from Gnulib.
52215 2018-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
52217         * lisp/net/tramp.el: Rework mutual dependencies
52219         Functionally split tramp-loaddefs.el into two parts: one part run
52220         while loading it at the very beginning of loading tramp.el (holding plain
52221         autoloads and declarations), and another run at the very end of loading
52222         tramp.el (holding setup code).
52223         This should reduce infinite-recursion problems while loading.
52225         * lisp/net/tramp.el: Require tramp-loaddefs at beginning.
52226         Run (new and internal) tramp--startup-hook at the end.
52227         Remove all tramp-autoloads.  Prefer tramp--with-startup over
52228         eval-after-load.
52229         (tramp--with-startup): New macro.
52230         (tramp-set-syntax): Show the new value rather than the old value in the
52231         error message.
52232         (tramp-syntax-values): Explicitly return 'values'.
52233         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
52234         (tramp-postfix-method-format, tramp-postfix-method-regexp)
52235         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
52236         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
52237         (tramp-postfix-host-format, tramp-postfix-host-regexp)
52238         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure)
52239         (tramp-completion-file-name-regexp): Don't initialize in the declaration,
52240         since it's recomputed at the end anyway.
52241         (tramp-time-dont-know, tramp-time-doesnt-exist): Move before first use.
52243         * lisp/net/tramp-compat.el: Don't require tramp-loaddefs any more.
52244         (tramp-compat-tramp-syntax): Declare tramp-syntax.
52246         * lisp/net/tramp-smb.el:
52247         * lisp/net/tramp-rclone.el:
52248         * lisp/net/tramp-gvfs.el:
52249         * lisp/net/tramp-ftp.el:
52250         * lisp/net/tramp-adb.el: Wrap all autoloaded setup operations within
52251         tramp--with-startup.
52253         * lisp/net/tramp-sh.el: Wrap all autoloaded setup operations within
52254         tramp--with-startup.
52255         (tramp-display-escape-sequence-regexp)
52256         (tramp-device-escape-sequence-regexp): Don't tramp-autoload any more.
52257         (tramp-stat-marker): Use eval-and-compile rather than tramp-autoload.
52259         * lisp/net/tramp-sudoedit.el: Wrap all autoloaded setup operations within
52260         tramp--with-startup.
52261         Require tramp-sh at compile-time to precompute some regexps based on
52262         tramp-stat-marker.
52264 2018-12-16  Michael Albinus  <michael.albinus@gmx.de>
52266         Add Tramp sudoedit method
52268         * doc/misc/tramp.texi (Quick Start Guide): New section "Using sudoedit".
52269         (External methods) <sudoedit>: Describe.
52271         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
52272         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
52273         * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
52274         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
52275         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
52276         Add handler.
52278         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-uid-gid): Rename from
52279         `tramp-sh-handle-set-file-uid-gid'.  Handle only remote file names.
52281         * lisp/net/tramp-sudoedit.el: New file.
52283         * lisp/net/tramp.el (tramp-file-name-for-operation): Handle also
52284         `tramp-set-file-uid-gid'.
52285         (tramp-set-file-uid-gid): New defun.
52286         (tramp-get-local-uid, tramp-get-local-gid): Cache result.
52288         * test/lisp/net/tramp-tests.el (tramp--test-sudoedit-p): New defun.
52289         (tramp-test20-file-modes, tramp-test22-file-times)
52290         (tramp--test-sudoedit-p): Use it.
52292 2018-12-16  João Távora  <joaotavora@gmail.com>
52294         Rephrase a confusing sentence in the jsonrpc.el manual
52296         * doc/lispref/text.texi (JSONRPC Overview): Rephrase first
52297         sentence on building JSONRPC applications.
52299 2018-12-15  Glenn Morris  <rgm@gnu.org>
52301         Expect two epg tests to fail on hydra
52303         * test/lisp/epg-tests.el (epg-decrypt-1, epg-roundtrip-1):
52304         These currently fail for unknown reasons on hydra.nixos.org.
52306 2018-12-15  Glenn Morris  <rgm@gnu.org>
52308         Merge from origin/emacs-26
52310         fa953b5 (origin/emacs-26) Fix an epg test for recent GnuPG versions (...
52311         3015636 Document font structure layout constraints
52312         f14d574 Document font structure layout constraints
52313         f519aa1 Fix display of line numbers in empty lines beyond EOB
52314         24b5026 Fix redisplay when a window's scroll bar or fringes are changed
52315         5d1b158 Tiny markup fix in Elisp manual
52317 2018-12-15  Glenn Morris  <rgm@gnu.org>
52319         Ensure flymake tests use gcc rather than $CC
52321         * test/lisp/progmodes/flymake-resources/Makefile: Force use of gcc.
52322         This seems to be what the tests expect.  (Bug#33735)
52324 2018-12-15  Glenn Morris  <rgm@gnu.org>
52326         Suppress filenotify remote test failures on hydra.nixos.org
52328         * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
52329         Add optional argument to pass expected-result.
52330         (file-notify-test04-autorevert-remote)
52331         (file-notify-test08-backup-remote): Expect failure on hydra (bug#33735).
52333 2018-12-15  Glenn Morris  <rgm@gnu.org>
52335         Fix an eshell ls dired test for non-recent files
52337         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844):
52338         Work around an eshell issue with non-recent files.  (Bug#33734)
52340 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
52342         Assume hb_ft_font_create_referenced if HarfBuzz
52344         * configure.ac (HAVE_HB_FT_FONT_CREATE_REFERENCED):
52345         Remove test, since we now require 0.9.42 and
52346         hb_ft_font_create_referenced has been present since 0.9.38.
52347         * src/ftfont.c (ft_face_destroy, hb_ft_font_create_referenced):
52348         Remove; no longer needed.
52350 2018-12-14  Glenn Morris  <rgm@gnu.org>
52352         * configure.ac: Guess at minimum harfbuzz version.  (Bug#33748)
52354         * make-dist: Improve no-byte-compile check.
52356 2018-12-14  Glenn Morris  <rgm@gnu.org>
52358         * make-dist: Improve tempfile handling.
52360         Prompted by /tmp/out existing and being owned by another user.
52362 2018-12-14  Glenn Morris  <rgm@gnu.org>
52364         * make-dist: Silence test of tar functionality.
52366 2018-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
52368         * lisp/emacs-lisp/map.el: Fix recent changes
52370         (map-empty-p): Add method for lists which avoids computing their
52371         entire length.
52372         (map-contains-key): Check for alist membership by comparing against
52373         DEFAULT argument returned by alist-get.
52374         (map-put!): Reconcile argument name with that used in docstring.
52376 2018-12-14  Ari Roponen  <ari.roponen@gmail.com>
52378         Fix crash in the Cairo build
52380         * src/ftcrfont.c (struct ftcrfont_info) [HAVE_HARFBUZZ]: New
52381         member 'hb_font'.  (Bug#33739)
52383 2018-12-13  Glenn Morris  <rgm@gnu.org>
52385         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844): Remove debug.
52387 2018-12-13  Stephen Leake  <stephen_leake@stephe-leake.org>
52389         Get long package description for installed packages from installed files
52391         * doc/lispref/package.texi (Archive Web Server): New; document web
52392         server interface.
52394         * lisp/emacs-lisp/package.el (package--get-description): New; get long
52395         description from installed files.
52396         (describe-package-1): Use it, improve comments. No longer writing
52397         NAME-readme.txt.
52399         * test/lisp/emacs-lisp/package-tests.el:
52400         (package-test-describe-package): There is now a description for an
52401         installed package.
52402         (package-test-describe-installed-multi-file-package): New test.
52404 2018-12-13  Stephen Leake  <stephen_leake@stephe-leake.org>
52406         Merge commit 'd08b75abe0f0cf9ade812b189c374809a2c7836e'
52408 2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>
52410         Fix stray CHECK_FIXNUM_COERCE_MARKER
52412         * src/xdisp.c (Fbidi_resolved_levels): Don’t allow a marker arg;
52413         markers are character positions not vertical positions.
52415 2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>
52417         Default to --with-harfbuzz
52419         * configure.ac: By default, configure with HarfBuzz if available.
52421 2018-12-13  Paul Eggert  <eggert@cs.ucla.edu>
52423         Simplify mainline Harfbuzz-using code
52425         * src/ftfont.c (ft_face_destroy): Omit unnecessary cast.
52426         (hb_ft_font_create_referenced) [!HAVE_HB_FT_FONT_CREATE_REFERENCED]:
52427         New function.
52428         (ftfont_get_hb_font): Use it.
52430 2018-12-13  Glenn Morris  <rgm@gnu.org>
52432         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844): Add debug.
52434 2018-12-13  Michael Albinus  <michael.albinus@gmx.de>
52436         * doc/misc/tramp.texi (Ad-hoc multi-hops): Reinsert lost line.
52438 2018-12-12  João Távora  <joaotavora@gmail.com>
52440         Allow per-diagnostic overlay properties in Flymake
52442         * lisp/progmodes/flymake.el (Version): Bump to 1.0.3.
52443         (flymake--diag): Add new field overlay-properties.
52444         (flymake-make-diagnostic): New optional arg overlay-properties.
52445         (flymake--highlight-line): Use it.
52447 2018-12-12  Juri Linkov  <juri@linkov.net>
52449         * lisp/vc/vc.el (vc-find-revision-no-save): Use decode-coding-inserted-region
52451         and after-insert-file-set-coding.  Don't let-bind coding-system-for-read
52452         and coding-system-for-write.  For non-interactive use, let-bind
52453         enable-local-variables to :safe and ignore errors from set-auto-mode call.
52454         (Bug#33567)
52456 2018-12-12  Glenn Morris  <rgm@gnu.org>
52458         Improve em-ls-test-bug27844
52460         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27844):
52461         Skip if source-directory absent.
52463 2018-12-12  Paul Eggert  <eggert@cs.ucla.edu>
52465         Simplify validate_interval_range and callers
52467         * src/textprop.c (validate_interval_range):
52468         Remove useless code.  Fix comment to match current behavior.
52469         (set_text_properties, copy_text_properties): Simplify, as
52470         validate_interval_range has not incremented START or END for
52471         quite some time.
52472         (copy_text_properties): Assume C99.  Fix an unlikely
52473         integer overflow bug if WIDE_EMACS_INT.
52475 2018-12-12  Paul Eggert  <eggert@cs.ucla.edu>
52477         set_text_properties_1 can assume START <= END
52479         * src/textprop.c (set_text_properties_1):
52480         Do not swap START and END.  All callers do that already,
52481         and the test for swapping here is redundant.
52483 2018-12-12  Eli Zaretskii  <eliz@gnu.org>
52485         Fix regression in expand-file-name with drive-relative HOME
52487         * src/fileio.c (get_homedir) [DOS_NT]: Expand drive-relative
52488         $HOME to begin with "X:/".
52490         * test/src/fileio-tests.el (fileio-tests--relative-HOME): Add
52491         testing of drive-relative value of $HOME on MS-Windows and
52492         MS-DOS.
52494 2018-12-12  Michael Albinus  <michael.albinus@gmx.de>
52496         Fix Bug#33568
52498         * test/lisp/net/secrets-tests.el (secrets-test02-collections)
52499         (secrets-test03-items): Do not expect "login" collection to
52500         exist.  (Bug#33568)
52502 2018-12-11  Stefan Monnier  <monnier@iro.umontreal.ca>
52504         * lisp/emacs-lisp/map.el: Make the functions generic
52506         Make them document their delegation relationship, to clarify when
52507         a method is needed.
52508         (map--dispatch): Give more info in the error message.
52509         (map-elt): Make it generic and deprecate the 'testfn' arg.
52510         (map-put): Make it obsolete.
52511         (map-length): Make it work on hash-tables.
52512         (map-apply): Define it in terms of map-do.
52513         (map-do, map-into): Use cl-generic dispatch instead of map--dispatch.
52514         (map-empty-p): Define it in terms of map-length.
52515         (map-contains-key): Deprecate 'testfn'.  Make it return a boolean, so
52516         it can return non-nil even if 'key' is nil.  Improve implementation to
52517         avoid constructing an intermediate list of all keys.
52518         (map-merge-with): Use 'eql' rather than `eq'.
52519         (map-put!): Rename from map--put and make it generic, to replace map-put.
52520         (map--apply-alist, map--apply-hash-table, map--apply-array):
52521         Turn them into methods of map-apply.
52522         (map--do-alist, map--do-array): Turn them into methods of map-do.
52523         (map--into-hash-table): Turn it into a method of map-into.
52525 2018-12-11  Stephen Leake  <stephen_leake@stephe-leake.org>
52527         Fix bug in display-buffer-use-some-frame
52529         * lisp/window.el (display-buffer-use-some-frame): Pass 'reuse, not
52530         'frame, to window--display-buffer.
52532 2018-12-10  Martin Rudalics  <rudalics@gmx.at>
52534         Fix typo in 'dired-restore-positions'
52536         * lisp/dired.el (dired-restore-positions): Fix typo in last
52537         change fixing Bug#33458.
52539 2018-12-10  Glenn Morris  <rgm@gnu.org>
52541         Add test/Makefile machinery to exclude test .el files
52543         * test/Makefile.in (EXCLUDE_TESTS): New variable.
52544         (ELFILES): Filter out any specified exclude files.
52546 2018-12-10  Nobuyoshi Nakada  <nobu@ruby-lang.org>
52548         Support Ruby block arguments ending with , or *
52550         * lisp/progmodes/ruby-mode.el (ruby-smie--forward-token):
52551         Recognize punctuation before "closing-|" as a separate token.
52552         (ruby-smie--backward-token): Same (bug#33487).
52554         * test/lisp/progmodes/ruby-mode-tests.el
52555         (ruby-forward-sexp-jumps-do-end-block-with-no-args)
52556         (ruby-backward-sexp-jumps-do-end-block-with-no-args)
52557         (ruby-forward-sexp-jumps-do-end-block-with-empty-args)
52558         (ruby-backward-sexp-jumps-do-end-block-with-empty-args)
52559         (ruby-forward-sexp-jumps-do-end-block-with-args)
52560         (ruby-backward-sexp-jumps-do-end-block-with-args)
52561         (ruby-forward-sexp-jumps-do-end-block-with-any-args)
52562         (ruby-forward-sexp-jumps-do-end-block-with-expanded-one-arg)
52563         (ruby-forward-sexp-jumps-do-end-block-with-one-and-any-args)
52564         (ruby-backward-sexp-jumps-do-end-block-with-one-and-any-args):
52565         New tests.
52567 2018-12-10  Juri Linkov  <juri@linkov.net>
52569         * lisp/isearch.el (isearch-pre-command-hook): Support `isearch-move'
52571         command properties with values `enabled' and `disabled'
52572         also for the value `shift' of isearch-yank-on-move.  (Bug#15839)
52574 2018-12-10  Juri Linkov  <juri@linkov.net>
52576         * lisp/vc/vc.el (vc-root-version-diff): New command (bug#33650).
52578         (vc-root-diff): Call it interactively on a prefix argument.
52580 2018-12-10  Matthias Meulien  <orontee@gmail.com>
52582         Support git commit --no-verify
52584         * lisp/vc/vc-git.el (vc-git-log-edit-toggle-no-verify): New function.
52585         (vc-git-log-edit-mode-map): Add binding.
52586         (vc-git-checkin): Add an entry for that header.
52588 2018-12-10  Paul Eggert  <eggert@cs.ucla.edu>
52590         Fix bug when hashing reversed buffer regions
52592         * src/fns.c (extract_data_from_object): When checking
52593         file-coding-system-alist, calculate the coding system
52594         correctly even if START and END are out of order.
52595         Use bool for booleans.
52597 2018-12-10  Glenn Morris  <rgm@gnu.org>
52599         Merge from origin/emacs-26
52601         2075864 (origin/emacs-26) CC Mode: stop extra parens on expression ca...
52603 2018-12-10  Glenn Morris  <rgm@gnu.org>
52605         Merge from origin/emacs-26
52607         5a7451c CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer t...
52608         b0ed9d1 * lisp/emacs-lisp/cursor-sensor.el: Add motivation
52610 2018-12-10  Glenn Morris  <rgm@gnu.org>
52612         Merge from origin/emacs-26
52614         908af9d Indexing followup to recent changes
52615         505ac9a Improve documentation of cursor-sensor.el (bug#33664)
52616         d817d2c * doc/lispref/commands.texi (Adjusting Point): Bug#33662
52617         18442da Tramp multi-hop methods must be inline
52618         1e3e24d ; * src/xterm.c (x_update_begin): Fix whitespace.
52619         1d743d2 Fix scaling problem in Cairo builds
52620         2b9e993 ; * doc/lispref/text.texi (Special Properties): Fix wording. ...
52621         e568202 * lisp/simple.el (next-line-or-history-element): Use current-...
52622         c7897c2 A few further fixes of window internals description
52624         # Conflicts:
52625         #       doc/misc/tramp.texi
52627 2018-12-10  Glenn Morris  <rgm@gnu.org>
52629         * admin/gitmerge.el (gitmerge-skip-regexp): Add yet another variant.
52631 2018-12-10  Michael Albinus  <michael.albinus@gmx.de>
52633         * lisp/net/tramp-compat.el (tramp-compat-flatten-list): New defun.
52635 2018-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
52637         * lisp/Makefile.in (compile-main): Use a more selective regexp.
52639 2018-12-09  Paul Eggert  <eggert@cs.ucla.edu>
52641         Remove CHECK_FIXNUM_CAR etc.
52643         * src/coding.c (CHECK_FIXNAT_CAR, CHECK_FIXNAT_CDR):
52644         * src/lisp.h (CHECK_FIXNUM_CAR, CHECK_FIXNUM_CDR):
52645         Remove.  All uses removed.  These seem to have been based on
52646         the assumption that the argument cons needs to be modified,
52647         an assumption that is incorrect for fixnums.
52648         (Fdefine_coding_system_internal): Use CHECK_RANGED_INTEGER
52649         instead of a special diagnostic for graphic register numbers.
52651 2018-12-09  Glenn Morris  <rgm@gnu.org>
52653         * test/lisp/eshell/eshell-tests.el (with-temp-eshell):
52654         Avoid permanently changing HISTFILE.
52656 2018-12-09  Juri Linkov  <juri@linkov.net>
52658         Fix occur for non-nil list-matching-lines-jump-to-current-line (bug#33476)
52660         * lisp/replace.el (occur-engine): Move orig-line let-binding higher.
52661         Don't use start-line in forward-line.
52663 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
52665         Fix uni_combining()
52667         WIP: implement some Unicode callback functions
52669 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
52671         Set cluster level to one
52673         Makes to possible to edit combining marks separately as now they get a
52674         different cluster value from the base glyph.
52676 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
52678         Cache hb_font_t
52680         Not sure if the xftfont.c changes are really needed, but followed the
52681         libotf code just in case.
52683 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
52685         Allow turning HarfBuzz off at run time
52687         Useful for comparing the shaping result with that of m17n.
52689 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
52691         First attempt at HarfBuzz shaping
52693         Barely works, and unoptimized!
52695 2018-12-09  Khaled Hosny  <khaledhosny@eglug.org>
52697         Add support for building with HarfBuzz
52699         Not used yet.
52701 2018-12-09  Michael Albinus  <michael.albinus@gmx.de>
52703         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
52705         Use proper error symbol.
52707 2018-12-09  Alan Mackenzie  <acm@muc.de>
52709         Don't create *Compile-Log* due to byte-compile.  Amend message to it.
52711         This fixes bug #33602 and is a partial reversion of a commit from
52712         2018-11-28T13:15:50.
52714         * lisp/emacs-lisp/bytecomp.el (byte-compile-log-file): Don't create buffer
52715         *Compile-Log* because it doesn't already exist.  Amend message "Compiling no
52716         file" to be clearer (?and less irritating).
52718 2018-12-09  Paul Eggert  <eggert@cs.ucla.edu>
52720         Add make_vector and make_nil_vector
52722         This makes the callers a bit easier to read, and doubtless
52723         improves efficiency very slightly.  It also simplifies
52724         possible future changes to allow bignum indexes to buffers.
52725         * src/alloc.c (allocate_vectorlike):
52726         Prefer ptrdiff_t to size_t when either will do.
52727         (make_vector): New function.
52728         (Fmake_vector): Use it.
52729         * src/buffer.c (syms_of_buffer):
52730         * src/bytecode.c (syms_of_bytecode):
52731         * src/category.c (Fmake_category_table, init_category_once):
52732         * src/ccl.c (syms_of_ccl):
52733         * src/character.c (syms_of_character):
52734         * src/charset.c (Fdefine_charset_internal)
52735         (Ffind_charset_region, Ffind_charset_string):
52736         * src/chartab.c (copy_char_table):
52737         * src/coding.c (Fdefine_coding_system_internal, syms_of_coding):
52738         * src/composite.c (get_composition_id, Fcomposition_get_gstring):
52739         * src/composite.h (LGLYPH_NEW):
52740         * src/fns.c (concat, Flocale_info, make_hash_table):
52741         * src/font.c (font_otf_ValueRecord, font_otf_anchor)
52742         (build_style_table, syms_of_font):
52743         * src/fontset.c (RFONT_DEF_NEW, fontset_find_font)
52744         (dump_fontset, syms_of_fontset):
52745         * src/image.c (xpm_make_color_table_v):
52746         * src/keyboard.c (modify_event_symbol, menu_bar_items)
52747         (parse_menu_item, parse_tool_bar_item, init_tool_bar_items)
52748         (syms_of_keyboard):
52749         * src/keymap.c (Fdefine_key, describe_map, describe_vector):
52750         * src/lread.c (read_vector):
52751         * src/macfont.m (macfont_shape):
52752         * src/menu.c (init_menu_items):
52753         * src/nsfns.m (ns_make_monitor_attribute_list):
52754         * src/process.c (conv_sockaddr_to_lisp, network_interface_info):
52755         * src/profiler.c (make_log):
52756         * src/window.c (Fcurrent_window_configuration):
52757         * src/xdisp.c (with_echo_area_buffer_unwind_data)
52758         (format_mode_line_unwind_data):
52759         * src/xfaces.c (Finternal_make_lisp_face)
52760         (Fface_attributes_as_vector):
52761         * src/xfns.c (x_make_monitor_attribute_list)
52762         (Fx_display_monitor_attributes_list):
52763         * src/xfont.c (syms_of_xfont):
52764         * src/xselect.c (x_handle_dnd_message):
52765         * src/xwidget.c (save_script_callback):
52766         Prefer make_nil_vector (N) to Fmake_vector (make_fixnum (N), Qnil).
52767         * src/callint.c (Fcall_interactively):
52768         * src/charset.c (load_charset_map):
52769         * src/chartab.c (Fmake_char_table, uniprop_encode_value_numeric):
52770         * src/composite.c (get_composition_id)
52771         * src/dispnew.c (Fframe_or_buffer_changed_p)
52772         (syms_of_display):
52773         * src/fns.c (make_hash_table, maybe_resize_hash_table):
52774         * src/font.c (font_style_to_value):
52775         * src/fontset.c (FONTSET_ADD, fontset_add):
52776         * src/json.c (json_to_lisp):
52777         * src/keymap.c (syms_of_keymap):
52778         * src/lread.c (init_obarray):
52779         * src/profiler.c (make_log, Fprofiler_cpu_log):
52780         * src/term.c (term_get_fkeys_1):
52781         Prefer make_vector (N, V) to Fmake_vector (make_fixnum (N), V).
52782         * src/font.c (build_style_table):
52783         * src/macfont.m (macfont_shape):
52784         * src/process.c (conv_sockaddr_to_lisp, network_interface_info):
52785         Prefer make_uninit_vector if the vector will be initialized soon.
52786         * src/lisp.h (make_nil_vector): New function.
52788 2018-12-08  Eli Zaretskii  <eliz@gnu.org>
52790         Fix resolving symlinks in Eshell history file names
52792         * lisp/eshell/em-dirs.el (eshell-write-last-dir-ring):
52793         * lisp/eshell/em-hist.el (eshell-write-history): Don't call
52794         file-truename with argument of nil.  (Bug#33477)
52796         * test/lisp/eshell/eshell-tests.el (with-temp-eshell): Remove
52797         HISTFILE from the environment, to make sure the Eshell history
52798         file is nil.
52800 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
52802         * src/alloc.c (VECTOR_ELTS_MAX): Make sure it’s signed.
52804 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
52806         Port VECTOR_ELTS_MAX to older GCC etc.
52808         Problem reported by Eli Zaretskii in:
52809         https://lists.gnu.org/r/emacs-devel/2018-12/msg00182.html
52810         * src/alloc.c (VECTOR_ELTS_MAX): Now a macro.
52811         Needed for portability to older GCC and non-GCC.
52813 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
52815         Streamline and fix vector-size checks
52817         * src/alloc.c (VECTOR_ELTS_MAX): New constant.
52818         (allocate_vectorlike): LEN now must be positive.  Assume LEN
52819         is in range.  All callers changed.
52820         (allocate_vector): Arg is now ptrdiff_t, not EMACS_INT.
52821         All callers changed.  Return zero vector here, not in
52822         allocate_vectorlike.
52823         * src/lisp.h (make_uninit_vector): Simplify.
52824         * src/xwidget.c (webkit_js_to_lisp):
52825         Check for overflow in ptrdiff_t calculations.
52827 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
52829         Suppress WebKitGTK+ 2.21.1 diagnostics
52831         * src/xwidget.c: Suppress deprecation warnings (Bug#33679).
52833 2018-12-08  Michael Heerdegen  <michael_heerdegen@web.de>
52835         Fix quote in the copyright skeleton
52837         Revert replacing a backquote in the "copyright" skeleton with a quote
52838         done in "Replace insignificant backquotes" which broke the skeleton.
52840         * lisp/emacs-lisp/copyright.el (copyright): Restore the correct
52841         version of the skeleton that used a backquote.
52843 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
52845         Fix integer overflow in oversize vectors
52847         * src/alloc.c (allocate_vector): Fix integer overflow when
52848         allocating very large vectors, by taking large_vector_offset
52849         into account.  Assume C99.
52851 2018-12-08  Paul Eggert  <eggert@cs.ucla.edu>
52853         * src/alloc.c (allocate_vectorlike): Simplify.
52855 2018-12-08  Eli Zaretskii  <eliz@gnu.org>
52857         Honor 'vc-bzr-log-switches' in 'vc-bzr-revision-table'
52859         * lisp/vc/vc-bzr.el (vc-bzr-revision-table): Honor
52860         'vc-bzr-log-switches'.
52862 2018-12-08  Steven De Herdt  <steven.deherdt@gmail.com>  (tiny change)
52864         Honor 'vc-bzr-log-switches' in 'vc-bzr-expanded-log-entry'
52866         * lisp/vc/vc-bzr.el (vc-bzr-expanded-log-entry): Honor
52867         'vc-bzr-log-switches'.  (Bug#33494)
52869 2018-12-08  Eli Zaretskii  <eliz@gnu.org>
52871         Document that Eshell follows symlinks in history file names
52873         * etc/NEWS: Mention that Eshell now follows symlinks in
52874         history file names.
52876 2018-12-08  Philip Hudson  <phil.hudson@iname.com>
52878         Follow links in Eshell last-dir-ring
52880         * lisp/eshell/em-hist.el (eshell-write-last-dir-ring):
52881         Follow symlinks in 'eshell-last-dir-ring-file-name'.
52882         (Bug#33477)
52884 2018-12-08  Philip Hudson  <phil.hudson@iname.com>
52886         Follow symlink in Eshell history
52888         * lisp/eshell/em-hist.el (eshell-write-history): Follow
52889         symlinks in 'eshell-history-file-name'.  (Bug#33460)
52891 2018-12-08  Martin Rudalics  <rudalics@gmx.at>
52893         New buffer display action alist entry 'window-min-height' (Bug#32825)
52895         * lisp/window.el (display-buffer-below-selected): Handle
52896         'window-min-height' action alist entry (Bug#32825).
52897         * doc/lispref/windows.texi (Buffer Display Action Functions)
52898         (Buffer Display Action Alists): Add documentation for
52899         'window-min-height' action alist entries.
52900         * etc/NEWS: Mention 'window-min-height' action alist entry.
52902 2018-12-08  Martin Rudalics  <rudalics@gmx.at>
52904         Adjust windows' previous buffers when reverting dired buffers (Bug#33458)
52906         * lisp/dired.el (dired-save-positions, dired-restore-positions):
52907         For each window that showed the reverted buffer before, fix the
52908         point positions in its list of previously shown buffers the way
52909         these routines handle window point for all windows currently
52910         showing the buffer (Bug#33458).
52912 2018-12-08  Martin Rudalics  <rudalics@gmx.at>
52914         Improve how 'balance-windows' handles fixed-size windows (Bug#33254)
52916         * lisp/window.el (balance-windows-2): When a child window has
52917         fixed size, don't count it as resizable (Bug#33254).
52918         Handle case where a window has no resizable child windows.
52920 2018-12-07  Alan Mackenzie  <acm@muc.de>
52922         CC Mode: Compensate for backward-sexp ignoring trailing commas after {...}
52924         This fixes bug #32808.
52926         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): New variable
52927         comma-delimited, set when we're about to scan backward over a comma.  Do not
52928         reckon a brace block as bounding a statement when it is followed or preceded
52929         by a comma (except when argument comma-delim is non-nil).
52930         (c-guess-basic-syntax, CASE 9C): Call c-beginning-of-statement-1 with argument
52931         comma-delim changed to non-nil.
52933 2018-12-07  Michael Albinus  <michael.albinus@gmx.de>
52935         Refactor some Tramp functions
52937         * lisp/net/tramp-compat.el (tramp-compat-file-local-name): New defsubst.
52938         (tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
52939         (tramp-compat-file-name-unquote):
52940         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p)
52941         (tramp-handle-file-truename, tramp-get-remote-tmpdir):
52942         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
52943         (tramp-adb-handle-rename-file, tramp-adb-handle-exec-path):
52944         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
52945         (tramp-sh-handle-exec-path, tramp-find-inline-encoding)
52946         (tramp-get-remote-touch): Use it.
52948         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
52949         Use `tramp-handle-expand-file-name'.
52950         (tramp-adb-handle-expand-file-name): Move to tramp.el.
52951         (tramp-adb-handle-file-writable-p): Adapt docstring.
52953         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
52954         Use `tramp-handle-file-local-copy', `tramp-handle-file-writable-p'
52955         and `tramp-handle-write-region'.
52956         (tramp-gvfs-handle-file-local-copy)
52957         (tramp-gvfs-handle-file-writable-p)
52958         (tramp-gvfs-handle-write-region): Move to tramp.el.
52960         * lisp/net/tramp-rclone.el: Don't require `tramp-adb' and
52961         `tramp-gvfs' anymore.
52962         (tramp-rclone-file-name-handler-alist):
52963         Use `tramp-handle-expand-file-name', `tramp-handle-file-local-copy',
52964         `tramp-handle-file-writable-p' and `tramp-handle-write-region'.
52965         (tramp-rclone-handle-directory-files): Simplify.
52967         * lisp/net/tramp.el (tramp-methods): Extend docstring.
52968         (tramp-parse-netrc): Require `netrc'.
52969         (tramp-handle-expand-file-name, tramp-handle-file-local-copy)
52970         (tramp-handle-file-writable-p, tramp-handle-write-region): New defuns.
52972 2018-12-07  Eli Zaretskii  <eliz@gnu.org>
52974         Fix the value of default-directory upon startup on MS-Windows
52976         * src/w32.c (w32_get_current_directory): New function.
52977         (GetCachedVolumeInformation, init_environment): Use it.
52978         (w32_init_current_directory): New function.
52979         * src/w32.h (w32_init_current_directory): Add prototype.
52980         * src/emacs.c (main) [WINDOWSNT]: Use w32_init_current_directory
52981         to get the accurate value of cwd.  This is needed to record
52982         the correct directory in emacs_wd, which is now initialized
52983         way earlier in the startup process, when init_environment was
52984         not yet called.  For details, see the problems reported in
52985         https://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00068.html.
52986         Reported by Angelo Graziosi <angelo.g0@libero.it>.
52988 2018-12-06  Juri Linkov  <juri@linkov.net>
52990         * lisp/vc/vc.el (vc-find-revision-no-save): Add optional arg BUFFER.
52992         (Bug#33567)
52994 2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>
52996         Mention EMACS_SOCKET_NAME, not XDG_RUNTIME_DIR.
52998         Mention unsetting XDG_RUNTIME_DIR in doc.
53000 2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>
53002         emacsclient: avoid background chatter
53004         * lib-src/emacsclient.c (process_grouping): New function.
53005         (act_on_signals, main): Use it.
53006         (main): Omit "Waiting for Emacs..." and later "\n" messages
53007         if in background, since that messes up the screen.
53009 2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>
53011         Fix emacsclient hang when backgrounded
53013         Problem reported by Kaushal Modi in:
53014         https://lists.gnu.org/r/emacs-devel/2018-12/msg00083.html
53015         The tcdrain call replaced an fdatasync call which had no
53016         effect on the tty, so removing it entirely shouldn’t cause
53017         problems.  The fdatasync call replaced an fsync call which
53018         also had no effect on the tty, and the fsync call seems to be
53019         badly-merged revenant of emacsclient’s old (circa 2004) way of
53020         communicating to and from Emacs via FILE * streams, where
53021         fsync was apparently needed when talking to sockets.
53022         * lib-src/emacsclient.c [!DOS_NT]: Don’t include termios.h.
53023         (flush_stdout): Remove.  All callers removed.
53024         (main): Do not drain the tty after "Waiting for Emacs..."
53025         message.  There should be no need to drain, and draining it
53026         might send us a SIGTTOU.  Do not fflush stdout just before
53027         exiting, as exiting does that for us.
53029 2018-12-06  Paul Eggert  <eggert@cs.ucla.edu>
53031         struct image_type layout is private to image.c
53033         * src/dispextern.h (struct image_type): Move from here ...
53034         * src/image.c (struct image_type): ... to here.
53036 2018-12-06  Eli Zaretskii  <eliz@gnu.org>
53038         Avoid an error on exit in a build without threads
53040         * lisp/simple.el (list-processes--refresh): Avoid signaling an
53041         error in a build --without-threads.  (Bug#33629)
53043 2018-12-06  Michael Albinus  <michael.albinus@gmx.de>
53045         Add missing handler to tramp-rclone.el, improve robustness
53047         * lisp/net/tramp-rclone.el (tramp-adb): Require.
53048         (tramp-rclone-file-name-handler-alist):
53049         Use `tramp-adb-handle-expand-file-name'.
53050         (tramp-rclone-flush-directory-cache): New defun, derived from
53051         `tramp-rclone-flush-mount'.
53052         (tramp-rclone-do-copy-or-rename-file)
53053         (tramp-rclone-handle-delete-directory)
53054         (tramp-rclone-handle-delete-file)
53055         (tramp-rclone-handle-make-directory): Use it.
53056         (tramp-rclone-handle-directory-files)
53057         (tramp-rclone-local-file-name):
53058         Use `tramp-compat-file-name-quoted-p',  `tramp-compat-file-name-quote'
53059         and ´tramp-compat-file-name-unquote'.
53060         (tramp-rclone-handle-file-executable-p)
53061         (tramp-rclone-handle-file-readable-p): Cache result.
53062         (tramp-rclone-handle-file-name-all-completions)
53063         (tramp-rclone-mounted-p, tramp-rclone-remote-file-name)
53064         (tramp-rclone-maybe-open-connection): Rewrite.
53066         * test/lisp/net/tramp-tests.el (tramp--test-rclone-p): New defun.
53067         (tramp-test05-expand-file-name-relative)
53068         (tramp--test-special-characters): Use it.
53070 2018-12-06  Michael Albinus  <michael.albinus@gmx.de>
53072         Rework Tramp wrt string-match-p, looking-at-p, save-match-data
53074         * lisp/net/tramp.el (tramp-find-method, tramp-find-user)
53075         (tramp-find-host, tramp-dissect-file-name, tramp-make-tramp-file-name)
53076         (tramp-completion-make-tramp-file-name, tramp-debug-message)
53077         (tramp-message, tramp-progress-reporter-update)
53078         (tramp-set-completion-function)
53079         (tramp-rfn-eshadow-update-overlay)
53080         (tramp-find-file-name-coding-system-alist)
53081         (tramp-file-name-for-operation)
53082         (tramp-use-absolute-autoload-file-names)
53083         (tramp-get-completion-methods, tramp-get-completion-user-host)
53084         (tramp-handle-directory-files)
53085         (tramp-handle-file-name-case-insensitive-p)
53086         (tramp-handle-file-name-completion, tramp-handle-file-truename)
53087         (tramp-handle-insert-directory, tramp-handle-load)
53088         (tramp-handle-shell-command, tramp-action-yesno)
53089         (tramp-action-yn, tramp-process-actions)
53090         (tramp-mode-string-to-int, tramp-get-local-locale)
53091         (tramp-local-host-p):
53092         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info)
53093         (tramp-adb-handle-directory-files-and-attributes)
53094         (tramp-adb--gnu-switches-to-ash, tramp-adb-sh-fix-ls-output)
53095         (tramp-adb-handle-file-name-all-completions)
53096         (tramp-adb-handle-shell-command)
53097         (tramp-adb-handle-start-file-process):
53098         * lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
53099         * lisp/net/tramp-cache.el (tramp-get-hash-table)
53100         (tramp-flush-directory-properties, tramp-flush-file-function):
53101         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
53102         (tramp-append-tramp-buffers):
53103         * lisp/net/tramp-compat.el (tramp-compat-process-running-p):
53104         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
53105         (tramp-gvfs-get-file-attributes)
53106         (tramp-gvfs-handle-file-attributes)
53107         (tramp-gvfs-monitor-process-filter)
53108         (tramp-gvfs-handler-mounted-unmounted)
53109         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec-entry)
53110         (tramp-gvfs-mount-spec, tramp-gvfs-maybe-open-connection):
53111         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
53112         (tramp-do-file-attributes-with-stat)
53113         (tramp-sh-handle-file-selinux-context)
53114         (tramp-sh-handle-directory-files-and-attributes)
53115         (tramp-do-directory-files-and-attributes-with-stat)
53116         (tramp-sh-handle-file-name-all-completions)
53117         (tramp-sh-handle-dired-compress-file)
53118         (tramp-sh-handle-insert-directory)
53119         (tramp-sh-handle-expand-file-name)
53120         (tramp-sh-handle-start-file-process)
53121         (tramp-sh-handle-process-file, tramp-sh-handle-write-region)
53122         (tramp-sh-handle-file-notify-add-watch)
53123         (tramp-sh-gio-monitor-process-filter)
53124         (tramp-sh-gvfs-monitor-dir-process-filter)
53125         (tramp-sh-inotifywait-process-filter)
53126         (tramp-sh-handle-file-system-info, tramp-maybe-send-script)
53127         (tramp-find-executable, tramp-open-shell, tramp-find-shell)
53128         (tramp-open-connection-setup-interactive-shell)
53129         (tramp-find-inline-encoding, tramp-call-local-coding-command)
53130         (tramp-compute-multi-hops, tramp-maybe-open-connection)
53131         (tramp-convert-file-attributes)
53132         (tramp-make-copy-program-file-name, tramp-get-remote-locale)
53133         (tramp-get-test-nt-command, tramp-get-remote-stat)
53134         (tramp-get-inline-coding):
53135         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files)
53136         (tramp-smb-action-get-acl, tramp-smb-handle-file-attributes)
53137         (tramp-smb-handle-file-name-all-completions)
53138         (tramp-smb-handle-file-system-info)
53139         (tramp-smb-handle-file-writable-p)
53140         (tramp-smb-handle-insert-directory)
53141         (tramp-smb-handle-make-directory)
53142         (tramp-smb-handle-make-directory-internal)
53143         (tramp-smb-handle-start-file-process, tramp-smb-get-localname)
53144         (tramp-smb-read-file-entry): Use `string-match-p' and
53145         `looking-at-p'.  Remove superfluous `save-match-data'.  Apply
53146         `eval-when-compile' on constant concat data.
53148         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p-p):
53149         Use `string-prefix-p'.
53150         (tramp-compat-file-name-unquote): Do not use match data.
53152 2018-12-06  Michael Albinus  <michael.albinus@gmx.de>
53154         Make stronger tests for Tramp multi hops
53156         * lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
53157         Check, that method is capable of multi hops.
53159         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
53160         (tramp-test02-file-name-dissect-simplified)
53161         (tramp-test02-file-name-dissect-separate): Suppress check for multihops.
53162         (tramp-test03-file-name-method-rules): Check for error if multi
53163         hops cannot be applied.
53165 2018-12-06  João Távora  <joaotavora@gmail.com>
53167         Keep Flymake compatible with Emacs 26.1 builds --without-x
53169         * lisp/progmodes/flymake.el (flymake-double-exclamation-mark):
53170         Don't define if 'define-fringe-bitmap isn't fbound.
53171         (Version): Bump to 1.0.2
53173 2018-12-05  Glenn Morris  <rgm@gnu.org>
53175         * admin/unidata/uvs.el (uvs-print-table-ivd): Add more header detail.
53177 2018-12-04  João Távora  <joaotavora@gmail.com>
53179         Prepare lisp/progmodes/flymake.el for distribution in GNU ELPA
53181         * lisp/progmodes/flymake.el (Package-Requires): Require Emacs
53182         26.1.  (Version): Bump to 1.0.1
53184 2018-12-04  João Távora  <joaotavora@gmail.com>
53186         Allow custom load paths in elisp's byte-compilation Flymake
53188         * lisp/progmodes/elisp-mode.el
53189         (elisp-flymake-byte-compile-load-path): New variable.
53190         (elisp-flymake-byte-compile): Use new variable
53192 2018-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
53194         * lisp/emacs-lisp/eldoc.el: Let the user interrupt the search
53196         (eldoc-print-current-symbol-info): Use while-no-input and non-essential.
53198 2018-12-04  Eli Zaretskii  <eliz@gnu.org>
53200         Support IBM038 (a.k.a. "EBCDIC-INT") encoding
53202         * lisp/international/mule-conf.el (ibm038): New charset.
53203         (ebcdic-int, cp038): Alias charsets of ibm038.
53204         * lisp/language/english.el (ibm038): New coding-system.
53205         (ebcdic-int, cp038): Alias coding-systems of ibm038.
53206         (Bug#33612)
53208         * etc/NEWS: Announce the new coding system ibm038.
53210 2018-12-04  Glenn Morris  <rgm@gnu.org>
53212         Skip an autorevert test on hydra.nixos.org (bug#32645)
53214         * test/lisp/autorevert-tests.el
53215         (auto-revert-test02-auto-revert-deleted-file): Skip on hydra.
53217 2018-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
53219         * lisp/shell.el (shell--parse-pcomplete-arguments): Stop at semi-colon
53221         * test/lisp/shell-tests.el (shell-tests-completion-before-semi):
53222         New corresponding test.
53224 2018-12-03  Juri Linkov  <juri@linkov.net>
53226         * lisp/isearch.el (isearch-yank-on-move): New defcustom
53228         with shift-move related options extracted from `search-exit-option'.
53229         (isearch-pre-command-hook): Rename search-exit-option to
53230         isearch-yank-on-move in shift-move related places.
53231         (isearch-post-command-hook): Check for isearch-pre-move-point
53232         instead of search-exit-option.  (Bug#15839)
53234         * doc/emacs/search.texi (Not Exiting Isearch): Rename
53235         search-exit-option to isearch-yank-on-move.
53237         * lisp/menu-bar.el (menu-bar-i-search-menu): Add more isearch commands.
53239 2018-12-03  Juri Linkov  <juri@linkov.net>
53241         * lisp/isearch.el (isearch-allow-scroll): New option `unlimited'.
53243         (isearch-pre-command-hook): Call isearch-pre-scroll-point unless
53244         isearch-allow-scroll is 'unlimited'.
53245         (isearch-post-command-hook): Use `when' instead of `cond'.
53246         Call isearch-lazy-highlight-new-loop when isearch-allow-scroll is
53247         'unlimited'.  (Bug#15839)
53249 2018-12-03  Juri Linkov  <juri@linkov.net>
53251         * lisp/vc/vc-git.el (vc-git-stash): Call vc-dir-marked-files only
53253         in vc-dir-mode.
53255 2018-12-03  Paul Eggert  <eggert@cs.ucla.edu>
53257         emacsclient: fix typo on recent socket-leak change
53259         This ports to POSIXish platforms like macOS that lack SOCK_CLOEXEC.
53260         Fix suggested by Eli Zaretskii in:
53261         https://lists.gnu.org/r/emacs-devel/2018-12/msg00055.html
53262         * lib-src/emacsclient.c (set_local_socket):
53263         Don’t use SOCK_CLOEXEC; that’s cloexec_socket’s job.
53265 2018-12-03  Eli Zaretskii  <eliz@gnu.org>
53267         Fix WINDOWSNT/DOS_NT build
53269         Recent changes in sysdep.c and emacsclient unnecessarily
53270         removed useful code from DOS_NT builds.  This changeset
53271         reinstates that code.
53272         * nt/inc/ms-w32.h (tcdrain): Redirect to _commit.
53273         (fdatasync): No need to redirect anymore.
53275         * lib-src/emacsclient.c (flush_stdout): Don't avoid calling
53276         tcdrain on DOS_NT platforms.
53278         * src/sysdep.c (reset_sys_modes): Don't ifdef away the call to
53279         tcdrain on DOS_NT platforms.
53281 2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>
53283         emacsclient: don’t leak socket to child processes
53285         * lib-src/emacsclient.c [!WINDOWSNT]: Include fcntl.h.
53286         (cloexec_socket): New function.
53287         (set_tcp_socket, set_local_socket): Use it.
53289 2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>
53291         Use tcdrain, not fdatasync, to drain ttys
53293         fdatasync is for storage devices, not ttys.
53294         * admin/merge-gnulib (GNULIB_MODULES): Remove fdatasync.
53295         * lib/fdatasync.c, m4/fdatasync.m4: Remove.
53296         * lib-src/Makefile.in (LIB_FDATASYNC):
53297         * src/Makefile.in (LIB_FDATASYNC):
53298         Remove.  All uses removed.
53299         * lib-src/emacsclient.c [!DOS_NT]:
53300         Include <termios.h>, for tcdrain.
53301         * lib-src/emacsclient.c (flush_stdout):
53302         * src/sysdep.c (reset_sys_modes): On ttys, use tcdrain instead
53303         of fdatasync (except don’t use either function if DOS_NT).
53304         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
53306 2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>
53308         Update from Gnulib
53310         This incorporates:
53311         2018-11-30 memrchr: port better to clang
53312         2018-11-21 mktime: add libc-config dependency
53313         * build-aux/config.guess, build-aux/config.sub, lib/memrchr.c:
53314         Copy from Gnulib.
53315         * m4/gnulib-comp.m4: Regenerate.
53317 2018-12-02  Paul Eggert  <eggert@cs.ucla.edu>
53319         emacsclient: fix symlink/socket race
53321         * lib-src/emacsclient.c (socket_status): New arg UID.
53322         All uses changed.
53323         (set_local_socket): Don’t create the unbound socket unless the
53324         initial sanity checks on the socket file succeed; this
53325         simplifies cleaning it up.  Check socket ownership again
53326         after connecting, to fix a race (Bug#33366).
53328 2018-12-02  Glenn Morris  <rgm@gnu.org>
53330         Merge from origin/emacs-26
53332         745c9c0 (origin/emacs-26) Revert "Revert "Fix infloop in GC mark_kboa...
53333         c418c85 Revert "Fix infloop in GC mark_kboards"
53334         8fa0d96 * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: acti...
53336 2018-12-02  Glenn Morris  <rgm@gnu.org>
53338         Merge from origin/emacs-26
53340         317b354 ; Add notes about cross-compiling macOS versions
53341         4b176eb Fix macOS run-time feature check
53342         c03574b * etc/NEWS-*: Fix capitalization of "Emacs"
53344         # Conflicts:
53345         #       etc/NEWS
53347 2018-12-02  Glenn Morris  <rgm@gnu.org>
53349         Merge from origin/emacs-26
53351         e06562c Fix "M-x man" when there's no 'man' program on PATH
53353 2018-12-02  Glenn Morris  <rgm@gnu.org>
53355         Merge from origin/emacs-26
53357         cc3ad9a ; * CONTRIBUTE: Clarify rules for committing to release branc...
53358         a89dbe2 * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
53359         03ee726 ; Add comment to `customize-package-emacs-version-alist'
53360         bce1d1a Improve documentation of gdb-mi.el
53362 2018-12-01  Paul Eggert  <eggert@cs.ucla.edu>
53364         emacsclient: prefer XDG_RUNTIME_DIR (Bug#33367)
53366         * lib-src/emacsclient.c: Disable -Wformat-truncation=2,
53367         to avoid false alarms about the new snprintf calls.
53368         (local_sockname): New function.
53369         (set_local_socket): Use it.  Prefer XDG_RUNTIME_DIR (if set)
53370         for location of socket directory.  Avoid unnecessary memory
53371         allocation by using snprintf to destination.
53372         * lisp/server.el (server-socket-dir): Prefer XDG_RUNTIME_DIR if set.
53374 2018-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
53376         * lisp/calendar/holidays.el: Use lexical-binding
53378         Remove redundant :group arguments.
53379         (holiday-sexp): Bind 'year' and 'date' dynamically for 'sexp' and 'string'.
53381 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
53383         Fix infloop in GC mark_kboards
53385         * src/keyboard.c (KBD_BUFFER_SIZE): Now a constant, not a macro.
53386         (kbd_fetch_ptr, kbd_store_ptr): These now always point somewhere
53387         into kbd_buffer, instead of sometimes pointing just past the
53388         end which led to serious bugs (Bug#33547).  All uses changed.
53389         (kbd_store_ptr): No longer volatile.  This variable has not been
53390         accessed by a signal handler for some time, it seems.
53391         (next_kbd_event, prev_kbd_event): New functions.
53392         (kbd_buffer_nr_stored, process_special_events): Simplify.
53394 2018-11-30  Michael Albinus  <michael.albinus@gmx.de>
53396         Fix Bug#33556
53398         * lisp/autorevert.el (auto-revert-notify-add-watch):
53399         Assert that a key in `auto-revert-notify-watch-descriptor-hash-list'
53400         is a valid file notification descriptor.  (Bug#33556)
53402 2018-11-29  Robert Pluim  <rpluim@gmail.com>
53404         Convert NS face colors to RGBA when comparing with frame values
53406         The NS port uses indexes into a color table to specify the colors of
53407         faces, whereas frames use RGBA pixel values.  In
53408         extend_face_to_end_of_line the two needed to be compared to ensure
53409         that the backgrounds of certain faces are not extended to the edge of
53410         the window, which was failing because of this difference, thus causing
53411         a visual difference with other platforms.  Convert from index to RGBA
53412         when doing such comparisons.
53414         * src/dispextern.h (FACE_COLOR_TO_PIXEL) [HAVE_NS]: New macro.  Call
53415         ns_color_index_to_rgba under NS only.
53417         * src/nsgui.h: Add prototype for ns_color_index_to_rgba.
53419         * src/nsterm.m (ns_color_index_to_rgba): New function.  Converts a
53420         color_table entry to corresponding RGBA pixel value.
53422         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_COLOR_TO_PIXEL
53423         on face background color when comparing with frame color.
53425 2018-11-29  Filipp Gunbin  <fgunbin@fastmail.fm>
53427         LDAP: Set process-connection-type to t
53429           * lisp/net/ldap.el (ldap-search-internal): Set
53430           process-connection-type to t.  (Bug#33050)
53432 2018-11-28  Glenn Morris  <rgm@gnu.org>
53434         * lisp/emacs-lisp/bytecomp.el: Don't load compile at runtime.
53436         It isn't needed and slows down compiling other files.
53438 2018-11-28  Eric Abrahamsen  <eric@ericabrahamsen.net>
53440         Further small tweaks to Gnus modes cleanup
53442         * lisp/gnus/gnus-sum.el: Remove explicit definition of
53443           `gnus-summary-mode-hook', this is now created automatically.
53444         * lisp/gnus/nnir.el (nnir-open-server): Attach `nnir-mode' to the
53445           `gnus-summary-prepared-hook', instead of
53446           `gnus-summary-mode-hook'. The latter no longer has access to the
53447           buffer-local value of `gnus-newsgroup-name', which `nnir-mode'
53448           needs.
53450 2018-11-28  Glenn Morris  <rgm@gnu.org>
53452         Merge from origin/emacs-26
53454         74a3a79 (origin/emacs-26) Fix a typo in a doc string
53455         911766d Minor markup fix in frames.texi
53456         19ed1e9 * lisp/net/trampver.el (customize-package-emacs-version-alist...
53457         d7132ad * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): ...
53458         5f39260 * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to m...
53459         a291f62 Don't call xwidget functions until GTK has been initialized
53460         f0531b8 Improve documentation of Ediff wordwise commands
53461         2925ce5 Support Hunspell 1.7.0 in ispell.el
53462         03bb7a8 Avoid clearing echo-area message by auto-save-visited-file-name
53464 2018-11-28  Glenn Morris  <rgm@gnu.org>
53466         Merge from origin/emacs-26
53468         094fcf6 Fix more drawing bugs in NS port (bug#32932)
53470 2018-11-28  Michael Albinus  <michael.albinus@gmx.de>
53472         Tramp cleanup
53474         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions)
53475         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
53476         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
53477         Use `string-match-p'.
53479         * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
53480         Set file properties more robust.
53482         * lisp/net/tramp-sh.el (tramp-stat-marker)
53483         (tramp-convert-file-attributes): Add tramp-autoload cookie.
53485 2018-11-28  Alan Mackenzie  <acm@muc.de>
53487         Make compilation mode work with warnings from compiled buffer functions
53489         In particular, warning messages from compile_defun now contain the source
53490         buffer name and line and column numbers.  Typing CR on such a warning now
53491         moves to the pertinent place in the source buffer.
53493         This fixes bug #33475
53495         * lisp/emacs-lisp/bytecomp.el (top-level): Require compile.elc?.
53496         (emacs-lisp-compilation-file-name-or-buffer)
53497         (emacs-lisp-compilation-parse-errors-filename-function): New
53498         variables/constants.
53499         (emacs-lisp-compilation-mode): New mode derived from compilation-mode.
53500         (byte-compile-log-file): Check byte-compile-current-file for being a string,
53501         not merely non-nil.  Change wording in message from "buffer" to "in buffer".
53502         Go into emacs-lisp-compilation-mode rather than the plain compilation-mode.
53503         (compile-defun): Bind byte-compile-current-file to current-buffer, not nil.
53505         * lisp/progmodes/compile.el
53506         (compilation-parse-errors-filename-function): Amend comments to specify that
53507         this function may return a buffer, and that it need not save the match data.
53508         (Several places): Amend comments to allow for the use of a buffer rather than
53509         a file name.
53510         (compilation-next-error-function): If the "file name" in file struct is
53511         actually a buffer, use it rather than compilation-find-file's result.
53512         (compilation-get-file-structure): save-match-data around the call to
53513         compilation-parse-errors-filename-function.  Only call
53514         command-line-normalize-file-name when `filename' is a string.
53516 2018-11-27  Paul Eggert  <eggert@cs.ucla.edu>
53518         Fix core dump in dbus-message-internal
53520         * src/dbusbind.c (Fdbus_message_internal):
53521         Don’t go past array end (Bug#33530).
53523 2018-11-27  Michael Albinus  <michael.albinus@gmx.de>
53525         Fixes in tramp-clone.el
53527         * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
53528         Wrap by connection property "rclone-device-names".
53529         (tramp-rclone-maybe-open-connection): Do not check for `non-essential'.
53531 2018-11-26  Michael Heerdegen  <michael_heerdegen@web.de>
53533         Revert "Replace insignificant backquotes" for Org files
53535         Revert everything of commit 1808d254a5 "Replace insignificant
53536         backquotes" that touches Org source files since these should not have
53537         been changed.
53539         * lisp/org/ob-C.el:
53540         * lisp/org/ob-core.el:
53541         * lisp/org/ob-exp.el:
53542         * lisp/org/ob-groovy.el:
53543         * lisp/org/ob-haskell.el:
53544         * lisp/org/ob-io.el:
53545         * lisp/org/ob-lisp.el:
53546         * lisp/org/ob-lob.el:
53547         * lisp/org/ob-lua.el:
53548         * lisp/org/ob-octave.el:
53549         * lisp/org/ob-perl.el:
53550         * lisp/org/ob-python.el:
53551         * lisp/org/ob-ref.el:
53552         * lisp/org/ob-ruby.el:
53553         * lisp/org/ob-sql.el:
53554         * lisp/org/org-agenda.el:
53555         * lisp/org/org-capture.el:
53556         * lisp/org/org-clock.el:
53557         * lisp/org/org-colview.el:
53558         * lisp/org/org-duration.el:
53559         * lisp/org/org-element.el:
53560         * lisp/org/org-entities.el:
53561         * lisp/org/org-gnus.el:
53562         * lisp/org/org-indent.el:
53563         * lisp/org/org-info.el:
53564         * lisp/org/org-inlinetask.el:
53565         * lisp/org/org-lint.el:
53566         * lisp/org/org-list.el:
53567         * lisp/org/org-mouse.el:
53568         * lisp/org/org-plot.el:
53569         * lisp/org/org-src.el:
53570         * lisp/org/org-table.el:
53571         * lisp/org/org.el:
53572         * lisp/org/ox-ascii.el:
53573         * lisp/org/ox-html.el:
53574         * lisp/org/ox-latex.el:
53575         * lisp/org/ox-man.el:
53576         * lisp/org/ox-md.el:
53577         * lisp/org/ox-org.el:
53578         * lisp/org/ox-publish.el:
53579         * lisp/org/ox-texinfo.el:
53580         * lisp/org/ox.el: Undo changes made by commit "Replace insignificant
53581         backquotes".
53583 2018-11-26  Eli Zaretskii  <eliz@gnu.org>
53585         Unbreak compilation of emacsclient on MS-Windows
53587         * lib-src/emacsclient.c (main): Make "-suspend" handling
53588         conditional on !WINDOWSNT, as there's no SIGSTOP nor 'kill'
53589         there.
53591 2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>
53593         emacsclient: assume HAVE_INET_SOCKETS
53595         * configure.ac (HAVE_INET_SOCKETS): Remove.
53596         * lib-src/emacsclient.c: Simplify by assuming HAVE_SOCKETS and
53597         HAVE_INET_SOCKETS, which are always true nowadays, except perhaps
53598         for MS-DOS and if so this program shouldn’t be built there anyway.
53599         Don’t bother including sys/types.h, as it’s not needed on modern
53600         systems (and syswait.h does it for us anyway).
53601         (main): Simplify by assuming SIGSTOP (which is always defined
53602         if SIGCONT is), and by assuming HAVE_SOCKETS && HAVE_INET_SOCKETS.
53604 2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>
53606         emacsclient: negate NO_SOCKETS_IN_FILE_SYSTEM
53608         * lib-src/emacsclient.c (SOCKETS_IN_FILE_SYSTEM): Rename from
53609         NO_SOCKETS_IN_FILE_SYSTEM, with inverted sense.  All uses changed.
53610         All uses were of the form ‘#ifndef NO_SOCKETS_IN_FILE_SYSTEM’, and
53611         it’s easier to read ‘#ifdef SOCKETS_IN_FILE_SYSTEM’.
53613 2018-11-26  Paul Eggert  <eggert@cs.ucla.edu>
53615         emacsclient: fix some races on POSIX systems
53617         Fix some longstanding race conditions due to emacsclient’s use of
53618         ‘signal’ instead of ‘sigaction’ and its use of nested signal
53619         handlers.  These races could cause premature exit or incorrect
53620         commands sent to Emacs.
53621         * lib-src/emacsclient.c (signal) [!WINDOWSNT]: Do not undef.
53622         (emacs_socket): Remove this static variable.  It is now a parameter.
53623         (send_to_emacs): Do not exit merely because ‘send’ was interrupted.
53624         Instead, act on the signal if possible, and then retry the ‘send’.
53625         (pass_signal_to_emacs): Remove; now done by act_on_signals.
53626         (reinstall_handler_if_needed, handle_sigttou, handle_sigwinch)
53627         (install_handler): New functions.
53628         (got_sigcont, got_sigtstp, got_sigttou, got_sigwinch):
53629         New globals, used for more-portable signal handling.
53630         (handle_sigcont, handle_sigtstp): Just set the static var; other
53631         actions are now done later by act_on_signals.
53632         (install_handler): New function that arranges for signals to
53633         never be reset to default, on modern POSIX platforms.
53634         This fixes some races.
53635         (act_on_signals): New function.  When acting on SIGCONT,
53636         don’t bother calling getpgrp if tcgetpgrp fails.
53637         (start_daemon_and_retry_set_socket): Return the socket
53638         rather than setting a global variable.  All uses changed.
53639         (flush_stdout): New function that acts on signals received while
53640         flushing.
53641         (main): Use it.  emacs_socket is now a local var.
53642         Act on signals received during recv.
53644 2018-11-26  Michael Albinus  <michael.albinus@gmx.de>
53646         Rework tramp-rclone-mounted-p
53648         * lisp/net/tramp-rclone.el (tramp-rclone-mounted-p): Rewrite.
53649         (tramp-rclone-maybe-open-connection): Set "mounted" file property.
53651 2018-11-26  Wilson Snyder  <wsnyder@wsnyder.org>
53653         Update verilog-mode with upstream patches.
53655         * lisp/progmodes/verilog-mode.el (verilog-auto-templated-rel)
53656         (verilog-load-file-at-point, verilog-read-arg-pins)
53657         (verilog-read-auto-constants, verilog-read-auto-params)
53658         (verilog-read-auto-template-middle, verilog-read-decls)
53659         (verilog-read-includes, verilog-read-inst-pins)
53660         (verilog-read-instants, verilog-read-sub-decls-gate): Don't copy
53661         properties when parsing AUTOs.
53662         (verilog-font-lock-keywords): Fix SystemVerilog font lock keywords to be
53663         more consistent with IEEE 1364 keywords. Reported by Jeff Riley.
53664         (verilog-highlight-p1800-keywords): Now ignored.
53665         (verilog-simplify-range-expression): Simplify shifts in auto wire
53666         declarations, bug1346.  Reported by Maghawan Punde.
53667         (verilog-read-always-signals-recurse): Fix AUTORESET with pattern
53668         assignments. Reported by Bhargava Narumanchi.
53669         (verilog-at-constraint-p): Fix indentation of replicate with parameter.
53670         Reported by Yun He.
53671         (verilog-read-defines, verilog-read-includes)
53672         (verilog-substitute-include-name): Fix handling define names in includes,
53673         bug1324. Reported by John DeRoo.
53674         (verilog-imenu-generic-expression): Fix speedbar for signed functions,
53675         bug1312. Reported by Ian Perryman.
53676         (verilog-indent-buffer): Fix verilog-batch-indent not honoring top mode
53677         line. Reported by James Claffey.
53678         (verilog-set-auto-endcomments): Fix end comments when have variables
53679         starting with class_, bug1259. Reported by Andrea Fedeli.
53680         (verilog-read-decls): Fix AUTOINST for parameterized interfaces,
53681         bug1253. Reported by David Rogoff.
53682         (verilog-read-sub-decls-line, verilog-signals-combine-bus): Fix AUTOOUTPUT
53683         not including nested array references, msg2417.
53684         (verilog-at-constraint-p): begin/end are illegal inside constraint blocks,
53685         so use that knowledge to make smarter indentation decisions.
53686         (verilog-auto-simplify-expressions, verilog-simplify-range-expression):
53687         Add `verilog-auto-simplify-expressions' to disable range simplifications.
53688         (verilog-auto-save-check, verilog-batch-execute-func): Fix .* causing
53689         Emacs batch to always re-save files with no changes, bug1239.  Reported by
53690         Brian Etscheid.
53692 2018-11-25  Juri Linkov  <juri@linkov.net>
53694         * lisp/windmove.el: Directional window deletion (bug#32790)
53696         * lisp/windmove.el (windmove-delete-in-direction)
53697         (windmove-delete-left, windmove-delete-up)
53698         (windmove-delete-right, windmove-delete-down)
53699         (windmove-delete-default-keybindings): New functions.
53701 2018-11-25  Michael Heerdegen  <michael_heerdegen@web.de>
53703         Replace insignificant backquotes
53705         Replace most insignificant occurrences of '`' with a straight quote,
53706         sharp quote or nothing.  This includes backquotes in 'pcase' patterns.
53708         * admin/admin.el:
53709         * lisp/apropos.el:
53710         * lisp/arc-mode.el:
53711         * lisp/auth-source.el:
53712         * lisp/avoid.el:
53713         * lisp/bindings.el:
53714         * lisp/bs.el:
53715         * lisp/calculator.el:
53716         * lisp/calendar/todo-mode.el:
53717         * lisp/cedet/semantic.el:
53718         * lisp/cedet/semantic/analyze/debug.el:
53719         * lisp/cedet/semantic/bovine.el:
53720         * lisp/cedet/semantic/dep.el:
53721         * lisp/cedet/semantic/grammar.el:
53722         * lisp/cedet/semantic/wisent/comp.el:
53723         * lisp/cedet/semantic/wisent/grammar.el:
53724         * lisp/cedet/srecode/mode.el:
53725         * lisp/cus-edit.el:
53726         * lisp/doc-view.el:
53727         * lisp/elec-pair.el:
53728         * lisp/electric.el:
53729         * lisp/emacs-lisp/autoload.el:
53730         * lisp/emacs-lisp/benchmark.el:
53731         * lisp/emacs-lisp/byte-opt.el:
53732         * lisp/emacs-lisp/bytecomp.el:
53733         * lisp/emacs-lisp/cconv.el:
53734         * lisp/emacs-lisp/cl-extra.el:
53735         * lisp/emacs-lisp/cl-generic.el:
53736         * lisp/emacs-lisp/cl-macs.el:
53737         * lisp/emacs-lisp/copyright.el:
53738         * lisp/emacs-lisp/debug.el:
53739         * lisp/emacs-lisp/eieio-compat.el:
53740         * lisp/emacs-lisp/ert.el:
53741         * lisp/emacs-lisp/generator.el:
53742         * lisp/emacs-lisp/inline.el:
53743         * lisp/emacs-lisp/macroexp.el:
53744         * lisp/emacs-lisp/map.el:
53745         * lisp/emacs-lisp/package-x.el:
53746         * lisp/emacs-lisp/package.el:
53747         * lisp/emacs-lisp/radix-tree.el:
53748         * lisp/emacs-lisp/smie.el:
53749         * lisp/epa.el:
53750         * lisp/erc/erc-dcc.el:
53751         * lisp/erc/erc-track.el:
53752         * lisp/erc/erc.el:
53753         * lisp/eshell/em-ls.el:
53754         * lisp/eshell/esh-cmd.el:
53755         * lisp/files.el:
53756         * lisp/filesets.el:
53757         * lisp/font-lock.el:
53758         * lisp/frameset.el:
53759         * lisp/gnus/gnus-agent.el:
53760         * lisp/gnus/gnus-art.el:
53761         * lisp/gnus/gnus-cite.el:
53762         * lisp/gnus/gnus-group.el:
53763         * lisp/gnus/gnus-msg.el:
53764         * lisp/gnus/gnus-salt.el:
53765         * lisp/gnus/gnus-srvr.el:
53766         * lisp/gnus/gnus-sum.el:
53767         * lisp/gnus/gnus-topic.el:
53768         * lisp/gnus/gnus-util.el:
53769         * lisp/gnus/gnus.el:
53770         * lisp/gnus/message.el:
53771         * lisp/gnus/mm-util.el:
53772         * lisp/gnus/mml.el:
53773         * lisp/gnus/nnheader.el:
53774         * lisp/gnus/nnimap.el:
53775         * lisp/gnus/nnmairix.el:
53776         * lisp/gnus/spam.el:
53777         * lisp/hexl.el:
53778         * lisp/hi-lock.el:
53779         * lisp/ibuf-ext.el:
53780         * lisp/ibuffer.el:
53781         * lisp/ido.el:
53782         * lisp/info.el:
53783         * lisp/international/mule-cmds.el:
53784         * lisp/international/mule-util.el:
53785         * lisp/json.el:
53786         * lisp/jsonrpc.el:
53787         * lisp/language/cyrillic.el:
53788         * lisp/language/european.el:
53789         * lisp/language/georgian.el:
53790         * lisp/language/tibetan.el:
53791         * lisp/language/utf-8-lang.el:
53792         * lisp/language/vietnamese.el:
53793         * lisp/ldefs-boot.el:
53794         * lisp/mail/mail-extr.el:
53795         * lisp/man.el:
53796         * lisp/menu-bar.el:
53797         * lisp/mh-e/mh-acros.el:
53798         * lisp/mh-e/mh-folder.el:
53799         * lisp/mh-e/mh-mime.el:
53800         * lisp/mh-e/mh-show.el:
53801         * lisp/mh-e/mh-speed.el:
53802         * lisp/minibuffer.el:
53803         * lisp/mpc.el:
53804         * lisp/net/ange-ftp.el:
53805         * lisp/net/hmac-def.el:
53806         * lisp/net/newst-backend.el:
53807         * lisp/net/quickurl.el:
53808         * lisp/net/tramp-archive.el:
53809         * lisp/net/tramp-compat.el:
53810         * lisp/notifications.el:
53811         * lisp/obsolete/pgg-parse.el:
53812         * lisp/obsolete/vc-arch.el:
53813         * lisp/obsolete/xesam.el:
53814         * lisp/org/ob-C.el:
53815         * lisp/org/ob-core.el:
53816         * lisp/org/ob-exp.el:
53817         * lisp/org/ob-groovy.el:
53818         * lisp/org/ob-haskell.el:
53819         * lisp/org/ob-io.el:
53820         * lisp/org/ob-lisp.el:
53821         * lisp/org/ob-lob.el:
53822         * lisp/org/ob-lua.el:
53823         * lisp/org/ob-octave.el:
53824         * lisp/org/ob-perl.el:
53825         * lisp/org/ob-python.el:
53826         * lisp/org/ob-ref.el:
53827         * lisp/org/ob-ruby.el:
53828         * lisp/org/ob-sql.el:
53829         * lisp/org/org-agenda.el:
53830         * lisp/org/org-capture.el:
53831         * lisp/org/org-clock.el:
53832         * lisp/org/org-colview.el:
53833         * lisp/org/org-duration.el:
53834         * lisp/org/org-element.el:
53835         * lisp/org/org-entities.el:
53836         * lisp/org/org-gnus.el:
53837         * lisp/org/org-indent.el:
53838         * lisp/org/org-info.el:
53839         * lisp/org/org-inlinetask.el:
53840         * lisp/org/org-lint.el:
53841         * lisp/org/org-list.el:
53842         * lisp/org/org-mouse.el:
53843         * lisp/org/org-plot.el:
53844         * lisp/org/org-src.el:
53845         * lisp/org/org-table.el:
53846         * lisp/org/org.el:
53847         * lisp/org/ox-ascii.el:
53848         * lisp/org/ox-html.el:
53849         * lisp/org/ox-latex.el:
53850         * lisp/org/ox-man.el:
53851         * lisp/org/ox-md.el:
53852         * lisp/org/ox-org.el:
53853         * lisp/org/ox-publish.el:
53854         * lisp/org/ox-texinfo.el:
53855         * lisp/org/ox.el:
53856         * lisp/play/bubbles.el:
53857         * lisp/play/gamegrid.el:
53858         * lisp/progmodes/autoconf.el:
53859         * lisp/progmodes/cc-defs.el:
53860         * lisp/progmodes/cc-engine.el:
53861         * lisp/progmodes/cc-fonts.el:
53862         * lisp/progmodes/cc-langs.el:
53863         * lisp/progmodes/cperl-mode.el:
53864         * lisp/progmodes/ebrowse.el:
53865         * lisp/progmodes/elisp-mode.el:
53866         * lisp/progmodes/flymake-cc.el:
53867         * lisp/progmodes/flymake.el:
53868         * lisp/progmodes/fortran.el:
53869         * lisp/progmodes/grep.el:
53870         * lisp/progmodes/gud.el:
53871         * lisp/progmodes/idlwave.el:
53872         * lisp/progmodes/js.el:
53873         * lisp/progmodes/m4-mode.el:
53874         * lisp/progmodes/make-mode.el:
53875         * lisp/progmodes/mixal-mode.el:
53876         * lisp/progmodes/modula2.el:
53877         * lisp/progmodes/octave.el:
53878         * lisp/progmodes/opascal.el:
53879         * lisp/progmodes/prolog.el:
53880         * lisp/progmodes/ps-mode.el:
53881         * lisp/progmodes/python.el:
53882         * lisp/progmodes/ruby-mode.el:
53883         * lisp/progmodes/sh-script.el:
53884         * lisp/progmodes/sql.el:
53885         * lisp/progmodes/verilog-mode.el:
53886         * lisp/ps-mule.el:
53887         * lisp/rtree.el:
53888         * lisp/ruler-mode.el:
53889         * lisp/ses.el:
53890         * lisp/simple.el:
53891         * lisp/startup.el:
53892         * lisp/subr.el:
53893         * lisp/term/ns-win.el:
53894         * lisp/textmodes/bibtex.el:
53895         * lisp/textmodes/conf-mode.el:
53896         * lisp/textmodes/css-mode.el:
53897         * lisp/textmodes/refill.el:
53898         * lisp/textmodes/sgml-mode.el:
53899         * lisp/textmodes/tex-mode.el:
53900         * lisp/tutorial.el:
53901         * lisp/url/url-dav.el:
53902         * lisp/url/url-gw.el:
53903         * lisp/url/url-http.el:
53904         * lisp/url/url-methods.el:
53905         * lisp/url/url-privacy.el:
53906         * lisp/vc/cvs-status.el:
53907         * lisp/vc/diff-mode.el:
53908         * lisp/vc/ediff-init.el:
53909         * lisp/vc/ediff-ptch.el:
53910         * lisp/vc/log-edit.el:
53911         * lisp/vc/log-view.el:
53912         * lisp/vc/pcvs-info.el:
53913         * lisp/vc/pcvs.el:
53914         * lisp/vc/smerge-mode.el:
53915         * lisp/vc/vc-git.el:
53916         * lisp/vc/vc-hg.el:
53917         * lisp/vc/vc-mtn.el:
53918         * lisp/vc/vc-rcs.el:
53919         * lisp/whitespace.el:
53920         * lisp/window.el:
53921         * test/lisp/electric-tests.el:
53922         * test/lisp/emacs-lisp/cl-lib-tests.el:
53923         * test/lisp/emacs-lisp/ert-tests.el:
53924         * test/lisp/epg-tests.el:
53925         * test/lisp/jsonrpc-tests.el:
53926         * test/src/data-tests.el:
53927         * test/src/json-tests.el: Replace most insignificant backquotes.
53929 2018-11-25  Stephen Berman  <stephen.berman@gmx.net>
53931         Handle narrowing when marking entries of included diary files
53933         * lisp/calendar/diary-lib.el (diary-mark-entries): Widen before
53934         marking entries (bug#33423).
53936 2018-11-24  Juri Linkov  <juri@linkov.net>
53938         Add new Isearch commands to new Isearch menu (bug#29321, bug#32990)
53940         * lisp/isearch.el (isearch-menu-bar-map): Add menu items for
53941         isearch-beginning-of-buffer and isearch-end-of-buffer.
53942         (isearch-forward): Add them to docstring.
53944 2018-11-24  Glenn Morris  <rgm@gnu.org>
53946         Merge from origin/emacs-26
53948         9877c03 (origin/emacs-26) Fix bug #33416, where typing a ) in a comme...
53950 2018-11-24  Glenn Morris  <rgm@gnu.org>
53952         Merge from origin/emacs-26
53954         56e3e4f Improve indexing in the ELisp manual
53955         7a4992a More Symbola-related extensions for default fontset
53956         4ae0a75 Better support for display of U+1F900..U+1F9FF block
53957         8f0c788 Improve documentation of 'edit-abbrevs-mode'
53958         3c643e7 ; NEWS tweak
53959         477414a Improve documentation of 'dired-do-compress'
53960         9c09b1d ; * etc/NES: Minor change in the description of Dired's 'Z'.
53961         52715e3 Improve doc string and display of 'describe-character'
53962         93242b1 * etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)
53963         0d59ae3 Update the docs of object internals
53965         Conflicts:
53966                 etc/NEWS
53968 2018-11-24  Michael Albinus  <michael.albinus@gmx.de>
53970         Add Tramp rclone method
53972         * doc/misc/tramp.texi (Top): Remove "History".
53973         (History): Remove node.
53974         (Quick Start Guide): New section "Using rclone".
53975         (External methods) <rclone>: Describe.
53977         * etc/NEWS: Mention Tramp rclone method.
53979         * lisp/net/tramp-rclone.el: New file.
53981 2018-11-24  Michael Albinus  <michael.albinus@gmx.de>
53983         Revert patch in tramp-equal-remote
53985         * lisp/net/tramp-sh.el (tramp-timeout-session):
53986         Use `tramp-file-name-equal-p'.
53988         * lisp/net/tramp.el (tramp-equal-remote): Revert patch.
53990 2018-11-24  Charles A. Roelli  <charles@aurox.ch>
53992         Add tool-bar and menu-bar menu for Isearch (Bug#32990)
53994         * etc/NEWS (Search and Replace): Mention this change.
53996         * lisp/isearch.el: Declare the new, non-autoloaded function
53997         'tmm-menubar-keymap'.
53998         (isearch-tmm-menubar): New function.
53999         (isearch-menu-bar-commands): New variable.
54000         (isearch-menu-bar-yank-map, isearch-menu-bar-map): New variables.
54001         (isearch-mode-map): Define a menu-bar search menu and remap
54002         'tmm-menubar' bindings to point to 'isearch-tmm-menubar'.
54003         (isearch-tool-bar-old-map): New variable.
54004         (isearch-tool-bar-image): New function.
54005         (isearch-tool-bar-map): New variable.
54006         (minor-mode-map-alist): Add an entry for Isearch so that
54007         'isearch-menu-bar-map' shows during search.
54008         (isearch-mode, isearch-done): Save and restore possible
54009         buffer-local 'tool-bar-map' using 'isearch-tool-bar-old-map'.
54010         (iseacrh-mouse-commands): New variable.
54011         (isearch-mouse-leave-buffer): Allow commands in
54012         isearch-mouse-commands.
54013         (with-isearch-suspended): Only push changed states of Isearch
54014         after running the body argument of this macro.
54015         (isearch-pre-command-hook): Additionally allow bindings in
54016         'isearch-tool-bar-map' to pass through, as well as commands
54017         in isearch-menu-bar-commands.
54018         (isearch-post-command-hook): Call 'force-mode-line-update' at its
54019         end to make sure the menu- and tool-bars are up-to-date.
54021         * lisp/tmm.el (tmm-menubar-keymap): New function factored out from
54022         'tmm-menubar'.
54023         (tmm-menubar): Use 'tmm-menubar-keymap'.
54024         (tmm-prompt): New optional argument 'no-execute'.
54026 2018-11-24  Michael Albinus  <michael.albinus@gmx.de>
54028         Remove find-file-noselect in Tramp, it was handled in XEmacs
54030         * lisp/net/tramp.el (tramp-file-name-for-operation):
54031         Remove `find-file-noselect'.
54033 2018-11-23  Eric Abrahamsen  <eric@ericabrahamsen.net>
54035         Provide new gnus-mode, derive all gnus major modes from this
54037         * lisp/gnus/gnus.el (gnus-mode): New do-nothing major mode, derived
54038           from special mode.
54039         * lisp/gnus/gnus-sum.el (gnus-summary-mode): Change from a function to
54040           a major mode, derive from gnus-mode.
54041           (gnus-summary-setup-buffer): Change call a bit -- can no longer pass
54042           an argument to the mode function.
54043         * lisp/gnus/gnus-srvr.el (gnus-browse-mode): Derive from gnus-mode.
54044           (gnus-server-setup-buffer): Remove unnecessary function.
54045           (gnus-enter-server-buffer): Call gnus-server-mode here, and call it
54046           whether the server buffer already existed or not.
54047           (gnus-server-mode): Change from a function to a major mode.
54048           (gnus-server-mode-hook): Delete custom option, this is automatically
54049           created.
54050         * lisp/gnus/gnus-salt.el (gnus-tree-mode): Derive from gnus-mode.
54051           (gnus-tree-mode-hook): Delete custom option, this is automatically
54052           created.
54053         * lisp/gnus/gnus-kill.el (gnus-kill-file-mode-hook): Delete custom
54054           option.
54055         * lisp/gnus/gnus-group.el (gnus-group-mode):
54056         * lisp/gnus/gnus-art.el (gnus-article-mode):
54057         * lisp/gnus/gnus-agent.el (gnus-category-mode): Derive from gnus-mode.
54058           (gnus-category-mode-hook): Delete custom option.
54060         (Bug#33263)
54062 2018-11-23  Filipp Gunbin  <fgunbin@fastmail.fm>
54064         search.texi fix for leftover from C-M-w to C-M-d change
54066         * doc/emacs/search.texi: Replace C-M-w with C-M-d.
54068 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
54070         Avoid compilation warning in emacsclient.c
54072         * lib-src/emacsclient.c (set_tcp_socket): Avoid compilation
54073         warning in MS-Windows build.
54075 2018-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54077         emacsclient: fix child exit when exec fails
54079         * lib-src/emacsclient.c (start_daemon_and_retry_set_socket):
54080         If the execvp of Emacs fails exit instead of having the child
54081         run on and do the work of the parent.  Coalesce duplicate code.
54083 2018-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54085         emacsclient: one ‘main’ function
54087         * lib-src/emacsclient.c (main): Simplify by having just one
54088         ‘main’ function instead of two.  Don’t assume argc is positive (!).
54090 2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54092         emacsclient: tidy socket failure cleanup
54094         * lib-src/emacsclient.c (set_tcp_socket, set_local_socket):
54095         Close socket (instead of leaking it) when ‘connect’ fails.
54096         (socket_status): Return errno if stat fails and -1 if we don’t own.
54097         (set_local_socket): Simplify based on socket_status change.
54099 2018-11-22  Juri Linkov  <juri@linkov.net>
54101         Add Isearch commands for going to absolute occurrence of matches (bug#29321)
54103         * lisp/isearch.el (isearch-mode-map): Bind 'M-s M-<' to
54104         'isearch-beginning-of-buffer' and 'isearch-end-of-buffer' to 'M-s M->'.
54105         (isearch-beginning-of-buffer, isearch-end-of-buffer): New commands.
54107 2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54109         emacsclient: coalesce WINDOWSNT-specific code
54111         * lib-src/emacsclient.c (sock_err_message) [WINDOWSNT]:
54112         Do nothing if w32_window_app () && alternate_editor.
54113         Both callers changed.
54115 2018-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54117         emacsclient: sockaddr portability fixes
54119         * lib-src/emacsclient.c (get_server_config, set_tcp_socket)
54120         (set_local_socket): Initialize any platform-specific extensions
54121         of struct to zero, just in case.
54122         (set_tcp_socket, set_local_socket): Don’t assume struct
54123         layout details that POSIX does not specify.
54124         Use union to sidestep some problems with strict aliasing.
54125         Remove unnecessary casts.
54127 2018-11-22  Michael Albinus  <michael.albinus@gmx.de>
54129         Some minor Tramp cleanups
54131         * lisp/net/tramp-adb.el (tramp-adb-file-name-p):
54132         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-p):
54133         * lisp/net/tramp-smb.el (tramp-smb-file-name-p): Make it more robust.
54135         * lisp/net/tramp.el (tramp-handle-file-truename): Cache only the
54136         localname.
54138 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
54140         emacsclient: getopt minor cleanup
54142         * lib-src/emacsclient.c (shortopts): New constant.
54143         (decode_options): Use it.  Do not assume EOF == -1.
54145 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
54147         emacsclient: omit EXTRA_SPACE guesswork
54149         * lib-src/emacsclient.c: Include <intprops.h>.
54150         (EXTRA_SPACE): Remove; code no longer guesses this is enough.
54151         (open_config): New function.
54152         (get_server_config): Use it.
54153         (set_local_socket): Compute upper bound of buffer size
54154         instead of guessing via EXTRA_SPACE.
54156 2018-11-21  Juri Linkov  <juri@linkov.net>
54158         Add prefix arg to isearch-forward-symbol-at-point (bug#29321)
54160         * lisp/isearch.el (isearch-forward-symbol-at-point): Add optional arg.
54162 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
54164         emacsclient: take more care with int width
54166         * lib-src/emacsclient.c: Include inttypes.h, stddef.h.
54167         (emacs_pid, main): Don’t assume pid fits in int.
54168         (fail): Don’t assume pointer difference fits in int.
54169         (set_local_socket): Don’t assume uid fits in long.
54171 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
54173         emacsclient.c: use C99 to avoid {}
54175         * lib-src/emacsclient.c (set_local_socket):
54176         Assume C99 decl-after-statement and reindent.
54178 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
54180         emacsclient: improve use of locals
54182         * lib-src/emacsclient.c (main):
54183         Use smaller scopes for some locals.
54185 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
54187         emacsclient: fix unlikely crash with "&"
54189         * lib-src/emacsclient.c (quote_argument):
54190         Mention *DATA in comment so it’s clear DATA must be non-null.
54191         (quote_argument, unquote_argument): Simplify.
54192         (unquote_argument): Don’t crash if the string ends in "&".
54194 2018-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
54196         Fix "Allow use of Gnus search groups as notmuch path: search term"
54198         * lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function):
54199           Default to nil -- getting correct behavior requires user
54200           intervention too often to have this enabled by default.
54201         * lisp/gnus/nnir.el (nnir-run-notmuch): If the user has turned this
54202           on, then also hardcode `gnus-group-short-name' as a filter -- things
54203           will never work without it. Also move leading space to before the
54204           opening parenthesis.
54205         * doc/misc/gnus.texi: Document option.
54207         (Bug#33122)
54209 2018-11-21  Eric Abrahamsen  <eric@ericabrahamsen.net>
54211         Check Gnus group names when reading from browse server
54213         * lisp/gnus/gnus-srvr.el (gnus-browse-read-group): If the group in
54214           question belongs to the native server, the name has to be shortened
54215           before we check it with `gnus-get-info'. It might work otherwise
54216           with nntp, but for backends like nnmaildir that have their own
54217           accounting system, creating an ephemeral group won't work.
54219 2018-11-21  Michael Albinus  <michael.albinus@gmx.de>
54221         * doc/misc/tramp.texi: Fix last commit.
54223 2018-11-21  Michael Albinus  <michael.albinus@gmx.de>
54225         Let Tramp sudo sessions expire after a timeout
54227         * doc/misc/tramp.texi (Inline methods) <sudo, doas>: Both methods expire
54228         the underlying session per default.
54229         (Predefined connection information): Explain "session-timeout".
54231         * etc/NEWS: Mention Tramp session expiration.
54233         * lisp/net/tramp-sh.el (tramp-methods) <sudo, doas>:
54234         Add `tramp-session-timeout'.
54235         (tramp-timeout-session): New defun.
54236         (tramp-maybe-open-connection): Handle session timeout.
54238         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
54239         (tramp-equal-remote): Extend.
54241 2018-11-20  Juri Linkov  <juri@linkov.net>
54243         Add prefix arg to isearch-repeat-forward/backward (bug#14563, bug#29321)
54245         * lisp/isearch.el (isearch-repeat): Add optional arg COUNT.
54246         Add a while-loop that calls `isearch-search' COUNT times.
54247         (isearch-repeat-forward, isearch-repeat-backward):
54248         Add optional prefix ARG passed down to `isearch-repeat'.
54249         Handle reversed directions.
54251 2018-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
54253         calc.el, calc-(ext|poly), calccomp: Use lexical-binding
54255         * lisp/calc/calc-ext.el: Use lexical-binding, silence warnings.
54256         (calc-init-extensions): Remove a few functions which can't be called
54257         directly since they depend on dynamically scoped vars.
54258         (calc-embedded-quiet): Declare.
54259         (math-defcache): Use 'declare'.
54260         (math-normalize-a): Remove declaration.
54261         (math-normalize-nonstandard): Receive 'a' as arg instead.
54262         (math-defintegral): Use 'declare'.
54263         (math-exp-pos, math-exp-old-pos, math-exp-keep-spaces, math-rb-h2)
54264         (math-read-big-baseline, math-read-big-h2, math-read-big-err-msg)
54265         (math-exp-token, math-expr-data, math-exp-str): Declare.
54266         (math-map-tree, math-read-expr): Avoid dynvars as formal arguments.
54268         * lisp/calc/calc-poly.el: Use lexical-binding, silence warnings.
54269         Turn some comments into docstrings.
54270         (math-poly-div): Avoid dynvars as formal arguments.
54271         (math-poly-base-top-expr): Move declaration before first use.
54272         (calcFunc-factors, math-factor-expr, math-factor-expr-try)
54273         (calcFunc-factor): Avoid dynvars as formal arguments.
54275         * lisp/calc/calc.el: Use lexical-binding, silence warnings.
54276         (math-normalize-a): Remove.
54277         (math-normalize): Use lexical var 'a' instead.
54278         (math-svo-c): Remove.
54279         (math-stack-value-offset): Pass 'c' explicitly as arg to
54280         math-stack-value-offset-fancy instead.
54282         * lisp/calc/calccomp.el: Use lexical-binding, silence warnings.
54283         (math-svo-c): Remove.
54284         (math-stack-value-offset-fancy): Use new arg 'c' instead.
54285         (math-comp-to-string-flat): Avoid dynvars as formal arguments.
54287 2018-11-20  Glenn Morris  <rgm@gnu.org>
54289         Merge from origin/emacs-26
54291         d667318 (origin/emacs-26) Fix two Edebug defcustoms (bug#33428)
54293 2018-11-20  Glenn Morris  <rgm@gnu.org>
54295         Merge from origin/emacs-26
54297         070e82b ; * src/window.c (window_scroll): Improve commentary.
54298         60457d7 Improve documentation of the window tree
54299         ea1a014 Fix window scrolling on TTY frames when there's no mode line
54300         df7ed10 Fix decoding XML files encoded in ISO-8859
54301         7851ae8 (tag: emacs-26.1.90) ; ChangeLog.3 update
54302         1958808 * etc/AUTHORS: Update.
54303         7252507 Fix description of some window hooks
54304         88762b4 Run 'window--adjust-process-windows' when frame size changes ...
54305         d6542ea Avoid errors in zone.el when there's overlay at EOB
54307 2018-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
54309         * lisp/calc/calc-alg.el: Use lexical-binding and silence warnings
54311         * lisp/calc/calc-alg.el: Use lexical-binding and silence warnings.
54312         (math-defsimplify): Let-bind 'expr' instead of math-simplify-expr.
54313         Adjust all users.
54314         (math-simplify-expr): Don't declare any more.
54315         (math--simplify-divide-expr): New dynbound var.
54316         (math-simplify-divide): Bind it when needed.
54317         (math-simplify-divisor): Use it instead of math-simplify-expr.
54318         (math-simplify-divisor): Only bind math-simplify-divisor-[nd]over
54319         around the calls to math-simplify-one-divisor.
54320         (math-expr-subst, math-is-polynomial): Don't use dynbound vars as
54321         formal arguments.
54322         (math-polynomial-base): Move binding of math-poly-base-pred.
54323         Don't bind math-poly-base-top-expr any more...
54324         * lisp/calc/calc-poly.el (math-total-polynomial-base): Bind it here instead!
54326         * lisp/calc/calc-units.el: Use lexical-binding and silence warnings.
54327         Adjust to the new 'expr' name in math-defsimplify.
54328         (math-find-base-units, math-to-standard-units, math-convert-units):
54329         Don't use dynbound vars as formal arguments.
54330         (math-simplify-expr): Don't declare any more.
54332 2018-11-20  Robert Pluim  <rpluim@gmail.com>
54334         Remove space from end of coding cookie
54336         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
54337         Remove unnecessary space from end of coding cookie.
54339 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
54341         Fix last change
54343         * lib-src/emacsclient.c (start_daemon_and_retry_set_socket)
54344         [!WINDOWSNT]: Condition usage of socket_name on
54345         NO_SOCKETS_IN_FILE_SYSTEM being undefined.
54347 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
54349         Avoid compiler warning in emacsclient.c
54351         * lib-src/emacsclient.c (socket_name): Define only if
54352         NO_SOCKETS_IN_FILE_SYSTEM is not defined, to avoid a compiler
54353         warning.
54355 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
54357         emacsclient.c: file name component fixes
54359         * lib-src/emacsclient.c: Include <dosname.h>.
54360         (file_name_absolute_p): Remove, as a code duplicate.
54361         All uses replaced by IS_ABSOLUTE_FILE_NAME.
54362         (set_local_socket): Don’t treat \ as a file name separator
54363         on GNU and POSIX hosts.
54365 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
54367         emacsclient.c: reindent to fit in 80
54369         * lib-src/emacsclient.c: Reindent slightly.
54371 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
54373         emacsclient.c: use C99 better
54375         * lib-src/emacsclient.c (get_current_dir_name)
54376         (send_to_emacs, set_tcp_socket, set_local_socket, main):
54377         Take advantage of C99 stmt before decl.
54379 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
54381         emacsclient.c: use STDOUT_FILENO
54383         * lib-src/emacsclient.c (find_tty, handle_sigcont, main):
54384         Use STDOUT_FILENO instead of fileno (stdout) or magic 1.
54386 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
54388         emacsclient.c: use bool for boolean
54390         * lib-src/emacsclient.c (nowait, quiet, suppress_output, eval, tty)
54391         (decode_options, file_name_absolute_p, get_server_config)
54392         (strprefix, find_tty, set_socket, main):
54393         Use bool for boolean.
54394         (create_frame): New static var, replacing the old current_frame
54395         and with inverted sense, as this is clearer.
54397 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
54399         emacsclient.c: make identifiers more local
54401         * lib-src/emacsclient.c (progname, main_argc, main_argv):
54402         (nowait, quiet, suppress_output, eval, current_frame, display):
54403         (alt_display, parent_id, tty, alternate_editor, socket_name):
54404         (server_file, tramp_prefix, emacs_pid, frame_parameters):
54405         (longopts, xstrdup, send_bufffer, sblen, emacs_socket):
54406         Now static.
54407         (SEND_BUFFER_SIZE, send_buffer, sblen):
54408         Now local to send_to_emacs.
54410 2018-11-19  Paul Eggert  <eggert@cs.ucla.edu>
54412         emacsclient.c: clean up preprocessing directives
54414         * lib-src/emacsclient.c [WINDOWSNT]: Omit duplicate stdlib.h include.
54415         Include min-max.h.
54416         (EXIT_SUCCESS, EXIT_FAILURE, min): Remove; no longer needed.
54417         (AUTH_KEY_LENGTH, SEND_BUFFER_SIZE): Now constants instead of macros.
54419 2018-11-19  Ulrich Müller  <ulm@gentoo.org>
54421         Update the calc units table
54423         On 2018-11-16, the 26th meeting of the General Conference on Weights
54424         and Measures (CGPM) has redefined the International System of Units by
54425         adopting fixed values for the Planck constant, the elementary charge,
54426         the Boltzmann constant, and the Avogadro constant:
54427         https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf
54428         * lisp/calc/calc-units.el (math-standard-units): Update according
54429         to redefinition of the SI in 2018.
54431 2018-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
54433         * lisp/mouse.el (mouse-posn-property): Add comment
54435 2018-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
54437         Remove uses of obsolete 'CUA' symbol property
54439         * lisp/emulation/cua-base.el (cua-scroll-up, cua-scroll-down):
54440         * lisp/progmodes/subword.el (subword-forward, subword-backward):
54441         * lisp/obsolete/crisp.el (crisp-home, crisp-end):
54442         Remove 'CUA' prop; not used any more.
54444 2018-11-17  Juri Linkov  <juri@linkov.net>
54446         * lisp/vc/diff-mode.el (diff-find-source-location): Use vc-working-revision
54448         when diff shows changes in working revision.  (Bug#33319)
54449         (diff-goto-source): Rename variables to avoid ambiguity.
54451 2018-11-17  Juri Linkov  <juri@linkov.net>
54453         Don't exit Isearch while resizing windows with mouse (bug#32990)
54455         * lisp/isearch.el (isearch-mouse-leave-buffer): New function.
54456         (isearch-mode): Use isearch-mouse-leave-buffer instead of
54457         isearch-done for mouse-leave-buffer-hook.
54458         (isearch-done): Remove isearch-mouse-leave-buffer from
54459         mouse-leave-buffer-hook.
54460         (enlarge-window-horizontally, shrink-window-horizontally)
54461         (shrink-window, mouse-drag-mode-line, mouse-drag-vertical-line):
54462         Put property isearch-scroll with t.
54463         (isearch-mode): Reset isearch-pre-scroll-point and
54464         isearch-pre-move-point to nil for the case when Isearch exits
54465         between isearch-pre-command-hook (that sets these values) and
54466         isearch-post-command-hook (that used to reset them).
54468 2018-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
54470         * src/cmds.c (Fself_insert_command): Get last-command-event via (new) arg.
54472 2018-11-16  Glenn Morris  <rgm@gnu.org>
54474         Merge from origin/emacs-26
54476         936a8f3 (origin/emacs-26) Document Emacs 26 behavior of Dired's 'Z' o...
54477         99f99a1 ; Minor editing change in windows.texi
54478         13bb665 Fix a typo in the Emacs manual
54480         # Conflicts:
54481         #       etc/NEWS
54483 2018-11-16  Glenn Morris  <rgm@gnu.org>
54485         Merge from origin/emacs-26
54487         edcd6b7 Small documentation correction.
54488         168a8c2 * src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug...
54489         3287a7c Fix Bug#33364
54490         acee0a8 ; Cosmetic changes in etc/NEWS
54491         a6ef167 * test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.
54493         # Conflicts:
54494         #       etc/NEWS
54496 2018-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54498         Update from glibc and Gnulib
54500         This incorporates:
54501         2018-11-15 mktime: DEBUG_MKTIME cleanup
54502         2018-11-15 mktime: fix non-EOVERFLOW errno handling
54503         2018-11-15 mktime: fix bug with Y2038 DST transition
54504         2018-11-15 mktime: make more room for overflow
54505         2018-11-15 mktime: simplify offset guess
54506         2018-11-15 mktime: new test for mktime failure
54507         2018-11-15 mktime: fix EOVERFLOW bug
54508         2018-11-13 longlong: fix comment typo
54509         * lib/gnulib.mk.in: Regenerate.
54510         * lib/mktime.c, m4/longlong.m4: Copy from Gnulib.
54512 2018-11-16  Michael Albinus  <michael.albinus@gmx.de>
54514         Mention ELPA packages which add new methods to Tramp
54516         * doc/misc/tramp.texi (Customizing Methods): Mention ELPA packages
54517         which add new methods to Tramp.
54519 2018-11-15  Juri Linkov  <juri@linkov.net>
54521         * lisp/windmove.el: Directional window display (bug#32790)
54523         * lisp/windmove.el (windmove-display-no-select): New defcustom.
54524         (windmove-display-in-direction, windmove-display-left)
54525         (windmove-display-up, windmove-display-right)
54526         (windmove-display-down, windmove-display-same-window)
54527         (windmove-display-default-keybindings): New functions.
54529 2018-11-15  Juri Linkov  <juri@linkov.net>
54531         * lisp/windmove.el: Support more prefix args (bug#32790)
54533         * lisp/windmove.el (windmove-left, windmove-up, windmove-right)
54534         (windmove-down): Use prefix-numeric-value to support more prefix args
54535         like 'C-u' and 'M--'.  Doc fix.
54537 2018-11-15  Michael Albinus  <michael.albinus@gmx.de>
54539         Fix Bug#33394
54541         * lisp/net/trampver.el (tramp-repository-branch)
54542         (tramp-repository-version): Handle out-of-tree builds.  (Bug#33394)
54544 2018-11-14  Juri Linkov  <juri@linkov.net>
54546         Isearch hit count.  (Bug#29321)
54548         * lisp/isearch.el (isearch-lazy-count): New defcustom.
54549         (lazy-count): New defgroup.
54550         (lazy-count-prefix-format, lazy-count-suffix-format): New defcustom.
54551         (isearch-lazy-count-format): New function.
54552         (isearch-message-prefix, isearch-message-suffix): Use it.
54553         (isearch-lazy-highlight-window-start-changed)
54554         (isearch-lazy-highlight-window-end-changed)
54555         (isearch-lazy-count-current, isearch-lazy-count-total)
54556         (isearch-lazy-count-hash): New variables.
54557         (isearch-lazy-highlight-new-loop): Reset isearch-lazy-count-total
54558         and update isearch-lazy-count-current for isearch-message.
54559         (isearch-lazy-highlight-update): Run full-buffer loop for
54560         isearch-lazy-count.
54561         (isearch-lazy-highlight-buffer-update): Count isearch-lazy-count-total.
54562         Set isearch-lazy-count-current at the end.
54564 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
54566         Minor copyedits in documentation of HOME handling
54568         * etc/NEWS: Reword the recent entry regarding the change in
54569         how relative file names are interpreted in $HOME.
54571         * doc/emacs/cmdargs.texi (General Variables): Advise against
54572         using relative directory names in $HOME.
54574 2018-11-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
54576         Fix probing for pre-1970 DST
54578         * lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
54579         Fix recently-introduced rounding bug when probing for DST
54580         transitions before 1970 (Bug#33380).
54582 2018-11-14  Paul Eggert  <eggert@cs.ucla.edu>
54584         Document recent change to HOME handling
54586         * doc/emacs/cmdargs.texi (General Variables):
54587         * doc/emacs/custom.texi (Find Init):
54588         * doc/lispref/files.texi (File Name Expansion):
54589         * etc/NEWS: Document behavior when HOME is a relative file name.
54591 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
54593         Fix a thinko in fileio.c
54595         * src/fileio.c (get_homedir): Fix last change.  Suggested by
54596         Paul Eggert <eggert@cs.ucla.edu>.
54598 2018-11-13  Juri Linkov  <juri@linkov.net>
54600         New option vc-find-revision-no-save to not write revision to file
54602         * lisp/vc/vc.el (vc-find-revision-no-save): New defcustom (bug#33319).
54603         (vc-find-revision): Depending on vc-find-revision-no-save,
54604         call either vc-find-revision-no-save or vc-find-revision-save.
54605         (vc-find-revision-save): Rename from vc-find-revision.
54606         (vc-find-revision-no-save): New function.
54608         * lisp/vc/diff-mode.el (diff-find-source-location):
54609         Let-bind vc-find-revision-no-save to t.
54611 2018-11-13  Juri Linkov  <juri@linkov.net>
54613         Support VC revisions in diff-goto-source (bug#33319)
54615         * lisp/vc/diff-mode.el (diff-vc-revisions): New defvar.
54616         (diff-find-source-location): Call vc-find-revision for
54617         non-nil values of 'other', diff-vc-backend, diff-vc-revisions.
54619         * lisp/vc/vc.el (vc-diff-internal): Set buffer-local
54620         diff-vc-revisions to the list of used revisions.
54622         * doc/emacs/files.texi (Diff Mode): Update diff-goto-source
54623         for VC-related prefix argument.
54625 2018-11-13  Eli Zaretskii  <eliz@gnu.org>
54627         Fix recent change in fileio.c
54629         * src/fileio.c (get_homedir) [WINDOWSNT]: Convert $HOME to UTF-8.
54630         (Fexpand_file_name): Don't convert it here.
54632 2018-11-13  Glenn Morris  <rgm@gnu.org>
54634         No need to pass absolute program name to call-process
54636         * lisp/doc-view.el (doc-view-revert-buffer):
54637         * lisp/net/eudcb-mab.el (eudc-mab-query-internal):
54638         Remove superfluous executable-find.
54640 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
54642         Update from Gnulib
54644         This incorporates:
54645         2018-11-03 nstrftime: simplify test for mktime failure
54646         2018-11-02 gnulib-common.m4: port _Noreturn to C++
54647         2018-10-22 std-gnu11: Support Autoconf versions < 2.64
54648         2018-10-22 Assume Autoconf >= 2.63
54649         2018-10-16 Remove support for Ultrix
54650         2018-10-16 getloadavg: Remove support for ConvexOS
54651         2018-10-16 getloadavg: Remove support for Sony NEWS
54652         2018-10-16 Remove support for Dynix/ptx
54653         2018-10-16 fsusage: Remove support for AIX 3
54654         2018-10-16 fsusage, stat-size, getloadavg: Remove support for AIX PS/2
54655         2018-10-16 getloadavg: Remove support for HP-UX on m68k
54656         2018-10-16 fsusage, mountlist: Remove support for DolphinOS
54657         2018-10-16 getloadavg: Remove support for Alliant FX/2800
54658         2018-10-16 getloadavg: Remove support for tek4300
54659         2018-10-16 getloadavg: Remove support for Ardent
54660         * build-aux/config.guess, build-aux/config.sub, lib/_Noreturn.h:
54661         * lib/fsusage.c, lib/getgroups.c, lib/getloadavg.c:
54662         * lib/nstrftime.c, lib/time.in.h, m4/errno_h.m4:
54663         * m4/fsusage.m4, m4/getgroups.m4, m4/gnulib-common.m4, m4/longlong.m4:
54664         * m4/std-gnu11.m4, m4/stdint.m4:
54665         Copy from Gnulib.
54666         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate:
54668 2018-11-13  Glenn Morris  <rgm@gnu.org>
54670         Root emacsclient no longer connects to non-root sockets
54672         * lib-src/emacsclient.c (set_local_socket): Don't ignore socket
54673         ownership when run by root.
54674         Ref: https://lists.gnu.org/r/emacs-devel/2018-11/msg00019.html
54676 2018-11-13  Eli Zaretskii  <eliz@gnu.org>
54678         Avoid byte-compilation warning in emacsbug.el
54680         * lisp/mail/emacsbug.el (w32--os-description): Declare it, to
54681         avoid byte-compilation warning.  Reported by Live System User
54682         <nyc4bos@aol.com>.
54684 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
54686         Act like POSIX sh if $HOME is relative
54688         POSIX says sh ~/foo should act like $HOME/foo even if $HOME is
54689         relative, so be consistent with that (Bug#33255).
54690         * admin/merge-gnulib (GNULIB_MODULES): Add dosname.
54691         * src/buffer.c (init_buffer): Use emacs_wd to get
54692         initial working directory with slash appended if needed.
54693         (default-directory): Say it must be absolute.
54694         * src/emacs.c (emacs_wd): New global variable.
54695         (init_cmdargs): Dir arg is now char const *.
54696         (main): Set emacs_wd.
54697         * src/emacs.c (main) [NS_IMPL_COCOA]:
54698         * src/fileio.c (Fexpand_file_name):
54699         Use get_homedir instead of egetenv ("HOME").
54700         * src/fileio.c: Include dosname.h, for IS_ABSOLUTE_FILE_NAME.
54701         (splice_dir_file, get_homedir): New functions.
54702         * src/xrdb.c (gethomedir): Remove.  All callers changed
54703         to use get_homedir and splice_dir_file.
54704         * test/src/fileio-tests.el (fileio-tests--relative-HOME): New test.
54706 2018-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
54708         * lisp/files.el: Justify binding of read-circle with comments
54710 2018-11-13  Noam Postavsky  <npostavs@gmail.com>
54712         Fix build fail on files.el change (Bug#32352)
54714         * lisp/files.el (dir-locals-read-from-dir): Reduce scope of
54715         `read-circle' let-binding to go around the `read' call only.
54716         Otherwise it can interfere with loading of files which use the
54717         circular read syntax (e.g., executing the setf expression in
54718         `dir-locals-set-class-variables' may require loading gv.elc).
54720 2018-11-12  Glenn Morris  <rgm@gnu.org>
54722         Merge from origin/emacs-26
54724         189c49e * etc/AUTHORS: Update.
54725         9723c21 ; ChangeLog.3 update
54727 2018-11-12  Glenn Morris  <rgm@gnu.org>
54729         Merge from origin/emacs-26
54731         913c001 * lisp/files.el (write-file): Clarify the doc string.  (Bug#3...
54732         d614b84 Fix typos in midnight.el
54733         8c2778a Improve documentation of 'move-file-to-trash'
54734         c7b8a51 ; * doc/lispref/functions.texi (Anonymous Functions): Fix typo.
54735         92296de * src/data.c (Ftype_of): xwidget objects are possible! (bug#3...
54736         a3242cc Improve documentation of Diff mode
54737         39e85a0 Note that lex bound lambda forms are not self-quoting (Bug#33...
54738         fa605f2 Rewrite buffer display related doc-strings and doc
54739         aa55659 Fix call to GlobalMemoryStatusEx in w32.c
54741         # Conflicts:
54742         #       doc/emacs/files.texi
54743         #       src/data.c
54745 2018-11-12  Sam Steingold  <sds@gnu.org>
54747         maybe_disable_address_randomization always returns "int argc"
54749         maybe_disable_address_randomization needs a consistent signature
54750         regardless of HAVE_PERSONALITY_ADDR_NO_RANDOMIZE.
54752 2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54754         Fix dumping on GNU/Linux ppc64le
54756         Problem reported by Thomas Fitzsimmons (Bug#33174).
54757         * src/emacs.c (main): Adjust to sysdep.c changes.
54758         * src/sysdep.c (exec_personality): New static var.
54759         (disable_address_randomization): Remove, replacing with ...
54760         (maybe_disable_address_randomization): ... this new function.
54761         Do not set or use an environment variable; use a command-line
54762         argument instead, and set the new static var.  Migrate the emacs.c
54763         personality-change code to here, where it belongs.
54764         (emacs_exec_file): Simplify by using new static var.
54766 2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54768         Pacify gcc -Wmaybe-uninitialized without X11-XCB
54770         I ran into this problem on Ubuntu 18.04.1 LTS.
54771         * src/xterm.c (get_current_wm_state) [!USE_XCB]:
54772         Mark reply_data as UNINIT here too.
54774 2018-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54776         Pacify gcc -Wunused-macros in older GnuTLS
54778         I ran into this problem on Ubuntu 18.04.1 LTS.
54779         * src/gnutls.c (HAVE_GNUTLS_CIPHER_GET_IV_SIZE)
54780         (HAVE_GNUTLS_CIPHER_GET_TAG_SIZE, HAVE_GNUTLS_DIGEST_LIST):
54781         New macros.  This uses the same style as the other
54782         macros that depend on GnuTLS version, as opposed to trying
54783         to do things a bit more cleverly.
54784         (gnutls_cipher_get_iv_size, gnutls_cipher_get_tag_size)
54785         (gnutls_digest_list, gnutls_digest_get_name):
54786         Define these macros only if they will be used.
54788 2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>
54790         Add masking module to CSS property list
54792         * lisp/textmodes/css-mode.el (css-property-alist)
54793         (css-value-class-alist): Add properties and value classes from CSS
54794         Masking Module.
54796 2018-11-10  Glenn Morris  <rgm@gnu.org>
54798         * test/src/editfns-tests.el (test-group-name): Improve test.
54800         Make more portable and hopefully more robust using getent.  (Bug#33195)
54802 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
54804         Make 'move-file-to-trash' behave according to the documentation
54806         * lisp/files.el (move-file-to-trash): Behave like the doc
54807         string says: check whether 'system-move-file-to-trash' is
54808         defined before testing that 'trash-directory' is non-nil.
54809         (Bug#33335)
54811 2018-11-10  Glenn Morris  <rgm@gnu.org>
54813         * test/src/editfns-tests.el (test-group-name): Small fix.
54815         Do not assume user 1000 has group name = user name.
54817 2018-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54819         Dissociate controlling tty better on Darwin
54821         * src/process.c (dissociate_controlling_tty): New function.
54822         (create_process): Use it to dissociate controlling tty if setsid
54823         fails, which happens on Darwin after a vfork (Bug#33154).
54824         Do this on all platforms, not just on Darwin, as a similar
54825         problem is plausible elsewhere.
54826         * src/callproc.c (call_process): Use the new function here, too,
54827         for consistency and to avoid duplicate code.
54829 2018-11-10  Michael Albinus  <michael.albinus@gmx.de>
54831         Provide branch information for both Emacs and Tramp (Bug#33328)
54833         * doc/lispref/intro.texi (Version Info):
54834         Document `emacs-repository-version' and `emacs-repository-branch'.
54836         * etc/NEWS: Mention `emacs-repository-branch'.
54838         * lisp/loadup.el: Initialize `emacs-repository-branch'.
54840         * lisp/version.el (emacs-repository-branch): New variable.
54841         (emacs-repository-branch-git, emacs-repository-get-branch):
54842         New defuns.
54844         * lisp/mail/emacsbug.el (report-emacs-bug):
54845         Insert `emacs-repository-branch'.
54847         * lisp/net/tramp.el (tramp-get-local-gid):
54848         Use `group-name' if available.
54849         (tramp-debug-message):
54850         * lisp/net/tramp-cmds.el (tramp-bug): Report also
54851         `tramp-repository-branch' and `tramp-repository-version'.
54853         * lisp/net/trampver.el (tramp-repository-branch)
54854         (tramp-repository-version): New defconst.
54855         (tramp-repository-get-version): Remove.
54857 2018-11-10  Michael Albinus  <michael.albinus@gmx.de>
54859         * lisp/net/tramp.el (tramp-get-local-gid): Use `group-name' if available.
54861 2018-11-10  Allen Li  <darkfeline@felesatra.moe>
54863         Add setter for 'xref-marker-ring-length'
54865         * lisp/progmodes/xref.el (xref-marker-ring-length): Add setter.
54866         * etc/NEWS: Document last change.  (Bug#32849)
54868 2018-11-10  Allen Li  <darkfeline@felesatra.moe>
54870         Add 'ring-resize' function
54872         * lisp/emacs-lisp/ring.el (ring-resize): New function.  (Bug#32849)
54873         * doc/lispref/sequences.texi (Rings): Document new function 'ring-resize'.
54874         * etc/NEWS: Document new function 'ring-resize'.
54875         * test/lisp/emacs-lisp/ring-tests.el (ring-test-ring-resize): New tests.
54877 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
54879         Fix last commit
54881         * doc/lispref/os.texi (User Identification): Fix function name
54882         of 'group-name'.
54884 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
54886         Fix last change
54888         * src/editfns.c (Fgroup_name): Fix the doc string.  Move
54889         closer to the "group" functions.
54890         * src/w32.c (getgrgid): Return NULL if GID is not the group ID
54891         of the user of this Emacs session
54893         * test/src/editfns-tests.el (test-group-name): Rename from
54894         'group-name'.  Add tests for non-Posix hosts.  Test error when
54895         the argument to group-name is invalid.
54897         * etc/NEWS: Fix wording of last added entry.
54899 2018-11-10  Jules Tamagnan  <jtamagnan@gmail.com>
54901         src/editfns.c (group-name): New function.
54903 2018-11-09  Eli Zaretskii  <eliz@gnu.org>
54905         Improve doc strings generated by 'easy-mmode-define-navigation'
54907         * lisp/emacs-lisp/easy-mmode.el
54908         (easy-mmode-define-navigation): Include the documentation of
54909         prefix argument in the generated doc string.
54911 2018-11-08  Pierre-Yves Luyten  <py@luyten.fr>
54913         Add functions to open a bookmark in another frame
54915         * lisp/bookmark.el (bookmark-jump-other-frame): New function.
54916         Bind in bookmark-map.
54917         (bookmark-bmenu-other-frame): New function.
54918         Bind in bookmark-bmenu-mode-map.
54920         Patch applied by Karl Fogel.
54922 2018-11-08  Juri Linkov  <juri@linkov.net>
54924         * lisp/windmove.el (windmove-create-window): New defcustom (bug#32790).
54926         (windmove-do-window-select): Use it.
54928 2018-11-08  Michael Albinus  <michael.albinus@gmx.de>
54930         * doc/misc/tramp.texi (Password handling): Explain Ange FTP case.
54932 2018-11-08  Michael Albinus  <michael.albinus@gmx.de>
54934         Get rid of own netrc parsing implementation in Tramp
54936         * lisp/net/tramp.el (tramp-parse-netrc): Reimplement, using
54937         `netrc-parse'.
54938         (tramp-parse-netrc-group): Remove.
54940 2018-11-07  Juri Linkov  <juri@linkov.net>
54942         Support VC single file operations from Dired (bug#32596).
54944         * lisp/vc/vc.el (vc-ensure-vc-buffer): Use dired-get-filename for dired-mode.
54945         Move error-checking outside of the last branch of cond.
54946         (vc-dired-deduce-fileset): Remove unused error signaling.
54948 2018-11-07  Juri Linkov  <juri@linkov.net>
54950         * lisp/vc/log-view.el: Better error handling (bug#33295).
54952         * lisp/vc/log-view.el (log-view-find-revision)
54953         (log-view-annotate-version): Add condition to signal an error
54954         when log-view-vc-fileset contains a directory.
54955         Use user-error instead of error.
54957         * lisp/dired.el (dired-get-file-for-visit):
54958         * lisp/locate.el (locate-do-setup):
54959         Use user-error instead of error.
54961 2018-11-07  Juri Linkov  <juri@linkov.net>
54963         Advertise new hi-lock 'M-s h' key prefix in lisp/bindings.el
54965         https://lists.gnu.org/r/emacs-devel/2015-07/msg00104.html
54967 2018-11-07  Juri Linkov  <juri@linkov.net>
54969         * lisp/files-x.el (modify-dir-local-variable): Use assoc-delete-all
54971         instead of assq-delete-all for cases when mode is a subdirectory name.
54972         (dir-locals-to-string): Call pp-to-string and string-trim-right
54973         on values.  (Bug#32817)
54975 2018-11-07  Juri Linkov  <juri@linkov.net>
54977         * lisp/window.el (window-state-put): Create a new window
54979         to replace the existing one on the same frame in case
54980         when WINDOW is not live.  (Bug#32850)
54982         * doc/lispref/windows.texi (Window Configurations):
54983         Describe changes related to WINDOW arg of window-state-put.
54985 2018-11-07  Michael Albinus  <michael.albinus@gmx.de>
54987         * lisp/net/tramp.el (tramp-get-debug-buffer): Fix error in setting local map.
54989 2018-11-06  Michael Albinus  <michael.albinus@gmx.de>
54991         Handle also port and domain in Tramp proxy definitions
54993         * doc/misc/tramp.texi (Multi-hops): Exclude ports and domains from
54994         pattern expansion.
54996         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
54997         Remove ad-hoc proxies.
54999         * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Handle also
55000         port and domain in the proxy.  Propertize ad-hoc proxies.
55002         * lisp/net/tramp.el (tramp-default-proxies-alist): Adapt docstring.
55004         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
55005         (tramp-test02-file-name-dissect-simplified)
55006         (tramp-test02-file-name-dissect-separate): Extend tests.
55008 2018-11-05  Juri Linkov  <juri@linkov.net>
55010         Support lazy-highlight-buffer in Info (bug#29321, bug#29360).
55012         * lisp/isearch.el (isearch-lazy-highlight-point-min)
55013         (isearch-lazy-highlight-point-max): New variables.
55014         (isearch-lazy-highlight-new-loop): When lazy-highlight-buffer is
55015         non-nil, compare (point-min) with isearch-lazy-highlight-point-min,
55016         and (point-max) with isearch-lazy-highlight-point-max, for buffers
55017         like Info where narrowing changes the values point-min and point-max.
55019 2018-11-05  Juri Linkov  <juri@linkov.net>
55021         * lisp/image-mode.el (image--imagemagick-wanted-p): Check for nil filename.
55023         (Bug#33241)
55025 2018-11-04  Glenn Morris  <rgm@gnu.org>
55027         * src/xfaces.c (face_at_buffer_position): Adapt lookup_basic_face call.
55029 2018-11-04  Glenn Morris  <rgm@gnu.org>
55031         Merge from origin/emacs-26
55033         6937c35 (origin/emacs-26) Improve recent changes in documentation of ...
55034         c04b48c Rewrite documentation of buffer display
55035         7cadb32 ; * doc/lispref/control.texi (pcase Macro): Fix another typo.
55036         963f1d9 ; * doc/lispref/control.texi (pcase Macro): Fix a typo.
55037         e824c91 Improve documentation of destructuring-binding macros
55039 2018-11-04  Glenn Morris  <rgm@gnu.org>
55041         Merge from origin/emacs-26
55043         bd1d617 Avoid race in rcirc process filter (bug#33145)
55044         88ef31a Avoid file-name errors when viewing PDF from Gnus
55045         c939042 Avoid crashes with remapped default face in Org mode
55046         97660fa Doc fix for checkdoc-continue
55047         96f055b Fix a typo in autoload.el
55049 2018-11-04  Glenn Morris  <rgm@gnu.org>
55051         Merge from origin/emacs-26
55053         9962cf9 * doc/lispref/control.texi (Destructuring patterns): New subs...
55055 2018-11-04  Eli Zaretskii  <eliz@gnu.org>
55057         A further fix for locally remapped fringe face
55059         * src/xdisp.c (expose_window): Temporarily switch to the
55060         window's buffer, in case the fringe face was remapped locally
55061         in that buffer.  (Bug#33244)
55063 2018-11-04  Michael Albinus  <michael.albinus@gmx.de>
55065         Fix Bug#33194
55067         * lisp/autorevert.el (auto-revert-notify-add-watch):
55068         Handle buffers with same descriptor properly.
55069         (auto-revert-notify-handler): Handle all buffers with same
55070         descriptor.  (Bug#33194)
55072         * lisp/filenotify.el (file-notify-callback): Simplify.
55074 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55076         Improve time error reporting
55078         * src/timefns.c (emacs_mktime_z): Remove; no longer needed.
55079         (time_error): New function, replacing invalid_time.
55080         All callers changed.
55081         (decode_float_time, decode_ticks_hz, decode_time_components):
55082         Return an error number instead of merely a boolean.
55083         All callers changed.
55084         (decode_lisp_time): Signal an error based on the error number,
55085         instead of merely returning a boolean to the caller.
55086         All callers changed.
55087         (format_time_string, Fdecode_time, Fencode_time)
55088         (Fcurrent_time_string):
55089         Do not assume that a failure of a system time function
55090         must be due to time overflow.
55091         (Fencode_time): Don't report an error merely because mktime
55092         returned ((time_t) -1), as that may be a valid time_t value.
55093         Use a simpler error check.  See:
55094         https://www.sourceware.org/ml/libc-alpha/2018-11/msg00062.html
55096 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
55098         Allow the fringe face to be remapped locally in a buffer
55100         * src/fringe.c (draw_window_fringes): Switch to window's
55101         buffer to get the local value of face-remapping-alist, if
55102         necessary.  (Bug#33244)
55103         * src/xfaces.c (syms_of_xfaces) <Qface_remapping_alist>: New
55104         DEFSYM.
55106 2018-11-03  David Edmondson  <dme@dme.org>
55108         Add URL truncation support to rcirc (bug#33043)
55110         Suggested by David Edmondson <dme@dme.org>.
55111         * lisp/net/rcirc.el (rcirc-url-max-length): New user option
55112         controlling extent of URL truncation, defaulting to none.
55113         (rcirc-markup-urls): Use it.
55114         * etc/NEWS: Announce it.
55116 2018-11-03  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
55118         'minor-mode-menu-from-indicator' now display full minor mode.
55120         When there is no menu for a mode, display the mode name after the
55121         indicator instead of just the indicator (which is sometime cryptic).
55122         Ex:
55123         before : SP
55124         now    : SP - Smartparens Mode
55126         * etc/NEWS: Add en entry for this new feature.
55127         * lisp/mouse.el (minor-mode-menu-from-indicator): Append the mode name
55128           after the indicator when there is no menu defined by the mode.
55130 2018-11-03  Eric Abrahamsen  <eric@ericabrahamsen.net>
55132         Allow use of Gnus search groups as notmuch path: search term
55134         * lisp/gnus/nnir.el (nnir-notmuch-filter-group-names-function): New
55135         option governing whether and how to use Gnus' search groups as path:
55136         search terms to notmuch.
55137         (nnir-run-notmuch): Check and possibly use above variable.
55138         (Bug#33122)
55140 2018-11-03  Daniel Pittman  <slippycheeze@google.com>
55142         Fix interaction between vc-hg find-file-hook and vc state caching
55144         Bad assumptions in the `vc-hg-find-file-hook' prevented it from
55145         working. This correctly them.  (Bug#33129).
55147         2018-10-23  Daniel Pittman  <slippycheeze@google.com>
55149                 * lisp/vc/vc-hg.el (vc-hg-find-file-hook): This function made two
55150                 assumptions about conflicted files that were not accurate,
55151                 preventing conflicts in files ever being detected.
55153                 The first was that the `vc-state' was cache by the time this was
55154                 invoked, which it is not - at least when visiting the file, or
55155                 using `vc-refresh-state'.
55157                 The second was that a file with the ".orig" extension would be
55158                 present, next to the file being visited.  This is the default
55159                 behavior of Mercurial, but can be overridden by the user.
55161                 Since the VC mode-line code will shortly calculate the state for
55162                 display, the optimization of testing for the ".orig" file only
55163                 delayed this work by a few moments.
55165 2018-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
55167         * lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Allow empty rules
55169         * lisp/help-fns.el (describe-symbol): Use help--symbol-completion-table
55171         * src/data.c (Ffset): Don't signal gratuitous errors
55173 2018-11-02  Eric Abrahamsen  <eric@ericabrahamsen.net>
55175         Obsolete gnus-correct-length in favor of string-width
55177         * lisp/gnus/gnus-spec.el: Define an obsolete alias.
55179 2018-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
55181         * lisp/progmodes/ruby-mode.el: Cosmetic changes
55183         Remove redundant :groups.
55184         (ruby-font-lock-syntax-table): Delete var.
55185         (ruby-mode): Use font-lock-default's syntax-alist instead.
55187 2018-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
55189         * lisp/progmodes/cc-mode.el: Silence compiler warnings
55191         (c-parse-quotes-before-change, c-parse-quotes-after-change):
55192         Flag unused args according to convention.
55194 2018-10-31  Michael Albinus  <michael.albinus@gmx.de>
55196         Remote file name completion is also performed by auth-sources search
55198         * doc/misc/tramp.texi (File name completion): User and host name
55199         completion is also performed by auth-sources search.
55201         * etc/NEWS: Document remote file name completion using auth-sources.
55203         * lisp/net/tramp.el (tramp-completion-use-auth-sources):
55204         New user option.
55205         (tramp-parse-auth-sources): New defun.
55206         (tramp-get-completion-function): Call it.
55208 2018-10-31  Glenn Morris  <rgm@gnu.org>
55210         Merge from origin/emacs-26
55212         eb903d8 * lisp/emacs-lisp/pcase.el: Improve docstrings.
55213         86abbb3 * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#3...
55214         ced58d3 Improve doc string of 'call-process'
55215         38f88a7 Document that generic functions cannot be commands
55216         5aeddfa * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word...
55217         10e0fd8 Add index entries for more isearch commands/bindings (Bug#32990)
55218         de28184 * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#...
55219         d192c16 Fix recent change in lispref/processes.texi.
55221 2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
55223         * lisp/emacs-lisp/cl-generic.el: Clarify we can't define commands
55225         (cl--generic-lambda): Warn about the presence of interactive specs.
55227 2018-10-30  Paul Eggert  <eggert@cs.ucla.edu>
55229         Improve fix for Bug#33014
55231         Although the previously-applied fix worked for its platform,
55232         it doesn’t suffice in general.
55233         * src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
55234         so that it survives GC.  The stack slot was otherwise unused,
55235         so this doesn’t cost us memory, only a store insn.
55236         * src/eval.c (Ffuncall): Do not make FUN volatile, reverting
55237         2018-10-14T19:12:04Z!gazally@runbox.com.  Adding ‘volatile’
55238         does not suffice, since storage for a volatile local can be
55239         reclaimed after its last access (e.g., by tail recursion
55240         elimination), which would make VECTOR invisible to GC.
55242 2018-10-30  Glenn Morris  <rgm@gnu.org>
55244         * admin/bzrmerge.el: Remove file, long since replaced by gitmerge.el.
55246 2018-10-30  Michael Heerdegen  <michael_heerdegen@web.de>
55248         Don't quote self-quoting pcase patterns
55250         * admin/bzrmerge.el:
55251         * lisp/char-fold.el:
55252         * lisp/dired.el:
55253         * lisp/emacs-lisp/derived.el:
55254         * lisp/emacs-lisp/easy-mmode.el:
55255         * lisp/emacs-lisp/easymenu.el:
55256         * lisp/emacs-lisp/eieio-core.el:
55257         * lisp/emacs-lisp/package.el:
55258         * lisp/emacs-lisp/smie.el:
55259         * lisp/faces.el:
55260         * lisp/filesets.el:
55261         * lisp/progmodes/modula2.el:
55262         * lisp/progmodes/octave.el:
55263         * lisp/progmodes/opascal.el:
55264         * lisp/progmodes/perl-mode.el:
55265         * lisp/progmodes/prolog.el:
55266         * lisp/progmodes/ruby-mode.el:
55267         * lisp/progmodes/sh-script.el:
55268         * lisp/server.el:
55269         * lisp/subr.el:
55270         * lisp/textmodes/css-mode.el:
55271         * test/lisp/emacs-lisp/pcase-tests.el: Don't quote self-quoting
55272         'pcase' patterns.
55274 2018-10-30  Alan Mackenzie  <acm@muc.de>
55276         Fix C++ Mode dynamic error with string delimiters.
55278         Fixes bug #33163
55280         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings):
55281         Use the correct variable `end' in place of the wrong `c-new-END'.
55282         (c-after-change-re-mark-unbalanced-strings): Correct a logic error whilst
55283         skipping over comments.
55285 2018-10-29  Glenn Morris  <rgm@gnu.org>
55287         * configure.ac (emacs_config_features): Add notify backends.
55289 2018-10-29  Juri Linkov  <juri@linkov.net>
55291         * lisp/window.el (window--state-get-1): Check buffer-live-p in next-buffers
55293         and prev-buffers.  (Bug#32850)
55295 2018-10-29  Gemini Lasswell  <gazally@runbox.com>
55297         Keep a stack reference to bytecode objects being executed (Bug#33014)
55299         * src/eval.c (Ffuncall): Make local variable 'fun' volatile.
55300         * test/src/eval-tests.el
55301         (eval-tests-byte-code-being-evaluated-is-protected-from-gc):
55302         Add regression test for Bug#33014.
55303         (eval-tests-33014-var): New variable.
55304         (eval-tests-33014-func, eval-tests-33014-redefine): New functions.
55306 2018-10-29  Michael Albinus  <michael.albinus@gmx.de>
55308         Fix Bug#33006
55310         * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
55311         * lisp/progmodes/xref.el (xref-collect-matches)
55312         (xref--collect-matches): Handle remote files.  (Bug#33006)
55314 2018-10-29  João Távora  <joaotavora@gmail.com>
55316         Fix Flymake's diagnostic count with custom error types
55318         (Bug#33187)
55320         * lisp/progmodes/flymake.el (flymake--mode-line-format): Replace
55321         cl-union with iterative cl-pushnew.
55323 2018-10-27  Juri Linkov  <juri@linkov.net>
55325         * lisp/isearch.el (lazy-highlight-buffer): New defcustom.  (Bug#29360)
55327         (lazy-highlight-buffer-max-at-a-time): New defcustom.
55328         (isearch-lazy-highlight-buffer): New defvar.
55329         (isearch-lazy-highlight-new-loop): Don't check changes in window
55330         boundaries when lazy-highlight-buffer is non-nil.
55331         Move code that extends start/end to match whole string at point
55332         here from isearch-lazy-highlight-search.
55333         (isearch-lazy-highlight-search): Add args string and bound
55334         like in other search functions.  Move calculation of bound
55335         to isearch-lazy-highlight-update.
55336         (isearch-lazy-highlight-match): New function with code extracted from
55337         isearch-lazy-highlight-update to be called also from
55338         isearch-lazy-highlight-buffer-update.
55339         (isearch-lazy-highlight-update): Reuse the values returned from
55340         window-group-start and window-group-end.  At the end schedule the
55341         timer to call isearch-lazy-highlight-buffer-update when
55342         isearch-lazy-highlight-buffer is non-nil.
55343         (isearch-lazy-highlight-buffer-update): New function.
55345 2018-10-27  Glenn Morris  <rgm@gnu.org>
55347         Merge from origin/emacs-26
55349         df64da8 (origin/emacs-26) * lisp/simple.el (region-extract-function):...
55350         520c486 * lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)
55351         9193db0 Improve documentation of 'process-connection-type'
55352         106b9e1 Unify prompt for gnupg passphrase between GNU/Linux and MS-Wi...
55353         2a41616 Doc fix of 'gnus-fetch-old-headers'
55354         29a7644 Deactivate incorrect hyperlinking in gnus-build-sparse-thread...
55355         53ae90f Minor copyedits in cmdargs.texi
55356         fc2e65a Improve documentation of X resource loading
55357         13132b3 * lisp/net/tramp-sh.el (tramp-inline-compress-commands):
55358         8361292 ; Fix sorting in admin/MAINTAINERS
55359         92de44f Don't error when indenting malformed Lisp (Bug#30891)
55360         c3adbc8 Improve 'isearch-delete-char' documentation (Bug#32990)
55361         6ca71ce ; * lisp/help.el (with-help-window): Remove extra space in doc.
55362         f5f9583 Improve XPM load failure message (bug#33126)
55363         f3d01d4 Avoid infloop in CPerl mode fontification
55364         71a2d50 Fix minibuffer-help-form for lexical binding
55365         7e8eee6 Fix some NS drawing issues (bug#32932)
55366         d72975a * lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-stri...
55367         c97a5f1 * doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.
55369         # Conflicts:
55370         #       lisp/gnus/mm-util.el
55372 2018-10-27  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
55374         Add support in emacsclient for EMACS_SOCKET_NAME
55376         If the '--socket-name' argument is unspecified, the environment
55377         variable 'EMACS_SOCKET_NAME' is now consulted with the same
55378         semantics.  This mirrors the behavior of the '--server-file' argument,
55379         and allows for easier configuration of emacsclient when the socket is
55380         in a location other than 'TMPDIR' or '/tmp'.
55382         * emacsclient.c (set_socket): Add support for the
55383         EMACS_SOCKET_NAME environment variable.  (Bug#33095)
55385         * doc/emacs/misc.texi (emacsclient Options):
55386         * emacsclient.1: Document the EMACS_SOCKET_NAME environment
55387         variable.
55389         * etc/NEWS: Announce the new feature.
55391 2018-10-26  Federico Tedin  <federicotedin@gmail.com>
55393         Subject: (mouse-drag-and-drop-region): Simplify and remove assumptions
55395         * lisp/mouse.el (mouse-drag-and-drop-region): Use insert-for-yank for
55396         insertion, remove rectangular-region-specific variables.
55397         Use text-property-not-all.
55398         * lisp/rect.el (rectangle-dimensions): New function.
55399         (rectangle-position-as-coordinates): Use the usual 1-origin for lines.
55401 2018-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
55403         * lisp/files.el (abbreviate-file-name): Avoid save-match-data
55405         Also, don't assume homedir doesn't contain special regexp chars.
55406         And prefer \` ... \' over ^ ... $.
55407         (recover-file): Use user-error.
55409 2018-10-25  Glenn Morris  <rgm@gnu.org>
55411         * admin/automerge: Abort if NEWS gets modified.
55413 2018-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
55415         * lisp/emacs-lisp/pcase.el (pcase--u1): Fix bignums
55417         Use 'eql' to compare integers
55419 2018-10-24  Michael Albinus  <michael.albinus@gmx.de>
55421         Fix Bug#33141
55423         * lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
55424         empty method with simplified `tramp-syntax'.  (Bug#33141)
55426 2018-10-24  Glenn Morris  <rgm@gnu.org>
55428         * admin/gitmerge.el (gitmerge-resolve): Check NEWS patch exit status.
55430 2018-10-23  Glenn Morris  <rgm@gnu.org>
55432         Merge from origin/emacs-26
55434         2efd400 (origin/emacs-26) Correct typo in GNU ELPA url
55435         6239016 * doc/misc/dired-x.texi (Omitting Variables): Fix wording. (B...
55436         1531bca Fix help-form binding in dired-create-files
55437         cf79327 Fix a pasto in a Gnus doc string
55438         a4e40f6 ; * doc/emacs/files.texi (Reverting): Improve wording in last...
55439         f632ecb Update revert-buffer documentation
55440         eb67689 * lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load fil...
55441         433e364 ; * etc/NEWS: Announce that emacs-module.h is now installed.
55443         # Conflicts:
55444         #       lisp/mail/smtpmail.el
55446 2018-10-23  Alan Mackenzie  <acm@muc.de>
55448         edebug.el: Move window focus switch into edebug-pop-to-buffer
55450         * lisp/follow.el (edebug-focus-frame): Remove.
55451         (edebug-pop-to-buffer): Call x-focus-frame for GUI frames.
55452         (edebug-default-enter, edebug--display-1): Replace call to
55453         edebug-focus-frame with x-focus-frame.
55454         (edebug-where, edebug-bounce-point, edebug-visit-eval-list): Remove no longer
55455         needed calls to edebug-focus-frame.
55457 2018-10-22  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
55459         Improve rounding in recent timer fix
55461         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
55462         Use more-precise arithmetic to handle some boundary cases better
55463         when rounding errors occur (Bug#33071).
55464         * test/lisp/emacs-lisp/timer-tests.el:
55465         (timer-next-integral-multiple-of-time-3):
55466         New test, to test one of the boundary cases.
55467         (timer-next-integral-multiple-of-time-2):
55468         Redo so as to not assume a particular way of rounding 0.01.
55470 2018-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55472         Fix epg bug with (TICKS . HZ) timestamp
55474         Problem reported by Joseph Mingrone in:
55475         https://lists.gnu.org/r/emacs-devel/2018-10/msg00380.html
55476         * lisp/epg.el (epg--time-from-seconds): Just use a seconds count;
55477         don’t generate an obsolete-format timestamp.
55479 2018-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
55481         * src/minibuf.c (read_minibuf_noninteractive): Remove unused args.
55483 2018-10-22  Michael Albinus  <michael.albinus@gmx.de>
55485         Improve Tramp backward compatibility
55487         * lisp/net/tramp-compat.el: (tramp-unload-file-name-handlers):
55488         Declare it, for backward compatibility.
55490 2018-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
55492         Always define 'define-fringe-bitmap'
55494         * lisp/cus-start.el: Test 'fringe-bitmaps' to see if fringe.c was compiled.
55496         * lisp/fringe.el: Use lexical-binding.
55497         (define-fringe-bitmap): Provide a fallback implementation.
55499         * lisp/progmodes/flymake.el (flymake-double-exclamation-mark):
55500         Define unconditionally.
55502         * lisp/progmodes/gdb-mi.el (define-fringe-bitmap): Don't declare any more.
55503         (breakpoint, hollow-right-triangle): Define unconditionally.
55505 2018-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
55507         * lisp/vc/diff-mode.el: Improve diff-font-lock-prettify
55509         A few tweaks to the previous code for corner case problems, and a new
55510         feature, which is to move the +/- signs to the left fringe.
55512         (diff--font-lock-cleanup, diff--filter-substring): New functions.
55513         (diff-mode): Use them.
55514         (diff--font-lock-refined): Mark the overall overlays as `diff-mode
55515         fine` as well, so they get properly cleaned up when changing mode.
55516         (diff-fringe-add, diff-fringe-del, diff-fringe-rep, diff-fringe-nul):
55517         New bitmaps.
55518         (diff--font-lock-prettify): Move the +/- signs to the fringe.
55519         (diff-wiggle): Use 'user-error'.
55521 2018-10-20  Michael Albinus  <michael.albinus@gmx.de>
55523         Expand host names in Tramp's ad-hoc multi-hop file names
55525         * doc/misc/tramp.texi (Quick Start Guide): Improve wording.
55526         (Change file name syntax): Say, that `tramp-file-name-regexp' is
55527         not constant.
55528         (Ad-hoc multi-hops): Explain host name expansion.
55530         * etc/NEWS: Mention that host names in Tramp ad-hoc multi-hop file
55531         names must match the previous hop for methods like "su" or "sudo".
55532         Fix typos.
55534         * lisp/net/tramp.el (tramp-find-method, tramp-find-user):
55535         Adapt docstring.
55536         (tramp-find-host): Mark default value.
55537         (tramp-dissect-file-name): Expand host name for hops.
55538         (tramp-dissect-hop-name, tramp-make-tramp-hop-name): New defuns.
55539         (tramp-clear-passwd): Simplify.
55541         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
55542         (tramp-test02-file-name-dissect-simplified)
55543         (tramp-test02-file-name-dissect-separate)
55544         (tramp-test26-file-name-completion): Extend tests.
55546 2018-10-20  Eli Zaretskii  <eliz@gnu.org>
55548         Fix 'timer-next-integral-multiple-of-time'
55550         * lisp/emacs-lisp/timer.el
55551         (timer-next-integral-multiple-of-time): Fix recent change for
55552         fractional values of SECS.  (Bug#33071)
55553         * test/lisp/emacs-lisp/timer-tests.el
55554         (timer-next-integral-multiple-of-time-2): New test.
55556 2018-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
55558         * lisp/mail/smtpmail.el: (smtpmail-send-queued-mail): Avoid 'load'
55560         (smtpmail-send-it): Send metadata directly to the
55561         files without bothering to write it into a temp buffer.
55563 2018-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
55565         * lisp/emacs-lisp/package.el (package-get-version): Change into a function
55567         (package-quickstart-refresh): Mangle string so it doesn't turn into
55568         a false positive for "no-byte-compile: t".
55570 2018-10-19  Alan Mackenzie  <acm@muc.de>
55572         In edebug in GUIs, move focus to the selected frame.
55574         Thus when entering edebug, the focus will be moved to the frame with the
55575         source being debugged, and when its finished, the focus will move back.
55576         Commands edebug-visit-eval-list (`E') and edebug-bounce-point (`p') have been
55577         likewise amended.
55579         * src/keyboard.c (readable_events): Handle FOCUS_OUT_EVENT as an invisible
55580         event.  This prevents input-pending-p returning t when one of these events
55581         arrives, and thus obviates an instant termination of sit-for when there's no
55582         "real" event waiting.
55584         * lisp/emacs-lisp/edebug.el (edebug-focus-frame): New function.
55585         (edebug-default-enter, edebug--display-1, edbug-where, edebug-bounce-point)
55586         (edebug-visit-eval-list): Call edebug-focus-frame to move focus into the
55587         window newly selected by edebug-pop-to-buffer.
55589 2018-10-19  Paul Eggert  <eggert@cs.ucla.edu>
55591         Fix struct thread alignment on FreeBSD x86
55593         Problem reported by Joseph Mingrone in:
55594         https://lists.gnu.org/r/emacs-devel/2018-10/msg00238.html
55595         While we’re at it, apply a similar fix to struct Lisp_Subr; this
55596         removes the need for GCALIGNED_STRUCT_MEMBER and thus can shrink
55597         struct Lisp_Subr a bit.
55598         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Bring back this macro.
55599         Although used only for performance (not to actually align
55600         structures), we might as well take advantage of it.
55601         * src/lisp.h (GCALIGNED_STRUCT_MEMBER): Remove; all uses removed.
55602         (union Aligned_Lisp_Subr): New type, like struct Lisp_Subr but aligned.
55603         * src/lisp.h (XSUBR, DEFUN):
55604         * src/lread.c (defsubr): Use it.  All callers changed.
55605         * src/thread.c (union aligned_thread_state): New type.
55606         (main_thread): Now of this type, so it’s aligned.
55607         All uses changed.
55608         * src/xmenu.c (syms_of_xmenu) [USE_GTK || USE_X_TOOLKIT]:
55609         Adjust to union Aligned_Lisp_Subr change.
55611 2018-10-19  Alan Mackenzie  <acm@muc.de>
55613         In follow mode windows in a GUI, don't display inactive cursors
55615         This is done by setting cursor-in-non-selected-windows buffer locally.
55617         * lisp/follow.el (follow-hide-ghost-cursors): New customizable option.
55618         (follow-mode): Create and set, or kill buffer-local copy of
55619         cursor-in-non-selected-windows when the mode gets enabled or disabled.
55620         (follow-prev-buffer): New variable.
55621         (follow-adjust-window): Manipulate cursor-in-non-selected-windows when the
55622         current buffer changes, to ensure that cursors stay visible in non-selected
55623         follow window groups.
55625         * etc/NEWS: Add an entry for this change.
55627 2018-10-18  Martin Rudalics  <rudalics@gmx.at>
55629         Have 'split-window' handle 'up' and 'down' values (Bug#32790)
55631         * lisp/window.el (split-window): Handle values of 'up' and 'down'
55632         for SIDE argument (Bug#32790).
55633         (window-in-direction): Amend doc-string as of yesterday's change.
55635 2018-10-18  Juri Linkov  <juri@linkov.net>
55637         * lisp/emacs-lisp/lisp.el (delete-pair): Add optional prefix arg.
55639         (Bug#32896)
55641 2018-10-18  Juri Linkov  <juri@linkov.net>
55643         Use buffer objects for non-writable states in window-state-get.
55645         * lisp/window.el (window--state-get-1): Use buffer objects for
55646         buffer, next-buffers, prev-buffers if 'writable' is nil.  (Bug#32850)
55648 2018-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
55650         * lisp/emacs-lisp/package.el (package-get-version): New macro
55652 2018-10-18  Martin Rudalics  <rudalics@gmx.at>
55654         Have 'window-in-direction' handle 'up' and 'down' values (Bug#32790)
55656         * lisp/window.el (window-in-direction): Handle values of 'up'
55657         and 'down' for DIRECTION argument (Bug#32790).  Suggested by
55658         Juri Linkov <juri@linkov.net>.
55659         * lisp/windmove.el (windmove-find-other-window): Don't convert
55660         first argument of 'window-in-direction'.
55662 2018-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55664         Bring back nocombreloc if dumping
55666         Without this patch, Emacs dumps core on Fedora 28 x86-64
55667         when configured via "CC='gcc -m32' --enable-gcc-warnings
55668         --without-imagemagick --without-gif --with-modules
55669         PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig".
55670         and then when run normally in a windowing system.
55671         'make check' and 'emacs -nw' work OK even without the patch.
55672         * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Prepend
55673         -znocombreloc if supported and if dumping.  This mostly
55674         reverts 2018-06-15T21:37:39!eggert@cs.ucla.edu "Remove old
55675         combreloc hack".
55677 2018-10-17  Eli Zaretskii  <eliz@gnu.org>
55679         Avoid assertion violation when comparing with main-thread
55681         * src/thread.c (unmark_main_thread): New function.
55682         * src/lisp.h (unmark_main_thread): Prototype it.
55683         * src/alloc.c (garbage_collect_1): Call it after sweeping.
55684         (Bug#33073)
55686         * test/src/thread-tests.el (threads-test-bug33073): New test.
55688 2018-10-16  Federico Tedin  <federicotedin@gmail.com>
55690         Allow two mouse functions to work with Rectangle Mark mode
55692         * lisp/mouse.el (mouse-save-then-kill): Make
55693         mouse-save-then-kill work with rectangular regions, including
55694         when mouse-drag-copy-region is set to t. (Bug#31240)
55695         (mouse-drag-and-drop-region): Allow dragging and dropping
55696         rectangular regions. (Bug#31240)
55697         * lisp/rect.el (rectangle-intersect-p)
55698         (rectangle-position-as-coordinates): New functions.
55700 2018-10-16  Juri Linkov  <juri@linkov.net>
55702         Use next-buffers and prev-buffers in window-state-get and window-state-put
55704         * lisp/window.el (window--state-get-1): Get next-buffers and prev-buffers.
55705         (window--state-put-2): Set next-buffers and prev-buffers.  (Bug#32850)
55707 2018-10-16  Michael Albinus  <michael.albinus@gmx.de>
55709         Fix Bug#32983
55711         * lisp/net/soap-client.el: Bump version to 3.1.5.
55712         (soap-parse-server-response): Handle also "multipart/related"
55713         Content-Type.  (Bug#32983)
55715 2018-10-16  Glenn Morris  <rgm@gnu.org>
55717         Merge from origin/emacs-26
55719         73babba (origin/emacs-26) Clarify documentation of fractional vertica...
55720         b20c51d * lisp/isearch.el (isearch-cmds): Recall absent isearch--stat...
55721         700acbd doc/lispref/edebug.texi (Specification List) Remove obstrusiv...
55722         1902450 Fix wording in module API documentation
55723         e724a8f Fix redisplay of glyphless characters
55724         8fc892d Update --without-toolkit-scroll-bars doc
55725         80e0bfa Call GTK functions only on GTK scrollbars
55726         91c4c46 Update the description of startup in ELisp manual
55727         18b42c6 Use the 'line-number' face for line-number fields past EOB
55728         a6ab8db Ensure NS frame is redrawn correctly  after scroll
55730         Conflicts:
55731                 lisp/isearch.el
55733 2018-10-16  Michael Albinus  <michael.albinus@gmx.de>
55735         Add process thread to list-processes
55737         * lisp/simple.el (process-menu-mode, list-processes--refresh):
55738         Add process thread.
55740 2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
55742         * doc/lispref/display.texi (Fringe Bitmaps): Remove redundant items
55744         * lisp/image-mode.el (image-toggle-display-image): Avoid string-make-unibyte
55746 2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
55748         * lisp/progmodes/octave.el: Register on auto-mode-alist
55750         (octave-maybe-mode): New function.
55752 2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
55754         * etc/NEWS.18: Tweak header to be more like the others
55756 2018-10-15  Juri Linkov  <juri@linkov.net>
55758         * lisp/image-mode.el (image--imagemagick-wanted-p): Check for file extension.
55760         (Bug#32994)
55761         (image-toggle-display-text): Let-bind create-lockfiles to nil
55762         like in image-toggle-display-image.
55764 2018-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
55766         * lisp/textmodes/tex-mode.el (tex-uptodate-p): Recognize [N.N] pages
55768 2018-10-15  Alan Mackenzie  <acm@muc.de>
55770         In follow mode, prevent the cursor resting on a partially displayed line
55772         This fixes bug #32848
55774         * lisp/follow.el (follow-adjust-window): If point ends up in a partially
55775         displayed line in a left hand or middle window, move it one line forward, to
55776         prevent unwanted scrolling should make-cursor-line-fully-visible be non-nil.
55778 2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55780         Update lib/regex from glibc via Gnulib
55782         This syncs recent refactorings from glibc, and incorporates:
55783         2018-10-15 libc-config: merge from glibc
55784         2018-10-15 regex: depend on libc-config
55785         * .gitignore: Do not ignore m4/_*.m4.
55786         * lib/cdefs.h: New file, copied from Gnulib.
55787         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
55788         * lib/libc-config.h, m4/__inline.m4: New files, copied from Gnulib.
55789         * lib/regcomp.c, lib/regex.c, lib/regex_internal.c:
55790         * lib/regex_internal.h, lib/regexec.c:
55791         Copy from glibc via Gnulib.
55793 2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55795         Update from Gnulib
55797         This is minor refactoring that should not affect Emacs builds.
55798         It incorporates:
55799         2018-10-12 Make better use of Autoconf
55800         * m4/environ.m4, m4/fsusage.m4, m4/manywarnings.m4, m4/socklen.m4:
55801         Copy from Gnulib.
55803 2018-10-14  Alan Mackenzie  <acm@muc.de>
55805         Add ~44 edebug specs to CC Mode.
55807         * lisp/progmodes/cc-cmds.el, lisp/progmodes/cc-defs.el
55808         lisp/progmodes/cc-engine.el, lisp/progmodes/cc-fonts.el
55809         lisp/progmodes/cc-langs.el: Add lots of edebug specs.
55811         * lisp/progmodes/cc-engine.el (c-state-maybe-marker): Tidy up so as to
55812         evaluate an argument only once at runtime.
55814 2018-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
55816         * src/buffer.c (Fmove_overlay): Don't call Fdelete_overlay
55818         ... because the data structure is not in a consistent state.
55820         * test/src/buffer-tests.el (overlay-evaporation-after-killed-buffer):
55821         New test.
55823 2018-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55825         Fix lisp_eval_depth in unwind-protect cleanup
55827         Problem reported by Paul Pogonyshev (Bug#33034).
55828         * src/lisp.h (union specbinding): New member unwind.eval_depth.
55829         * src/eval.c (record_unwind_protect, set_unwind_protect): Set it.
55830         (do_one_unbind): Use it.
55832 2018-10-13  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>
55834         Fix sieve-mode font lock
55836         * lisp/net/sieve-mode.el (sieve-font-lock-keywords): Fix the
55837         definition of font-lock faces.  (Bug#32881)
55839 2018-10-13  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
55841         Fix sieve-upload when sieve-buffer is nil
55843         * lisp/net/sieve.el (sieve-upload): Don't rely on sieve-buffer being
55844         non-nil.  (Bug#32880)
55846 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
55848         Improve 'json-insert' so it doesn't cons a string from JSON
55850         * src/json.c (struct json_buffer_and_size): New member
55851         inserted_bytes.
55852         (json_insert): Instead of creating a string and inserting it
55853         into the current buffer, copy the unibyte text into the gap.
55854         (struct json_insert_data): New member inserted_bytes.
55855         (json_insert_callback): Update commentary.  Pass the
55856         inserted_bytes value to json_insert and on its return copy the
55857         updated value back into DATA.
55858         (Fjson_insert): Decode the unibyte text inserted into the gap.
55859         Call before-change-functions and after-change-functions only
55860         once, before and after processing the insertion of the entire
55861         JSON representation.
55863         * test/src/json-tests.el (json-insert/throw): Adapt to the
55864         modified implementation of json-insert: it no longer calls the
55865         modification hooks once for each inserted chunk of JSON
55866         representation.
55868 2018-10-12  Glenn Morris  <rgm@gnu.org>
55870         Merge from origin/emacs-26
55872         643df63 (origin/emacs-26) Avoid byte-compiler warning in em-rebind.el
55873         d0eca49 ; * doc/emacs/mark.texi (Disabled Transient Mark): Fix last c...
55874         af80b10 Improve indexing of 'C-SPC C-SPC'
55875         89a7301 ; * doc/lispref/internals.texi (Writing Dynamic Modules): Fix...
55876         a108eaa Fix bug with precious entries in Gnus registry
55877         ce8b458 Document in the ELisp manual how to write loadable modules
55878         a7ebc6b dired-do-shell-command: Notify users after abort the command
55880         # Conflicts:
55881         #       lisp/registry.el
55883 2018-10-12  Glenn Morris  <rgm@gnu.org>
55885         Merge from origin/emacs-26
55887         6e54762 Fix Apple Script permissions error
55888         19f705c Fix typo in 'timerp' documentation
55890 2018-10-12  Michael Albinus  <michael.albinus@gmx.de>
55892         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
55894         Add docstring.  Remove `interactive' call.
55896 2018-10-12  Michael Albinus  <michael.albinus@gmx.de>
55898         * lisp/net/trampver.el (customize-package-emacs-version-alist):
55900         Adapt Tramp version integrated in Emacs 26.2.
55902 2018-10-12  Michael Albinus  <michael.albinus@gmx.de>
55904         Fix error in Tramp loading, uncovered by tramp-test43-*
55906         * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
55907         New defalias.
55908         (tramp-register-archive-file-name-handler): Use it.
55910         * lisp/net/tramp.el (tramp-file-name-for-operation): Change it for
55911         `expand-file-name'.
55912         (tramp-file-name-handler): Unset `file-name-handler-alist' when
55913         autoloading a Tramp file name handler.
55914         (tramp-autoload-file-name-handler): Always unload Tramp file name
55915         handlers.
55916         (tramp-register-file-name-handlers)
55917         (tramp-unload-file-name-handlers): Simplify.
55919 2018-10-12  Allen Li  <darkfeline@felesatra.moe>
55921         Rework empty abbrev table omitting
55923         There were two problems with the original implementation:
55925         1. It changed the behavior of insert-abbrev-table-description when
55926         READABLE is nil to sometimes insert one Emacs Lisp expression and
55927         sometimes insert nothing.
55928         2. It broke the tests.
55930         This commit reworks this so that insert-abbrev-table-description
55931         always inserts an expressions even if no abbrevs need to be saved and
55932         making only write-abbrev-file check that a table has any abbrevs to
55933         save before calling insert-abbrev-table-description.  This duplicates
55934         the work of filtering the table for saveable abbrevs, but the benefit
55935         of keeping the API is worth it.
55937         * doc/lispref/abbrevs.texi (Abbrev Tables): Update documentation.
55938         * lisp/abbrev.el (write-abbrev-file): Skip tables without user abbrevs
55939         (insert-abbrev-table-description): Always insert the define
55940         expression.
55941         (abbrev--table-symbols): New function.
55942         * test/lisp/abbrev-tests.el (abbrev--table-symbols-test):
55943         Add test for abbrev--table-symbols.
55945 2018-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55947         Fix mishandling of symbols that look like numbers
55949         * src/bignum.c (make_neg_biguint): New function.
55950         * src/lread.c (read1): Do not mishandle an unquoted symbol
55951         with name equal to something like "1\0x", i.e., a string
55952         of numeric form followed by a NUL byte.
55953         Formerly these symbols were misread as numbers.
55954         (string_to_number): Change last argument from an integer flag
55955         to a pointer to the length.  This lets the caller figure out
55956         how much of the prefix was used.  All callers changed.
55957         Add a fast path if the integer (sans sign) fits in uintmax_t.
55958         Update comments and simplify now that bignums are present.
55959         * src/print.c (print_object): Fix quoting of symbols that look
55960         like numbers, by relying on string_to_number for the tricky
55961         cases rather than trying to redo its logic, incorrectly.  For
55962         example, (read (prin1-to-string '\1e+NaN)) formerly returned
55963         "1e+NaN", which was wrong: a backslash is needed in the output
55964         to prevent it from being read as a NaN.  Escape NO_BREAK_SPACE
55965         too, since lread.c treats it like SPACE.
55966         * test/src/print-tests.el (print-read-roundtrip):
55967         Add tests illustrating the abovementioned bugs.
55969 2018-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
55971         * lisp/auth-source.el: Minor simplification
55973         Remove redundant :group args.
55974         (auth-source-backend-parse): Use run-hook-with-args-until-success.
55976 2018-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
55978         * lisp/emacs-lisp/lisp-mnt.el: Use lexical-binding
55980         Remove redundant :group
55982 2018-10-09  Glenn Morris  <rgm@gnu.org>
55984         Merge from origin/emacs-26
55986         4cf1eb8 (origin/emacs-26) ; * src/data.c (Fkeywordp): Remove inaccura...
55987         3f1470d * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
55989 2018-10-09  Glenn Morris  <rgm@gnu.org>
55991         Merge from origin/emacs-26
55993         14c032d Avoid assertion violations in nonsensical calls to 'signal'
55994         b99192f * lisp/simple.el (transient-mark-mode): Correct documentation...
55995         7e42294 Update the locale and language database
55996         8c53d9f Fix a typo in a doc string.
55997         79bda3b Make nneething allow CRLF-encoded files (bug#32940)
55999 2018-10-09  Glenn Morris  <rgm@gnu.org>
56001         Merge from origin/emacs-26
56003         86d2169 Avoid ridiculously high stack limit requests on macOS
56004         ac3622c Improve documentation of 'read-hide-char'
56006         # Conflicts:
56007         #       src/emacs.c
56009 2018-10-09  Charles A. Roelli  <charles@aurox.ch>
56011         * lisp/vc/vc.el (vc-retrieve-tag-hook): Remove autoload cookie.
56013         See https://lists.gnu.org/r/emacs-devel/2018-10/msg00108.html.
56015 2018-10-09  Paul Eggert  <eggert@cs.ucla.edu>
56017         Port --enable-gcc-warnings to recent clang
56019         * configure.ac: Disable -Wnull-pointer-arithmetic if clang (Bug#32924).
56021 2018-10-09  Paul Eggert  <eggert@cs.ucla.edu>
56023         Fix malfunctioning cursor display on 32-bit Gtk
56025         This bug on 32-bit platforms was caused by the timespec_hz
56026         definition going haywire because the C expression
56027         FIXNUM_OVERFLOW_P (MOST_POSITIVE_FIXNUM) did not work in #if.
56028         Eventually the numeric problem showed up as a malfunctioning
56029         cursor (Bug#32992).  Fix the problem with MOST_POSITIVE_FIXNUM.
56030         By the way, make_fixnum should check for integer overflow when
56031         debugging; this would have made it easier to track this bug down.
56032         But one fix at a time.
56033         * src/lisp.h (INTTYPEBITS): Now a macro, so usable in #if.
56034         (MOST_POSITIVE_FIXNUM): Mention it’s used in #if.
56036 2018-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
56038         * lisp/replace.el (occur--garbage-collect-revert-args): New function
56040         (occur-mode, occur-1): Use it.
56041         (occur--region-start, occur--region-end, occur--region-start-line)
56042         (occur--orig-line): Remove vars.
56043         (occur-engine): Fix left over use of occur--region-start-line.
56045 2018-10-09  Eli Zaretskii  <eliz@gnu.org>
56047         Revert part of last commit
56049         * lisp/replace.el (occur-revert-function): Revert last change,
56050         as it's no longer needed.  (Bug#32987)
56052 2018-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
56054         * lisp/replace.el: Rework implementation of the occur region
56056         Put the region info in the "list of buffers" used for multi-occur.
56058         (occur--parse-occur-buffer): Remove.
56059         (occur): Pass the region to occur-1 as an overlay.
56060         (occur-1): 'bufs' is now a list of buffers or overlays.
56061         (occur-engine): 'buffers' is now a list of buffers or overlays.
56063 2018-10-09  Eli Zaretskii  <eliz@gnu.org>
56065         Unbreak 'revert-buffer' in Occur buffers
56067         * lisp/replace.el (occur-revert-function): Use the value of
56068         occur-revert-function from the correct buffer.  (Bug#32987)
56070         * test/lisp/replace-tests.el (replace-occur-revert-bug32543)
56071         (replace-occur-revert-bug32987): New tests.
56073 2018-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
56075         * lisp/calendar/timeclock.el: Use lexical-binding
56077         Require cl-lib.  Remove redundant :group args.
56078         (timeclock-status-string): Avoid 'setq'.
56079         (timeclock-ask-for-project, timeclock-ask-for-reason):
56080         Completionu tables can be simple lists of strings.
56081         (timeclock-read-moment): Doesn't deserve to be defsubst (most of the
56082         others don't either, admittedly).
56083         (timeclock-entry): New type.
56084         (timeclock-entry-begin, timeclock-entry-end, timeclock-entry-project)
56085         (timeclock-entry-comment): Define via 'cl-defstruct'.
56086         (timeclock-entry-list-projects, timeclock-day-list-projects):
56087         Avoid add-to-list on lexical vars.
56088         (timeclock-day-list): Use 'push'.
56089         (timeclock-log-data): Use 'pcase'.
56090         (timeclock-mean): Simplify.
56091         (timeclock-generate-report): Use dotimes.
56093 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56095         Update from Gnulib
56097         This incorporates:
56098         2018-10-05 explicit_bzero: make it possible to namespace
56099         2018-10-04 fcntl: make it possible to namespace
56100         2018-10-01 mkostemp, mkostemps: fix C++ compilation on Mac OS X
56101         2018-09-19 maint: mktime.c now shared with glibc
56102         2018-09-18 file-has-acl: fix test failure on Cygwin 2.9
56103         2018-09-18 gettime: nanotime never existed
56104         * admin/merge-gnulib (AVOIDED_MODULES): Add mkdir.
56105         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
56106         * lib/acl_entries.c, lib/explicit_bzero.c, lib/fcntl.c:
56107         * lib/get-permissions.c, lib/gettime.c, lib/mktime.c:
56108         * lib/set-permissions.c, lib/stdlib.in.h, m4/acl.m4, m4/gettime.m4:
56109         Copy from Gnulib.
56110         * lib/gnulib.mk.in: Regenerate.
56112 2018-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
56114         * lisp/net/ntlm.el: Use lexical-binding
56116         (ntlm-string-as-unibyte): Remove.
56117         (ntlm-build-auth-response): Use encode-coding-string instead.
56118         (ntlm-build-auth-request, ntlm-build-auth-response, ntlm-ascii2unicode)
56119         (ntlm-smb-owf-encrypt, ntlm-smb-hash, ntlm-smb-dohash, ntlm-md4hash):
56120         Use fewer setq more Lisp-style.
56122 2018-10-08  Charles A. Roelli  <charles@aurox.ch>
56124         New hook 'vc-retrieve-tag-hook' (Bug#32754)
56126         * etc/NEWS: Mention the new variable.
56128         * lisp/vc/vc.el (vc-retrieve-tag-hook): New hook.
56129         (vc-retrieve-tag): Run the new hook and update its
56130         documentation string.
56132 2018-10-07  Eli Zaretskii  <eliz@gnu.org>
56134         Fix MinGW compilation problem in timefns.c
56136         * src/timefns.c (lisp_to_timespec): Fix a mismatch between
56137         time_t and timespec.tv_sec data types.
56139 2018-10-07  Paul Eggert  <eggert@cs.ucla.edu>
56141         * src/scroll.c (calculate_scrolling): Remove casts.
56143 2018-10-07  Scott Corley  <scott@scorley.com>  (tiny change)
56145         Fix overflow lockup with frames > 255 lines
56147         * src/scroll.c (struct matrix_elt): Change unsigned char fields to
56148         int to handle frames with more than 255 lines (Bug#32951).
56150 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56152         Improvements on (TICKS . HZ)
56154         This patch is in response to Eli's review (Bug#32902#10).
56155         * src/systime.h: Doc strings of affected functions now refer
56156         to format-time-string instead of to Lisp manual, and
56157         format-time-string's doc string covers time values.
56158         * test/src/timefns-tests.el (format-time-string-with-zone):
56159         Check decode-time too.
56160         (decode-then-encode-time, time-arith-tests): New tests.
56162 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56164         New (TICKS . HZ) timestamp format
56166         This follows on a suggestion by Stefan Monnier in:
56167         https://lists.gnu.org/r/emacs-devel/2018-08/msg00991.html
56168         (Bug#32902).
56169         * doc/lispref/buffers.texi (Modification Time):
56170         * doc/lispref/os.texi (Processor Run Time, Time Calculations)
56171         * doc/lispref/processes.texi (System Processes):
56172         * doc/lispref/text.texi (Undo):
56173         Let the "Time of Day" section cover timestamp format details.
56174         * doc/lispref/os.texi (Time of Day):
56175         Say that timestamp internal format should not be assumed.
56176         Document new (ticks . hz) format.  Omit mention of seconds-to-time
56177         since it is now just an alias for encode-time.
56178         (Time Conversion): Document encode-time extension.
56179         * etc/NEWS: Mention changes.
56180         * lisp/calendar/cal-dst.el (calendar-system-time-basis): Now const.
56181         * lisp/calendar/cal-dst.el (calendar-absolute-from-time)
56182         (calendar-time-from-absolute)
56183         (calendar-next-time-zone-transition):
56184         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
56185         Simplify by using bignums, (TICKS . HZ), and new encode-time.
56186         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
56187         Simplify by using bignums and new encode-time.
56188         * lisp/calendar/parse-time.el (parse-iso8601-time-string):
56189         Handle DST more accurately, by using new encode-time.
56190         * lisp/calendar/time-date.el (seconds-to-time):
56191         * lisp/calendar/timeclock.el (timeclock-seconds-to-time):
56192         Now just an alias for encode-time.
56193         * lisp/calendar/time-date.el (days-to-time):
56194         * lisp/emacs-lisp/timer.el (timer--time-setter):
56195         * lisp/net/ntlm.el (ntlm-compute-timestamp):
56196         * lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
56197         * lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
56198         * lisp/tar-mode.el (tar-octal-time):
56199         Don't assume timestamps default to list form.
56200         * lisp/tar-mode.el (tar-parse-octal-long-integer):
56201         Now an obsolete alias for tar-parse-octal-integer.
56202         * src/keyboard.c (decode_timer): Adjust to changes to
56203         time decoding functions elsewhere.
56204         * src/timefns.c: Include bignum.h, limits.h.
56205         (FASTER_TIMEFNS): New macro.
56206         (WARN_OBSOLETE_TIMESTAMPS, CURRENT_TIME_LIST)
56207         (timespec_hz, trillion, ztrillion):
56208         New constants.
56209         (make_timeval): Use TIME_T_MAX instead of its definiens.
56210         (check_time_validity, time_add, time_subtract):
56211         Remove.  All uses removed.
56212         (disassemble_lisp_time): Remove; old code now folded into
56213         decode_lisp_time.  All callers changed.
56214         (invalid_hz, s_ns_to_double, ticks_hz_list4, mpz_set_time)
56215         (timespec_mpz, timespec_ticks, time_hz_ticks)
56216         (lisp_time_hz_ticks, lisp_time_seconds)
56217         (time_form_stamp, lisp_time_form_stamp, decode_ticks_hz)
56218         (decode_lisp_time, mpz_time, list4_to_timespec):
56219         New functions.
56220         (decode_float_time, decode_time_components, lisp_to_timespec):
56221         Adjust to new struct lisp_time, which does not lose
56222         information like the old one did.
56223         (enum timeform): New enum.
56224         (decode_time_components): New arg FORM.  All callers changed.
56225         RESULT and DRESULT are now mutually exclusive; no callers need
56226         to change because of this.
56227         (decode_time_components, lisp_time_struct)
56228         (lisp_seconds_argument, time_arith, make_lisp_time, Ffloat_time)
56229         (Fencode_time):
56230         Add support for (TICKS . HZ) form.
56231         (DECODE_SECS_ONLY): New constant.
56232         (lisp_time_struct): 2nd arg is now enum timeform, not int.
56233         All callers changed.
56234         (check_tm_member): Support bignums.m
56235         (Fencode_time): Add new two-arg functionality.
56236         * src/systime.h (struct lisp_time): Now ticks+hz rather than
56237         hi+lo+us+ps, since ticks+hz does not lose info.
56238         * test/lisp/time-stamp-tests.el (time-equal-p-nil-nil):
56239         New test.
56241 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56243         Export converting mpz to [u]intmax
56245         This refactoring will help improve timestamp handling later
56246         (Bug#32902).
56247         * src/bignum.c (mpz_set_uintmax): Move to bignum.h,
56248         and make inline.
56249         (mpz_set_uintmax_slow): Now extern.
56250         (mpz_to_intmax, mpz_to_uintmax): New functions, with
56251         implementation taken from the old bignum_to_intmax
56252         and bignum_to_uintmax.
56253         (bignum_to_intmax, bignum_to_uintmax): Use them.
56255 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56257         Coalesce duplicate make_lisp_timeval etc.
56259         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval):
56260         Coalesce duplicate definitions (Bug#32902).
56262 2018-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56264         Move timestamp-related stuff to timefns.c
56266         This does not change behavior; it’s just long-overdue
56267         refactoring (Bug#32902).
56268         * src/emacs.c (main): Call init_timefns, syms_of_timefns.
56269         * src/timefns.c: New file, containing timestamp-related stuff
56270         from editfns.c and sysdep.c.
56271         * src/Makefile.in (base_obj): Add timefns.o.
56272         * src/editfns.c: Simplify by moving a big chunk to timefns.c.
56273         Do not include systime.h, sys/resource.h, sys/param.h,
56274         strftime.h, coding.h.
56275         (HAVE_TZALLOC_BUG, TM_YEAR_BASE, HAVE_TM_GMTOFF, tzeqlen)
56276         (local_tz, utc_tz, emacs_localtime_rz, emacs_mktime_z)
56277         (invalid_time_zone_specification, xtzfree, tzlookup)
56278         (TIME_T_MIN, TIME_T_MAX, time_overflow, invalid_time)
56279         (check_time_validity, hi_time, lo_time, Fcurrent_time)
56280         (time_add, time_subtract, time_arith, Ftime_add)
56281         (Ftime_subtract, Ftime_less_p, Fget_internal_run_time)
56282         (make_lisp_time, disassemble_lisp_time, decode_float_time)
56283         (lisp_to_timespec, lisp_time_struct, lisp_time_argument)
56284         (lisp_seconds_argument, Ffloat_time, emacs_nmemftime)
56285         (Fformat_time_string, format_time_string, Fdecode_time)
56286         (check_tm_member, Fencode_time, Fcurrent_time_string)
56287         (tm_gmtoff, Fcurrent_time_zone, Fset_time_zone_rule)
56288         (emacs_getenv_TZ, emacs_setenv_TZ): Move to timefns.c.
56289         * src/emacs.c (main): Adjust to initialization changes.
56290         * src/sysdep.c: Include <sys/resource.h> if it's present.
56291         Regularize includes a bit.
56292         (Fget_internal_run_time): Move here from editfns.c.
56293         (init_timefns, syms_of_timefns): New functions.
56294         * src/w32.h (w32_get_internal_run_time): Move decl here
56295         so that it need not be cloned.
56296         * test/src/editfns-tests.el:
56297         * test/src/editfns-tests.el (format-time-string-with-zone)
56298         (format-time-string-with-outlandish-zone)
56299         (editfns-tests--have-leap-seconds)
56300         (format-time-string-with-bignum-on-32-bit):
56301         Move to ...
56302         * test/src/timefns-tests.el: ... this new file.
56304 2018-10-04  Michael Albinus  <michael.albinus@gmx.de>
56306         Some reaarangements in tramp*.texi
56308         * doc/misc/trampver.texi (trampfn): Change check for definition of macro.
56309         (tramp-bug-report-address): New variable.
56311         * doc/misc/tramp.texi (Top, Bug Reports): Use it.
56313 2018-10-03  Paul Eggert  <eggert@cs.ucla.edu>
56315         Fix emacs_re_safe_alloca calculation
56317         Problem and draft fix noted by Eli Zaretskii in:
56318         https://lists.gnu.org/r/emacs-devel/2018-10/msg00022.html
56319         * src/emacs.c (main): Fix arithmetic used in calculation
56320         of emacs_re_safe_alloca.
56322 2018-10-03  Glenn Morris  <rgm@gnu.org>
56324         * Makefile.in (uninstall): Remove some stray icon files.
56326 2018-10-03  Glenn Morris  <rgm@gnu.org>
56328         Tweak Makefile emacs-module.h handling
56330         * Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
56331         Handle whitespace.  Remove non-portable mkdir argument.
56333 2018-10-03  Philipp Stephani  <phst@google.com>
56335         Install emacs-module.h (Bug#31929)
56337         * Makefile.in (includedir): New variable.
56338         (install-arch-indep): Install emacs-module.h.
56339         (uninstall): Uninstall emacs-module.h.
56341 2018-10-03  Michael Albinus  <michael.albinus@gmx.de>
56343         * doc/misc/trampver.texi (trampfn): Call `unmacro' prior defining
56345         * doc/misc/trampver.texi (trampfn): Call `unmacro' prior
56346         defining.  trampver.texi is included several times; it raises an
56347         error otherwise.
56349 2018-10-03  Glenn Morris  <rgm@gnu.org>
56351         Merge from origin/emacs-26
56353         ea77c65 Revert "Temporary workaround for bug #32848 for branch emacs-26"
56354         2c8ea46 Revert "* etc/NEWS: Note setting make-cursor-line-fully-visib...
56355         f8df6f2 * etc/NEWS: Note setting make-cursor-line-fully-visible to ni...
56356         cdca208 Fix note about interactive advice (Bug#32905)
56357         508c40e Comple fix for Bug#32550
56359 2018-10-03  Glenn Morris  <rgm@gnu.org>
56361         Merge from origin/emacs-26
56363         9c028d6 * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
56364         3a2b5a7 ; * lisp/bindings.el (bindings--define-key): Doc fix.  (Bug#3...
56365         6a7a869 Org manual: Rewrite the Org Mobile section
56367         # Conflicts:
56368         #       lisp/savehist.el
56370 2018-10-03  Glenn Morris  <rgm@gnu.org>
56372         Merge from origin/emacs-26
56374         7296b6f Improve cl-do, cl-do* docstrings
56375         d416109 Avoid returning early in 'while-no-input' due to subprocesses
56376         e8a4d94 Cleanup when opening a new terminal fails. (Bug#32794)
56378         # Conflicts:
56379         #       etc/NEWS
56381 2018-10-03  Alan Mackenzie  <acm@muc.de>
56383         Put follow-mode's engine on pre-redisplay-hook instead of post-command-hook
56385         This fixes bug #32874.
56387         * lisp/follow.el (follow-mode): Put follow-pre-redisplay-function onto
56388         pre-redisplay-function instead of putting follow-post-command-hook onto
56389         post-command-hook.  Amend the removal operation analogously.
56390         (follow-pre-redisplay-function): New function.
56392 2018-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
56394         * lisp/emacs-lisp/autoload.el (autoload-ignored-definitions): New var
56396         (autoload-generate-file-autoloads): Use it.
56398 2018-10-02  Michael Albinus  <michael.albinus@gmx.de>
56400         Rearrangements in tramp*.texi
56402         * doc/misc/trampver.texi (trampfn): New macro, taken from tramp.texi.
56404         * doc/misc/tramp.texi (trampfn): Moved to trampver.texi.
56405         (Top): Add sections `System Requirement' and `Basic Installation'.
56407 2018-10-01  Charles A. Roelli  <charles@aurox.ch>
56409         * lisp/vc/vc.el (vc-checkin): Simplify 'run-hook' call.
56411 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
56413         Use `float-time' in tramp-sh.el where needed
56415         * lisp/net/tramp-sh.el (tramp-sh-handle-verify-visited-file-modtime):
56416         Use `float-time'.
56418 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
56420         Minor edits in tramp.texi
56422         * doc/misc/tramp.texi (Password handling): Say "user option".
56423         (Remote shell setup): Say "environment variable".
56424         (External packages): Add `non-essential' to variable index.
56426 2018-09-30  Michael R. Mauger  <michael@mauger.com>
56428         Automate support for `sql-indent' ELPA package
56430         * lisp/progmodes/sql.el (sql-use-indent-support): New variable.
56431         (sql-is-indent-available): New function.
56432         (sql-indent-enable): Use above.
56433         (sql-mode-hook, sql-interactive-mode-hook): Add `sql-indent-enable'.
56435 2018-09-30  Charles A. Roelli  <charles@aurox.ch>
56437         * doc/emacs/help.texi (Misc Help): Document 'info-other-window'.
56439 2018-09-30  Sam Steingold  <sds@gnu.org>
56441         Document 2d54710c36: vc-git-stash & *vc-dir*
56443 2018-09-30  Eli Zaretskii  <eliz@gnu.org>
56445         Allow 'make-cursor-line-fully-visible' name a function
56447         * src/xdisp.c (cursor_row_fully_visible_p): Handle the case of
56448         make-cursor-line-fully-visible being a function.  Accept a 3rd
56449         argument; if non-zero, assume the caller already tested the
56450         conditions for the cursor being fully-visible, and don't
56451         recheck them.  All callers changed.
56452         (try_cursor_movement, try_window_id): Call
56453         cursor_row_fully_visible_p instead of testing the value of
56454         make-cursor-line-fully-visible directly.
56455         (syms_of_xdisp) <make-cursor-line-fully-visible>: Update the
56456         doc string.  Define a symbol Qmake_cursor_line_fully_visible.
56457         (Bug#32848)
56459         * lisp/cus-start.el (standard): Update the Custom form.
56461         * etc/NEWS: Mention the change in possible values of
56462         'make-cursor-line-fully-visible'.
56464 2018-09-29  Alan Third  <alan@idiocy.org>
56466         Merge from origin/emacs-26
56468         9ad0f1d15c Fix deprecation warning
56469         7946445962 Make all NS drawing be done from drawRect
56470         41fa88b99b ; Fix some doc typos
56472 2018-09-29  Michael Albinus  <michael.albinus@gmx.de>
56474         Rework time-* functions in Tramp
56476         * doc/misc/emacs-mime.texi (time-date): Add time-equal-p.
56478         * lisp/net/tramp-compat.el (tramp-compat-time-equal-p): New defsubst.
56480         * lisp/net/tramp.el (tramp-file-name-handler): Remove `debug'
56481         error handler.
56482         (tramp-half-a-year): Remove.
56483         (tramp-time-dont-know, tramp-time-doesnt-exist): New defconst.
56484         (tramp-time-diff): Remove compat code.
56485         (tramp-handle-set-visited-file-modtime)
56486         (tramp-handle-verify-visited-file-modtime):
56487         * lisp/net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls)
56488         (tramp-adb-handle-set-file-times):
56489         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
56490         (tramp-sh-handle-set-visited-file-modtime)
56491         (tramp-sh-handle-verify-visited-file-modtime)
56492         (tramp-sh-handle-set-file-times)
56493         (tramp-sh-handle-file-newer-than-file-p):
56494         Use `tramp-time-dont-know', `tramp-time-doesnt-exist' and
56495         `tramp-compat-time-equal-p'.
56496         (tramp-sh-handle-verify-visited-file-modtime): Simplify check.
56498         * lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes)
56499         (tramp-smb-read-file-entry): Use `tramp-time-dont-know'.
56500         (tramp-smb-handle-insert-directory): Adapt half-a-year check.
56502         * src/editfns.c (Ftime_equal_p): Adapt docstring.
56504         * test/lisp/net/tramp-tests.el
56505         (tramp-test19-directory-files-and-attributes)
56506         (tramp-test22-file-times): Use `tramp-compat-time-equal-p' and
56507         `tramp-time-dont-know'.
56508         (tramp-test23-visited-file-modtime): Extend test.
56510 2018-09-29  Michael Albinus  <michael.albinus@gmx.de>
56512         Fix minor problem in tramp-handle-substitute-in-file-name
56514         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
56515         Suppress cygwin-mount file name handlers.
56517 2018-09-29  Michael Albinus  <michael.albinus@gmx.de>
56519         Finish fix for Bug#21559
56521         * lisp/vc/vc-git.el (vc-git--call):
56522         If `revert-buffer-in-progress-p' flag is set, prepend
56523         "GIT_OPTIONAL_LOCKS=0" to "process-environment".  (Bug#21559)
56525 2018-09-29  Tino Calancha  <tino.calancha@gmail.com>
56526             Noam Postavsky  <npostavs@gmail.com>
56528         Ibuffer filter by modes: Accept several mode names
56530         Extend all mode filters so that they handle >1 mode.
56531         For instance, if the users want to filter all buffers in
56532         C or C++ mode, then they can call the filter interactively
56533         with input: 'c-mode,c++-mode' (Bug#32731).
56535         * lisp/ibuf-macs.el(define-ibuffer-filter): Add key :accept-list.
56536         If the value of this key is non-nil, then the filter accepts
56537         either a single qualifier or a list of them; in the latter case,
56538         the resultant filter is the `or' composition of the individual ones.
56540         * lisp/ibuf-ext.el (ibuffer-filter-by-used-mode)
56541         (ibuffer-filter-by-mode, ibuffer-filter-by-derived-mode)
56542         Set :accept-list value non-nil.
56543         Interactively, accept a comma separated list of mode names.
56545         * etc/NEWS(Ibuffer): Announce this change.
56547 2018-09-29  Allen Li  <darkfeline@felesatra.moe>
56549         Avoid writing empty abbrev tables
56551         Fixes bug#29923
56553         'insert-abbrev-table-description' with a non-nil READABLE inserts Lisp
56554         forms suitable for evaluation to restore the defined abbrevs.  We
56555         don't have to insert a form for tables that do not have any abbrevs.
56557         To implement this, we need to filter out system abbrevs before
56558         checking if a table is empty, because system abbrevs were previously
56559         skipped in the 'abbrev--write' call, at which point we would already
56560         have started inserting the beginning of a table definition form.
56562         * lisp/abbrev.el (insert-abbrev-table-description):
56563         Skip inserting empty tables when READABLE is non-nil.
56564         Clarify behavior in documentation string.
56565         (abbrev--write): Remove system abbrev check.
56567         * doc/lispref/abbrevs.texi (Abbrev Tables): Document behavior
56568         with empty tables.
56570         * etc/NEWS: Mention the change in behavior of
56571         'insert-abbrev-table-description'.
56573 2018-09-28  Andrew Schwartzmeyer  <andrew@schwartzmeyer.com>  (tiny change)
56575         Support mode aliases in 'provided-mode-derived-p'
56577         * lisp/subr.el (provided-mode-derived-p): Check aliases of
56578         MODES as well as MODES themselves.  (Bug#32795)
56580         * test/lisp/subr-tests.el (provided-mode-derived-p): New test.
56582 2018-09-28  Trevor Murphy  <trevor.m.murphy@gmail.com>
56584         Allow user customization to affect display of *Find* buffer.
56586         * lisp/find-dired.el (find-dired): Use 'pop-to-buffer-same-window'
56587         instead of 'switch-to-buffer'.
56589 2018-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
56591         * etc/NEWS.18: Use outline-mode and a more standard format
56593         * etc/NEWS.1-17: Use outline-mode and a more standard format
56595 2018-09-28  Paul Eggert  <eggert@cs.ucla.edu>
56597         Rename time-equal to time-equal-p
56599         This is for consistency with time-less-p.
56600         * doc/lispref/os.texi (Time Calculations), etc/NEWS:
56601         * src/editfns.c (Ftime_equal_p, syms_of_editfns):
56602         * test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
56603         Rename.
56605 2018-09-28  Glenn Morris  <rgm@gnu.org>
56607         Merge from origin/emacs-26
56609         1908173 (origin/emacs-26) Fix Bug#32828
56610         7f5086d * lisp/net/shr.el (shr-copy-url): Fix docstring.
56611         d309994 Fix typos in documentation
56612         25cdd65 ; Spellcheck two more documentation strings
56613         c8bda05 ; * lisp/simple.el (save-interprogram-paste-before-kill): Fix...
56614         dc7fdee * doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old b...
56615         17766a1 Improve docs of functions/variables related to 'display-buffer'
56616         a363931 * lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)
56617         8b8a4c0 Improve documentation of directory-local variables
56618         c9c9756 Don't use obsolete variable 'save-place' in documentation
56619         ca208e8 Use save-place-mode instead of save-place
56621 2018-09-28  Sam Steingold  <sds@gnu.org>
56623         lisp/vc/vc-git.el (vc-git-stash): Respect vc-dir marked files
56625 2018-09-27  Paul Eggert  <eggert@cs.ucla.edu>
56627         time-equal, and time values of infinity and NaN
56629         * doc/lispref/os.texi (Time Calculations):
56630         Document time-equal, and the behavior on NaNs and infinities of
56631         time-less-p, time-add, time-subtract.
56632         * etc/NEWS: Mention the change.
56633         * src/editfns.c (time_arith): Change last arg from function
56634         to bool.  All callers changed.  Do the right thing with
56635         infinities and NaNs.
56636         (time_cmp): New function, which handlesx infinities and NaNs.
56637         (Ftime_less_p): Use it.
56638         (Ftime_equal): New function.
56639         * test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
56640         Use it.
56642 2018-09-26  Juri Linkov  <juri@linkov.net>
56644         * etc/NEWS: Mention syntax change in add-dir-local-variable (bug#32817)
56646 2018-09-26  Charles A. Roelli  <charles@aurox.ch>
56648         * lisp/vc-bzr.el (log-view-current-tag-function): Remove unused defvar.
56650 2018-09-26  Alan Mackenzie  <acm@muc.de>
56652         CC Mode: consider tails of compound identifiers when seeking found types.
56654         * lisp/progmodes/cc-engine.el (c-forward-over-token): New function, extracted
56655         from ...
56656         (c-forward-over-token-and-ws): Refactor to use the above.
56657         (c-forward-type): Use c-check-qualified-type in place of c-check-type
56658         (twice).
56659         (c-forward-over-compound-identifier): New function.
56660         (c-check-qualified-type): New function.
56662 2018-09-25  Juri Linkov  <juri@linkov.net>
56664         Rename add-dir-local-variables-to-string to dir-locals-to-string (bug#32817)
56666 2018-09-24  Paul Eggert  <eggert@cs.ucla.edu>
56668         Remove some assumptions about timestamp format
56670         These changes remove some assumptions of Lisp code on timestamp
56671         format.  Although we’re not going to change the default format any
56672         time soon, I went looking for code that was too intimate about
56673         details of timestamp format and removed assumptions where this was
56674         easy to do with current Emacs primitives.
56675         * lisp/ido.el (ido-wash-history):
56676         Fix test for zero timestamp.
56677         * lisp/time.el (display-time-event-handler):
56678         Use time-less-p rather than doing it by hand.
56679         (display-time-update): Simplify by using float-time
56680         instead of doing the equivalent by hand.
56681         * lisp/url/url-auth.el (url-digest-auth-make-cnonce):
56682         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
56683         * test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
56684         * test/lisp/net/tramp-tests.el:
56685         (tramp-test19-directory-files-and-attributes)
56686         (tramp-test22-file-times, tramp-test23-visited-file-modtime):
56687         Don’t assume detailed format of returned Lisp timestamps.
56689 2018-09-24  Juri Linkov  <juri@linkov.net>
56691         Output alists with dotted pair notation in .dir-locals.el
56693         * lisp/files-x.el (add-dir-local-variables-to-string): New function.
56694         (modify-dir-local-variable): Use it.  (Bug#32817)
56696 2018-09-24  Paul Eggert  <eggert@cs.ucla.edu>
56698         Fix ‘make clean’ with a file named ‘-.o’
56700         Problem reported by T.V Raman in:
56701         https://lists.gnu.org/r/emacs-devel/2018-09/msg00866.html
56702         * Makefile.in (clean, extraclean):
56703         * doc/emacs/Makefile.in (mostlyclean):
56704         * doc/lispintro/Makefile.in (mostlyclean):
56705         * doc/lispref/Makefile.in (mostlyclean):
56706         * doc/misc/Makefile.in (mostlyclean, clean):
56707         * etc/refcards/Makefile (clean):
56708         * lib-src/Makefile.in (mostlyclean, extraclean):
56709         * lib/Makefile.in (clean):
56710         * lwlib/Makefile.in (clean mostlyclean):
56711         * oldXMenu/Makefile.in (clean mostlyclean):
56712         * src/Makefile.in (mostlyclean, extraclean):
56713         * test/Makefile.in (mostlyclean):
56714         Say ‘rm ./*.o’ instead of ‘rm *.o’ to avoid undesirable failure
56715         when a file name begins with ‘-’.
56717 2018-09-23  Paul Eggert  <eggert@cs.ucla.edu>
56719         file-attributes cleanup
56721         Mostly, this replaces magic-number calls like (nth 4 A) with
56722         more-informative calls like (file-attribute-access-time A).
56723         It also fixes some documentation and minor timestamp coding
56724         issues that I noticed while looking into this.
56725         * doc/lispref/files.texi (File Attributes):
56726         * lisp/files.el (file-attribute-size)
56727         (file-attribute-inode-number, file-attribute-device-number):
56728         * src/dired.c (Fdirectory_files_and_attributes)
56729         (Ffile_attributes):
56730         Mention which attributes must be integers, or nonnegative integers,
56731         as opposed to merely being numbers.  Remove no-longer-correct
56732         talk about representing large integers as conses of integers.
56733         * doc/lispref/files.texi (Magic File Names):
56734         * doc/misc/gnus.texi (Low-level interface to the spam-stat dictionary):
56735         * lisp/autorevert.el (auto-revert-find-file-function)
56736         (auto-revert-tail-mode, auto-revert-handler):
56737         * lisp/auth-source.el (auth-source-netrc-parse):
56738         * lisp/cedet/ede/files.el (ede--inode-for-dir):
56739         * lisp/cedet/semantic/db-file.el (object-write):
56740         * lisp/cedet/semantic/db-mode.el (semanticdb-kill-hook):
56741         * lisp/cedet/semantic/db.el (semanticdb-needs-refresh-p)
56742         (semanticdb-synchronize):
56743         * lisp/cedet/srecode/table.el (srecode-mode-table-new):
56744         * lisp/desktop.el (desktop-save, desktop-read):
56745         * lisp/dired-aux.el (dired-file-set-difference)
56746         (dired-do-chxxx, dired-do-chmod, dired-copy-file-recursive)
56747         (dired-create-files):
56748         * lisp/dired.el (dired-directory-changed-p, dired-readin):
56749         * lisp/dos-w32.el (w32-direct-print-region-helper):
56750         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads)
56751         (autoload-find-destination, update-directory-autoloads):
56752         * lisp/emacs-lisp/shadow.el (load-path-shadows-same-file-or-nonexistent):
56753         * lisp/epg.el (epg--start, epg-wait-for-completion):
56754         * lisp/eshell/em-ls.el (eshell-ls-filetype-p)
56755         (eshell-ls-applicable, eshell-ls-size-string)
56756         (eshell-ls-file, eshell-ls-dir, eshell-ls-files)
56757         (eshell-ls-entries):
56758         * lisp/eshell/em-pred.el (eshell-predicate-alist)
56759         (eshell-pred-file-type, eshell-pred-file-links)
56760         (eshell-pred-file-size):
56761         * lisp/eshell/em-unix.el (eshell-shuffle-files, eshell/cat)
56762         (eshell-du-sum-directory, eshell/du):
56763         * lisp/eshell/esh-util.el (eshell-read-passwd)
56764         (eshell-read-hosts):
56765         * lisp/files.el (remote-file-name-inhibit-cache)
56766         (find-file-noselect, insert-file-1, dir-locals-find-file)
56767         (dir-locals-read-from-dir, backup-buffer)
56768         (file-ownership-preserved-p, copy-directory)
56769         (read-file-modes):
56770         * lisp/find-lisp.el (find-lisp-format):
56771         * lisp/gnus/gnus-agent.el (gnus-agent-unfetch-articles)
56772         (gnus-agent-read-agentview, gnus-agent-expire-group-1)
56773         (gnus-agent-request-article, gnus-agent-regenerate-group)
56774         (gnus-agent-update-files-total-fetched-for)
56775         (gnus-agent-update-view-total-fetched-for):
56776         * lisp/gnus/gnus-cache.el (gnus-cache-read-active)
56777         (gnus-cache-update-file-total-fetched-for)
56778         (gnus-cache-update-overview-total-fetched-for):
56779         * lisp/gnus/gnus-cloud.el (gnus-cloud-file-new-p):
56780         * lisp/gnus/gnus-score.el (gnus-score-score-files):
56781         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file)
56782         (gnus-master-read-slave-newsrc):
56783         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
56784         * lisp/gnus/gnus-util.el (gnus-file-newer-than)
56785         (gnus-cache-file-contents):
56786         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming)
56787         (mail-source-callback, mail-source-movemail):
56788         * lisp/gnus/nneething.el (nneething-create-mapping)
56789         (nneething-make-head):
56790         * lisp/gnus/nnfolder.el (nnfolder-read-folder):
56791         * lisp/gnus/nnheader.el (nnheader-file-size)
56792         (nnheader-insert-nov-file):
56793         * lisp/gnus/nnmail.el (nnmail-activate):
56794         * lisp/gnus/nnmaildir.el (nnmaildir--group-maxnum)
56795         (nnmaildir--new-number, nnmaildir--update-nov)
56796         (nnmaildir--scan, nnmaildir-request-scan)
56797         (nnmaildir-request-update-info)
56798         (nnmaildir-request-expire-articles):
56799         * lisp/gnus/nnmh.el (nnmh-request-list-1)
56800         (nnmh-request-expire-articles, nnmh-update-gnus-unreads):
56801         * lisp/gnus/nnml.el (nnml-request-expire-articles):
56802         * lisp/gnus/spam-stat.el (spam-stat-save, spam-stat-load)
56803         (spam-stat-process-directory, spam-stat-test-directory):
56804         * lisp/ido.el (ido-directory-too-big-p)
56805         (ido-file-name-all-completions):
56806         * lisp/image-dired.el (image-dired-get-thumbnail-image)
56807         (image-dired-create-thumb-1):
56808         * lisp/info.el (info-insert-file-contents):
56809         * lisp/ls-lisp.el (ls-lisp-insert-directory)
56810         (ls-lisp-handle-switches, ls-lisp-classify-file)
56811         (ls-lisp-format):
56812         * lisp/mail/blessmail.el:
56813         * lisp/mail/feedmail.el (feedmail-default-date-generator)
56814         (feedmail-default-message-id-generator):
56815         * lisp/mail/mailabbrev.el (mail-abbrevs-sync-aliases)
56816         (mail-abbrevs-setup):
56817         * lisp/mail/mspools.el (mspools-size-folder):
56818         * lisp/mail/rmail.el (rmail-insert-inbox-text):
56819         * lisp/mail/sendmail.el (sendmail-sync-aliases):
56820         * lisp/mh-e/mh-alias.el (mh-alias-tstamp):
56821         * lisp/net/ange-ftp.el (ange-ftp-parse-netrc)
56822         (ange-ftp-write-region, ange-ftp-file-newer-than-file-p)
56823         (ange-ftp-cf1):
56824         * lisp/net/eudcb-mab.el (eudc-mab-query-internal):
56825         * lisp/net/eww.el (eww-read-bookmarks):
56826         * lisp/net/netrc.el (netrc-parse):
56827         * lisp/net/newst-backend.el (newsticker--image-get):
56828         * lisp/nxml/rng-loc.el (rng-get-parsed-schema-locating-file):
56829         * lisp/obsolete/fast-lock.el (fast-lock-save-cache):
56830         * lisp/obsolete/vc-arch.el (vc-arch-state)
56831         (vc-arch-diff3-rej-p):
56832         * lisp/org/ob-eval.el (org-babel--shell-command-on-region):
56833         * lisp/org/org-attach.el (org-attach-commit):
56834         * lisp/org/org-macro.el (org-macro-initialize-templates):
56835         * lisp/org/org.el (org-babel-load-file)
56836         (org-file-newer-than-p):
56837         * lisp/org/ox-html.el (org-html-format-spec):
56838         * lisp/org/ox-publish.el (org-publish-find-date)
56839         (org-publish-cache-ctime-of-src):
56840         * lisp/pcmpl-gnu.el (pcomplete/tar):
56841         * lisp/pcmpl-rpm.el (pcmpl-rpm-packages):
56842         * lisp/play/cookie1.el (cookie-snarf):
56843         * lisp/progmodes/cmacexp.el (c-macro-expansion):
56844         * lisp/ps-bdf.el (bdf-file-mod-time):
56845         * lisp/server.el (server-ensure-safe-dir):
56846         * lisp/simple.el (shell-command-on-region):
56847         * lisp/speedbar.el (speedbar-item-info-file-helper)
56848         (speedbar-check-obj-this-line):
56849         * lisp/thumbs.el (thumbs-cleanup-thumbsdir):
56850         * lisp/time.el (display-time-mail-check-directory)
56851         (display-time-file-nonempty-p):
56852         * lisp/url/url-cache.el (url-is-cached):
56853         * lisp/url/url-file.el (url-file-asynch-callback):
56854         * lisp/vc/diff-mode.el (diff-delete-if-empty):
56855         * lisp/vc/pcvs-info.el (cvs-fileinfo-from-entries):
56856         * lisp/vc/vc-bzr.el (vc-bzr-state-heuristic):
56857         * lisp/vc/vc-cvs.el (vc-cvs-checkout-model)
56858         (vc-cvs-state-heuristic, vc-cvs-merge-news)
56859         (vc-cvs-retrieve-tag, vc-cvs-parse-status, vc-cvs-parse-entry):
56860         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1)
56861         (vc-hg--ignore-patterns-valid-p)
56862         (vc-hg--cached-dirstate-search, vc-hg-state-fast):
56863         * lisp/vc/vc-hooks.el (vc-after-save):
56864         * lisp/vc/vc-rcs.el (vc-rcs-workfile-is-newer):
56865         * lisp/vc/vc-svn.el (vc-svn-merge-news, vc-svn-parse-status):
56866         * lisp/vc/vc.el (vc-checkout, vc-checkin, vc-revert-file):
56867         * lisp/xdg.el (xdg-mime-apps):
56868         Prefer (file-attribute-size A) to (nth 7 A), and similarly
56869         for other file attributes accessors.
56870         * doc/lispref/files.texi (File Attributes):
56871         * doc/lispref/intro.texi (Version Info):
56872         * doc/lispref/os.texi (Idle Timers):
56873         * lisp/erc/erc.el (erc-string-to-emacs-time):
56874         * lisp/files.el (file-attribute-access-time)
56875         (file-attribute-modification-time)
56876         (file-attribute-status-change-time):
56877         * lisp/net/tramp-compat.el:
56878         (tramp-compat-file-attribute-modification-time)
56879         (tramp-compat-file-attribute-size):
56880         * src/buffer.c (syms_of_buffer):
56881         * src/editfns.c (Fget_internal_run_time):
56882         * src/fileio.c (Fvisited_file_modtime)
56883         (Fset_visited_file_modtime):
56884         * src/keyboard.c (Fcurrent_idle_time):
56885         * src/process.c (Fprocess_attributes):
56886         Defer implementation details about timestamp format to the
56887         section that talks about timestamp format, to make it easier
56888         to change the documentation later if timestamp formats are
56889         extended.
56890         * lisp/gnus/gnus-util.el (gnus-file-newer-than):
56891         * lisp/speedbar.el (speedbar-check-obj-this-line):
56892         * lisp/vc/vc-rcs.el (vc-rcs-workfile-is-newer):
56893         Prefer time-less-p to doing it by hand.
56894         * lisp/ls-lisp.el (ls-lisp-format): Inode numbers are no longer conses.
56895         * lisp/vc/vc-bzr.el (vc-bzr-state-heuristic):
56896         Use eql, not eq, to compare integers that might be bignums.
56897         * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
56898         Prefer float-time to doing time arithmetic by hand.
56900 2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
56902         * doc/emacs/maintaining.texi: Fix one more occurrence of `next-file`
56904 2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
56906         * lisp/play/bubbles.el: Use lexical-binding
56908 2018-09-22  Paul Eggert  <eggert@cs.ucla.edu>
56910         Round bignums consistently with other integers
56912         * src/bignum.c (mpz_bufsize): New function.
56913         (bignum_bufsize): Use it.
56914         (mpz_get_d_rounded): New function.
56915         (bignum_to_double): Use it.
56916         * src/bignum.c (bignum_to_double):
56917         * src/data.c (bignum_arith_driver):
56918         When converting bignums to double, round instead of
56919         truncating, to be consistent with what happens with fixnums.
56920         * test/src/floatfns-tests.el (bignum-to-float): Test rounding.
56922 2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
56924         Complement to last commit
56926 2018-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
56928         * lisp/multifile.el: New file, extracted from etags.el
56930         The main motivation for this change was the introduction of
56931         project-query-replace.  dired's multi-file query&replace was implemented
56932         on top of etags.el even though it did not use TAGS in any way, so I moved
56933         this generic multifile code into its own package, with a nicer interface,
56934         and then used that in project.el.
56936         * lisp/progmodes/project.el (project-files): New generic function.
56937         (project-search, project-query-replace): New commands.
56939         * lisp/dired-aux.el (dired-do-search, dired-do-query-replace-regexp):
56940         Use multifile.el instead of etags.el.
56942         * lisp/progmodes/etags.el: Remove redundant :groups.
56943         (next-file-list): Remove var.
56944         (tags-loop-revert-buffers): Make it an obsolete alias.
56945         (next-file): Don't autoload (it can't do anything useful before some
56946         other etags.el function setup the multifile operation).
56947         (tags--all-files): New function, extracted from next-file.
56948         (tags-next-file): Rename from next-file.
56949         Rewrite using tags--all-files and multifile-next-file.
56950         (next-file): Keep it as an obsolete alias.
56951         (tags-loop-operate, tags-loop-scan): Mark as obsolete.
56952         (tags--compat-files, tags--compat-initialize): New function.
56953         (tags-loop-continue): Rewrite using multifile-continue.  Mark as obsolete.
56954         (tags--last-search-operate-function): New var.
56955         (tags-search, tags-query-replace): Rewrite using multifile.el.
56957         * lisp/emacs-lisp/generator.el (iter-end-of-sequence): Use 'define-error'.
56958         (iter-make): New macro.
56959         (iter-empty): New iterator.
56961         * lisp/menu-bar.el (menu-bar-search-menu, menu-bar-replace-menu):
56962         tags-loop-continue -> multifile-continue.
56964 2018-09-21  Paul Eggert  <eggert@cs.ucla.edu>
56966         Fix (+ bignum float) bug
56968         * src/data.c (bignum_arith_driver): Fix typo: missing ‘return’.
56969         * test/src/data-tests.el (data-tests-bignum): Test for the typo.
56971 2018-09-21  Paul Eggert  <eggert@cs.ucla.edu>
56973         Fix ambiguity in nil DST flag
56975         Formerly nil meant both that DST was not in effect and that
56976         the DST flag was unknown, and different functions interpreted
56977         the flag differently.  Now the meaning is consistently nil for
56978         DST not in effect, and -1 for DST flag not known.
56979         * doc/lispref/os.texi (Time Conversion): The DST slot is
56980         now three-valued, not two-.
56981         * doc/misc/emacs-mime.texi (time-date): Adjust to new behavior.
56982         * etc/NEWS: Mention this.
56983         * lisp/calendar/parse-time.el (parse-time-string):
56984         * src/editfns.c (Fdecode_time):
56985         Return -1 for unknown DST flag.
56986         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
56987         Adjust tests to match new behavior, and add a new
56988         test for nil vs -1.
56990 2018-09-21  Philipp Stephani  <phst@google.com>
56992         Avoid an overflow error in emacs-module.c
56994         * src/emacs-module.c (Fmodule_load): Allow creating a bignum
56995         to avoid overflow error
56997 2018-09-21  Philipp Stephani  <phst@google.com>
56999         Use new function overflow_error in a few places
57001         * src/emacs-module.c (module_make_global_ref, module_funcall)
57002         (module_make_string, Fmodule_load):
57003         * src/json.c (json_to_lisp): Use overflow_error.
57005 2018-09-21  Philipp Stephani  <phst@google.com>
57007         Support bignums when serializing JSON
57009         * src/json.c (lisp_to_json): Support bignums.
57010         * test/src/json-tests.el (json-serialize/bignum): New test.
57012 2018-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57014         Bindat examples in source, not manual
57016         * doc/lispref/processes.texi (Bindat Examples): Remove, fixing
57017         a FIXME in the manual.  The long example had bitrotted to some
57018         extent, compared to the more-up-to-date example in bindat.el
57019         commentary, which apparently what people were referring to
57020         anyway.  The short example was confusing and not that useful
57021         and will be obsolescent anyway if we change timestamp format.
57023 2018-09-20  Tino Calancha  <tino.calancha@gmail.com>
57025         Fix a previous commit
57027         Suggested by Stefan Monnier here:
57028         https://lists.gnu.org/r/emacs-devel/2018-09/msg00783.html
57029         * lisp/replace.el (occur--parse-occur-buffer): Since point is at the
57030         beginning of the buffer, use `point'.
57032         (occur-revert-function): Prefer `pcase-let' and `point-min'.
57033         Check whether `region-start' or `region-end' are non-nil.
57035 2018-09-20  Glenn Morris  <rgm@gnu.org>
57037         Merge from origin/emacs-26
57039         d28d54c (origin/emacs-26) More accurate docs for 'text-char-description'
57040         b3baf99 Document synchronous behavior of eshell/make (Bug#32513)
57041         98544ea Fix bs-show with wide characters (Bug#17822)
57042         85af51b Improve Custom menu labels for 2 options
57043         72a2a36 Improve wording of last change in dired-x.texi
57044         d4fa83b Fix GnuTLS test suite with GnuTLS versions 3.4.x
57045         b5bee6b Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)
57046         67eb80e ; * etc/enriched.txt (hanging-indents): Remove extra indent.
57047         c71cfb7 Fix the Bubbles game on TTY frames
57048         3bbf21b Add choice to reshow certificate information (Bug#31877)
57049         6f2c471 * src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.
57050         39eecb3 * src/alloc.c (vector): Fix grammatical error in doc string: ...
57052 2018-09-20  Bob Newell  <bobnewell@bobnewell.net>
57054         New input methods hawaiian-postfix and hawaiian-prefix
57056         * lisp/leim/quail/latin-pre.el ("hawaiian-prefix"):
57057         * lisp/leim/quail/latin-post.el ("hawaiian-postfix"): New
57058         input methods.  (Bug#32714)
57059         * etc/NEWS: Mention the new input methods.
57061 2018-09-18  Tino Calancha  <tino.calancha@gmail.com>
57063         Fix bug 32543
57065         Store the region and orig line into the *Occur* header line.
57066         Retrieve this information in `occur-revert-function'.
57067         * lisp/replace.el (occur--parse-occur-buffer): New defun.
57068         (occur-revert-function): Use it.
57069         (occur-engine): Store region and original position as text properties
57070         into the *Occur* header line.
57071         * lisp/replace.el (occur-engine): Add sensible default values for
57072         (occur--orig-line and nlines.
57074 2018-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
57076         * lisp/emacs-lisp/advice.el: Only use defmacro when needed
57078         (ad-get-advice-info): Mark it inlinable.
57079         (ad-get-advice-info-macro): Make it an obsolete alias.
57080         (ad-copy-advice-info, ad-is-advised, ad-get-advice-info-field)
57081         (ad-find-advice, ad-macrofy, ad-lambdafy, ad-lambda-p, ad-advice-p)
57082         (ad-compiled-p, ad-compiled-code, ad-get-cache-definition)
57083         (ad-get-cache-id, ad-set-cache): Turn macros into defsubsts.
57084         (ad-defadvice-flags): Make it into a plain list.
57085         (ad-set-advice-info-field): Apply a bit of CSE.
57087 2018-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
57089         * lisp/emacs-lisp/advice.el (ad-advised-functions): Make it a plain list
57091         (ad-read-advised-function, ad-do-advised-functions): Adjust accordingly.
57092         (ad-pushnew-advised-function, ad-pop-advised-function): Also make them
57093         into functions.
57095 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
57097         Move current_timespec decl to timespec.h
57099         This change was motivated by the desire to remove the weird
57100         dependency of lib-src/profile.o on src/systime.h.  profile.c
57101         included systime.h only for current_timespec, and this
57102         inclusion required systime.h to have #ifdef emacs in multiple
57103         places and complicated further changes I have in mind.
57104         The current_timespec decl belongs in timespec.h anyway,
57105         and the main effect of this change is to move it there.
57106         * lib-src/profile.c (INLINE): Remove.
57107         Include timespec.h, not systime.h.
57108         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
57109         and don’t worry about it failing on a CLOCK_REALTIME arg.
57110         POSIX requires it to succeed and I don’t know of any
57111         counterexamples where the fallbacks would work.
57112         (current_timespec): Move here from src/systime.h.
57113         Nowadays it seems to be better to not have this function
57114         be inline.
57115         * lib/timespec.h: Include arg-nonnull.h.
57116         (current_timespec): New declaration.
57117         (gettime, settime): Declare args to be nonnull.
57118         * lib/gettime.c, lib/timespec.h: Copy from Gnulib.
57119         * src/systime.h: Simplify by assuming ‘emacs’ is defined,
57120         which it always is now.
57121         (current_timespec): Move to lib/timespec.h.
57123 2018-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
57125         * lisp/delsel.el (minibuffer-keyboard-quit): Remove old redundant code.
57127         The various minibuffer maps all inherit from minibuffer-local-map nowadays,
57128         so a single binding in it is all it takes.
57130 2018-09-16  Noam Postavsky  <npostavs@gmail.com>
57132         Clarify condition-case docstring
57134         * src/eval.c (Fcondition_case): Note that it handles non-error symbols
57135         too.
57137 2018-09-16  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
57139         Update pconf for compile.el mode-line-process changes
57141         * lisp/cedet/ede/pconf.el (ede-proj-configure-synchronize): Check the
57142         first list element of mode-line-process (Bug#32564).
57144 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
57146         * src/thread.h: Do not include systime.h; no longer needed.
57148 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
57150         Don’t assume obsolescent setitimer function
57152         * src/atimer.c (start_atimer, debug_timer_callback):
57153         Don’t assume support for setitimer merely because struct
57154         itimerspec works.  POSIX no longer requires support for the
57155         obsolescent setitimer function.
57157 2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57159         Simplify get_up_time on GNU/Linux
57161         * src/sysdep.c (get_up_time) [GNU_LINUX && HAVE_LONG_LONG_INT]:
57162         Omit unused locals.
57164 2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57166         Go back to old method for nnmaildir names
57168         * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
57169         Omit leading 0s after "M" in file name.
57170         Problem reported by Glenn Morris in:
57171                 https://lists.gnu.org/r/emacs-devel/2018-09/msg00660.html
57173 2018-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57175         Fix icalendar tests to match new behavior
57177         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
57178         Do not intrude into or rely upon undocumented internal
57179         implementation details of icalendar--create-uid.
57180         Problem reported by Glenn Morris in:
57181         https://lists.gnu.org/r/emacs-devel/2018-09/msg00660.html
57183 2018-09-15  Glenn Morris  <rgm@gnu.org>
57185         Merge from origin/emacs-26
57187         e133b63 (origin/emacs-26) Avoid adverse side effects of fixing bug#21824
57188         cc8f334 Document changes called out in NEWS
57189         20ecc52 ; * etc/NEWS: Document recent change in 'thing-at-point'.
57190         1fc5283 ; INSTALL: Fix a typo in the last commit.
57191         24f240d Tiny doc updates re yum/dnf etc
57192         41c2d25 Remove unused variable
57193         1e3b3fa Fix (thing-at-point 'list) regression (Bug#31772)
57194         219893a Clarify meaning of '*'
57195         41cdda2 * etc/PROBLEMS: Document Ubuntu 16.04 issue.
57196         1c22f03 Increase default value for imenu-auto-rescan-maxout
57197         ee84389 Improve recent change to ELisp manual
57198         ff374e4 * doc/lispref/display.texi (SVG Images): Improve wording.
57199         3a0caf6 * doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32...
57201         Conflicts:
57202                 doc/lispref/lists.texi
57203                 etc/NEWS
57205 2018-09-15  Noam Postavsky  <npostavs@gmail.com>
57207         Don't call modification hooks unprepared
57209         Inhibit modification hooks when performing message coalescing because
57210         in that case, we aren't doing the necessary preparation for running
57211         modification hooks (i.e., we pass PREPARE=false for the insert_1_both
57212         and del_range_both calls).  See also Bug#30823 and Bug#21824.
57213         * src/xdisp.c (message_dolog): Let-bind inhibit-modification-hooks
57214         to t around del_range_both calls.
57216 2018-09-15  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)
57218         Make 'filesets-save-config' save filesets added by 'filesets-add-buffer'
57220         * lisp/filesets.el (filesets-set-config): Use 'customize-set-variable'
57221         so that filesets are saved by 'customize-save-customized' in
57222         'filesets-save-config'.  (Bug#20630)
57224 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
57226         * lisp/progmodes/idlw-shell.el: Use lexical-binding
57228         (idlwave-shell-source-frame): Remove unused var 'frame'.
57229         (idlwave-shell): Remove unused arg 'quick'.
57230         (idlwave-shell-complete-filename, idlwave-shell-edit-default-command-line)
57231         (idlwave-shell-retall, idlwave-shell-closeall): Remove unused arg 'arg'.
57232         (idlwave-shell-move-to-bp): Remove unused var 'got-bp'.
57233         (zmacs-regions): Declare.
57234         (idlwave-shell-update-bp-overlays): Remove unused var 'win'.
57235         (idlwave-shell-delete-expression-overlay)
57236         (idlwave-shell-mouse-nop): Delete function.  Use 'ignore' instead.
57237         (idlwave-shell-delete-output-overlay): Ignore 'ignore' commands rather
57238         than idlwave-shell-mouse-nop commands.
57239         (idlwave-shell-mode-map, idlwave-shell-electric-debug-mode-map):
57240         Move (part of) the initialization into the declaration.
57241         (idlwave-shell-electric-debug-mode-on-hook)
57242         (idlwave-shell-electric-debug-mode-off-hook): Keep them empty, move
57243         code into the minor mode's definition instead.
57244         (idlwave-shell-electric-debug-mode): Don't use advice needlessly.
57246 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
57248         * lisp/progmodes/ada-mode.el (comment-region): Avoid defadvice
57250         Don't load 'advice' if it won't be used!
57252 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
57254         * lisp/eshell/em-dirs.el (eshell-expand-multiple-dots): Avoid defadvice.
57256 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
57258         * lisp/mail/feedmail.el: Use lexical-binding
57260         (feedmail-queue-buffer-file-name): Improve advising example.
57261         (feedmail-vm-mail-mode): Improve auto-mode-alist example.
57262         (feedmail-queue-runner-prompt): Remove unused function.
57264 2018-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
57266         * lisp/progmodes/js.el (js--fill-c-advice): New function
57268         (c-forward-sws, c-backward-sws, c-beginning-of-macro): Use it.
57269         (js-fill-paragraph): Rename from js-c-fill-paragraph.
57271 2018-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57273         Simplify use of timestamps
57275         * lisp/calendar/icalendar.el (icalendar--create-uid):
57276         * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
57277         Simplify by using format-time-string.
57278         * lisp/gnus/nnmaildir.el (nnmaildir--scan):
57279         Simplify by using float-time and time-less-p.
57281 2018-09-13  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
57283         Fix (floor 54043195528445955 3.0) bug
57285         * src/floatfns.c (rounding_driver): Fix rounding error
57286         that can occur when both args have values exactly
57287         representable as integers but at least one arg is a float.
57288         * test/src/floatfns-tests.el (big-round): New test.
57290 2018-09-13  Stephen Berman  <stephen.berman@gmx.net>
57292         Fix wdired handling of symlinks when restoring filename property
57294         * lisp/wdired.el (wdired--restore-dired-filename-prop): Use
57295         dired-permission-flags-regexp instead of dired-filename to test
57296         whether the file is a symlink, since calling file-symlink-p on the
57297         latter may fail in wdired-mode (bug#32673).
57299 2018-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
57301         (viper-read-key, viper-read-key-sequence): Remove
57303         Ever since the time-dependent ESC handling was moved to input-decode-map,
57304         viper-read-key-sequence has been obsolete.  Clean up accordingly.
57306         * lisp/emulation/viper-keym.el: Use lexical-binding.
57307         (viper-overriding-map): Remove.
57309         * lisp/emulation/viper-macs.el: Use lexical-binding and 'read-key'.
57311         * lisp/emulation/viper-util.el: Use lexical-binding.
57312         (viper-read-key, viper-read-key-sequence): Remove.
57314         * lisp/emulation/viper.el (viper-non-hook-settings): Remove obsolete advice.
57316 2018-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
57318         No need to run gnus-article-highlight (bug#32706)
57320         * lisp/gnus/deuglify.el (gnus-outlook-display-article-buffer):
57321         No need to run gnus-article-highlight (bug#32706).
57323 2018-09-12  Juri Linkov  <juri@linkov.net>
57325         * lisp/vc/vc-git.el (vc-git-grep): Set dir to default-directory
57327         when it's not available (like it's implemented in lgrep/rgrep)
57328         to prevent error in case of `C-u C-u vc-git-grep'.
57330 2018-09-12  Juri Linkov  <juri@linkov.net>
57332         * lisp/dired-x.el (dired-jump): Support archive-subfile-mode
57334         exactly like tar-subfile-mode is already supported.
57336 2018-09-12  Juri Linkov  <juri@linkov.net>
57338         * lisp/simple.el (next-error-no-select): Set display-buffer-overriding-action
57340         to display-buffer-reuse-window (bug#32607).
57342 2018-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
57344         Don't highlight article if gnus-visual-p is nil (bug#32706)
57346         * lisp/gnus/deuglify.el (gnus-outlook-display-article-buffer):
57347         Don't highlight article if gnus-visual-p is nil (bug#32706).
57349 2018-09-11  Filipp Gunbin  <fgunbin@fastmail.fm>
57351         Fix incorrect spelling of dabbrev-ignored-buffer-regexps in docstrings.
57353         * lisp/dabbrev.el (dabbrev-check-all-buffers, dabbrev-expand): Fix docstrings.
57355 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
57357         Minor rounding_driver simplification
57359         * src/floatfns.c (rounding_driver): Omit last arg, which is
57360         now unused.  All callers changed.
57362         Signal overflow-error for bignum overflow
57364 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
57366         Fix (round 1e+INF) core dump
57368         * src/bignum.c (double_to_integer): Signal an error
57369         if D cannot be converted, instead of dumping core.
57370         * test/src/floatfns-tests.el (special-round): New test.
57372 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
57374         Use overflow-error for bignum overflow
57376         This better corresponds to what emacs-26 did in the
57377         rare cases where it checked for integer overflow.
57378         * src/alloc.c (range_error): Remove.
57379         All uses changed to overflow_error.
57380         * src/eval.c (overflow_error): New function.
57382 2018-09-11  Michael Albinus  <michael.albinus@gmx.de>
57384         Precise Secret Service API in auth.texi (Bug#29575)
57386         * doc/misc/auth.texi (Secret Service API): Item labels are not
57387         unique.  Document this.  (Bug#29575)
57389 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
57391         Adjust to TIMESPEC_HZ renaming
57393         Adjust to lib/timespec.h’s renaming of TIMESPEC_RESOLUTION and
57394         LOG10_TIMESPEC_RESOLUTION to TIMESPEC_HZ and
57395         LOG10_TIMESPEC_HZ.  The old names were misnomers.
57396         All uses changed.
57398 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
57400         Update from Gnulib
57402         This incorporates:
57403         2018-09-10 timespec: fix resolution confusion
57404         2018-09-09 mktime: simplify in prep for glibc merge
57405         2018-09-07 intprops: minor clarification of code
57406         2018-09-06 stddef: Override max_align_t on NetBSD 8.0/x86
57407         2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku
57408         2018-09-06 strtoll, strtoull: Rely on limits-h module
57409         2018-09-06 limits-h: Provide numerical limits macros
57410         2018-09-06 fcntl: Don't access nonexistent optional argument
57411         2018-09-02 mktime: fix unlikely race+overflow bug
57412         2018-08-31 mktime, timegm: simplify glibc time64_t
57413         2018-08-31 mktime, timegm: simplify merge to glibc
57414         * build-aux/config.guess, build-aux/config.sub:
57415         * lib/dtotimespec.c, lib/fcntl.c, lib/intprops.h:
57416         * lib/limits.in.h, lib/mktime-internal.h, lib/mktime.c:
57417         * lib/stat-time.h, lib/strtol.c, lib/timegm.c:
57418         * lib/timespec-add.c, lib/timespec-sub.c, lib/timespec.h:
57419         * lib/utimens.c, m4/limits-h.m4, m4/stddef_h.m4:
57420         Copy from Gnulib.
57422 2018-09-10  Glenn Morris  <rgm@gnu.org>
57424         Merge from origin/emacs-26
57426         7efcdf7 (origin/emacs-26) Clarify completion text in the ELisp manual
57427         30b0b0e Fix handling of abbreviated control command in gdb-mi.el
57428         5cf282d Clarify documentation of functions reading character events
57429         96281c5 Record :version for built-in variables while dumping
57430         82160cf * src/process.c (connect_network_socket): Fix memory leak.  (...
57431         6c616e4 * Makefile.in (appdatadir): Use the non-obsolete location "me...
57432         9618e16 Better fix for bug#32550
57433         30d94e4 Fix Bug#32550
57434         57bcdc7 Don't call XGetGeometry for frames without outer X window (Bu...
57435         82fc6b6 * lisp/calculator.el: Fix doc typo.
57436         ddc7c64 Standardize calc bug reporting instructions
57438         Conflicts:
57439                 lisp/cus-start.el
57441 2018-09-10  Glenn Morris  <rgm@gnu.org>
57443         * lisp/thread.el: Remove more useless runtime requires.
57445 2018-09-10  Glenn Morris  <rgm@gnu.org>
57447         Remove useless requires of subr-x at runtime
57449         * lisp/thread.el, lisp/net/nsm.el, lisp/erc/erc.el:
57450         Don't require subr-x at runtime.
57452 2018-09-10  Karl Fogel  <kfogel@red-bean.com>
57454         Fix build error: use string :version in defcustom
57456         * lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Use a
57457           string value for the :version keyword to `defcustom'.  Otherwise,
57458           building Emacs will fail with an error like this:
57460             Scanning ./textmodes for custom
57461             Scanning ./url for custom
57462             Scanning ./vc for custom
57463             Generating ./cus-load.el...
57464             Version must be a string
57465             make[2]: *** [Makefile:152: cus-load.el] Error 255
57467         This follows up to Reuben Thomas's commit 61f3a4b4fc of 10 Sep 2018.
57469 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
57471         Fix misleading name ‘double_to_bignum’
57473         * src/bignum.c (double_to_integer): Rename from double_to_bignum,
57474         since the result is not necessarily a bignum.  All uses changed.
57476 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
57478         * src/charset.c (Fencode_char): Tweak comment.
57480 2018-09-10  Reuben Thomas  <rrt@sc3d.org>
57482         Add flyspell option to ignore duplicates of different case
57484         * lisp/textmodes/flyspell.el (flyspell-case-fold-duplications): Add
57485           option.
57487 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
57489         Avoid compiler warnings due to get_proc_addr
57491         * src/w32common.h (get_proc_addr): Add prototype, to shut up
57492         GCC compilation warning.  Reported by Martin Rudalics
57493         <rudalics@gmx.at>.
57495 2018-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
57497         * src/charset.c (Fencode_char): Explain when/why bignums are used
57499 2018-09-10  Martin Rudalics  <rudalics@gmx.at>
57501         Fix last change of 'run_window_size_change_functions'
57503         * src/window.c (run_window_size_change_functions): Fix two
57504         type mixups in last change.  Reported by Michael Albinus
57505         <michael.albinus@gmx.de> on emacs-devel.
57507 2018-09-10  Martin Rudalics  <rudalics@gmx.at>
57509         Handle buffer-local 'window-size-change-functions' specially (Bug#32637)
57511         * src/window.c (run_window_size_change_functions): Run a
57512         buffer-local value once per each frame and only if at least
57513         one window showing the buffer on that frame has changed its
57514         size.  (Bug#32637)
57515         * doc/lispref/windows.texi (Window Hooks): Describe new
57516         behavior of buffer-local 'window-size-change-functions'.
57518 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57520         Merge branch 'scratch/list-threads'
57522 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57524         Use thread-live-p instead of obsolete thread-alive-p
57526         * lisp/thread.el (thread-list--get-status)
57527         (thread-list--send-signal, thread-list-pop-to-backtrace)
57528         (thread-list-backtrace--revert-hook-function)
57529         (thread-list-backtrace--insert-header): Use thread-live-p instead of
57530         thread-alive-p.
57532 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57534         Improve documentation of thread list buffer
57536         * doc/lispref/threads.texi (The Thread List): Cross-reference
57537         'Basic Thread Functions'.  Use defvar for thread-list-refresh-seconds.
57538         Improve descriptions of the backtrace and signal commands.
57540 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57542         Add tests for list-threads and the *Threads* buffer
57544         * test/lisp/thread-tests.el: New file.
57546 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57548         Add check in list-threads for --without-threads configuration
57550         * lisp/thread.el (list-threads): Signal an error if the Emacs configuration
57551         doesn't have threads.
57553 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57555         Document list-threads and its buffer
57557         * doc/lispref/threads.texi (Threads): Add menu item.
57558         (The Thread List): New node.
57559         * doc/lispref/elisp.texi (Top): Add menu item.
57561 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57563         Show backtraces of threads from thread list buffer
57565         * src/eval.c (backtrace_thread_p, backtrace_thread_top)
57566         (backtrace_thread_next, Fbacktrace_frames_from_thread): New functions.
57567         * lisp/thread.el (thread-list-mode-map): Add keybinding and
57568         menu item for 'thread-list-pop-to-backtrace'.
57569         (thread-list-mode): Make "Thread Name" column wide enough
57570         for the result of printing a thread with no name with 'prin1'.
57571         (thread-list--get-entries): Use 'thread-list--name'.
57572         (thread-list--send-signal): Remove unnecessary calls to 'threadp'.
57573         (thread-list-backtrace--thread): New variable.
57574         (thread-list-pop-to-backtrace): New command.
57575         (thread-list-backtrace--revert-hook-function)
57576         (thread-list--make-backtrace-frame)
57577         (thread-list-backtrace--insert-header, thread-list--name): New
57578         functions.
57580 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57582         Make small fixes to Edebug and debugger documentation
57584         * doc/lispref/elisp.texi (Top): Update menu.
57585         * doc/lispref/edebug.texi (Edebug Misc): Index
57586         edebug-backtrace-show-instrumentation and
57587         edebug-backtrace-hide-instrumentation.
57589 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57591         Make list-threads refresh the *Threads* buffer if it already exists
57593         * lisp/thread.el (list-threads): Call revert-buffer instead of waiting
57594         for the timer function to do it.
57596 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57598         Improve docstrings of thread-list functions
57600         * lisp/thread.el (thread-list--timer-func): Change
57601         argument from 'buf' to 'buffer'.
57602         (thread-list--get-entries, thread-list--get-status): Improve
57603         docstring.
57604         (thread-list--send-signal): Change argument from 'sgnl' to
57605         'signal'.  Tell the user when the thread is no longer alive.
57607 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57609         Make lisp/thread.el the new home for thread-related Lisp functions
57611         * lisp/emacs-lisp/thread-list.el: Remove.
57612         * lisp/emacs-lisp/thread.el: Remove.
57613         * lisp/thread.el: New file.
57615 2018-09-09  Gemini Lasswell  <gazally@runbox.com>
57617         Add list-threads command and thread-list-mode
57619         * lisp/emacs-lisp/thread-list.el: New file.
57621 2018-09-08  Eli Zaretskii  <eliz@gnu.org>
57623         Fix documentation for conversion to bignums
57625         * src/xselect.c (selection_data_to_lisp_data):
57626         * src/w32fns.c (Fw32_read_registry):
57627         * src/process.c (Fprocess_id):
57628         * src/font.c (Ffont_variation_glyphs, Finternal_char_font):
57629         * src/fns.c (Fsafe_length):
57630         * src/editfns.c (Fuser_uid, Fuser_real_uid, Fgroup_gid)
57631         (Fgroup_real_gid, Femacs_pid):
57632         * src/dired.c (Ffile_attributes):
57633         * src/charset.c (Fencode_char): Update commentary and doc
57634         strings for recent changes that produce bignums where
57635         previously cons cells of integers were produced.
57637 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
57639         * src/puresize.h (BASE_PURESIZE): Bump to 2000000.
57641         Needed on Fedora 28 x86.
57643 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
57645         One more GC-aligned struct
57647         * src/lisp.h (struct Lisp_Sub_Char_Table):
57648         Mark this with GCALIGNED_STRUCT, too.
57650 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
57652         Fix overenthusiastic header size check
57654         Problem reported by Eli Zaretskii in:
57655         https://lists.gnu.org/r/emacs-devel/2018-09/msg00222.html
57656         * doc/lispref/internals.texi (Garbage Collection):
57657         Document vector sizes and slot counts more accurately.
57658         * src/lisp.h: Omit header_size sanity check that was too picky.
57659         Add some less-picky checks.
57661 2018-09-07  Eli Zaretskii  <eliz@gnu.org>
57663         Read Windows OS info for report-emacs-bug from Registry
57665         * lisp/w32-fns.el (w32--os-description): New function.
57666         * lisp/mail/emacsbug.el (report-emacs-bug--os-description):
57667         Use 'w32--os-description' instead of launching the
57668         'systeminfo' program, which can be very slow, and is also
57669         missing on versions of Windows before XP Professional.
57671 2018-09-06  Paul Eggert  <eggert@cs.ucla.edu>
57673         Shrink pseudovectors a bit
57675         sizeof (struct Lisp_Marker) was 32 on x86, where 24 would do.
57676         Problem noted by Stefan Monnier in:
57677         https://lists.gnu.org/r/emacs-devel/2018-09/msg00165.html
57678         * src/bignum.h (struct Lisp_Bignum):
57679         * src/frame.h (struct frame):
57680         * src/lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
57681         (struct Lisp_Char_Table, struct Lisp_Hash_Table)
57682         (struct Lisp_Marker, struct Lisp_Overlay)
57683         (struct Lisp_Misc_Ptr, struct Lisp_User_Ptr)
57684         (struct Lisp_Finalizer, struct Lisp_Float)
57685         (struct Lisp_Module_Function):
57686         * src/process.h (struct Lisp_Process):
57687         * src/termhooks.h (struct terminal):
57688         * src/thread.h (struct thread_state, struct Lisp_Mutex)
57689         (struct Lisp_CondVar):
57690         * src/window.c (struct save_window_data):
57691         * src/window.h (struct window):
57692         * src/xterm.h (struct scroll_bar):
57693         * src/xwidget.h (struct xwidget, struct xwidget_view):
57694         Add GCALIGNED_STRUCT attribute.
57695         * src/lisp.h (GCALIGNED_UNION_MEMBER): Renamed from GCALIGNED_UNION.
57696         All uses changed.
57697         (GCALIGNED_STRUCT_MEMBER, GCALIGNED_STRUCT, GCALIGNED): New macros.
57698         All uses of open-coded GCALIGNED changed to use GCALIGNED.
57699         (union vectorlike_header): No longer GC-aligned.
57700         (PSEUDOVECSIZE): Yield 0 for pseudovectors without Lisp
57701         objects that place a member before where the first Lisp object
57702         member would be.
57704 2018-09-06  Michael Albinus  <michael.albinus@gmx.de>
57706         Fix Bug#31704
57708         * lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
57709         let `expand-file-name' prefix remote file names with MS Windows
57710         volume letter.
57712         * lisp/net/tramp.el (tramp-eshell-directory-change):
57713         Use `path-separator' as it does eshell.  (Bug#31704)
57715 2018-09-06  Michael Albinus  <michael.albinus@gmx.de>
57717         * test/lisp/autorevert-tests.el
57719         (auto-revert-test02-auto-revert-deleted-file): Extend test.
57721 2018-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
57723         Fix timer.el minor rounding error
57725         * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
57726         Fix rounding error by using integers rather than floats.
57727         * test/lisp/emacs-lisp/timer-tests.el (timer-test-multiple-of-time):
57728         New test.
57730 2018-09-05  Stephen Gildea  <stepheng+emacs@gildea.com>
57732         Do not call mh-next-msg from mh-junk-process-* fns
57734         * lisp/mh-e/mh-junk.el (mh-junk-process-blacklist, mh-junk-process-whitelist): Do
57735         not call mh-next-msg.  Now that these functions are called from
57736         mh-execute-commands, they should not change the current message pointer.
57737         The calls to mh-next-msg are probably left over from when blacklist and
57738         whitelist message processing was done immediately.
57740 2018-09-05  Paul Eggert  <eggert@cs.ucla.edu>
57742         Improve (round FIXNUM FIXNUM) performance
57744         * src/floatfns.c (rounding_driver):
57745         New arg fixnum_divide.  All callers changed.
57746         (ceiling2, floor2, truncate2, round2): New functions.
57747         Not that new, actually; these are essentially taken from Emacs 26.
57748         (Fceiling, Ffloor, Fround, Ftruncate): Use them.
57750 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
57752         Fix format-time-string bignum bug
57754         The problem can occur on 32-bit platforms with current timestamps.
57755         * src/editfns.c (disassemble_lisp_time, decode_time_components):
57756         Support seconds counts that are bignums.
57757         * test/src/editfns-tests.el (editfns-tests--have-leap-seconds):
57758         New function.
57759         (format-time-string-with-bignum-on-32-bit): New test.
57761 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
57763         Simplify bignum->intmax conversion
57765         * src/lisp.h (integer_to_intmax, integer_to_uintmax): New functions.
57766         * src/data.c (cons_to_unsigned, cons_to_signed)
57767         (arith_driver):
57768         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
57769         * src/dispnew.c (sit_for):
57770         * src/editfns.c (styled_format):
57771         * src/emacs-module.c (module_extract_integer):
57772         * src/fileio.c (file_offset):
57773         * src/font.c (font_unparse_xlfd, Fopen_font):
57774         * src/xdisp.c (calc_line_height_property):
57775         * src/process.c (handle_child_signal):
57777 2018-09-04  Federico Tedin  <federicotedin@gmail.com>
57779         Add variable vc-git-grep-template
57781         * lisp/vc/vc-git.el (vc-git-grep-template): New variable, allows
57782         changing the default arguments passed to git-grep when using
57783         'vc-git-grep'.
57784         * etc/NEWS: Mention 'vc-git-grep-template'.  (Bug#32549)
57786 2018-09-04  Noam Postavsky  <npostavs@gmail.com>
57788         Handle non-error signals in emacsclient --eval (Bug#10989)
57790         * lisp/server.el (server-process-filter): Handle any signal, not just
57791         errors.
57793 2018-09-04  Noam Postavsky  <npostavs@gmail.com>
57795         Allow t as a catch-all condition-case handler (Bug#24618)
57797         * src/eval.c (find_handler_clause): Accept a handler of t as always
57798         matching.
57799         (Fcondition_case):
57800         * doc/lispref/control.texi (Handling Errors): Document this.
57801         * etc/NEWS: Announce it.
57803 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
57805         Fix (round FLOAT BIGNUM) bug
57807         * src/floatfns.c (rounding_driver): Fix bug when one
57808         argument is a float and the other is a bignum.
57809         * test/src/floatfns-tests.el (bignum-round): Test for the bug.
57811 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
57813         Tweak nthcdr for bignum efficiency
57815         * src/fns.c (Fnthcdr): Use mpz_tdiv_ui and mpz_tdiv_r
57816         instead of mpz_mod_ui and mpz_mod, as they are more efficient.
57817         Suggested by Pip Cet in:
57818         https://lists.gnu.org/r/emacs-devel/2018-09/msg00073.html
57820 2018-09-04  Paul Eggert  <eggert@cs.ucla.edu>
57822         Fix bignum initialization
57824         Problem reported by Andy Moreton in:
57825         https://lists.gnu.org/r/emacs-devel/2018-09/msg00072.html
57826         and crystal-ball diagnosis by Eli Zaretskii in:
57827         https://lists.gnu.org/r/emacs-devel/2018-09/msg00075.html
57828         * src/alloc.c (xrealloc_for_gmp, xfree_for_gmp): Move to bignum.c.
57829         (init_alloc): Move bignum initialization to init_bignum.
57830         * src/bignum.c (init_bignum): Rename from init_bignum_once.
57831         All users changed.
57832         * src/emacs.c (main): Call init_bignum after init_alloc,
57833         instead of calling init_bignum_once after init_bignum.
57835 2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>
57837         Speed up (+ 2 2) by a factor of 10
57839         Improve arithmetic performance by avoiding bignums until needed.
57840         Also, simplify bignum memory management, fixing some unlikely leaks.
57841         This patch improved the performance of (+ 2 2) by a factor of ten
57842         on a simple microbenchmark computing (+ x 2), byte-compiled,
57843         with x a local variable initialized to 2 via means the byte
57844         compiler could not predict: performance improved from 135 to 13 ns.
57845         The platform was Fedora 28 x86-64, AMD Phenom II X4 910e.
57846         Performance also improved 0.6% on ‘make compile-always’.
57847         * src/bignum.c (init_bignum_once): New function.
57848         * src/emacs.c (main): Use it.
57849         * src/bignum.c (mpz): New global var.
57850         (make_integer_mpz): Rename from make_integer.  All uses changed.
57851         * src/bignum.c (double_to_bignum, make_bignum_bits)
57852         (make_bignum, make_bigint, make_biguint, make_integer_mpz):
57853         * src/data.c (bignum_arith_driver, Frem, Flogcount, Fash)
57854         (expt_integer, Fadd1, Fsub1, Flognot):
57855         * src/floatfns.c (Fabs, rounding_driver, rounddiv_q):
57856         * src/fns.c (Fnthcdr):
57857         Use mpz rather than mpz_initting and mpz_clearing private
57858         temporaries.
57859         * src/bignum.h (bignum_integer): New function.
57860         * src/data.c (Frem, Fmod, Fash, expt_integer):
57861         * src/floatfns.c (rounding_driver):
57862         Use it to simplify code.
57863         * src/data.c (FIXNUMS_FIT_IN_LONG, free_mpz_value):
57864         Remove.  All uses removed.
57865         (floating_point_op): New function.
57866         (floatop_arith_driver): New function, with much of the guts
57867         of the old float_arith_driver.
57868         (float_arith_driver): Use it.
57869         (floatop_arith_driver, arith_driver):
57870         Simplify by assuming NARGS is at least 2.
57871         All callers changed.
57872         (float_arith_driver):
57873         New arg, containing the partly converted value of the next arg.
57874         Reorder args for consistency.  All uses changed.
57875         (bignum_arith_driver): New function.
57876         (arith_driver): Use it.  Do fixnum-only integer calculations
57877         in intmax_t instead of mpz_t, when they fit.
57878         Break out mpz_t calculations into bignum_arith_driver.
57879         (Fquo): Use floatop_arith_driver instead of float_arith_driver,
57880         since the op is known to be valid.
57881         (Flogcount, Fash): Simplify by coalescing bignum and fixnum code.
57882         (Fadd1, Fsub1): Simplify by using make_int.
57884 2018-09-03  Stephen Berman  <stephen.berman@gmx.net>
57886         Make todo-show work when adding and deleting a new todo file
57888         * lisp/calendar/todo-mode.el (todo-add-file): Since
57889         todo-current-todo-file must be set before calling todo-show, but
57890         the buffer is not yet in todo-mode, which makes it buffer local,
57891         explicitly set it buffer locally (bug#32627).
57893         * test/lisp/calendar/todo-mode-tests.el (todo-test--add-file)
57894         (todo-test--delete-file): New functions.
57895         (todo-test-add-and-delete-file): New test.
57897 2018-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
57899         * src/lisp.h: Add explanation in a comment
57901 2018-09-01  Charles A. Roelli  <charles@aurox.ch>
57903         * src/process.c (send_process): Fix typo in commentary.
57905 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57907         Rename Emacs-specific INFINITY constants
57909         Although these constants were not erroneous, as they were
57910         used only in modules that did not include <math.h>, it's
57911         less confusing to names that cannot be confused with
57912         the now-standard INFINITY macro.
57913         * src/dispextern.h (SCROLL_INFINITY): New constant.
57914         * src/dispnew.c, src/scroll.c (INFINITY):
57915         Remove.  All uses replaced with SCROLL_INFINITY.
57916         * src/process.c (wait_reading_process_output):
57917         Rename private constant.
57919 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57921         Port better to non-IEEE platforms
57923         * src/lread.c (string_to_number) [!IEEE_FLOATING_POINT]:
57924         Do not use the INFINITY macro, since the C standard requires
57925         it to provoke a compile-time error on platforms that do not
57926         support infinities.
57928 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
57930         Mark thread-alive-p as obsolete
57932         * etc/NEWS (thread-alive-p):
57933         * lisp/emacs-lisp/thread.el (thread-alive-p): Mark it as obsolete.
57935         * test/src/thread-tests.el (threads-join-error)
57936         (threads-signal-main-thread): Use `thread-live-p'.
57938 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
57940         Merge from origin/emacs-26
57942         ac7936cb8f Rename thread-alive-p to thread-live-p
57943         3d09d533d1 rcirc: Document /reconnect as a built-in command (Bug#29656)
57944         a1e615618d * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.
57946 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57948         Several fixes for formatting bignums
57950         * src/bignum.c: Include stdlib.h, for abs.
57951         (bignum_bufsize, bignum_to_c_string): New functions.
57952         * src/bignum.c (bignum_to_string):
57953         * src/print.c (print_vectorlike): Use them.
57954         * src/editfns.c (styled_format): Instead of having a separate
57955         buffer for sprintf (which does not work for bignums), just append
57956         to the main buffer.  When formatting bignums, add support for the
57957         standard integer flags -, #, 0, + and space.  Fix some comments.
57958         Capitalize properly when formatting bignums with %X.  Use
57959         functions like c_isdigit rather than reinventing the wheel.
57960         Simplify computation of excess precision.
57961         * src/print.c: Do not include bignum.h; no longer needed.
57962         (print_vectorlike): Avoid recalculating string length.
57963         * test/src/editfns-tests.el (format-bignum):
57964         Test some of the above fixes.
57966 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57968         * src/alloc.c (sweep_vectors): Simplify.
57970 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
57972         Construct a thread_event only if THREADS_ENABLED
57974         * src/thread.c (Fthread_signal): Construct a thread_event only if
57975         THREADS_ENABLED.
57977 2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57979         Fix bignum FIXME in emacs-module.c
57981         * src/emacs-module.c: Do not include bignum.h; no longer needed.
57982         (module_extract_integer): Use bignum_to_intmax to avoid
57983         incorrectly signaling overflow on platforms where intmax_t
57984         is wider than long int.
57986 2018-08-30  Juri Linkov  <juri@linkov.net>
57988         * lisp/vc/vc.el (vc-log-internal-common): Reuse the buffer object.
57990         (Bug#32475)
57992 2018-08-30  Juri Linkov  <juri@linkov.net>
57994         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Carry diff-mode overlays
57996         to inline MIME attachments from the temp buffer along with text properties.
57997         (Bug#32474)
57999 2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58001         Fix off-by-1 typo in recent bignum changes
58003         Problem reported by Yuri D’Elia in:
58004         https://lists.gnu.org/r/emacs-devel/2018-08/msg00977.html
58005         and crucial clue provided by Michael Heerdegen in:
58006         https://lists.gnu.org/r/emacs-devel/2018-08/msg01043.html
58007         * src/font.c (font_unparse_xlfd): Fix off-by-1 typo.
58009 2018-08-30  Michael Albinus  <michael.albinus@gmx.de>
58011         Handle thread-signal towards the main thread  (Bug#32502)
58013         * doc/lispref/threads.texi (Basic Thread Functions):
58014         * etc/NEWS: Document thread-signal towards the main thread.
58016         * lisp/emacs-lisp/thread.el: New package.
58018         * src/keyboard.c (read_char): Check for Qthread_event.
58019         (kbd_buffer_get_event, make_lispy_event): Handle THREAD_EVENT.
58020         (syms_of_keyboard): Declare Qthread_event.
58021         (keys_of_keyboard): Add thread-handle-event to special-event-map.
58023         * src/termhooks.h (enum event_kind): Add THREAD_EVENT.
58025         * src/thread.c: Include "keyboard.h".
58026         (poll_suppress_count) Don't declare extern.
58027         (Fthread_signal): Raise event if THREAD is the main thread.  (Bug#32502)
58029         * test/src/thread-tests.el (thread): Require it.
58030         (threads-signal-main-thread): New test.
58032 2018-08-30  Glenn Morris  <rgm@gnu.org>
58034         * configure.ac: Fix goofs in my recent ImageMagick change.
58036 2018-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58038         Pacify -Wdouble-promotion in ImageMagick code
58040         * src/image.c (imagemagick_load_image): Use double division, and
58041         eliminate a cast.  This avoids a -Wdouble-promotion warning with
58042         GCC 7.3 on Ubuntu 18.04.
58044 2018-08-29  Glenn Morris  <rgm@gnu.org>
58046         Merge from origin/emacs-26
58048         2670cbf (origin/emacs-26) ; * configure.ac: Remove outdated comment (...
58049         3b71bef admin.el: respect environment settings for makeinfo etc
58050         3764ab4 * etc/PROBLEMS: New entry about GTK+ 3 crash with some X serv...
58051         9d61344 Index profiler commands in elisp manual
58052         f088817 Fix math-imaginary-i check
58053         fca935e ; Let pre-commit git hook check merged in changes (Bug#29197)
58054         fe06fcc Avoid infinite hscrolling loops when line numbers are displayed
58055         63e59c8 Avoid crashes in malformed defvar
58056         785682c * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
58057         2695b7e * configure.ac: Doc fixes related to --with-xim.
58058         d0d162c Small checkdoc quoting fix (bug#32546)
58060         Conflicts:
58061                 configure.ac
58063 2018-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
58065         * src/keymap.c: Make better use of access_keymap's functionality
58067         (Flookup_key): Allow `keymap' to be a list of keymaps.
58068         (Fcommand_remapping, Fkey_binding): Simplify accordingly.
58069         (shadow_lookup, describe_map_tree): Simplify.
58071 2018-08-29  Michael Albinus  <michael.albinus@gmx.de>
58073         Improve tramp-convert-file-attributes backward compatibility
58075         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
58076         Use `seconds-to-time' for {access, modification, status change}
58077         time.  Simplify check for inode.
58079         * test/lisp/net/tramp-tests.el (tramp-test22-file-times):
58080         Use `seconds-to-time'.
58082 2018-08-28  Glenn Morris  <rgm@gnu.org>
58084         * lisp/mail/emacsbug.el (report-emacs-bug--os-description): Add BSD.
58086         * lisp/mail/emacsbug.el (report-emacs-bug--os-description):
58087         Add MS Windows.
58089 2018-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58091         Improve (format "%g" bignum) precision
58093         * src/editfns.c (styled_format): When formatting bignums with
58094         floating-point conversions like %g, use long double if that
58095         would lose less information than double, which is what the
58096         code was already doing for fixnums.  On Fedora 28 x86-64, for
58097         example, (format "%.100g" (1- (ash 1 64))) now yields
58098         "18446744073709551615" instead of the numerically incorrect
58099         "18446744073709549568".  Also, fix a stray INTEGERP that
58100         can just be FIXNUMP, since bignums are not possible there.
58102 2018-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58104         Fix Fnatnump typos
58106         Problem reported by Glenn Morris in:
58107         https://lists.gnu.org/r/emacs-devel/2018-08/msg00946.html
58108         * src/floatfns.c (Fexpt):
58109         * src/xselect.c (cons_to_x_long):
58110         Don't assume Lisp_Object values are scalars.
58112 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
58114         Fix a recent change
58116         * src/dispnew.c (sit_for): Don;t treat nil as zero.  Reported
58117         by Glenn Morris <rgm@gnu.org>.
58119 2018-08-28  Michael Albinus  <michael.albinus@gmx.de>
58121         Add bignum support in Tramp
58123         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info):
58124         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info):
58125         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat)
58126         (tramp-do-directory-files-and-attributes-with-stat)
58127         (tramp-sh-handle-file-system-info):
58128         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): Do
58129         not add "e0" to integers.
58131         * lisp/net/tramp-sh.el (tramp-perl-file-attributes)
58132         (tramp-convert-file-attributes): Do not use a consp for the inode
58133         if there is bignum support.
58135 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
58137         Improve bignum support for system types
58139         Use bignums when Emacs converts to and from system types like
58140         off_t for file sizes whose values can exceed fixnum range.
58141         Formerly, Emacs sometimes generted floats and sometimes ad-hoc
58142         conses of integers.  Emacs still accepts floats and conses for
58143         these system types, in case some stray Lisp code is generating
58144         them, though this usage is obsolescent.
58145         * doc/lispref/files.texi (File Attributes):
58146         * doc/lispref/hash.texi (Defining Hash):
58147         * doc/lispref/nonascii.texi (Character Sets):
58148         * doc/lispref/os.texi (User Identification):
58149         * doc/lispref/processes.texi (System Processes):
58150         * etc/NEWS:
58151         Document changes.
58152         * src/bignum.c (mpz_set_uintmax, make_biguint)
58153         (mpz_set_uintmax_slow, bignum_to_intmax, bignum_to_uintmax):
58154         New functions.
58155         (mpz_set_intmax_slow): Implement via mpz_limbs_write,
58156         to avoid the need for an extra pass through a negative number.
58157         * src/charset.c (Fencode_char):
58158         * src/composite.h (LGLYPH_SET_CODE):
58159         * src/dired.c (file_attributes):
58160         * src/dosfns.c, src/w32.c (list_system_processes)
58161         (system_process_attributes):
58162         * src/editfns.c (init_editfns, Fuser_uid, Fuser_real_uid)
58163         (Fgroup_gid, Fgroup_real_gid, Femacs_pid):
58164         * src/emacs-module.c (check_vec_index):
58165         * src/fns.c (Fsafe_length):
58166         * src/process.c (record_deleted_pid, Fprocess_id):
58167         * src/sysdep.c (list_system_processes, system_process_attributes):
58168         * src/xselect.c (x_own_selection, selection_data_to_lisp_data):
58169         * src/xterm.c (set_wm_state):
58170         * src/inotify.c (inotifyevent_to_event, add_watch)
58171         (inotify_callback):
58172         If an integer is out of fixnum range, use a bignum
58173         instead of converting it to a float or a cons of integers.
58174         * src/coding.c (Fdefine_coding_system_internal):
58175         * src/frame.c (frame_windows_min_size)
58176         (x_set_frame_parameters):
58177         * src/fringe.c (Fdefine_fringe_bitmap):
58178         * src/nsterm.m (mouseDown:):
58179         * src/syntax.c (find_defun_start):
58180         * src/w32fns.c (x_set_undecorated, w32_createwindow)
58181         (w32_wnd_proc, Fx_create_frame, Fx_show_tip)
58182         (w32_console_toggle_lock_key):
58183         * src/w32inevt.c (key_event):
58184         * src/w32proc.c (Fw32_get_locale_info):
58185         Do not mishandle floats by treating their addresses as their
58186         values.
58187         * src/data.c (store_symval_forwarding):
58188         * src/gnutls.c (Fgnutls_error_fatalp, Fgnutls_error_string):
58189         * src/keyboard.c (command_loop_1, make_lispy_event):
58190         * src/lread.c (read_filtered_event, read1)
58191         (substitute_object_recurse):
58192         * src/window.c (Fcoordinates_in_window_p, Fwindow_at)
58193         (window_resize_apply, Fset_window_vscroll):
58194         * src/xdisp.c (handle_single_display_spec, try_scrolling)
58195         (redisplay_window, calc_pixel_width_or_height)
58196         (calc_line_height_property, on_hot_spot_p):
58197         * src/xfaces.c (check_lface_attrs):
58198         * src/xselect.c (x_get_local_selection, cons_to_x_long)
58199         (lisp_data_to_selection_data, clean_local_selection_data)
58200         (x_check_property_data, x_fill_property_data):
58201         (x_send_client_event):
58202         Do not reject bignums.
58203         * src/data.c (INTBIG_TO_LISP, intbig_to_lisp)
58204         (uintbig_to_lisp):
58205         Remove.  All uses removed.
58206         * src/data.c (cons_to_unsigned, cons_to_signed):
58207         * src/dbusbind.c (xd_signature, xd_extract_signed)
58208         (xd_extract_unsigned):
58209         * src/dispnew.c (sit_for):
58210         * src/dosfns.c, src/w32.c (system_process_attributes):
58211         * src/editfns.c (Fuser_full_name):
58212         * src/fileio.c (file_offset):
58213         * src/fileio.c (write_region):
58214         * src/font.c (font_unparse_xlfd, font_open_for_lface, Fopen_font):
58215         * src/frame.c (x_set_screen_gamma):
58216         * src/frame.h (NUMVAL, FRAME_PIXEL_X_FROM_CANON_X)
58217         (FRAME_PIXEL_Y_FROM_CANON_Y):
58218         * src/image.c (parse_image_spec, x_edge_detection)
58219         (compute_image_size):
58220         * src/json.c (json_to_lisp):
58221         * src/lcms.c (PARSE_LAB_LIST_FIELD, Flcms_cie_de2000)
58222         (PARSE_XYZ_LIST_FIELD, PARSE_JCH_LIST_FIELD)
58223         (PARSE_JAB_LIST_FIELD, PARSE_VIEW_CONDITION_FLOAT)
58224         (Flcms_temp_to_white_point):
58225         * src/nsimage.m (ns_load_image, setSizeFromSpec):
58226         * src/process.c (Fsignal_process, handle_child_signal):
58227         * src/sysdep.c (system_process_attributes):
58228         * src/xdisp.c (calc_line_height_property):
58229         Handle bignums.
58230         * src/data.c (Fnumber_to_string): Use proper predicate name in
58231         signal if the argument is not a number.
58232         * src/lisp.h (make_uint): New function.
58233         (INT_TO_INTEGER): New macro.
58234         (FIXED_OR_FLOATP, CHECK_FIXNUM_OR_FLOAT)
58235         (CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER, INTEGER_TO_CONS)
58236         (make_fixnum_or_float): Remove; no longer used.
58237         * src/nsfns.m, src/w32fns.c, src/xfns.c (Fx_create_frame):
58238         Reject floating-point min-width or min-height.
58239         * src/process.c (handle_child_signal): Do not worry
58240         about floating-point pids, as they are no longer generated.
58242 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
58244         Modularize bignums better
58246         * src/bignum.c, src/bignum.h: New files.  Only modules that
58247         need to know how bignums are implemented should include
58248         bignum.h.  Currently these are alloc.c, bignum.c (of course),
58249         data.c, emacs.c, emacs-module.c, floatfns.c, fns.c, print.c.
58250         * src/Makefile.in (base_obj): Add bignum.o.
58251         * src/alloc.c (make_bignum_str): Move to bignum.c.
58252         (make_number): Remove; replaced by bignum.c’s make_integer.
58253         All callers changed.
58254         * src/conf_post.h (ARG_NONNULL): New macro.
58255         * src/json.c (json_to_lisp): Use it.
58256         * src/data.c (Fnatnump):
58257         Move NATNUMP’s implementation here from lisp.h.
58258         * src/data.c (Fnumber_to_string):
58259         * src/editfns.c (styled_format):
58260         Move conversion of string to bignum to bignum_to_string, and
58261         call it here.
58262         * src/emacs-module.c (module_make_integer):
58263         * src/floatfns.c (Fabs):
58264         Simplify by using make_int.
58265         * src/emacs.c: Include bignum.h, to expand its inline fns.
58266         * src/floatfns.c (Ffloat): Simplify by using XFLOATINT.
58267         (rounding_driver): Simplify by using double_to_bignum.
58268         (rounddiv_q): Clarify use of temporaries.
58269         * src/lisp.h: Move decls that need to know bignum internals to
58270         bignum.h.  Do not include gmp.h or mini-gmp.h; that is now
58271         bignum.h’s job.
58272         (GMP_NUM_BITS, struct Lisp_Bignum, XBIGNUM, mpz_set_intmax):
58273         Move to bignum.h.
58274         (make_int): New function.
58275         (NATNUMP): Remove; all callers changed to use Fnatnump.
58276         (XFLOATINT): If arg is a bignum, use bignum_to_double, so that
58277         bignum internals are not exposed here.
58278         * src/print.c (print_vectorlike): Use SAFE_ALLOCA to avoid the
58279         need for a record_unwind_protect_ptr.
58281 2018-08-27  Glenn Morris  <rgm@gnu.org>
58283         * configure.ac, src/image.c: Tweak previous ImageMagick change.
58285 2018-08-27  Karl Otness  <karl@karlotness.com>  (tiny change)
58287         Support ImageMagick version 7 (bug#25967)
58289         * configure.ac, src/image.c: Add support for ImageMagick version 7.
58291 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
58293         Update from Gnulib
58295         * build-aux/config.sub, lib/intprops.h, lib/regex_internal.c:
58296         * lib/regex_internal.h, lib/unistd.in.h, m4/limits-h.m4:
58297         * m4/stdint.m4, m4/unistd_h.m4:
58298         Copy from Gnulib.
58299         * lib/gnulib.mk.in: Regenerate.
58301 2018-08-27  Alex Branham  <alex.branham@gmail.com>
58303         New commands bibtex-next/previous-entry (Bug#32378)
58305         * lisp/textmodes/bibtex.el (bibtex-next-entry)
58306         (bibtex-previous-entry): New commands.
58307         (bibtex-mode-map): Bind to to forward-paragraph and
58308         backward-paragraph.  Add to menu under "Moving inside an Entry".
58310 2018-08-27  Noam Postavsky  <npostavs@gmail.com>
58312         shr: Allow skipping tags with aria-hidden (Bug#32348)
58314         * lisp/net/shr.el (shr-discard-aria-hidden): New option.
58315         (shr-descend): Suppress aria-hidden=true tags if it's set.
58316         * doc/misc/eww.texi (Advanced): Document shr-discard-aria-hidden.
58317         * etc/NEWS: Announce it.
58319 2018-08-27  Noam Postavsky  <npostavs@gmail.com>
58321         Allow setf of buffer-modified-p without argument (Bug#21201)
58323         * lisp/emacs-lisp/cl-lib.el (setf buffer-modified-p): Take current
58324         buffer if optional argument BUF is not passed.
58326 2018-08-27  Alan Mackenzie  <acm@muc.de>
58328         CC Mode: Fix syntactic context of BOD sometimes being 'topmost-intro-cont
58330         This happened when the type of the previous function was a struct, etc.,
58331         declaration.
58333         * lisp/progmodes/cc-mode.el (c-guess-basic-syntax CASE 5N): Check here (for
58334         'topmost-intro-cont) that the first opening brace after BOD is the opening
58335         brace preceding the starting point.
58337 2018-08-27  Alan Mackenzie  <acm@muc.de>
58339         c-where-wrt-brace-construct: deal with point following a struct's semicolon.
58341         More precisely, when point is right after the terminating semicolon of a
58342         construct like "struct foo { .... } bar;", the function must return
58343         'at-function-end.
58345         * lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Surround an
58346         existing test for 'at-function-end with an `or' form, the other arm testing
58347         for being after the semicolon above.
58349 2018-08-27  Gemini Lasswell  <gazally@runbox.com>
58351         Fix links in backtraces to work on advised built-ins (Bug#25393)
58353         * lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args): Make
58354         links to the original definition of advised functions.  Handle the
58355         case when the function slot of the backtrace frame contains the
58356         definition of a built-in function.
58358 2018-08-27  Michael Albinus  <michael.albinus@gmx.de>
58360         Bump Tramp version to 2.4.1-pre
58362         * doc/misc/trampver.texi:
58363         * lisp/net/trampver.el: Change version to "2.4.1-pre".
58365         * lisp/net/tramp.el: Add "Package-Requires" header.
58367 2018-08-26  Glenn Morris  <rgm@gnu.org>
58369         Merge from origin/emacs-26
58371         54fb383 (origin/emacs-26) Fix detection of freed emacs_values (Bug#32...
58372         769d0cd ; Fix out-of-tree build for mod-test.so
58373         9a1329e Avoid crashes with very wide TTY frames on MS-Windows
58374         9a613d3 Prevent `modify-file-local-variable-prop-line' from adding ex...
58375         624e7dc Update GNOME bugtracker URLs
58376         51ef6d5 Clarify in the Emacs manual that ChangeLog files are not used
58377         6e08019 Recognize codepage 65001 as a valid encoding
58378         1a350d7 ; * etc/NEWS: Fix format of first lines of some entries.
58379         22d1f53 Avoid compilation warning in nt/addpm.c
58380         7bc9ce7 Fix duplicate custom group names in bibtex.el
58381         a9cf938 Fix outdated text in the Calc manual
58383         Conflicts:
58384                 etc/NEWS
58385                 etc/PROBLEMS
58386                 src/emacs-module.c
58387                 src/gtkutil.c
58388                 src/image.c
58389                 src/xterm.c
58390                 test/Makefile.in
58392 2018-08-26  Eli Zaretskii  <eliz@gnu.org>
58394         Fix a typo in alloc.c
58396         * src/alloc.c (Fmemory_use_counts): The list we return now has
58397         only 7 elements, not 8.  (Bug#32531)
58399 2018-08-26  Alan Mackenzie  <acm@muc.de>
58401         CC Mode: make c-display-defun-name work with a pointer return type.
58403         Fixes bug #32403.
58405         * lisp/progmodes/cc-cmds.el (c-in-function-trailer-p): No longer insist on
58406         c-beginning-of-decl-1 returning 'same.
58407         (c-where-wrt-brace-construct): Tighten up the test for looking at a symbol by
58408         excluding keywords.  When point is after a }, do not return 'at-function-end
58409         for a struct/union/class/...
58410         (c-defun-name-1): Considerably simplify, by amalgamating the two cond arms
58411         which find structs etc., and by using functions like c-forward-declarator
58412         rather than the faulty analysis of the source by hand.
58414 2018-08-26  Stefan Monnier  <monnier@iro.umontreal.ca>
58416         * lisp/net/tramp.el: Add "Version" header.
58418 2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58420         Improve format-seconds accuracy
58422         * doc/lispref/os.texi (Time Parsing): It works with bignums.
58423         * lisp/calendar/time-date.el (format-seconds):
58424         Take the floor so that the resulting arithmetic is exact.
58426 2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58428         Prefer CONSP etc. to XTYPE
58430         * src/nsmenu.m (process_dialog:):
58431         (initFromContents:isQuestion:):
58432         Prefer CONSP (x) to XTYPE (x) == Lisp_Cons,
58433         and similarly for STRINGP (x).
58435 2018-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58437         Improve performance of CONSP, FIXNUMP, etc.
58439         Optimization opportunity noted by Pip Cet in:
58440         https://lists.gnu.org/r/emacs-devel/2018-08/msg00828.html
58441         On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e,
58442         user+system time), this improved ‘make compile-always’
58443         performance by 0.4% and shrank text size by a similar amount.
58444         * src/lisp.h (TAGGEDP, lisp_h_TAGGEDP): New macros and function.
58445         (lisp_h_CONSP, lisp_h_FLOATP, lisp_h_SYMBOLP)
58446         (lisp_h_VECTORLIKEP, make_lisp_ptr, STRINGP): Use them.
58447         (lisp_h_FIXNUMP): Use the same idea that lisp_h_TAGGEDP uses.
58449 2018-08-23  Noam Postavsky  <npostavs@gmail.com>
58451         Detect Chinese sudo password prompts (Bug#31075)
58453         * lisp/comint.el (comint-password-prompt-regexp): Allow text between
58454         the prompt prefix and password equivalent.
58455         * lisp/eshell/esh-mode.el (eshell-password-prompt-regexp): Accept some
58456         unicode alternatives to ":".
58457         * test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
58458         test case.
58460 2018-08-23  Noam Postavsky  <npostavs@gmail.com>
58462         Fix comint-password-prompt-regexp
58464         The change from 2017-12-22 "Support French password prompts in shell"
58465         tried to allow nonbreaking space in addition to whitespace syntax
58466         characters around the colon, but used square brackets which cause "\s"
58467         to be interpreted literally rather than as a backslash construct.
58468         * lisp/comint.el (comint-password-prompt-regexp): Use [[:blank:]]
58469         instead, which also has the benefit of not relying on the major mode's
58470         whitespace syntax setting.
58471         * test/lisp/comint-tests.el (comint-testsuite-password-strings):
58472         Update French localized entry to have a space before the colon, as
58473         reported in Bug#29729.
58475 2018-08-23  Charles A. Roelli  <charles@aurox.ch>
58477         Replace 2 checks in rmailsum.el with 'pos-visible-in-window-p'
58479         * lisp/mail/rmailsum.el (rmail-summary-scroll-msg-up)
58480         (rmail-summary-scroll-msg-down): Use 'pos-visible-in-window-p'
58481         instead of checking the condition by hand.
58483 2018-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
58485         Fix binding error in nnfolder-read-folder
58487         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Fix previous
58488         checkin that left `active' unbound before using it.
58490 2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58492         Prune most-positive-fixnum from Lisp source
58494         I looked through all instances of most-negative-fixnum
58495         and most-positive-fixnum in the Lisp source code, and
58496         when it was easy I removed assumptions that integers
58497         fit in fixnums.  The remaining instances are either
58498         nontrivial to fix, or are inherent to the algorithm.
58499         * lisp/arc-mode.el (archive-l-e): Do not convert to float,
58500         since we have bignums now.  All uses changed.
58501         * lisp/calc/calc.el (math-bignum):
58502         Don’t special-case most-negative-fixnum.
58503         * lisp/calendar/parse-time.el (parse-time-string):
58504         * lisp/emacs-lisp/edebug.el (edebug-read-special):
58505         * lisp/emacs-lisp/package.el (package--remove-hidden):
58506         * lisp/gnus/nnfolder.el (nnfolder-read-folder):
58507         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
58508         * lisp/menu-bar.el (menu-bar-update-buffers):
58509         * lisp/net/rcirc.el (rcirc-handler-317):
58510         * lisp/org/org-agenda.el (org-cmp-ts):
58511         * lisp/window.el (window--resize-child-windows):
58512         Avoid arbitrary limit to most-positive-fixnum or to
58513         most-negative-fixnum.
58514         * lisp/calendar/time-date.el (days-to-time):
58515         * lisp/erc/erc-dcc.el (erc-unpack-int):
58516         Don’t worry about integer overflow.
58517         * lisp/cedet/semantic/wisent/comp.el (wisent-BITS-PER-WORD):
58518         * lisp/gnus/message.el (message-unique-id):
58519         * lisp/org/org-footnote.el (org-footnote-new):
58520         Simplify.
58521         * lisp/erc/erc-dcc.el (erc-most-positive-int-bytes)
58522         (erc-most-positive-int-msb): Remove; no longer needed.
58523         * lisp/net/imap.el (imap-string-to-integer): Remove; unused.
58524         * lisp/org/org-element.el (org-element--cache-generate-key):
58525         Document fixnum limitation.
58527 2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58529         Fix bugs when rounding to bignums
58531         Also, since Emacs historically reported a range error when
58532         rounding operations overflowed, do that consistently for all
58533         bignum overflows.
58534         * doc/lispref/errors.texi (Standard Errors):
58535         * doc/lispref/numbers.texi (Integer Basics): Document range errors.
58536         * src/alloc.c (range_error): Rename from integer_overflow.
58537         All uses changed.
58538         * src/floatfns.c (rounding_driver): When the result of a floating
58539         point rounding operation does not fit into a fixnum, put it
58540         into a bignum instead of always signaling an range error.
58541         * test/src/floatfns-tests.el (divide-extreme-sign):
58542         These tests now return the mathematically-correct answer
58543         instead of signaling an error.
58544         (bignum-round): Check that integers round to themselves.
58546 2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58548         Undo part of previous change
58550         Issue spotted by Pip Cet in:
58551         https://lists.gnu.org/r/emacs-devel/2018-08/msg00758.html
58552         * lisp/vc/vc-hg.el (vc-hg--raw-dirstate-search):
58553         Go back to using eq on flen, since it must be a fixnum.
58555 2018-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58557         Make vc-hg safe for bignums
58559         * lisp/vc/vc-hg.el (vc-hg--raw-dirstate-search):
58560         Use eql, not eq, on integers that could be bignums.
58561         (vc-hg--time-to-integer): Rename from vc-hg--time-to-fixnum.
58562         All uses changed.
58563         (vc-hg-state-fast): Remove test that 32-bit unsigned values
58564         must be fixnums.
58566 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58568         * src/buffer.h (DECODE_POSITION): Remove; unused.
58570 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58572         Add bignum support to floor, ceiling, etc.
58574         Problem reported by Andy Moreton (Bug#32463#35 (d)).
58575         * src/floatfns.c (rounding_driver): Change the signature
58576         of the integer rounder to use mpz_t rather than EMACS_INT.
58577         All uses changed.  Support bignums.
58578         (ceiling2, floor2, truncate2, round2): Remove.
58579         All uses changed to rounddiv_q or to a GMP library function.
58580         (rounddiv_q): New function.
58581         * test/src/floatfns-tests.el (bignum-round): New test.
58583 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58585         Move bignump, fixnump from C to Lisp
58587         * doc/lispref/objects.texi (Integer Type): Mention
58588         most-negative-fixnum and most-positive-fixnum as alternatives
58589         to fixnump and bignump.
58590         * lisp/subr.el (fixnump, bignump): Now written in Lisp.
58591         * src/data.c (Ffixnump, Fbignump): No longer written in C,
58592         as these new functions are not crucial for performance.
58594 2018-08-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
58596         Fix assertion failure when reading 'BIGNUM.'
58598         Problem reported by Stefan Monnier (Bug#32476).
58599         * src/lread.c (string_to_number): Don't pass leading "+"
58600         or trailing "." or junk to make_bignum_str.
58601         * test/src/lread-tests.el (lread-string-to-number-trailing-dot):
58602         New test.
58604 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58606         Audit use of lsh and fix glitches
58608         I audited use of lsh in the Lisp source code, and fixed the
58609         glitches that I found.  While I was at it, I replaced uses of lsh
58610         with ash when either will do.  Replacement is OK when either
58611         argument is known to be nonnegative, or when only the low-order
58612         bits of the result matter, and is a (minor) win since ash is a bit
58613         more solid than lsh nowadays, and is a bit faster.
58614         * lisp/calc/calc-ext.el (math-check-fixnum):
58615         Prefer most-positive-fixnum to (lsh -1 -1).
58616         * lisp/vc/vc-hg.el (vc-hg-state-fast): When testing fixnum width,
58617         prefer (zerop (ash most-positive-fixnum -32)) to (zerop (lsh -1
58618         32)) (Bug#32485#11).
58619         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
58620         Tighten sanity-check for bytecode overflow, by checking that the
58621         result of (ash pc -8) is nonnegative.  Formerly this check was not
58622         needed since lsh was used and the number overflowed differently.
58623         * lisp/net/dns.el (dns-write): Fix some obvious sign typos in
58624         shift counts.  Evidently this part of the code has never been
58625         exercised.
58626         * lisp/progmodes/hideif.el (hif-shiftleft, hif-shiftright):
58627         * lisp/term/common-win.el (x-setup-function-keys):
58628         Simplify.
58629         * admin/unidata/unidata-gen.el, admin/unidata/uvs.el:
58630         * doc/lispref/keymaps.texi, doc/lispref/syntax.texi:
58631         * doc/misc/calc.texi, doc/misc/cl.texi, etc/NEWS.19:
58632         * lisp/arc-mode.el, lisp/calc/calc-bin.el, lisp/calc/calc-comb.el:
58633         * lisp/calc/calc-ext.el, lisp/calc/calc-math.el:
58634         * lisp/cedet/semantic/wisent/comp.el, lisp/composite.el:
58635         * lisp/disp-table.el, lisp/dos-fns.el, lisp/edmacro.el:
58636         * lisp/emacs-lisp/bindat.el, lisp/emacs-lisp/byte-opt.el:
58637         * lisp/emacs-lisp/bytecomp.el, lisp/emacs-lisp/cl-extra.el:
58638         * lisp/erc/erc-dcc.el, lisp/facemenu.el, lisp/gnus/message.el:
58639         * lisp/gnus/nndoc.el, lisp/gnus/nnmaildir.el, lisp/image.el:
58640         * lisp/international/ccl.el, lisp/international/fontset.el:
58641         * lisp/international/mule-cmds.el, lisp/international/mule.el:
58642         * lisp/json.el, lisp/mail/binhex.el, lisp/mail/rmail.el:
58643         * lisp/mail/uudecode.el, lisp/md4.el, lisp/net/dns.el:
58644         * lisp/net/ntlm.el, lisp/net/sasl.el, lisp/net/socks.el:
58645         * lisp/net/tramp.el, lisp/obsolete/levents.el:
58646         * lisp/obsolete/pgg-parse.el, lisp/org/org.el:
58647         * lisp/org/ox-publish.el, lisp/progmodes/cc-defs.el:
58648         * lisp/progmodes/ebnf2ps.el, lisp/progmodes/hideif.el:
58649         * lisp/ps-bdf.el, lisp/ps-print.el, lisp/simple.el:
58650         * lisp/tar-mode.el, lisp/term/common-win.el:
58651         * lisp/term/tty-colors.el, lisp/term/xterm.el, lisp/vc/vc-git.el:
58652         * lisp/vc/vc-hg.el, lisp/x-dnd.el, test/src/data-tests.el:
58653         Prefer ash to lsh when either will do.
58655 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58657         Fix bignum bugs with nth, elt, =
58659         * src/bytecode.c (exec_byte_code): Support bignums
58660         when implementing nth, elt, and =.
58661         * src/lisp.h (SMALL_LIST_LEN_MAX): New constant.
58662         * src/fns.c (Fnthcdr): Use it.
58663         (Felt): Do not reject bignum indexes.
58665 2018-08-21  Glenn Morris  <rgm@gnu.org>
58667         Restore compatibility with Texinfo < 6
58669         * doc/lispref/numbers.texi (Integer Basics, Bitwise Operations):
58670         Don't use Texinfo 6.0's "@sup" command.
58672 2018-08-21  Eli Zaretskii  <eliz@gnu.org>
58674         Improve documentation of 'integer-width'
58676         * etc/NEWS: Minor rewording of the recent addition.
58678         * doc/lispref/numbers.texi (Bitwise Operations): Use @dots{}
58679         for ellipsis.  Improve indexing.
58681 2018-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58683         Avoid libgmp aborts by imposing limits
58685         libgmp calls ‘abort’ when given numbers too big for its
58686         internal data structures.  The numeric limit is large and
58687         platform-dependent; with 64-bit GMP 6.1.2 it is around
58688         2**2**37.  Work around the problem by refusing to call libgmp
58689         functions with arguments that would cause an abort.  With luck
58690         libgmp will have a better way to do this in the future.
58691         Also, introduce a variable integer-width that lets the user
58692         control how large bignums can be.  This currently defaults
58693         to 2**16, i.e., it allows bignums up to 2**2**16.  This
58694         should be enough for ordinary computation, and should
58695         help Emacs to avoid thrashing or hanging.
58696         Problem noted by Pip Cet (Bug#32463#71).
58697         * doc/lispref/numbers.texi, etc/NEWS:
58698         Document recent bignum changes, including this one.
58699         Improve documentation for bitwise operations, in the light
58700         of bignums.
58701         * src/alloc.c (make_number): Enforce integer-width.
58702         (integer_overflow): New function.
58703         (xrealloc_for_gmp, xfree_for_gmp):
58704         Move here from emacs.c, as it's memory allocation.
58705         (init_alloc): Initialize GMP here, rather than in emacs.c.
58706         (integer_width): New var.
58707         * src/data.c (GMP_NLIMBS_MAX, NLIMBS_LIMIT): New constants.
58708         (emacs_mpz_size, emacs_mpz_mul)
58709         (emacs_mpz_mul_2exp, emacs_mpz_pow_ui): New functions.
58710         (arith_driver, Fash, expt_integer): Use them.
58711         (expt_integer): New function, containing integer code
58712         that was out of place in floatfns.c.
58713         (check_bignum_size, xmalloc_for_gmp): Remove.
58714         * src/emacs.c (main): Do not initialize GMP here.
58715         * src/floatfns.c (Fexpt): Use expt_integer, which
58716         now contains integer code moved from here.
58717         * src/lisp.h (GMP_NUMB_BITS): Define if gmp.h doesn’t.
58719 2018-08-21  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
58721         Fix glitches introduced by nthcdr changes
58723         * src/fns.c (Fnthcdr): Fix recently-introduced bug when
58724         nthcdr is supposed to yield a non-nil non-cons.
58725         Reported by Glenn Morris and by Pip Cet here:
58726         https://lists.gnu.org/r/emacs-devel/2018-08/msg00699.html
58727         https://lists.gnu.org/r/emacs-devel/2018-08/msg00708.html
58728         Speed up nthcdr for small N, as suggested by Pip Cet here:
58729         https://lists.gnu.org/r/emacs-devel/2018-08/msg00707.html
58730         * test/src/fns-tests.el (test-nthcdr-simple): New test.
58732 2018-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58734         Speed up (nthcdr N L) when L is circular
58736         Also, fix bug when N is a positive bignum, a problem reported
58737         by Eli Zaretskii and Pip Cet in:
58738         https://lists.gnu.org/r/emacs-devel/2018-08/msg00690.html
58739         * src/fns.c (Fnthcdr): If a cycle is found, reduce the count
58740         modulo the cycle length before continuing.  This reduces the
58741         worst-case cost of (nthcdr N L) from N to min(N, C) where C is
58742         the number of distinct cdrs of L.  Reducing modulo the cycle
58743         length also allows us to do arithmetic with machine words
58744         instead of with GMP.
58745         * test/src/fns-tests.el (test-nthcdr-circular): New test.
58747 2018-08-20  Andy Moreton  <andrewjmoreton@gmail.com>
58749         Define get_proc_addr in Cygwin-w32 build
58751         * src/w32common.h (get_proc_addr, DEF_DLL_FN, LOAD_DLL_FN): Move
58752         definitions here from src/w32.h.
58753         * src/decompress.c [WINDOWSNT]:
58754         * src/gnutls.c [WINDOWSNT]:
58755         * src/image.c [WINDOWSNT]:
58756         * src/json.c [WINDOWSNT]:
58757         * src/lcms.c [WINDOWSNT]:
58758         * src/w32font.c [WINDOWSNT]:
58759         * src/w32uniscribe.c:
58760         * src/xml.c [WINDOWSNT]: Include w32common.h.
58762 2018-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58764         nthcdr now works with bignums
58766         Problem reported by Karl Fogel in:
58767         https://lists.gnu.org/r/emacs-devel/2018-08/msg00671.html
58768         * src/fns.c (Fnthcdr): Support bignum counts.
58770 2018-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58772         Fix expt signedness bug --without-wide-int
58774         Problem reported by Federico in:
58775         https://lists.gnu.org/r/emacs-devel/2018-08/msg00619.html
58776         * src/floatfns.c (Fexpt): Use TYPE_RANGED_FIXNUMP, not
58777         RANGED_FIXNUMP, to fix bug with unsigned comparison on
58778         platforms built --without-wide-int.
58780 2018-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
58782         * lisp/progmodes/cc-mode.el: Add version header
58784 2018-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58786         Add bignum support to expt
58788         Problem and initial solution reported by Andy Moreton in:
58789         https://lists.gnu.org/r/emacs-devel/2018-08/msg00503.html
58790         * doc/lispref/numbers.texi (Math Functions): expt integer
58791         overflow no longer causes truncation; it now signals an error
58792         since bignum overflow is a big deal.
58793         * src/floatfns.c (Fexpt): Support bignum arguments.
58794         * test/src/floatfns-tests.el (bignum-expt): New test.
58796 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58798         Fix bug with ‘mod’ and float+bignum
58800         Problem reported by Andy Moreton in:
58801         https://lists.gnu.org/r/emacs-devel/2018-08/msg00442.html
58802         * src/floatfns.c (fmod_float): Work even if an arg is a bignum.
58803         * test/src/floatfns-tests.el (bignum-mod): New test.
58805 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58807         Update from Gnulib
58809         This incorporates:
58810         2018-08-18 Avoid -Wcast-function-type warnings from casts
58811         * build-aux/config.sub, lib/gettimeofday.c: Copy from Gnulib.
58813 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58815         Tweak integer division
58817         * src/data.c (arith_driver): Reorder to remove unnecessary
58818         FIXNUMP.  Tighten test for whether to convert the divisor from
58819         fixnum to mpz_t.  Simplify.
58821 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58823         Simplify float_arith_driver
58825         * src/data.c (float_arith_driver): Simplify, as we needn’t
58826         worry about that 30-year-old compiler bug any more.
58828 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58830         Minor fixups for intmax_t→mpz_t conversion
58832         * src/alloc.c (mpz_set_intmax_slow): Tighten assertion.
58833         Work even in the unlikely case where libgmp uses nails.
58834         * src/data.c (FIXNUMS_FIT_IN_LONG): New constant.
58835         (arith_driver): Use it to tighten compile-time checks.
58836         * src/lisp.h (mpz_set_intmax): Do not assume that converting
58837         an out-of-range value to ‘long’ is harmless, as it might raise
58838         a signal.  Use simpler expression; compiler can optimize.
58840 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58842         Improve --with-wide-int mpz_t→fixnum conversion
58844         These tuneups and minor simplifications should affect only
58845         platforms with EMACS_INT wider than ‘long’.
58846         * src/alloc.c (make_number): If the number fits in long but
58847         not in fixnum, do not attempt to convert to fixnum again.
58848         Tighten the compile-time check for whether the second attempt
58849         is worth trying, from sizeof (long) < sizeof (EMACS_INT) to
58850         LONG_WIDTH < FIXNUM_BITS.  Do not bother computing the sign of
58851         the value to tighten the bounds for whether to try the second
58852         attempt, as it’s not worth the effort.  Do not call mpz_size,
58853         which is unnecessary since the number of bits is already known
58854         and the loop can iterate over a shift count instead.  Avoid
58855         unnecessary casts.  Use + instead of | where either will do,
58856         as + is typically better for optimization.
58858         Improve mpz_t to fixnum when --with-wide-int
58859         * src/alloc.c (make_number): Avoid undefined behavior
58860         when shifting an EMACS_UINT by more than EMACS_UINT_WIDTH bits.
58861         Check for integer overflow when shifting.
58863 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58865         Improve bignum comparison (Bug#32463#50)
58867         * src/data.c (isnan): Remove, as we can assume C99.
58868         (bignumcompare): Remove, folding its functionality
58869         into arithcompare.
58870         (arithcompare): Compare bignums directly here.
58871         Fix bugs when comparing NaNs to bignums.
58872         When comparing a bignum to a fixnum, just look at the
58873         bignum’s sign, as that’s all that is needed.
58874         Decrease scope of locals when this is easy.
58875         * test/src/data-tests.el (data-tests-bignum): Test bignum vs NaN.
58877 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58879         Document that ‘random’ is limited to fixnums
58881         Problem reported by Pip Cet (Bug#32463#20).
58882         * doc/lispref/numbers.texi (Random Numbers):
58883         * src/fns.c (Frandom): Adjust doc.
58885 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58887         Restore traditional lsh behavior on fixnums
58889         * doc/lispref/numbers.texi (Bitwise Operations): Document that
58890         the traditional (lsh A B) behavior is for fixnums, and that it
58891         is an error if A and B are both negative and A is a bignum.
58892         See Bug#32463.
58893         * lisp/subr.el (lsh): New function, moved here from src/data.c.
58894         * src/data.c (ash_lsh_impl): Remove, moving body into Fash
58895         since it’s the only caller now.
58896         (Fash): Check for out-of-range counts.  If COUNT is zero,
58897         return first argument instead of going through libgmp.  Omit
58898         lsh code since lsh is now done in Lisp.  Add code for shifting
58899         fixnums right, to avoid a round trip through libgmp.
58900         (Flsh): Remove; moved to lisp/subr.el.
58901         * test/lisp/international/ccl-tests.el (shift):
58902         Test for traditional lsh behavior, instead of assuming
58903         lsh is like ash when bignums are present.
58904         * test/src/data-tests.el (data-tests-logand)
58905         (data-tests-logior, data-tests-logxor, data-tests-ash-lsh):
58906         New tests.
58908 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
58910         Avoid compilation warning in w32fns.c
58912         * src/w32fns.c (Fw32_read_registry): Avoid compiler warning
58913         regarding possible use of 'rootkey' without initializing it
58914         first.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
58916 2018-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58918         Improve ‘abs’ performance
58920         * src/floatfns.c (Fabs): Improve performance by not copying
58921         the argument if it would eql the result.  As a minor detail,
58922         don't assume fixnums are two’s complement.
58924 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
58926         Improve documentation of bignums
58928         * etc/NEWS: Enhance the announcement of bignums.
58930         * doc/lispref/numbers.texi (Integer Basics): Add a missing
58931         period.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.
58933 2018-08-17  Andy Moreton  <andrewjmoreton@gmail.com>
58935         Pacify -Wcast-function-type warnings in GCC 8.1
58937         * src/image.c: Move attributes into DEF_DLL_FN call.
58938         * src/dynlib.c (dynlib_addr): Use get_proc_addr.
58939         * src/w32.h: (get_proc_addr): New function.
58940         (LOAD_DLL_FN): Use it.
58941         (DEF_DLL_FN): Allow function attributes after argument
58942         list.  Add function pointer type used by LOAD_DLL_FN.
58943         * src/w32.c (open_process_token, get_token_information)
58944         (lookup_account_sid, get_sid_sub_authority)
58945         (get_sid_sub_authority_count, get_security_info)
58946         (get_file_security, set_file_security)
58947         (set_named_security_info)
58948         (get_security_descriptor_owner, get_security_descriptor_group)
58949         (get_security_descriptor_dacl, is_valid_sid, equal_sid)
58950         (get_length_sid, copy_sid, get_native_system_info)
58951         (get_system_times, create_symbolic_link)
58952         (is_valid_security_descriptor, convert_sd_to_sddl)
58953         (convert_sddl_to_sd, get_adapters_info, reg_open_key_ex_w)
58954         (reg_query_value_ex_w, expand_environment_strings_w)
58955         (init_environment, create_toolhelp32_snapshot)
58956         (process32_first, process32_next, open_thread_token)
58957         (impersonate_self, revert_to_self, get_process_memory_info)
58958         (get_process_working_set_size, global_memory_status)
58959         (global_memory_status_ex, init_winsock)
58960         (maybe_load_unicows_dll, globals_of_w32): Use get_proc_addr.
58961         * src/w32fns.c (setup_w32_kbdhook, Ffile_system_info)
58962         (get_dll_version, w32_reset_stack_overflow_guard)
58963         (w32_backtrace, globals_of_w32fns): Use get_proc_addr.
58964         * src/w32font.c (get_outline_metrics_w, get_text_metrics_w)
58965         (get_glyph_outline_w, get_char_width_32_w): Use get_proc_addr.
58966         * src/w32heap.c (init_heap): Use get_proc_addr.
58967         * src/w32menu.c (globals_of_w32menu): Use get_proc_addr.
58968         * src/w32proc.c (init_timers, sys_kill, w32_compare_strings):
58969         Use get_proc_addr.
58970         * src/w32uniscribe.c (syms_of_w32uniscribe): Use get_proc_addr.
58972 2018-08-17  Allen Li  <darkfeline@felesatra.moe>
58974         Don't include text properties when making autoloads
58976         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
58977         Ignore text properties when finding autoload defs.  Otherwise,
58978         autoload generation is less deterministic, as the exact format of the
58979         generated autoloads depends on whether the files are visited in
58980         Emacs.  (Bug#32395)
58982 2018-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58984         Fix problems with logxor etc. and fixnums
58986         These operations incorrectly treated negative fixnums as
58987         bignums greater than most-positive-fixnum.
58988         * src/alloc.c (mpz_set_intmax_slow): Avoid undefined
58989         behavior if signed unary negation overflows, while
58990         we’re in the neighborhood.
58991         (mpz_set_uintmax_slow): Remove.  All uses removed.
58992         * src/data.c (arith_driver): Treat fixnums as signed, not
58993         unsigned, even for logical operations.
58994         * src/lisp.h (mpz_set_uintmax): Remove.  All uses removed.
58995         * test/src/data-tests.el (data-tests-logand)
58996         (data-tests-logior, data-tests-logxor): New tests.
58998 2018-08-16  Paul Eggert  <eggert@cs.ucla.edu>
59000         Reject outlandishly-wide bignums
59002         Do not allow bignums that are so wide that their log base 2
59003         might not fit into a fixnum, as this will cause problems elsewhere.
59004         We already have a similar limitation for bool-vectors.
59005         * src/emacs.c (check_bignum_size, xmalloc_for_gmp): New function.
59006         (xrealloc_for_gmp): Check for too-large bignum.
59007         (main): Use xmalloc_for_gmp.
59009 2018-08-16  Paul Eggert  <eggert@cs.ucla.edu>
59011         Speed up logcount on bignums
59013         * src/data.c (Flogcount): Speed up by using the mpz equivalent
59014         of ~X instead of -X-1.
59016 2018-08-16  Michael Albinus  <michael.albinus@gmx.de>
59018         Fix Bug#32454
59020         * lisp/files.el (find-alternate-file): Handle the wildcards case.
59021         (Bug#32454)
59023 2018-08-16  Ken Brown  <kbrown@cornell.edu>
59025         Pacify GCC with -Wunused-but-set-variable
59027         * src/unexcw.c (read_exe_header):
59028         (fixup_executable):
59029         (unexec): Specify the "unused" attribute for variables that
59030         are used only in assertions.
59032 2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
59034         EUDC: Add more BBDB >= 3 support
59036         * lisp/net/eudcb-bbdb.el: Declare BBDB >= 3 functions.
59037         (eudc-bbdb-field): Add translation from company to
59038         organization.
59039         (eudc-bbdb-extract-phones, eudc-bbdb-extract-addresses)
59040         (eudc-bbdb-format-record-as-result): Call BBDB >= 3 functions.
59042 2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
59044         EUDC: Remove XEmacs support
59046         * lisp/net/eudc.el (eudc-mode, eudc-install-menu): Remove
59047         XEmacs support.
59048         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode)
59049         (eudc-hotlist-emacs-menu): Likewise.
59050         * lisp/net/eudc-bob.el (eudc-bob-toggle-inline-display)
59051         (eudc-bob-popup-menu, eudc-bob-generic-keymap)
59052         (eudc-bob-sound-keymap, eudc-bob-url-keymap)
59053         (eudc-bob-mail-keymap): Likewise.
59054         * etc/NEWS (EUDC): Mention removal of XEmacs support.
59056 2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
59058         EUDC: Shorten eudc-tools-menu autoload
59060         * lisp/net/eudc.el: Remove XEmacs support from eudc-tools-menu
59061         autoload.
59063 2018-08-15  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
59065         EUDC: Add commentary to eudc-bob.el
59067         * lisp/net/eudc-bob.el: Add commentary.
59069 2018-08-14  Eli Zaretskii  <eliz@gnu.org>
59071         Improve documentation of last change
59073         * lisp/hi-lock.el (hi-lock-set-pattern, hi-lock-face-buffer):
59074         Improve the doc strings.  (Bug#32365)
59076         * etc/NEWS:
59077         * doc/emacs/display.texi (Highlight Interactively): Clarify
59078         wording.
59080 2018-08-14  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
59082         Interactive Highlighting: prefix argument to select subexp
59084         * doc/emacs/display.texi (Highlight Interactively):
59085         * etc/NEWS: Document the change.
59086         * lisp/hi-lock.el (hi-lock-face-buffer, hi-lock-set-pattern): Use
59087         the prefix argument to highlight only the corresponding sub-expression
59088         of the regexp (Bug#32365).
59090 2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59092         Rename --without-mini-gmp to --with-libgmp
59094         * configure.ac (HAVE_GMP): Rename ‘configure’ option from
59095         --without-mini-gmp to --with-libgmp.  All uses changed.
59096         * doc/lispref/numbers.texi (Predicates on Numbers): Large
59097         integers are always available.  Clarify how eq works on them.
59099 2018-08-14  Stephen Berman  <stephen.berman@gmx.net>
59101         Fix last todo-edit-mode change
59103         * lisp/calendar/todo-mode.el (todo-edit-mode): For editing an item
59104         instead of the whole file, the current todo-file must be set from
59105         todo-global-current-todo-file.
59107         * test/lisp/calendar/todo-mode-tests.el (todo-test-current-file-in-edit-mode):
59108         New test.
59110 2018-08-14  Stephen Berman  <stephen.berman@gmx.net>
59112         Fix exiting from editing todo archive file (bug#32437)
59114         * lisp/calendar/todo-mode.el (todo-edit-file): Make the warning
59115         also suitable for Todo Archive mode, and add more space to it.
59116         (todo-edit-quit): On quitting editing an archive file, return to
59117         the Todo Archive mode buffer editing was invoked in.
59118         (todo-check-format): Display a warning instead of a message when
59119         the categories sexp isn't as expected.
59120         (todo-mode-external-set): Remove.
59121         (todo-edit-mode): Set buffer local values of
59122         todo-current-todo-file and todo-categories from the todo or
59123         archive file being edited.
59124         (todo-categories-mode): Set buffer local values of
59125         todo-current-todo-file and todo-categories as before but directly
59126         instead of using superfluous todo-mode-external-set function.
59128         * test/lisp/calendar/todo-mode-tests.el (todo-test-edit-quit): New test.
59130 2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59132         Remove more traces of misc (Bug#32405)
59134         Remove misc-objects-consed and the misc component of
59135         memory-use-count, since misc objects no longer exist.
59136         * doc/lispref/internals.texi, etc/NEWS: Mention this,
59137         and adjust better to recent removal of misc objects.
59138         * src/alloc.c (MEM_TYPE_MISC): Remove; no longer used.
59139         (Fmemory_use_counts): Omit misc count, since miscs
59140         no longer exist.
59141         (misc-objects-consed): Remove.
59143 2018-08-14  Glenn Morris  <rgm@gnu.org>
59145         Merge from origin/emacs-26
59147         34e75c1 Add comment about floating point test
59148         e73e683 Ibuffer: Add toggle ibuffer-do-toggle-lock
59149         12f7116 Ibuffer: Detect correctly the buffers running a process
59151 2018-08-14  Glenn Morris  <rgm@gnu.org>
59153         Merge from origin/emacs-26
59155         614cc65 ; * lisp/simple.el (line-move-visual): Fix typo.
59156         d2ad4ba Do not consider external packages to be removable (Bug#27822)
59157         ec0995c * src/alloc.c: Remove obsolete comments.
59158         ec6f588 Better support utf-8-with-signature and utf-8-hfs in HTML
59159         eb026a8 Don't use -Wabi compiler option
59161 2018-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59163         Port recent changes to older GCC
59165         Problem reported by Glenn Morris in:
59166         https://lists.gnu.org/r/emacs-devel/2018-08/msg00446.html
59167         * src/lisp.h (make_pointer_integer_unsafe):
59168         Port to older GCC.
59170 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
59172         Update doc strings for fixnum constants
59174         * src/data.c (most-positive-fixnum, most-negative-fixnum):
59175         Update doc strings in the light of fixnums.
59177 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
59179         Fix check for unsafe watch descriptor
59181         * src/lisp.h (make_pointer_integer_unsafe): New function.
59182         (make_pointer_integer): Use it.
59183         * src/gfilenotify.c (dir_monitor_callback): Omit redundant eassert.
59184         (Fgfile_add_watch): Signal an error instead of failing an
59185         assertion if the pointer does not work.
59187 2018-08-13  Raimon Grau  <raimonster@gmail.com>
59189         Add uuid as allowed thingatpt symbol (Bug#32372)
59191         * etc/NEWS: Mention changes in thingatpt.el.
59192         * lisp/thingatpt.el (thing-at-point-uuid-regexp): Add regexp for uuid.
59193         (top-level): Add 'bounds-of-thing-at-point' operation for 'uuid'.
59194         * test/lisp/thingatpt-tests.el: Add tests for uuid at point.
59196 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59198         Pacify gcc -Og -Wuninitialized
59200         This addresses the -Og uninitialized variable warnings I ran
59201         into on Fedora 28, which uses 8.1.1 20180712 (Red Hat 8.1.1-5).
59202         It also changes some explicit initializations to UNINIT
59203         when the variable does not actually need to be initialized.
59204         * src/process.c (connect_network_socket):
59205         * src/sysdep.c (system_process_attributes):
59206         * src/xfns.c (x_real_pos_and_offsets):
59207         * src/xterm.c (get_current_wm_state) [USE_XCB]:
59208         Add UNINIT.
59209         * src/editfns.c (tzlookup):
59210         * src/fns.c (Fnconc):
59211         * src/font.c (font_parse_fcname):
59212         * src/frame.c (x_set_frame_parameters):
59213         Prefer UNINIT to explicit initialization.
59215 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59217         * configure.ac (GMP_LIB): Set to -lgmp if --without-mini-gmp.
59219 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59221         Port better to x86 -fexcess-precision=fast
59223         Problem reported by Eli Zaretskii in:
59224         https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
59225         * src/data.c (arithcompare): Work around incompatibility
59226         between gcc -fexcess-precision=fast and the C standard on x86,
59227         by capturing the results of floating-point comparisons before
59228         the excess precision spontaneously decays.  Although this fix
59229         might not work in general, it does work here and is probably
59230         good enough for the platforms we care about.
59232 2018-08-12  Stephen Berman  <stephen.berman@gmx.net>
59234         Update and improve todo-mode item insertion and editing code
59236         * lisp/calendar/todo-mode.el (todo-insert-item--param-key-alist)
59237         (todo-insert-item--keyof, todo-insert-item--this-key)
59238         (todo-insert-item--keys-so-far, todo-insert-item--args)
59239         (todo-insert-item--argleft. todo-insert-item--argsleft)
59240         (todo-insert-item--newargsleft, todo-insert-item--apply-args)
59241         (todo-edit-item--param-key-alist, todo-edit-item--prompt)
59242         (todo-edit-item--date-param-key-alist)
59243         (todo-edit-done-item--param-key-alist): Remove.
59244         (todo-insert-item--next-param): Reimplement to take advantage of
59245         lexical binding.
59246         (todo-insert-item): Adjust to new implementation of the above.
59247         (todo-edit-item--next-key): Incorporate now removed global
59248         variables, adjust signature accordingly, update use of pcase.
59249         (todo-edit-item): Adjust to changed signature of the above.
59251 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59253         Adjust .gdbinit to removal of misc objects
59255         * src/.gdbinit (xtype, xpr): Adjust.
59256         (xmisctype, xmiscfree): Remove.
59258 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59260         Make mini-gmp safe for --enable-gcc-warnings
59262         * configure.ac (GMP_OBJ): When building mini-gmp, compile
59263         mini-gmp-emacs.c, not mini-gmp.c.
59264         * lib-src/etags.c (NDEBUG): Don't attempt to redefine, in
59265         case the builder compiles with -DNDEBUG.
59266         * src/conf_post.h (NDEBUG) [!ENABLE_CHECKING && !NDEBUG]: Define.
59267         This avoids bloat in mini-gmp-emacs.o.
59268         * src/mini-gmp-emacs.c: New file, which pacifies --enable-gcc-warnings.
59270 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59272         Fix typo caught by zsh
59274         * lisp/Makefile.in (compile-clean): Fix typo; missing ";" (Bug#32423).
59276 2018-08-12  João Távora  <joaotavora@gmail.com>
59278         jsonrpc-shutdown's cleanup also kills stderr buffer
59280         * lisp/jsonrpc.el
59281         (Version): Bump to 1.0.6
59282         (jsonrpc-shutdown): Also kill stderr buffer
59284 2018-08-12  João Távora  <joaotavora@gmail.com>
59286         Revert "Make jsonrpc-shutdown a noop if process isn't running"
59288         This reverts commit c580443325a3d071625185876a8f28e04793c625.  It
59289         leads to situations where the sentinel hasn't run yet, which brings
59290         problems if the normal process isn't running, but the stderr
59291         pseudo-process still is.
59293         * lisp/jsonrpc.el (jsonrpc-shutdown): Always enter loop.
59295 2018-08-12  Andreas Schwab  <schwab@linux-m68k.org>
59297         Ensure no padding after union vectorlike_header
59299         Instead of increasing GCALIGNMENT align union vectorlike_header by
59300         adding a Lisp_Object member.
59302         * src/lisp.h (GCALIGNMENT): Revert last change.
59303         (union vectorlike_header): Add align member.
59304         (header_size): Verify the same as sizeof (union
59305         vectorlike_header)
59307 2018-08-12  Andreas Schwab  <schwab@linux-m68k.org>
59309         Avoid padding after union vectorlike_header
59311         The PSEUDOVECTORSIZE macro requires that the first member after union
59312         vectorlike_header has the same offset in all pseudo vector structures.
59314         * src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Use alignment of
59315         Lisp_Object.
59317 2018-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59319         New 'configure' arg --with-mini-gmp
59321         * configure.ac: It lets the builder override default of whether
59322         mini-gmp is used.  Use AC_SEARCH_LIBS as per Autoconf manual.
59324 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59326         Update from Gnulib
59328         This incorporates:
59329         2018-08-11 verify: port 'assume' to traditional tools
59330         * build-aux/config.sub, lib/regcomp.c, lib/verify.h:
59331         Copy from Gnulib.
59332         * lib/gnulib.mk.in: Regenerate.
59334 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59336         Remove stray union Lisp_Misc doc (Bug#32405#35).
59338 2018-08-11  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
59340         Simplify mark_object for pseudovectors
59342         Suggested by Pip Cet (Bug#32405#14).
59343         * src/alloc.c (mark_object): Remove unnecessary special cases for
59344         PVEC_MARKER, PVEC_BOOL_VECTOR, PVEC_MISC_PTR, PVEC_USER_PTR, and
59345         PVEC_FINALIZER.
59347         change is to free up an enum Lisp_Type tag value, a scarce
59349 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59351         Turn misc objects into pseudovectors
59353         Eliminate the category of miscellaneous objects, and turn all
59354         such objects into pseudovectors.  The immediate motivation
59355         for this change is to free up an enum Lisp_Type tag value, a
59356         scarce resource that can be better used elsewhere.  However,
59357         this change is worthwhile in its own right, as it improves
59358         performance slightly on my platform, 0.3% faster for 'make
59359         compile-always' on Fedora 28, and it simplifies the garbage
59360         collector and interpreter (Bug#32405).
59361         * doc/lispref/internals.texi (Garbage Collection):
59362         * etc/NEWS:
59363         Document change to garbage-collect return value.
59364         * src/alloc.c (total_markers, total_free_markers):
59365         (union aligned_Lisp_Misc, MARKER_BLOCK_SIZE)
59366         (struct marker_block, marker_block, marker_block_index)
59367         (misc_free_list, allocate_misc, live_misc_holding)
59368         (live_misc_p, sweep_misc):
59369         * src/lisp.h (lisp_h_MARKERP, lisp_h_MISCP, MARKERP, MISCP)
59370         (Lisp_Misc, enum Lisp_Misc_Type, Lisp_Misc_Free)
59371         (Lisp_Misc_Marker, Lisp_Misc_Overlay, Lisp_Misc_Finalizer)
59372         (Lisp_Misc_Ptr, Lisp_Misc_User_Ptr, Lisp_Misc_Limit)
59373         (Lisp_Misc_Bignum)
59374         (XSETMISC, struct Lisp_Misc_Any, XMISCANY, XMISCTYPE)
59375         (struct Lisp_Free, union Lisp_Misc, XMISC):
59376         Remove.  All uses removed.
59377         (cleanup_vector): Clean up objects that were formerly misc
59378         and are now pseudovectors.
59379         (make_misc_ptr, build_overlay, Fmake_marker, build_marker)
59380         (make_bignum_str, make_number, make_pure_bignum)
59381         (make_user_ptr, Fmake_finalizer):
59382         Build as pseudovectors, not as misc objects.
59383         (mark_finalizer_list, queue_doomed_finalizers)
59384         (compact_undo_list, mark_overlay, mark_object)
59385         (unchain_dead_markers):
59386         Mark as vector-like objects, not as misc objects.
59387         (mark_maybe_object, mark_maybe_pointer, valid_lisp_object_p)
59388         (total_bytes_of_live_objects, survives_gc_p):
59389         * src/fns.c (sxhash):
59390         No need to worry about misc objects.
59391         (garbage_collect_1): Do not generate a 'misc' component.
59392         (syms_of_alloc): No need for 'misc' symbol.
59393         * src/buffer.c (overlays_at, overlays_in, overlay_touches_p)
59394         (overlay_strings, recenter_overlay_lists)
59395         (fix_start_end_in_overlays, fix_overlays_before)
59396         (Foverlay_lists, report_overlay_modification)
59397         (evaporate_overlays):
59398         * src/editfns.c (overlays_around):
59399         * src/data.c (Ftype_of):
59400         * src/fns.c (internal_equal):
59401         * src/lisp.h (mint_ptrp, xmint_pointer, FINALIZERP)
59402         (XFINALIZER, MARKERP, XMARKER, OVERLAYP, XOVERLAY, USER_PTRP)
59403         (XUSER_PTR, BIGNUMP, XBIGNUM):
59404         * src/print.c (print_vectorlike, print_object):
59405         * src/undo.c (record_marker_adjustments):
59406         * src/xdisp.c (load_overlay_strings):
59407         Formerly misc objects are now pseudovectors.
59408         * src/lisp.h (PVEC_MARKER, PVEC_OVERLAY, PVEC_FINALIZER)
59409         (PVEC_BIGNUM, PVEC_MISC_PTR, PVEC_USER_PTR):
59410         New constants, replacing their misc versions.  All uses changed.
59411         (struct Lisp_Marker, struct Lisp_Overlay, struct Lisp_Misc_Ptr)
59412         (struct Lisp_Bignum, struct Lisp_User_Ptr, struct Lisp_Finalizer):
59413         Make usable as a pseudovector by using a pseudovector header,
59414         replacing any DIY components, and putting Lisp_Object members
59415         first.  All uses changed.
59417 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59419         Pacify Oracle Studio 12.6
59421         * src/xfns.c (Fx_frame_restack):
59422         * src/xterm.c (x_io_error_quitter): Omit unreachable code.
59424 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59426         Reject old libgmp that lack mpz_roinit_n
59428         * configure.ac (HAVE_GMP): Port to RHEL 6.9, which has
59429         libgmp 3.5, which predates mpz_roinit_n.
59431 2018-08-11  Tom Tromey  <tom@tromey.com>
59433         Merge branch 'feature/bignum'
59435 2018-08-11  Michael Albinus  <michael.albinus@gmx.de>
59437         Fix Bug#32226, hopefully
59439         * test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
59441 2018-08-11  João Távora  <joaotavora@gmail.com>
59443         Fix blunder in last commit for lisp/jsonrpc.el
59445         * lisp/jsonrpc.el (jsonrpc-shutdown): Use jsonrpc--process.
59447 2018-08-11  João Távora  <joaotavora@gmail.com>
59449         Add option to cleanup buffers to jsonrpc-shutdown
59451         * lisp/jsonrpc.el (Version): Bump to 1.0.5
59452         (jsonrpc-shutdown): Add an option to cleanup process buffer.
59454 2018-08-11  João Távora  <joaotavora@gmail.com>
59456         * lisp/jsonrpc.el (jsonrpc-request): Clarify comment.
59458 2018-08-11  João Távora  <joaotavora@gmail.com>
59460         Make jsonrpc-shutdown a noop if process isn't running
59462         * lisp/jsonrpc.el
59463         (Version): Bump to 1.0.4
59464         (jsonrpc-shutdown): Noop if server isn't running.
59466 2018-08-11  Andy Moreton  <andrewjmoreton@gmail.com>
59468         Avoid calling vc backend if 'vc-display-status' is nil
59470         * lisp/vc/vc-hooks.el (vc-mode-line): Avoid calling VC backend if
59471         'vc-display-status' is nil.  (Bug#32225)
59473 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
59475         Give auto-save-no-message a proper version attribute
59477         * lisp/cus-start.el (standard): Give 'auto-save-no-message' the
59478         proper version attribute.  (Bug#31039)
59480 2018-08-11  Federico Tedin  <federicotedin@gmail.com>
59482         Add variable auto-save-no-message
59484         * src/keyboard.c (auto-save-no-message): New variable, allows
59485         suppressing auto-saving message.
59486         * lisp/cus-start.el (standard): Add 'auto-save-no-message' variable.
59487         * doc/emacs/files.texi (Auto Save): Document 'auto-save-no-message'.
59488         * etc/NEWS: Mention 'auto-save-no-message'.  (Bug#31039)
59490 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
59492         Reinstate the 'tis620-2533' character set
59494         This is a partial revert of "Make 'tis620-2533' character set be an
59495         alias for 'thai-iso8859-11'" commit from Jul 28, 2018.
59496         * lisp/international/mule-conf.el (tis620-2533): No longer an
59497         alias for thai-iso8859-11.  Instead, reinstate the original
59498         definition of tis620-2533, but without eight-bit-control in
59499         the :superset attribute.  For the details, see
59500         https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00117.html
59501         and the surrounding discussions.
59502         * lisp/international/fontset.el (font-encoding-alist)
59503         (font-encoding-charset-alist): Reinstate tis620-2533 charset.
59504         * lisp/language/thai.el (thai-tis620): Restore the original
59505         :charset-list.
59506         ("Thai"): Restore the original nonascii-translation.
59507         * lisp/w32-fns.el: Use tis620-2533 instead of thai-iso8859-11.
59509 2018-08-11  Michael Albinus  <michael.albinus@gmx.de>
59511         Editorial changes in tramp.texi
59513         * doc/misc/tramp.texi (Bug Reports): Tramp buffers shall be
59514         appended as attachments to bug reports.
59515         (Frequently Asked Questions): New item, determining remote buffers.
59517 2018-08-11  Nikolaus Rath  <Nikolaus@rath.org>
59519         Make nnimap support IMAP namespaces
59521         * lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduce new
59522         server variable.
59523         (nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group
59524         names to Gnus group name by stripping / prefixing personal
59525         namespace prefix.
59526         (nnimap-open-connection-1): Ask server for namespaces and store
59527         them.
59529         * lisp/gnus/nnimap.el (nnimap-request-group-scan)
59530         (nnimap-request-create-group, nnimap-request-delete-group)
59531         (nnimap-request-rename-group, nnimap-request-move-article)
59532         (nnimap-process-expiry-targets)
59533         (nnimap-request-update-group-status)
59534         (nnimap-request-accept-article, nnimap-request-list)
59535         (nnimap-retrieve-group-data-early, nnimap-change-group)
59536         (nnimap-split-incoming-mail): Use nnimap-group-to-imap.
59537         (nnimap-group-to-imap): New function to map Gnus group names to
59538         IMAP folder names.  (Bug#21057)
59540 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
59542         Improve error message when Hunspell dictionaries are misconfigured
59544         * lisp/textmodes/ispell.el
59545         (ispell-find-hunspell-dictionaries): Produce a meaningful
59546         error message if Hunspell dictionaries are misconfigured.
59547         (Bug#32319)
59549 2018-08-10  Glenn Morris  <rgm@gnu.org>
59551         Merge from origin/emacs-26
59553         71c92d8 Fix copying text properties by 'format'
59554         96be6b6 Improve error messages regarding initial-buffer-choice (Bug#2...
59555         00fb127 * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01):...
59557         Conflicts:
59558                 lisp/startup.el
59560 2018-08-10  Glenn Morris  <rgm@gnu.org>
59562         Merge from origin/emacs-26
59564         5afbf62 Fix emacsclient check for term.el buffer (Bug#21041)
59565         5132a58 Improve documentation of 'set-fontset-font'
59566         cd90325 Improve documentation of M-?
59567         155a885 Reinterpret Esperanto characters in iso-transl as iso-8859-3.
59568         a0ef733 Fix Flyspell mode when several languages are mixed in a buffer
59570 2018-08-10  Michael Albinus  <michael.albinus@gmx.de>
59572         Another try to fix Bug#32226
59574         * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
59575         (shadow-test07-regexp-groups, shadow-test08-shadow-todo)
59576         (shadow-test09-shadow-copy-files): Use `set-visited-file-name'
59577         instead of setting the value in `buffer-file-name' directly.
59578         (Bug#32226)
59580 2018-08-09  João Távora  <joaotavora@gmail.com>
59582         Allow completely disabling event logging in jsonrpc.el
59584         Pretty printing the event sexp can be very slow when very big messages
59585         are involved.
59587         * lisp/jsonrpc.el (Version): Bump to 1.0.3
59588         (jsonrpc-connection): Tweak docstring for
59589         jsonrpc--event-buffer-scrollback-size.
59590         (jsonrpc--log-event): Only log if max size is positive.
59592 2018-08-09  Tom Tromey  <tom@tromey.com>
59594         Fix up for bignums after merge from trunk
59596         * src/character.c (char_width): Use XFIXNUM.
59597         * src/editfns.c (styled_format): Use XFIXNUM, XUFIXNUM.
59598         * src/fns.c (Fproper_list_p): Use make_fixnum.
59600 2018-08-09  Tom Tromey  <tom@tromey.com>
59602         Merge remote-tracking branch 'origin/master' into feature/bignum
59604 2018-08-09  Tom Tromey  <tom@tromey.com>
59606         Use mpz_sgn rather than comparisons against 0
59608         * src/data.c (Fmod): Use mpz_sgn.
59609         * src/lisp.h (NATNUMP): Use mpz_sgn.
59611 2018-08-09  Andy Moreton  <andrewjmoreton@gmail.com>
59613         Do not use GMP_NUMB_BITS
59615         * src/alloc.c (make_number): Use mp_bits_per_limb, not GMP_NUMB_BITS.
59617 2018-08-09  Charles A. Roelli  <charles@aurox.ch>
59619         Update src/{ns,mac}*.m to use bignum-compatible macros
59621         * src/nsterm.m:
59622         * src/nsselect.m:
59623         * src/nsmenu.m:
59624         * src/nsimage.m:
59625         * src/nsfont.m:
59626         * src/nsfns.m:
59627         * src/macfont.m: Replace
59628         "make_number"           -> "make_fixnum",
59629         "XINT"                  -> "XFIXNUM",
59630         "XFASTINT"              -> "XFIXNAT",
59631         "TYPE_RANGED_INTEGERP"  -> "TYPE_RANGED_FIXNUMP",
59632         "RANGED_INTEGERP"       -> "RANGED_FIXNUMP",
59633         "CHECK_NATNUM"          -> "CHECK_FIXNAT",
59634         "CHECK_NUMBER"          -> "CHECK_FIXNUM",
59635         "INTEGERP"              -> "FIXNUMP",
59636         "NUMBERP"               -> "FIXED_OR_FLOATP",
59637         as done in the following changes:
59638         2018-07-06 Rename integerp->fixnum, etc, in preparation
59639         for bignums (42fe787b)
59640         2018-08-07 More macro renamings for bignum (d1ec3a0a)
59642 2018-08-09  Michael Albinus  <michael.albinus@gmx.de>
59644         Fix Bug#32304
59646         * test/lisp/net/tramp-tests.el (tramp-test45-unload):
59647         Handle tramp-archive autoloaded objects.  Remove tag :unstable.
59649 2018-08-09  João Távora  <joaotavora@gmail.com>
59651         Trim JSONRPC events buffer when it's too large
59653         * lisp/jsonrpc.el (Version): Bump to 1.0.2
59654         (jsonrpc--events-buffer-scrollback-size): New
59655         jsonrpc-connection slot.
59656         (jsonrpc--log-event): Use it to trim buffer.
59658 2018-08-09  João Távora  <joaotavora@gmail.com>
59660         Synchronous JSONRPC requests can be cancelled on user input
59662         This allows building more responsive interfaces, such as a snappier
59663         completion backend.
59665         * lisp/jsonrpc.el (Version): Bump to 1.0.1
59666         (jsonrpc-connection-receive): Don't warn when continuation isn't
59667         found.
59668         (jsonrpc-request): Add parameters CANCEL-ON-INPUT and
59669         CANCEL-ON-INPUT-RETVAL.
59671 2018-08-08  Paul Eggert  <eggert@cs.ucla.edu>
59673         Minor pseudovector allocation cleanups
59675         * src/alloc.c (VECTOR_BLOCK_SIZE, VECTOR_BLOCK_BYTES)
59676         (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX):
59677         Prefer enums to macros where either will do.
59678         (allocate_vector_from_block): Arg is ptrdiff_t, not size_t.
59679         Use eassume instead of eassert.
59680         (PSEUDOVEC_STRUCT): New macro, which verifies the already-existing
59681         assumption that the vector-like objects are small.
59682         (cleanup_vector): Use it.  Use if-then-else systematically;
59683         this lets GCC do a bit better job.
59685         2018-08-08  Paul Eggert  <eggert@cs.ucla.edu>
59687         * src/alloc.c (VBLOCK_BYTES_MAX): Use vroundup_ct, not
59688         vroundup, so that can be used in static assertions.
59690 2018-08-08  Tom Tromey  <tom@tromey.com>
59692         Fix mod-test-sum-test for bignums
59694         * test/src/emacs-module-tests.el (mod-test-sum-test): Update
59695         for bignums.
59697 2018-08-08  Tom Tromey  <tom@tromey.com>
59699         Handle leading "+" when converting string to bignum
59701         * src/lread.c (string_to_number): Skip leading "+" when calling
59702         make_bignum_str.
59704 2018-08-08  Tom Tromey  <tom@tromey.com>
59706         Use mpz_import in mpz_set_uintmax_slow
59708         * src/alloc.c (mpz_set_uintmax_slow): Use mpz_import.
59710 2018-08-08  Tom Tromey  <tom@tromey.com>
59712         Make purecopy work for bignums
59714         * src/alloc.c (make_pure_bignum): New function.
59715         (purecopy): Use it.
59717 2018-08-08  Michael Albinus  <michael.albinus@gmx.de>
59719         Fix problems in tramp-tests
59721         * test/lisp/net/tramp-tests.el (tramp-test45-unload): Filter out
59722         tramp-archive objects.  (Bug#32304)
59724         * test/lisp/net/tramp-tests.el (tramp-test43-auto-load):
59725         Add skip condition.  (Bug#32304)
59726         (tramp-test43-unload): Tag as :unstable.
59728 2018-08-08  Michael Albinus  <michael.albinus@gmx.de>
59730         Filter out tramp-archive objects in tramp-test45-unload
59732         * test/lisp/net/tramp-tests.el (tramp-test45-unload): Filter out
59733         tramp-archive objects.  (Bug#32304)
59735 2018-08-08  Michael Albinus  <michael.albinus@gmx.de>
59737         Tag expensive tests in tramp-archive.el  (Bug#30807)
59739         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test44-auto-load)
59740         (tramp-archive-test44-delay-load): Rename.
59741         (tramp-archive-test07-file-exists-p)
59742         (tramp-archive-test08-file-local-copy)
59743         (tramp-archive-test09-insert-file-contents)
59744         (tramp-archive-test11-copy-file)
59745         (tramp-archive-test15-copy-directory)
59746         (tramp-archive-test16-directory-files)
59747         (tramp-archive-test17-insert-directory)
59748         (tramp-archive-test18-file-attributes)
59749         (tramp-archive-test19-directory-files-and-attributes)
59750         (tramp-archive-test20-file-modes)
59751         (tramp-archive-test21-file-links)
59752         (tramp-archive-test26-file-name-completion)
59753         (tramp-archive-test44-auto-load)
59754         (tramp-archive-test44-delay-load): Tag them as :expensive-test,
59755         because they run longer than 10 seconds.  (Bug#30807)
59757 2018-08-07  Tom Tromey  <tom@tromey.com>
59759         More macro renamings for bignum
59761         * src/alloc.c, src/bidi.c, src/buffer.c, src/buffer.h, src/bytecode.c,
59762         src/callint.c, src/callproc.c, src/casefiddle.c, src/casetab.c,
59763         src/category.c, src/ccl.c, src/character.c, src/character.h,
59764         src/charset.c, src/charset.h, src/chartab.c, src/cmds.c, src/coding.c,
59765         src/composite.c, src/composite.h, src/data.c, src/dbusbind.c,
59766         src/decompress.c, src/dired.c, src/dispextern.h, src/dispnew.c,
59767         src/disptab.h, src/doc.c, src/dosfns.c, src/editfns.c,
59768         src/emacs-module.c, src/emacs.c, src/eval.c, src/fileio.c,
59769         src/floatfns.c, src/fns.c, src/font.c, src/font.h, src/fontset.c,
59770         src/frame.c, src/frame.h, src/fringe.c, src/ftcrfont.c, src/ftfont.c,
59771         src/gfilenotify.c, src/gnutls.c, src/gtkutil.c, src/image.c,
59772         src/indent.c, src/insdel.c, src/intervals.c, src/json.c,
59773         src/keyboard.c, src/keymap.c, src/kqueue.c, src/lcms.c, src/lisp.h,
59774         src/lread.c, src/macros.c, src/marker.c, src/menu.c, src/minibuf.c,
59775         src/msdos.c, src/print.c, src/process.c, src/profiler.c, src/search.c,
59776         src/sound.c, src/syntax.c, src/syntax.h, src/sysdep.c, src/term.c,
59777         src/termhooks.h, src/textprop.c, src/undo.c, src/w32.c,
59778         src/w32console.c, src/w32fns.c, src/w32font.c, src/w32inevt.c,
59779         src/w32proc.c, src/w32select.c, src/w32term.c, src/w32term.h,
59780         src/w32uniscribe.c, src/window.c, src/xdisp.c, src/xfaces.c,
59781         src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c, src/xml.c,
59782         src/xrdb.c, src/xselect.c, src/xsettings.c, src/xterm.c, src/xwidget.c
59783         Rename XINT->XFIXNUM, XFASTINT->XFIXNAT, XUINT->XUFIXNUM.
59785 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
59787         Avoid segfaults in jason-serialize on MS-Windows
59789         * src/json.c (Fjson_serialize): Free the string with
59790         'json_free', not 'free', since it was allocated with
59791         'json_malloc'.  (Bug#32381)
59793 2018-08-06  Stephen Berman  <stephen.berman@gmx.net>
59795         Fix todo-mode bug involving active region (bug#32379)
59797         * lisp/calendar/todo-mode.el (todo-forward-category)
59798         (todo-jump-to-category, todo-toggle-view-done-items)
59799         (todo-toggle-view-done-only, todo-edit-quit, todo-search)
59800         (todo-go-to-source-item, todo-diary-goto-entry): Deactivate the
59801         mark when the region is active.
59803 2018-08-06  Stephen Berman  <stephen.berman@gmx.net>
59805         Correct and improve part of previous todo-mode.el fix
59807         * lisp/calendar/todo-mode.el (todo-jump-to-category): Improve code
59808         by using bound-and-true-p.  This leaves a byte-compiler warning
59809         unsilenced, but ideally, there shouldn't be a warning here (see
59810         https://lists.gnu.org/r/emacs-devel/2018-08/msg00131.html).
59811         (todo--fifiles-history): New variable.
59812         (todo-find-filtered-items-file): Use it to fix the filtered items
59813         files history list for completing-read.
59815 2018-08-06  Eli Zaretskii  <eliz@gnu.org>
59817         Fix the MS-Windows build as followup to Gnulib regex import
59819         * lib-src/ntlib.c (nl_langinfo): New function.  (Bug#32194)
59821 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59823         Spruce up some regex-emacs comments
59825         * src/regex-emacs.c, src/regex-emacs.h: Update comments.
59827 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59829         Remove always-0 struct re_pattern_buffer members
59831         * src/regex-emacs.h (struct re_pattern_buffer):
59832         Remove no_sub, not_bol, not_eol.  They are always zero.
59833         All uses removed, and code simplified.
59835 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59837         Simplify regex-emacs by assuming Emacs syntax
59839         * src/regex-emacs.c (reg_syntax_t)
59840         (RE_BACKSLASH_ESCAPE_IN_LISTS, RE_BK_PLUS_QM)
59841         (RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS)
59842         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS)
59843         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE)
59844         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT)
59845         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS)
59846         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES)
59847         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING)
59848         (RE_NO_GNU_OPS, RE_FRUGAL, RE_SHY_GROUPS)
59849         (RE_NO_NEWLINE_ANCHOR, RE_SYNTAX_EMACS, RE_TRANSLATE_P):
59850         Remove.  All uses removed and resulting code simplified.
59851         (TRANSLATE): Treat nil as an absent translation table, not zero.
59852         All uses changed.
59854 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59856         Simplify regex-emacs code by assuming Emacs
59858         * src/regex-emacs.c: Omit no-longer-needed AIX code.
59859         Don’t ignore GCC warnings.
59860         Include regex-emacs.h immediately after config.h,
59861         to test that it’s independent.
59862         Omit the "#ifndef emacs" and "#ifdef REGEX_MALLOC" and
59863         "#if WIDE_CHAR_SUPPORT" or "#ifdef _REGEX_RE_COMP",
59864         code, as we are no longer interested in compiling outside
59865         Emacs (with or without debugging or native wide char support)
59866         or in avoiding alloca.
59867         (REGEX_EMACS_DEBUG, regex_emacs_debug): Rename from DEBUG and debug,
59868         to avoid collision with other DEBUGS.  All uses changed.
59869         In debugging output, change %ld and %zd to %zu when appropriate.
59870         No need to include stddef.h, stdlib.h, sys/types.h, wchar.h,
59871         wctype.h, locale/localeinfo.h, locale/elem-hash.h, langinfo.h,
59872         libintl.h, unistd.h, stdbool.h, string.h, stdio.h, assert.h.
59873         All uses of assert changed to eassert.
59874         (RE_DUP_MAX, reg_syntax_t, RE_BACKSLASH_ESCAPE_IN_LISTS)
59875         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS)
59876         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS, RE_DOT_NEWLINE)
59877         (RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE, RE_INTERVALS)
59878         (RE_LIMITED_OPS, RE_NEWLINE_ALT, RE_NO_BK_BRACES)
59879         (RE_NO_BK_PARENS, RE_NO_BK_REFS, RE_NO_BK_VBAR)
59880         (RE_NO_EMPTY_RANGES, RE_UNMATCHED_RIGHT_PAREN_ORD)
59881         (RE_NO_POSIX_BACKTRACKING, RE_NO_GNU_OPS, RE_FRUGAL)
59882         (RE_SHY_GROUPS, RE_NO_NEWLINE_ANCHOR, RE_SYNTAX_EMACS)
59883         (REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE)
59884         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN)
59885         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT)
59886         (REG_EEND, REG_ESIZE, REG_ERPAREN, REG_ERANGEX, REG_ESIZEBR)
59887         (reg_errcode_t, REGS_UNALLOCATED, REGS_REALLOCATE, REGS_FIXED)
59888         (RE_NREGS, RE_TRANSLATE, RE_TRANSLATE_P):
59889         Move here from regex-emacs.h.
59890         (RE_NREGS): Define unconditionally.
59891         (boolean): Remove.  All uses replaced by bool.
59892         (WIDE_CHAR_SUPPORT, regfree, regexec, regcomp, regerror):
59893         (re_set_syntax, re_syntax_options, WEAK_ALIAS, gettext, gettext_noop):
59894         Remove.  All uses removed.
59895         (malloc, realloc, free): Do not redefine.  Adjust all callers
59896         to use xmalloc, xrealloc, xfree instead.
59897         (re_error_msgid): Use C99 to avoid need to keep in same order
59898         as reg_error_t.
59899         (REGEX_USE_SAFE_ALLOCA): Simplify by using USE_SAFE_ALLOCA.
59900         (REGEX_ALLOCATE, REGEX_REALLOCATE, REGEX_FREE, REGEX_ALLOCATE_STACK)
59901         (REGEX_REALLOCATE_STACK, REGEX_FREE_STACK): Remove.
59902         All callers changed to use the non-REGEX_MALLOC version.
59903         (REGEX_TALLOC): Remove.  All callers changed to use SAFE_ALLOCA.
59904         (re_set_syntax): Remove; unused.
59905         (MATCH_MAY_ALLOCATE): Remove; now always true.  All uses simplified.
59906         (INIT_FAILURE_ALLOC): Define unconditionally.
59907         (re_compile_fastmap): Now static.
59908         (re_compile_pattern): Avoid unnecessary cast.
59909         * src/regex-emacs.h (EMACS_REGEX_H): Renamed from _REGEX_H to
59910         avoid possible collision with glibc.
59911         Don’t include sys/types.h.  All uses of ssize_t changed to ptrdiff_t.
59912         Don’t worry about C++ or VMS.
59913         Assume emacs is defined and that _REGEX_RE_COMP and WIDE_CHAR_SUPPORT
59914         are not.
59915         Define struct re_registers before including lisp.h.
59916         (REG_ENOSYS, RE_TRANSLATE_TYPE): Remove; all uses replaced by
59917         Lisp_Object.
59918         (regoff_t): Remove.  All uses replaced with ptrdiff_t.
59919         (re_match, regcomp, regexec, regerror, regfree):
59920         Remove decl of nonexistent functions.
59921         (RE_DEBUG, RE_SYNTAX_AWK, RE_SYNTAX_GNU_AWK)
59922         (RE_SYNTAX_POSIX_AWK, RE_SYNTAX_GREP, RE_SYNTAX_EGREP)
59923         (RE_SYNTAX_POSIX_EGREP, RE_SYNTAX_ED, RE_SYNTAX_SED)
59924         (_RE_SYNTAX_POSIX_COMMON, RE_SYNTAX_POSIX_BASIC)
59925         (RE_SYNTAX_POSIX_MINIMAL_BASIC, RE_SYNTAX_POSIX_EXTENDED)
59926         (RE_SYNTAX_POSIX_MINIMAL_EXTENDED, REG_EXTENDED, REG_ICASE)
59927         (REG_NEWLINE, REG_NOSUB, REG_NOTBOL, REG_NOTEOL, regmatch_t):
59928         Remove; unused.
59929         * src/search.c (Fset_match_data): Simplify range test now that
59930         we know it’s ptrdiff_t.
59932 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59934         Use Gnulib regex for lib-src
59936         Emacs regular expressions forked from everyone else long ago.
59937         This makes it official and should allow simplification later.
59938         etags.c now uses the glibc regex API, falling back on a
59939         Gnulib-supplied substitute lib/regex.c if necessary.
59940         Emacs proper now uses its own regular expression module.
59941         Although this patch may look dauntingly large, most of it
59942         was generated automatically by admin/merge-gnulib
59943         and contains an exact copy of the glibc regex source,
59944         and the by-hand changes do not grow the Emacs source code.
59945         * admin/merge-gnulib (GNULIB_MODULES): Add regex.
59946         (AVOIDED_MODULES): Add btowc, langinfo, lock, mbrtowc, mbsinit,
59947         nl_langinfo, wchar, wcrtomb, wctype-h.
59948         * lib-src/Makefile.in (regex-emacs.o): Remove; Gnulib does it now.
59949         (etags_deps, etags_libs): Remove regex-emacs.o.
59950         * lib-src/etags.c: Go back to including regex.h.
59951         (add_regex): Use unsigned char translation array,
59952         since glibc regex requires that.
59953         * lib/Makefile.in (not_emacs_OBJECTS, for_emacs_OBJECTS): New macros.
59954         (libegnu_a_OBJECTS): Use them, to avoid building e-regex.o.
59955         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
59956         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
59957         * lib/regex_internal.h, lib/regexec.c, m4/builtin-expect.m4:
59958         * m4/eealloc.m4, m4/glibc21.m4, m4/mbstate_t.m4, m4/regex.m4:
59959         New files, copied from Gnulib.
59960         * src/regex-emacs.h, src/conf_post.h:
59961         (RE_TRANSLATE_TYPE, RE_TRANSLATE, RE_TRANSLATE_P):
59962         Move from src/conf_post.h to src/regex-emacs.h,
59963         so that they don’t interfere with compiling lib/regex.c.
59965 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59967         Rename src/regex.c to src/regex-emacs.c.
59969         This is in preparation for using Gnulib regex for etags,
59970         to avoid collisions in include directives.
59971         * src/regex-emacs.c: Rename from src/regex.c.
59972         * src/regex-emacs.h: Rename from src/regex.h.  All uses changed.
59973         * test/src/regex-emacs-tests.el: Rename from test/src/regex-tests.el.
59975 2018-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59977         Update from gnulib
59979         This incorporates:
59980         2018-08-05 Fix link error regarding 'rpl_environ'
59981         * build-aux/config.guess, lib/unistd.in.h, lib/warn-on-use.h:
59982         * m4/extern-inline.m4: Copy from Gnulib.
59984 2018-08-05  Andy Moreton  <andrewjmoreton@gmail.com>
59986         Fix test and comment in CCL change
59988         * lisp/international/ccl.el (ccl-fixnum): Update comment.
59989         * test/lisp/international/ccl-tests.el (prog-midi-dump): Add
59990         trailing space to expected result.
59992 2018-08-04  Mike Kupfer  <mkupfer@alum.berkeley.edu>
59993             Jeffrey C Honig  <jch@honig.net>
59995         Fix mh-redistribute to work with nmh 1.5 and identities (SF#268)
59998         * lisp/mh-e/mh-comp.el (mh-redistribute): Add a non-optional
59999         identity parameter.  Use mh-bare-components to generate a draft,
60000         then apply identity-specific settings.  Add more details to the
60001         "Resent" annotation line.
60002         (mh-dist-formfile): New.
60003         (mh-bare-components): Add a formfile argument.
60004         (mh-edit-again, mh-send-sub): Track the change to
60005         mh-bare-components.
60006         * lisp/mh-e/mh-identity.el (mh-select-identity)
60007         (mh-identity-field): New.
60009 2018-08-04  Tom Tromey  <tom@tromey.com>
60011         Fix hash functions for bignums
60013         * src/fns.c (cmpfn_eql, hashfn_eql): Handle bignums.
60014         (sxhash_bignum): New function.
60015         (sxhash): Use it.
60016         * test/src/fns-tests.el (test-bignum-hash): New test.
60018 2018-08-04  Tom Tromey  <tom@tromey.com>
60020         Fix bignum comparisons with NaN
60022         * src/data.c (isnan): Move earlier.
60023         (bignumcompare): Explicitly handle NaN.
60024         * test/src/data-tests.el (data-tests-min): Add NaN tests
60025         for bignum.
60026         (data-check-sign): Fix for previous patch.
60027         * test/src/fns-tests.el (test-bignum-eql): Add NaN test.
60029 2018-08-04  Andy Moreton  <andrewjmoreton@gmail.com>
60031         Make bignums work better when EMACS_INT is larger than long
60033         * lisp/international/ccl.el (ccl-fixnum): New function.
60034         (ccl-embed-data, ccl-embed-current-address, ccl-dump): Use it.
60035         * src/alloc.c (make_number): Handle case where EMACS_INT is
60036         larger than long.
60037         * src/data.c (bignumcompare): Handle case where EMACS_INT is
60038         larger than long.
60039         (arith_driver): Likewise.  Coerce markers.
60040         (float_arith_driver): Coerce markers.
60041         (Flogcount): Use mpz_sgn.
60042         (ash_lsh_impl): Fix bugs.
60043         (Fsub1): Fix underflow check.
60044         * src/lisp.h (NUMBERP): Don't check BIGNUMP.
60045         (CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER): Fix indentation.
60046         * test/lisp/international/ccl-tests.el: New file.
60048 2018-08-04  Stephen Berman  <stephen.berman@gmx.net>
60050         Fix assorted todo-mode bugs (bug#32366)
60052         * lisp/calendar/todo-mode.el (todo-forward-category): Fix
60053         calculation for skipping backward over archived categories.
60054         (todo-jump-to-category): When hl-line-mode is enabled, force
60055         highlighting to compensate for apparent failure of
60056         post-command-hook to run.
60057         (todo-insert-item--basic): Prevent inserting a new todo item in an
60058         archive category.
60059         (todo-delete-item): Ensure done items separator disappears when
60060         the last done item is deleted.
60061         (todo-edit-item--header): Fix calculation for choosing a month
60062         prior to the current one.
60063         (todo-find-filtered-items-file): Fix use of completing-read,
60064         correcting typo in default value passed to it and confining
60065         history to filtered items files.
60066         (todo-go-to-source-item): Make a noop when point is not on an item.
60067         (todo-save-filtered-items-buffer): Make buffer read-only after
60068         saving and improve buffer name.
60069         (todo-key-bindings-t+a+f): Remove three mistakenly included bindings.
60070         (todo-key-bindings-t+a): Add two mistakenly omitted bindings.
60072 2018-08-04  Noam Postavsky  <npostavs@gmail.com>
60074         Respect non-saved value of `read-short-answer' (Bug#31782)
60076         * lisp/emacs-lisp/map-ynp.el (read-answer-short): Add an `auto'
60077         setting.
60078         (read-answer): Check the function cell of `yes-or-no-p' when
60079         `read-answer-short' is `auto' rather than calling
60080         `custom-reevaluate-setting' which would reset the option to its saved
60081         value.
60083 2018-08-04  Noam Postavsky  <npostavs@gmail.com>
60085         Merge from emacs-26
60087         f0b8e64fb7 Avoid assertion violations in maybe_produce_line_number
60088         7669bf7880 Avoid assertion violations in set_text_properties_1
60090 2018-08-04  Noam Postavsky  <npostavs@gmail.com>
60092         Merge from emacs-26
60094         951c5a127f Fix wdired test failure when byte compiled (bug#32318)
60095         0252f7311f * test/lisp/wdired-tests.el (wdired-test-symlink-name): Ne...
60096         dd51434714 Fix url's thing-at-point beginning-op (Bug#32028)
60098 2018-08-04  Michael Albinus  <michael.albinus@gmx.de>
60100         * lisp/international/mule-cmds.el (universal-coding-system-argument):
60102         Use `current-input-mode' for determining quit char.
60104 2018-08-04  Michael Albinus  <michael.albinus@gmx.de>
60106         Rename Tramp method "owncloud" to "nextcloud"
60108         In the spirit of freedom, "nextcloud" is preferred over "owncloud".
60110         * doc/misc/tramp.texi (Quick Start Guide, GVFS based methods):
60111         * etc/NEWS: Rename "owncloud" method to "nextcloud".
60113         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods, tramp-goa-methods)
60114         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
60115         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
60116         (tramp-get-goa-accounts): Use "nextcloud" instead of "owncloud".
60117         (tramp-gvfs-nextcloud-default-prefix)
60118         (tramp-gvfs-nextcloud-default-prefix-regexp): Rename them.  Adapt
60119         all callees.
60121         * test/lisp/net/tramp-tests.el (tramp--test-nextcloud-p):
60122         Rename from `tramp--test-owncloud-p'.
60123         (tramp-test11-copy-file, tramp-test12-rename-file): Use it.
60125 2018-08-03  Ken Brown  <kbrown@cornell.edu>
60127         Fix a filenotify test failure on Cygwin
60129         * test/lisp/filenotify-tests.el
60130         (file-notify-test04-autorevert): Increase a sleep-for time
60131         from 2 to 3 on Cygwin.  This avoids sporadic failures of the
60132         test.  (Bug#32363)
60134 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60136         Merge branch 'scratch/backtrace-mode'
60138 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60140         Fix some documentation formatting nits
60142         * doc/misc/ert.texi (Running Tests Interactively): Correct
60143         Elisp manual title in xref.
60144         * doc/lispref/edebug.texi (Edebug Misc): Use single argument
60145         form of xref.
60146         * doc/lispref/debugging.texi (Backtraces): Add comma and
60147         period after xref braces.
60148         (Backtraces): Correct Emacs manual title.
60149         (Internals of Debugger): Add a space before period.
60151 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60153         Fix typo in edebug-backtrace-hide-instrumentation's docstring.
60155         * lisp/emacs-lisp/edebug.el (edebug-backtrace-hide-instrumentation):
60156         Fix docstring copypasta.
60158 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60160         Give two backtrace-mode commands better names
60162         * lisp/emacs-lisp/backtrace.el (backtrace-mode-map): Update
60163         bindings and menu items with new function names.
60164         (backtrace-collapse, backtrace-pretty-print)
60165         (backtrace--collapse, backtrace--pretty-print): Remove functions.
60166         (backtrace-single-line, backtrace-multi-line)
60167         (backtrace--single-line, backtrace--multi-line): New functions.
60168         (backtrace--reformat-sexp): Remove 'error-message' argument.
60169         * test/lisp/emacs-lisp/backtrace-tests.el
60170         (backtrace-tests--pretty-print-and-collapse): Remove.
60171         (backtrace-tests--single-and-multi-line): New test.
60172         (backtrace-tests--verify-pp-and-collapse): Remove.
60173         (backtrace-tests--verify-single-and-multi-line): New function.
60175 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60177         Move 'backtrace' from subr.el to backtrace.el
60179         * lisp/subr.el (backtrace, backtrace--print-frame): Remove functions.
60180         * lisp/emacs-lisp/backtrace.el (backtrace-backtrace): Remove function.
60181         (backtrace): New function.
60182         (backtrace-to-string): Make argument optional.
60183         * doc/lispref/debugging.texi (Internals of Debugger): Update
60184         description of 'backtrace' function.
60186 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60188         Add new commands to Edebug backtraces
60190         Add commands to go to source if available, and to show and hide
60191         Edebug's instrumentation.  Make Edebug pop to backtraces instead of
60192         displaying them, which makes Edebug consistent with the behavior of
60193         ERT and the Lisp Debugger.
60194         * doc/lispref/edebug.texi (Edebug Misc): Document when and how you can
60195         jump to source code from an Edebug backtrace.  Document
60196         'edebug-backtrace-show-instrumentation' and
60197         'edebug-backtrace-hide-instrumentation'.
60198         * lisp/emacs-lisp/backtrace.el (backtrace-frame): Add comments to
60199         describe the fields.
60200         (backtrace-goto-source-functions): New
60201         abnormal hook.
60202         (backtrace-mode-map): Add keybinding and menu item for
60203         backtrace-goto-source.
60204         (backtrace--flags-width): New constant.
60205         (backtrace-update-flags): Use it.
60206         (backtrace-goto-source): New command.
60207         (backtrace--print-flags): Print the :source-available flag.
60208         * lisp/emacs-lisp/edebug.el (edebug-backtrace-frames)
60209         (edebug-instrumented-backtrace-frames): New variables.
60210         (edebug-backtrace, edebug--backtrace-frames): Remove functions.
60211         (edebug-pop-to-backtrace, edebug--backtrace-goto-source)
60212         (edebug--add-source-info): New functions.
60213         (edebug-mode-map, edebug-mode-menus): Replace 'edebug-backtrace' with
60214         'edebug-pop-to-backtrace'.
60215         (edebug--strip-instrumentation): New function.
60216         (edebug--unwrap-and-add-info): Remove.
60217         (edebug-unwrap-frame, edebug-add-source-info): New functions.
60218         (edebug-backtrace-show-instrumentation)
60219         (edebug-backtrace-hide-instrumentation): New commands.
60220         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-check-keymap):
60221         Verify keybindings in backtrace-mode-map used by new test.
60222         Update with binding for 'edebug-pop-to-backtrace'.
60223         (edebug-tests-backtrace-goto-source): New test.
60224         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
60225         (edebug-test-code-range): Add a new stop point.
60227 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60229         Add a menu for backtrace-mode
60231         * lisp/emacs-lisp/backtrace.el (backtrace-mode-map): Add a menu.
60232         * lisp/emacs-lisp/debug.el (debugger-mode-map): Change menu text for
60233         'backtrace-help-follow-symbol' to better describe what it does.
60235 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60237         * lisp/emacs-lisp/debug.el (debugger-mode-map): Use easy-menu-define.
60239 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60241         Add new command to expand all "..."s in a backtrace frame
60243         * doc/lispref/debugging.texi (Backtraces): Document new keybinding.
60244         * lisp/emacs-lisp/backtrace.el (backtrace-line-length): Add the
60245         option of unlimited line length.
60246         (backtrace--match-ellipsis-in-string): Add a comment to explain
60247         why this function is necessary.
60248         (backtrace-mode-map): Add keybinding for 'backtrace-expand-ellipses'.
60249         (backtrace-expand-ellipsis): Use 'cl-print-to-string-with-limit'.
60250         (backtrace-expand-ellipses): New command.
60251         (backtrace-print-to-string): Use 'cl-print-to-string-with-limit'.
60252         Tag the printed forms with a gensym instead of the values of
60253         print-length and print-level.
60254         (backtrace--print): Add 'stream' argument.
60255         * test/lisp/emacs-lisp/backtrace-tests.el
60256         (backtrace-tests--expand-ellipsis): Make the test less dependent
60257         on the implementation.
60258         (backtrace-tests--expand-ellipses): New test.
60260         Move the fitting of a printed representation into a limited number of
60261         characters using appropriate values of print-level and print-length
60262         from 'backtrace-print-to-string' to cl-print.el for future use by
60263         other parts of Emacs.
60264         * lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): New
60265         function.
60266         * test/lisp/emacs-lisp/cl-print-tests.el
60267         (cl-print-tests-print-to-string-with-limit): New test.
60269 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60271         Change keybinding for backtrace-collapse from '=' to '-'
60273         '+' and '-' make a more intuitive pair of keybindings for
60274         backtrace-pretty-print and backtrace-collapse than '+' and '='.
60275         * lisp/emacs-lisp/backtrace.el (backtrace-mode-map):
60276         * doc/lispref/debugging.texi (Backtraces): Change
60277         keybinding for backtrace-collapse.
60279 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60281         Add more tests for backtrace-mode
60283         * test/lisp/emacs-lisp/backtrace-tests.el (backtrace-tests--variables)
60284         (backtrace-tests--backward-frame, backtrace-tests--forward-frame)
60285         (backtrace-tests--pretty-print-and-collapse)
60286         (backtrace-tests--verify-pp-and-collapse)
60287         (backtrace-tests--print-circle, backtrace-tests--make-regexp)
60288         (backtrace-tests--expand-ellipsis): New tests.
60289         (backtrace-tests--to-string): Use backtrace-tests--make-backtrace.
60290         (backtrace-tests--get-substring): New function.
60292         Change the method of generating sample backtraces in backtrace tests
60293         to work whether or not the tests are byte-compiled.
60294         * test/lisp/emacs-lisp/backtrace-tests.el (backtrace-tests--func1)
60295         (backtrace-tests--func2, backtrace-tests--func3)
60296         (backtrace-tests--create-backtrace-frames): Remove.
60297         (backtrace-tests--uncompiled-functions): New constant.
60298         (backtrace-tests--make-backtrace, backtrace-tests--setup-buffer):
60299         New functions.
60300         (backtrace-tests--backtrace-lines)
60301         (backtrace-tests--backtrace-lines-with-locals): New functions.
60302         (backtrace-tests--line-count): New constant.
60303         (backtrace-tests--result, backtrace-tests--result-with-locals):
60304         New functions.
60305         (backtrace-tests--header): New constant.
60306         (backtrace-tests--insert-header): Use backtrace-tests--header.
60307         (backtrace-tests--with-buffer): Remove.
60309 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60311         Add link in backtraces to position in buffer being evaluated (bug#14081)
60313         * lisp/emacs-lisp/backtrace.el (backtrace-frame): Add buffer field.
60314         (backtrace-get-frames): Set buffer field of frame.
60315         (backtrace-buffer-pos): New button type.
60316         (backtrace--pop-to-buffer-pos): New function.
60317         (backtrace--print-func-and-args): Create a button for the buffer
60318         position if it is set.
60320 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60322         Add links in backtraces to functions written in C (bug#25393)
60324         * lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args):
60325         Look up file names for built-in functions with evaluated arguments.
60327 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60329         Add prefix argument to backtrace-toggle-print-circle
60331         With prefix argument, toggle print-circle for the whole buffer.
60332         * lisp/emacs-lisp/backtrace.el (backtrace-toggle-print-circle): Add
60333         universal prefix argument.
60334         (backtrace--toggle-feature): Add new argument 'all' to toggle all
60335         frames.
60336         (backtrace--set-feature): New function.
60337         (backtrace-mode): Use indent functions from Lisp modes.
60339 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60341         Lazily print backtrace frame local variables
60343         Instead of printing the local variables for all frames when the
60344         backtrace buffer is created, print them when they are first made
60345         visible.  Add a prefix argument to backtrace-toggle-locals to toggle
60346         local variables display for the entire buffer.
60347         * lisp/emacs-lisp/backtrace.el (backtrace-view): Mention
60348         :show-locals in docstring.
60349         (backtrace-get-section-end): Remove function.
60350         (backtrace-toggle-locals): Add prefix argument.
60351         (backtrace--with-output-variables): Move before first use.
60352         (backtrace--set-frame-locals-visible): New function.
60353         (backtrace--set-locals-visible-overlay): New function.
60354         (backtrace--set-locals-visible): Remove function.
60355         (backtrace-toggle-feature): Remove TODO comment.
60356         (backtrace--print-locals): Skip printing the locals if they are not
60357         visible.
60359 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60361         Always make buttons from function names in backtraces
60363         * lisp/emacs-lisp/backtrace.el (backtrace-view)
60364         (backtrace--print-func-and-args, backtrace-mode): Always
60365         make buttons.  Remove all uses of ':do-xrefs'.
60366         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Modify
60367         backtrace-view instead of setting it.
60368         * lisp/emacs-lisp/edebug.el (edebug-backtrace):
60369         * lisp/emacs-lisp/ert.el
60370         (ert-results-pop-to-backtrace-for-test-at-point):
60371         Remove initialization of backtrace-view.
60373 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60375         Add backtrace-mode and use it in the debugger, ERT and Edebug
60377         * doc/lispref/debugging.texi (Using Debugger): Remove explanation of
60378         backtrace buffer.  Refer to new node.
60379         (Backtraces): New node.
60380         (Debugger Commands): Refer to new node.  Remove 'v'.
60381         * doc/lispref/edebug.texi (Edebug Misc): Refer to new node.
60382         * doc/misc/ert.texi (Running Tests Interactively): Refer to new node.
60384         * lisp/emacs-lisp/backtrace.el: New file.
60385         * test/lisp/emacs-lisp/backtrace-tests.el: New file.
60387         * lisp/emacs-lisp/debug.el: (debugger-buffer-state): New cl-defstruct.
60388         (debugger--restore-buffer-state): New function.
60389         (debug): Use a debugger-buffer-state object to save and restore buffer
60390         state.  Fix bug#15749 by leaving an unused buffer in debugger-mode,
60391         empty, instead of in fundamental-mode, and then when reusing a buffer,
60392         not calling debugger-mode if the buffer is already in debugger-mode.
60393         (debugger-insert-backtrace): Remove.
60394         (debugger-setup-buffer): Use backtrace-mode.
60395         (debugger--insert-header): New function.
60396         (debugger-continue, debugger-return-value): Change check for flags to
60397         use backtrace-frames.
60398         (debugger-frame-number): Determine backtrace frame number from
60399         backtrace-frames.
60400         (debugger--locals-visible-p, debugger--insert-locals)
60401         (debugger--show-locals, debugger--hide-locals)
60402         (debugger-toggle-locals): Remove.
60403         (debugger-mode-map): Make a child of backtrace-mode-map.  Move
60404         navigation commands to backtrace-mode-map.  Bind 'q' to debugger-quit
60405         instead of top-level.  Make Help Follow menu item call
60406         backtrace-help-follow-symbol.
60407         (debugger-mode): Derive from backtrace-mode.
60408         (debug-help-follow): Remove.  Move body of this function to
60409         'backtrace-help-follow-symbol' in backtrace.el.
60410         (debugger-quit): New function.
60412         * lisp/emacs-lisp/edebug.el (edebug-unwrap-results): Remove warning
60413         in docstring about circular results.
60414         (edebug-unwrap): Use pcase.
60415         (edebug-unwrap1): New function to unwrap circular objects.
60416         (edebug-unwrap*): Use it.
60417         (edebug--frame): New cl-defstruct.
60418         (edebug-backtrace): Call the buffer *Edebug Backtrace* and use
60419         backtrace-mode.  Get the frames from edebug--backtrace-frames.
60420         (edebug--backtrace-frames, edebug--unwrap-and-add-info)
60421         (edebug--symbol-not-prefixed-p): New functions.
60423         * lisp/emacs-lisp/lisp-mode.el
60424         (lisp-el-font-lock-keywords-for-backtraces)
60425         (lisp-el-font-lock-keywords-for-backtraces-1)
60426         (lisp-el-font-lock-keywords-for-backtraces-2): New constants.
60428         * lisp/emacs-lisp/ert.el (ert--print-backtrace): Remove.
60429         (ert--run-test-debugger): Use backtrace-get-frames.
60430         (ert-run-tests-batch): Use backtrace-to-string.
60431         (ert-results-pop-to-backtrace-for-test-at-point): Use backtrace-mode.
60432         (ert--insert-backtrace-header): New function.
60434         * test/lisp/emacs-lisp/ert-tests.el (ert-test--which-file):
60435         Use backtrace-frame slot accessor.
60437 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60439         Add methods for strings to cl-print
60441         * lisp/emacs-lisp/cl-print.el (cl-print-object) <string>: New method.
60442         (cl-print-object-contents) <string>: New method.
60443         (cl-print--find-sharing): Look in string property lists.
60445         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-3): Test
60446         printing of long strings.
60447         (cl-print-tests-4): Test printing of strings nested in other objects.
60448         (cl-print-tests-strings, cl-print-tests-ellipsis-string): New
60449         tests.
60451 2018-08-03  Gemini Lasswell  <gazally@runbox.com>
60453         Support ellipsis expansion in cl-print
60455         * lisp/emacs-lisp/cl-print.el (cl-print-object-contents): New
60456         generic method.
60457         (cl-print-object-contents) <cons, vector,cl-structure-object>: New
60458         methods.
60459         (cl-print-object) <cons>: Use cl-print-insert-ellipsis.
60460         (cl-print-object) <vector, cl-structure-object>: Elide whole object if
60461         print-level exceeded.  Use cl-print-insert-ellipsis.
60462         (cl-print-insert-ellipsis, cl-print-propertize-ellipsis)
60463         (cl-print-expand-ellipsis): New functions.
60465         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-4): Test
60466         printing of objects nested in other objects.
60467         (cl-print-tests-strings, cl-print-tests-ellipsis-cons)
60468         (cl-print-tests-ellipsis-vector, cl-print-tests-ellipsis-struct)
60469         (cl-print-tests-ellipsis-circular): New tests.
60470         (cl-print-tests-check-ellipsis-expansion)
60471         (cl-print-tests-check-ellipsis-expansion-rx): New functions.
60473 2018-08-01  Tino Calancha  <tino.calancha@gmail.com>
60475         New commands to create an empty file
60477         Similarly as `create-directory', `dired-create-directory',
60478         the new commands create the parent dirs as needed (Bug#24150).
60479         * lisp/files.el (make-empty-file): New command.
60481         * lisp/dired-aux.el (dired-create-empty-file): New command.
60482         (dired--find-topmost-parent-dir): New function extracted
60483         from `dired-create-directory'.
60484         (dired-create-directory, dired-create-empty-file): Use it.
60486         * lisp/dired.el (dired-mode-map):
60487         Add menu entry for `dired-create-empty-file'.
60489         * doc/emacs/dired.texi (Misc Dired Features)
60490         * doc/lispref/files.texi (Create/Delete Dirs): Update manual.
60492 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
60494         Substitute a <ieee754.h> on hosts lacking it
60496         * .gitignore: Add lib/ieee754.h.
60497         * admin/merge-gnulib (GNULIB_MODULES): Add ieee754-h.
60498         * configure.ac: Remove ieee754.h check, as Gnulib now does that.
60499         * etc/NEWS: Mention this.
60500         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
60501         * lib/ieee754.in.h, m4/ieee754-h.m4: New files, from Gnulib.
60502         * src/lisp.h (IEEE_FLOATING_POINT): Now a macro so that it
60503         can be used in #if.
60504         * src/lread.c, src/print.c: Include <ieee754.h> if
60505         IEEE_FLOATING_POINT, not if HAVE_IEEE754_H.
60506         * src/lread.c (string_to_number):
60507         * src/print.c (float_to_string):
60508         Process NaNs only on IEEE hosts, and assume <ieee754.h>
60509         in that case.
60511 2018-08-01  Michael Albinus  <michael.albinus@gmx.de>
60513         Fix Bug#32325
60515         * lisp/net/tramp-sh.el (tramp-sh-handle-make-directory): In case
60516         of PARENTS flush also upper directories caches.  (Bug#32325)
60518 2018-08-01  Gemini Lasswell  <gazally@runbox.com>
60520         Fix Edebug spec for cl-macrolet (bug#29919)
60522         Add an Edebug matching function for cl-macrolet which keeps track of
60523         its bindings and treats them as macros without Edebug specs when found
60524         in the body of the expression.
60525         * lisp/emacs-lisp/edebug.el (edebug--cl-macrolet-defs): New variable.
60526         (edebug-list-form-args): Use it.
60527         (edebug--current-cl-macrolet-defs): New variable.
60528         (edebug-match-cl-macrolet-expr, edebug-match-cl-macrolet-name)
60529         (edebug-match-cl-macrolet-body): New functions.
60530         * lisp/emacs-lisp/cl-macs.el (cl-macrolet): Use cl-macrolet-expr
60531         for Edebug spec.
60532         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-cl-macrolet):
60533         New test.
60534         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
60535         (edebug-test-code-use-cl-macrolet): New function.
60537 2018-08-01  Stephen Berman  <stephen.berman@gmx.net>
60539         Fix todo-mode commands called on done items separator
60541         The done items separator is not reachable by todo-mode navigation
60542         commands, but it is e.g. by C-n and C-p.  Ensure that invoking
60543         todo-mode commands with point on the separator does not result in
60544         unexpected results, errors or file corruption (bug#32343).
60546         * lisp/calendar/todo-mode.el (todo-insert-item--basic): Make
60547         copying item and inserting item "here" noops when invoked on done
60548         items separator.  Consolidate error handling of these cases.  Also
60549         restrict "here" insertion to valid positions in the current
60550         category, since this is simpler than the previous behavior of
60551         inserting as the first item, which was moreover undocumented,
60552         counterintuitive and superfluous.
60553         (todo-set-item-priority, todo-move-item, todo-item-done)
60554         (todo-item-start, todo-item-end): Make noops when invoked on done
60555         items separator.
60557         * test/lisp/calendar/todo-mode-tests.el: Require ert-x.
60558         (todo-test--insert-item): Add formal parameters of
60559         todo-insert-item--basic.
60560         (todo-test--done-items-separator): New function.
60561         (todo-test-done-items-separator01-bol)
60562         (todo-test-done-items-separator01-eol)
60563         (todo-test-done-items-separator02-bol)
60564         (todo-test-done-items-separator02-eol)
60565         (todo-test-done-items-separator03-bol)
60566         (todo-test-done-items-separator03-eol)
60567         (todo-test-done-items-separator04-bol)
60568         (todo-test-done-items-separator04-eol)
60569         (todo-test-done-items-separator05-bol)
60570         (todo-test-done-items-separator05-eol)
60571         (todo-test-done-items-separator06-bol)
60572         (todo-test-done-items-separator06-eol)
60573         (todo-test-done-items-separator07): New tests.
60575 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
60577         Read and print NaN significand if <ieee754.h>
60579         * configure.ac: Check for ieee754.h.
60580         * doc/lispref/numbers.texi (Float Basics): Document
60581         that NaN string representation digits are machine-dependent.
60582         * etc/NEWS: Mention the change.
60583         * src/lread.c, src/print.c [HAVE_IEEE754_H]: Include ieee754.h.
60584         * src/lread.c (string_to_number) [HAVE_IEEE754_H]:
60585         * src/print.c (float_to_string) [HAVE_IEEE754_H]:
60586         Read and print NaN significand.
60588 2018-07-31  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
60590         Simplify by assuming C99 math.h isnan etc.
60592         These should be portable nowadays.
60593         * src/data.c (isnan): Remove.
60594         * src/floatfns.c (isfinite, isnan): Remove.
60595         * src/print.c: Include math.h, for isinf and isnan.
60596         (float_to_string): Simplify by using them.
60598 2018-07-31  Stephen Gildea  <stepheng+emacs@gildea.com>
60600         Reset mh-blacklist and mh-whitelist on folder undo
60602         * lisp/mh-e/mh-funcs.el (mh-undo-folder): Set mh-blacklist and mh-whitelist
60603         to nil, as is done with the other lists of pending operations.
60605 2018-07-30  Michael Albinus  <michael.albinus@gmx.de>
60607         Fix Bug#32304
60609         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
60610         Handle special cas on Cygwin and MS-Windows.  (Bug#32304)
60612 2018-07-29  Noam Postavsky  <npostavs@gmail.com>
60614         * lisp/term.el (term-read-noecho): Mark obsolete.
60616 2018-07-29  Eli Zaretskii  <eliz@gnu.org>
60618         Avoid gettimeofday deprecation warnings with MinGW
60620         * nt/inc/ms-w32.h (__POSIX_2008_DEPRECATED)
60621         [__MINGW32_VERSION >= 5001000L]: Define to nothing, to avoid
60622         deprecation warnings about gettimeofday with mingw.org's MinGW
60623         runtime 5.1 and later.
60625 2018-07-29  Paul Eggert  <eggert@cs.ucla.edu>
60627         Merge from origin/emacs-26
60629         39d3e8b Fix last change in 'char_width'
60630         67679f0 Add initial tests for wdired.el
60632 2018-07-29  Tino Calancha  <tino.calancha@gmail.com>
60634         Prefer ?* to hide passwords
60636         It might be argued that a hidden string is more legible when using
60637         ?* as the hidden character instead of ?.
60638         For example, the following strings have the same length:
60639         "......"
60641         "******"
60643         It's slightly easier to visually count the number of characters in the second
60644         string (Bug#32220).
60646         * lisp/subr.el (read-passwd): Prefer ?* as default char instead of ?.
60647         * doc/lispref/minibuf.texi (Reading a Password): Update manual.
60649 2018-07-29  Stephen Berman  <stephen.berman@gmx.net>
60651         Handle symlinks in wdired.el when restoring filename property
60653         * lisp/wdired.el (wdired--restore-dired-filename-prop): If the
60654         file name is a symbolic link, only propertize the link name.  This
60655         prevents wdired-create-parentdirs from turning the link into a
60656         directory.
60658 2018-07-28  Stephen Berman  <stephen.berman@gmx.net>
60660         Fix bugs in wdired.el involving dired-filename property
60662         After every change in wdired-mode, put the dired-filename text
60663         property on the file name.  This ensures that changing some but not
60664         all characters in the name succeeds with non-nil
60665         wdired-use-interactive-rename (bug#32173) and it also ensures that
60666         changed names can be found (e.g. by dired-isearch-filenames) while
60667         still in wdired-mode.
60669         * lisp/wdired.el (wdired--restore-dired-filename-prop): New function.
60670         (wdired-change-to-wdired-mode): Add it to after-change-functions.
60671         (wdired-change-to-dired-mode): Remove it from after-change-functions.
60672         (wdired-finish-edit): Move invocation of
60673         wdired-change-to-dired-mode below invocation of wdired-do-renames,
60674         so that the latter runs wdired--restore-dired-filename-prop, but
60675         above the invocation of revert-buffer to avoid using
60676         wdired-revert, which changes back to wdired-mode.
60677         (wdired-search-and-rename): Wrap renaming in unwind-protect and if
60678         user types C-g when prompted to change the file name, make sure we
60679         return to dired-mode.
60681 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
60683         Make 'tis620-2533' character set be an alias for 'thai-iso8859-11'
60685         * lisp/simple.el (what-cursor-position): Revert ad-hoc change
60686         to work around tis620-2533 charset.
60687         * lisp/w32-fns.el: Use thai-iso8859-11 instead of tis620-2533.
60688         * lisp/international/mule-conf.el (tis620-2533): Now an alias
60689         for thai-iso8859-11, not a separate character set.
60690         * lisp/international/fontset.el (charset-script-alist): Add
60691         thai-iso8859-11; fix entries for greek and hebrew.
60692         (font-encoding-alist, font-encoding-charset-alist): Use
60693         thai-iso8859-11 instead of tis620-2533.
60694         * lisp/descr-text.el (describe-char): Remove the ad-hoc code
60695         that assigns eight-bit-control characters to the eight-bit
60696         charset.
60698 2018-07-28  Glenn Morris  <rgm@gnu.org>
60700         Merge from origin/emacs-26
60702         bd52f37 (origin/emacs-26) ; Fix last change: only MinGW runtime 5.0.2...
60703         024d20f Fix compilation with mingw.org's MinGW 5.x headers
60704         38b6748 Update the list of special forms in the ELisp manual
60705         8579105 Don't fail to indent-sexp before a full sexp (Bug#31984)
60706         d24c5f2 Fix calls to modifications hooks in replace-buffer-contents
60707         71a9151 * src/character.c (char_width): Support glyphs with faces.  (...
60708         0feb673 Display raw bytes as belonging to 'eight-bit' charset
60709         2e2f00f ; * doc/emacs/mule.texi (International Chars): Fix last change.
60710         00561b5 Fix inaccurate text in the user manual
60711         5cfb7a3 Copyedits in tramp.texi, improved example with bash's readline
60712         6f8f358 Minor Tramp doc update
60713         2585fcb File Shadowing is not available on MS Windows
60714         39da592 ; Minor markup change in indent.texi
60715         2f00ffe ; bookmark-jump: Add comment about last change.
60717 2018-07-28  Phil Sainty  <psainty@orcon.net.nz>
60719         * lisp/vc/diff.el (diff-buffer-with-file): Support indirect buffers.
60721         (Bug#32195)
60723 2018-07-28  João Távora  <joaotavora@gmail.com>
60725         Fix @include directive in Flymake doc again
60727         Problem was reintroduced by commit titled:
60728         "Mention use of C-h . (display-local-help) in Flymake manual"
60730         * doc/misc/flymake.texi: Don't @include a relative path.
60732 2018-07-28  Martin Rudalics  <rudalics@gmx.at>
60734         Fix problem with 'scroll-bar-adjust-thumb-portion' nil (Bug#32002)
60736         * lisp/scroll-bar.el (scroll-bar-drag-1): Do not scroll window
60737         when its buffer is fully visible and
60738         'scroll-bar-adjust-thumb-portion' is nil (Bug#32002).
60740 2018-07-27  Ken Brown  <kbrown@cornell.edu>
60742         Fix file-name-case-insensitive-p on non-existent files
60744         * src/fileio.c (Ffile_name_case_insensitive_p): If the file
60745         doesn't exist, move up the filesystem tree until an existing
60746         directory is found.  Then test that directory for
60747         case-insensitivity.  (Bug#32246)
60749 2018-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
60751         * lisp/simple.el (event-apply-modifier): Map control+[ to C-[
60753 2018-07-26  Alan Mackenzie  <acm@muc.de>
60755         Correctly indent C++ brace lists in member init lists.
60757         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax; CASE 9B, CASE 9C): Set a
60758         limit for a backward search to the ":" introducing the member init list, when
60759         there is one, rather than the enclosing "{" or nil.
60761 2018-07-26  Paul Eggert  <eggert@cs.ucla.edu>
60763         * src/editfns.c (syms_of_editfns): Fix typo in previous change.
60765 2018-07-26  Paul Eggert  <eggert@cs.ucla.edu>
60767         %o and %x can now format signed integers
60769         Optionally treat integers as signed numbers with %o
60770         and %x format specifiers, instead of treating them as
60771         a machine-dependent two’s complement representation.
60772         This option is more machine-independent, allows formats
60773         like "#x%x" to be useful for reading later, and is
60774         better-insulated for future changes involving bignums.
60775         Setting the new variable ‘binary-as-unsigned’ to nil
60776         enables the new behavior (Bug#32252).
60777         This is a simplified version of the change proposed in:
60778         https://lists.gnu.org/r/emacs-devel/2018-07/msg00763.html
60779         I simplified that proposal by omitting bitwidth modifiers, as
60780         I could not find an any example uses in the Emacs source code
60781         that needed them and doing them correctly would have been
60782         quite a bit more work for apparently little benefit.
60783         * doc/lispref/strings.texi (Formatting Strings):
60784         Document that %x and %o format negative integers in a
60785         platform-dependent way.  Also, document how to format
60786         numbers so that the same values can be read back in.
60787         * etc/NEWS: Document the change.
60788         * src/editfns.c (styled_format): Treat integers as signed
60789         numbers even with %o and %x, if binary-as-unsigned is nil.
60790         Support the + and space flags with %o and %x, since they’re
60791         about signs.
60792         (syms_of_editfns): New variable binary-as-unsigned.
60793         * test/src/editfns-tests.el (read-large-integer):
60794         Test that maximal integers can be read after printing
60795         with all integer formats, if binary-as-unsigned is nil.
60797 2018-07-25  Lucas Werkmeister  <mail@lucaswerkmeister.de>
60799         Notify systemd in daemon-initialized and kill-emacs (Bug#31498)
60801         With --[bg-]daemon and Type=forking, systemd will only consider the
60802         daemon to have fully started up once the original process exits, and
60803         will wait until then to start units depending on the Emacs service.  To
60804         get the same functionality with --fg-daemon, use Type=notify instead of
60805         Type=simple and explicitly send a readiness notification to systemd at
60806         the point where the forked process would in --bg-daemon mode notify its
60807         parent process and cause it to exit.  Similarly, notify systemd at the
60808         beginning of the shutdown process as well.  (Both of these calls are
60809         successful no-ops if emacs was not started by systemd.)
60810         * etc/emacs.service: Update Type.
60811         * src/emacs.c (daemon-initialized) [HAVE_LIBSYSTEMD]:
60812         * src/emacs.c (kill-emacs) [HAVE_LIBSYSTEMD]: Call sd_notify().
60814 2018-07-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
60816         Fix docstring of gnus-dependencies-add-header
60818         * lisp/gnus/gnus-sum.el (gnus-dependencies-add-header): Code is
60819           correct, but docs had logic of `gnus-summary-ignore-duplicates'
60820           backwards: if it's t, the Message-IDs will not be renamed.
60822 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
60824         Instrument shadowfile{-tests} for error hunting on hydra.
60826         * lisp/shadowfile.el (shadow-make-fullname): Use changed
60827         `tramp-make-tramp-file-name' from Tramp 2.4.
60829         * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo):
60830         Instrument test.  Suppress errors in cleanup.
60831         (shadow-test09-shadow-copy-files): Suppress errors in cleanup.
60833 2018-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60835         Move proper-list-p to C
60837         Since C code can use it and it’s simple, we might as well use C.
60838         * lisp/subr.el (proper-list-p): Move to C code.
60839         * src/eval.c (signal_error): Simplify by using Fproper_list_p.
60840         * src/fns.c (Fproper_list_p): New function, moved here from Lisp.
60842         Simplify signal_error
60843         * src/eval.c (signal_error): Simplify by using FOR_EACH_TAIL_SAFE.
60845 2018-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60847         * etc/NEWS: Omit bug# when not needed.
60849 2018-07-24  Glenn Morris  <rgm@gnu.org>
60851         Merge from origin/emacs-26
60853         f64c277 (origin/emacs-26) Let bookmark-jump override window-point (Bu...
60854         1208aaa Omit keymap from subword-mode docstring (Bug#32212)
60855         2b70b54 Prevent line-mode term from showing user passwords
60856         5de4441 Check for special filenames in eshell (Bug#30724)
60857         1b4b965 Fix indent-sexp of #s(...) (Bug#31984)
60858         59e8533 Add save-match-data to abbreviate-file-name (Bug#32201)
60859         47f75b1 Fix last change in editfns.c
60860         671dc5a Fix calls to buffer modification hooks from replace-buffer-co...
60861         cc4ceed ; etc/NEWS: Remove unnecessary reference to a bug number.
60862         e0f33ea Fix Bug#32226
60863         7308fa0 Improve doc strings of several variables in keyboard.c
60865 2018-07-24  Michael Albinus  <michael.albinus@gmx.de>
60867         Fix typo in `find-alternate-file'
60869         * lisp/files.el (find-alternate-file): Add missing arguments to
60870         `find-file-noselect' call.
60872 2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>
60874         (format "%#x" 0) yields "0", not "0x0"
60876         * doc/lispref/strings.texi (Formatting Strings):
60877         * src/editfns.c (Fformat): Document this.
60879 2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>
60881         0x%x → %#x in elisp formats
60883         * lisp/emacs-lisp/cl-print.el (cl-print-object):
60884         * lisp/profiler.el (profiler-format-entry):
60885         * lisp/progmodes/hideif.el (hif-evaluate-macro):
60886         Prefer %#x to 0x%x in elisp formats when formatting arbitrary
60887         integers, as it’ll produce more-readable output with negative args
60888         should we change how negative values are printed with %x.
60890 2018-07-23  Paul Eggert  <eggert@cs.ucla.edu>
60892         positive → nonnegative doc fixes
60894         * doc/lispref/numbers.texi (Bitwise Operations)
60895         (Math Functions):
60896         * doc/lispref/strings.texi (Formatting Strings):
60897         * src/editfns.c (Fformat):
60898         Correct “positive” with “nonnegative” in some documentation.
60900 2018-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
60902         Revert "Make nnimap support IMAP namespaces"
60904         This reverts commit 7b5b3ddb2dfa98d640aff7b5b160f777e22cc794.
60906         Insufficiently tested before committing -- bugs out several places
60907         when not using namespaces.
60909 2018-07-22  Arash Esbati  <arash@gnu.org>
60911         Add \eqref to RefTeX's reference styles (Bug#32203)
60913         * lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Add entry
60914         for \eqref provided by amsmath.sty and bind it to "e" key.
60916 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
60918         Preserve nonblank whitespace when indenting (Bug#32200)
60920         * lisp/indent.el (indent-line-to): Remove only spaces and tabs, not
60921         any whitespace syntax characters.
60923 2018-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
60925         Add further clarifications to gnus-blocked-images
60927         * lisp/gnus/gnus-art.el (gnus-blocked-images): Add further
60928         clarifications.
60930 2018-07-22  Nikolaus Rath  <nikolaus@rath.org>
60932         Make nnimap support IMAP namespaces
60934         * lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduc new
60935         server variable.
60936         (nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group
60937         names to Gnus group name by stripping / prefixing personal
60938         namespace prefix.
60939         (nnimap-open-connection-1): Ask server for namespaces and store them.
60941         * lisp/gnus/nnimap.el (nnimap-request-group-scan)
60942         (nnimap-request-create-group, nnimap-request-delete-group)
60943         (nnimap-request-rename-group, nnimap-request-move-article)
60944         (nnimap-process-expiry-targets)
60945         (nnimap-request-update-group-status)
60946         (nnimap-request-accept-article, nnimap-request-list)
60947         (nnimap-retrieve-group-data-early, nnimap-change-group)
60948         (nnimap-split-incoming-mail): Use nnimap-group-to-imap.
60949         (nnimap-group-to-imap): New function to map Gnus group names to
60950         IMAP folder names.
60952 2018-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
60954         Make async :family 'local failures fail correctly again
60956         * src/fileio.c (get_file_errno_data): Refactor out into its own
60957         function so that we can reuse the error handling from an async
60958         context (bug#31901).
60960         * src/process.c (connect_network_socket): When an async :family
60961         'local client fails (with a file error, for instance), mark the
60962         process as failed.
60964 2018-07-22  Michael Albinus  <michael.albinus@gmx.de>
60966         thread-join returns the result of finished thread
60968         * doc/lispref/threads.texi (Basic Thread Functions):
60969         * etc/NEWS: Document return value of `thread-join'.
60971         * src/thread.c (invoke_thread_function, Fmake_thread)
60972         (init_main_thread): Set result.
60973         (Fthread_join): Propagate signals, and return result.
60974         (Vmain_thread): New defvar.
60976         * src/thread.h (struct thread_state): Add `result' field.
60978         * test/src/thread-tests.el (threads-join): Test also return value.
60979         (threads-join-error): New test.
60980         (threads-mutex-signal): Check for propagation of `quit' signal.
60982 2018-07-21  John Shahid  <jvshahid@gmail.com>
60984         Avoid destroying match data in 'setenv' (Bug#32201)
60986         * lisp/env.el (setenv,setenv-internal): Replace string-match with
60987         string-match-p.
60989 2018-07-21  Ken Brown  <kbrown@cornell.edu>
60991         Pacify GCC 7 with -Wformat-overflow
60993         * src/w32term.c (x_draw_glyphless_glyph_string_foreground):
60994         Force sprintf to write at most 6 bytes, excluding the
60995         terminating null byte.
60997 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
60999         Minor rewording of last change
61001         * lisp/vc/add-log.el (add-log-dont-create-changelog-file)
61002         (add-log--pseudo-changelog-buffer-name)
61003         (add-log--changelog-buffer-p, add-change-log-entry): Doc fixes.
61005         * etc/NEWS: Improve wording of last change.
61007         * doc/emacs/maintaining.texi (Change Log Commands): Improve
61008         wording of last change.
61010 2018-07-21  João Távora  <joaotavora@gmail.com>
61012         New option to make 'C-x 4 a' use file-less ChangeLog buffers
61014         * doc/emacs/maintaining.texi (Change Log Commands): Document
61015         add-log-dont-create-changelog-file.
61017         * etc/NEWS (Change Logs Mode): Mention
61018         add-log-dont-create-changelog-file.
61020         * lisp/vc/add-log.el (add-log-file-name): Add comment.
61021         (add-log-dont-create-changelog-file): New variable.
61022         (add-log--pseudo-changelog-buffer-name)
61023         (add-log--changelog-buffer-p): New helpers.
61024         (add-log-find-changelog-buffer): New function.
61025         (add-log--pseudo-changelog-buffer-name): Respect
61026         add-log-dont-create-changelog-file.
61028         * lisp/vc/log-edit.el (log-edit-changelog-entries): Use
61029         add-log-find-changelog-buffer.
61031 2018-07-21  Bozhidar Batsov  <bozhidar@batsov.com>
61033         Make ielm accept an optional buffer name param
61035         The ielm buffer name was hardcoded which made it hard for programs to
61036         interactively create ielm buffers with different names and switch to
61037         them (e.g. perhaps you want to have one ielm buffer for each of the
61038         Elisp projects you're working on).
61040 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
61042         Fix recording keyboard macros when input method is active
61044         * lisp/international/quail.el (quail-start-translation)
61045         (quail-start-conversion): Bind inhibit--record-char to t for
61046         the first character of a translated sequence.
61048         * src/keyboard.c (record_char): Don't record events from
61049         macros to dribble file, per documentation.
61050         (Fopen_dribble_file): Doc fix.
61051         (syms_of_keyboard) <inhibit--record-char>: New variable.
61052         (record_char): Don't record input event if
61053         inhibit--record-char is non-nil.  (Bug#32108)
61055 2018-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61057         Report base of out-of-range input fixnums
61059         * src/lread.c (string_to_number): Report the base of an
61060         out-of-range fixnum.  Problem reported by Andy Moreton in:
61061         https://lists.gnu.org/r/emacs-devel/2018-07/msg00696.html
61063 2018-07-20  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
61065         * src/fns.c (Feql, Fequal): Improve floating-point doc.
61067 2018-07-20  Glenn Morris  <rgm@gnu.org>
61069         Merge from origin/emacs-26
61071         3e72298 Improve documentation of 'pcase-defmacro rx'
61072         ba9b9bb Fix TTY colors breakage by 'clear-face-cache'
61073         f56ad42 * admin/MAINTAINERS: Add files maintained by me (Michael Albi...
61074         7a258fa Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
61075         cb50077 Fix auth-source-delete (Bug#26184)
61076         a4767a6 Avoid assertion violations in gnutls.c
61077         90110f8 Don't use a literal "C-u" in ispell.el  help message text
61078         f4e7f6d Improve documentation of 'seqp'
61079         ed13639 Clarify usage and dependencies between several Flyspell features
61081         Conflicts:
61082                 etc/NEWS
61083                 test/lisp/auth-source-tests.el
61085 2018-07-20  Paul Eggert  <eggert@cs.ucla.edu>
61087         Simplify w32cygwinx.c and pacify GCC (Bug#32189)
61089         * src/w32cygwinx.c (format_string): New function.
61090         (Fw32_battery_status): Use it.
61092 2018-07-20  Michael Albinus  <michael.albinus@gmx.de>
61094         * lisp/net/trampver.el (customize-package-emacs-version-alist):
61096         Add Tramp version integrated in Emacs 26.2.
61098 2018-07-19  Paul Eggert  <eggert@cs.ucla.edu>
61100         Prefer NILP (x) to EQ (x, Qnil)
61102         This simplifies the code a bit, and also simplifies some
61103         potential future changes slightly (e.g., altering eq vs eql).
61104         * src/alloc.c (mark_object):
61105         * src/callint.c (fix_command):
61106         * src/chartab.c (Fchar_table_range, Fset_char_table_range):
61107         * src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE, xd_signature):
61108         * src/dired.c (Fsystem_users):
61109         * src/fileio.c (Fdo_auto_save):
61110         * src/fns.c (concat):
61111         * src/frame.c (get_frame_param, frame_inhibit_resize)
61112         (store_in_alist, store_frame_param, x_set_autoraise)
61113         (x_set_autolower, x_get_arg):
61114         * src/image.c (Fclear_image_cache):
61115         * src/intervals.c (intervals_equal):
61116         * src/intervals.h (DEFAULT_INTERVAL_P):
61117         * src/lread.c (substitute_object_recurse):
61118         * src/menu.c (digest_single_submenu)
61119         (find_and_call_menu_selection)
61120         (find_and_return_menu_selection):
61121         * src/nsfns.m (x_set_icon_name, Fx_create_frame):
61122         * src/nsmenu.m (ns_menu_show):
61123         * src/nsselect.m (ns_string_to_pasteboard_internal)
61124         (Fns_selection_exists_p, Fns_selection_owner_p):
61125         * src/process.c (Faccept_process_output)
61126         (wait_reading_process_output):
61127         * src/terminal.c (store_terminal_param):
61128         * src/textprop.c (verify_interval_modification):
61129         * src/xdisp.c (next_element_from_buffer):
61130         * src/xfaces.c (Finternal_set_lisp_face_attribute):
61131         * src/xfns.c (x_set_icon_type, Fx_synchronize):
61132         * src/xmenu.c (x_menu_show):
61133         * src/xselect.c (Fx_selection_owner_p)
61134         (Fx_selection_exists_p):
61135         * src/xwidget.c (xwidget_view_lookup):
61136         Prefer NILP (x) to EQ (x, Qnil).
61138 2018-07-19  Tom Tromey  <tom@tromey.com>
61140         Fix bignum creation when EMACS_INT is wider than long
61142         * src/alloc.c (mpz_set_intmax_slow, mpz_set_uintmax_slow): New
61143         functions.
61144         * src/data.c (arith_driver, Frem, Fmod, ash_lsh_impl, Fadd1)
61145         (Fsub1): Use mpz_set_intmax, mpz_set_uintmax.
61146         * src/emacs-module.c (module_make_integer): Use mpz_set_intmax.
61147         * src/floatfns.c (Fabs): Use mpz_set_intmax.
61148         * src/lisp.h (mpz_set_intmax, mpz_set_uintmax): New inline
61149         functions.
61150         (mpz_set_uintmax_slow, mpz_set_intmax_slow): Declare.
61152 2018-07-19  Tom Tromey  <tom@tromey.com>
61154         Add missing @end defun
61156         * doc/lispref/numbers.texi (Bitwise Operations): Add missing @end defun.
61158 2018-07-19  Paul Eggert  <eggert@cs.ucla.edu>
61160         Improve doc for floating point ‘=’ vs ‘eql’
61162         * doc/lispref/numbers.texi (Float Basics, Comparison of Numbers):
61163         Improve documentation of ‘=’ vs ‘eq’, ‘eql’ and ‘equal’
61164         when NaNs and signed zeros are involved.
61166 2018-07-19  Charles A. Roelli  <charles@aurox.ch>
61168         Add 'font-lock-maximum-decoration' levels for Python
61170         * etc/NEWS: New entry under Python mode.
61172         * lisp/progmodes/python.el (python-font-lock-keywords-level-1)
61173         (python-font-lock-keywords-level-2)
61174         (python-font-lock-keywords-maximum-decoration): New variables
61175         based off the incumbent 'python-font-lock-keywords'.
61176         (python-font-lock-keywords): Change it to a list of the new
61177         symbols, for use in the 'car' of 'font-lock-defaults'.
61178         (python-mode): Set the 'car' of 'font-lock-defaults' to the
61179         value of 'python-font-lock-keywords', instead of the symbol
61180         'python-font-lock-keywords'.
61182 2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>
61184         * etc/NEWS: Fix eql typo in previous change.
61186 2018-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
61188         * lisp/comint.el: Clean up namespace
61190         (shell-strip-ctrl-m): Mark as obsolete.
61191         (comint-send-invisible): Rename from `send-invisible`.
61192         (send-invisible): Make it an obsolete alias.
61193         * lisp/net/rlogin.el: Adjust accordingly; Use lexical-binding.
61194         * lisp/shell.el: Adjust accordingly.
61196 2018-07-18  Filipp Gunbin  <fgunbin@fastmail.fm>
61198         Fix imenu--generic-function after fix for Bug#32024.
61200         * lisp/imenu.el (imenu--generic-function): Restore returning of nconc
61201           result from the function.  Move filtering out empty menus so it is
61202           done before removing dummy element and splicing main element into
61203           index-alist.
61205 2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>
61207         * etc/NEWS: Mention eql etc. NaN fix.
61209 2018-07-18  Paul Eggert  <eggert@cs.ucla.edu>
61211         Fix bug with eql etc. on NaNs
61213         Fix a bug where eql, sxhash-eql, memql, and make-hash-table
61214         were not consistent on NaNs.  Likewise for equal,
61215         sxhash-equal, member, and make-hash-table.  Some of these
61216         functions ignored NaN significands, whereas others treated
61217         them as significant.  It's more logical to treat significands
61218         as significant, and this typically makes eql a bit more
61219         efficient on floats, with just one integer comparison instead
61220         of one to three floating-point comparisons.
61221         * doc/lispref/numbers.texi (Float Basics): Document that
61222         NaNs are never numerically equal, but might be eql.
61223         * src/fns.c (WORDS_PER_DOUBLE): Move to top level of this file.
61224         (union double_and_words): Now named, and at the top level of this file.
61225         (same_float): New function.
61226         (Fmemql, Feql, internal_equal, cmpfn_eql): Use it, so that
61227         the corresponding functions treat NaNs consistently.
61228         (sxhash_float): Simplify based on above-mentioned changes.
61230         * test/src/fns-tests.el (fns-tests-equality-nan): New test.
61232 2018-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
61234         * lisp/net/soap-client.el (soap-type-of): Optimize for Emacs≥26
61236 2018-07-17  Alexander Gramiak  <agrambot@gmail.com>
61238         Remove menu name from emacs-lisp-mode-map (Bug#27114)
61240         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-map): Don't give a
61241         menu name to the top-level map, the menu name is only useful for the
61242         menu-map.
61244 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
61246         Update from gnulib
61248         This incorporates:
61249         2018-07-17 gnulib-tool: limit line length for git send-email
61250         * lib/gnulib.mk.in: Regenerate.
61252 2018-07-17  Robert Pluim  <rpluim@gmail.com>
61254         Don't check unibyte hostnames for pure-ASCII
61256         * src/process.c (network_lookup_address_info_1): Only check multibyte
61257         hostnames for pure-ASCII.
61259         * test/src/process-tests.el (unibyte-domain-name): Test unibyte domain
61260         names with network-lookup-address-info.
61262 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
61264         Update from Gnulib
61266         This causes config.guess to assume support for shell functions,
61267         a safe assumption nowadays.
61268         * build-aux/config.guess, build-aux/config.sub: Copy from Gnulib.
61270 2018-07-17  Robert Pluim  <rpluim@gmail.com>
61272         Add network-lookup-address-info description
61274         * doc/lispref/processes.texi (Misc Network): Document
61275           network-lookup-address-info.
61277 2018-07-17  Robert Pluim  <rpluim@gmail.com>
61279         Add tests for network-lookup-address-info
61281         * test/src/process-tests.el (lookup-family-specification): Test
61282         network-lookup-address-info api.
61283         (lookup-unicode-domains): Test that unicode domains fail.
61284         (lookup-google): Test that normal lookups succeed.
61285         (non-existent-lookup-failure): Check that known non-existent
61286         domains fail.
61288 2018-07-17  Robert Pluim  <rpluim@gmail.com>
61290         Refactor getaddrinfo usage
61292         * src/process.c:
61293         (network_lookup_address_info_1): New function, does most of the
61294         work to call getaddrinfo.  Now checks hostname for pure-ASCII.
61295         (Fmake_network_process): Use it.
61296         (Fnetwork_lookup_address_info): Likewise.  Error check family
61297         argument.
61299 2018-07-17  Michael Albinus  <michael.albinus@gmx.de>
61301         Add variable main-thread, fix Bug#32169
61303         * doc/lispref/threads.texi (Basic Thread Functions): Add example,
61304         how to propagate signals to the main thread.  Describe variable
61305         `main-thread'.  Document optional argument CLEANUP of
61306         `thread-last-error'.
61308         * src/thread.c (Fthread_last_error): Add optional argument
61309         CLEANUP.  (Bug#32169)
61310         (main-thread): New defvar.
61312         * test/src/thread-tests.el (thread-last-error): Adapt declaration.
61313         (main-thread): Declare.
61314         (threads-main-thread): New test.
61315         (threads-errors): Extend test.
61317 2018-07-16  Charles A. Roelli  <charles@aurox.ch>
61319         Improve description of window configs in 'register-val-describe'
61321         * etc/NEWS: Describe the change.
61322         * lisp/register.el (register-val-describe)
61323         [(window-configuration-p (car val))]: Include the shown
61324         buffers in the return value to make
61325         'register-read-with-preview' more useful.  (Bug#30863)
61327 2018-07-16  Charles A. Roelli  <charles@aurox.ch>
61329         * configure.ac [$HAVE_NS]: Correct build instructions.
61331         Running 'make install' to test a repo build on macOS used to
61332         be required, but is no longer needed.
61334 2018-07-16  Robert Pluim  <rpluim@gmail.com>
61336         Implement hostname->ip lookup function
61338         * src/process.c (conv_sockaddr_to_lisp): Add include_port
61339         argument.  Don't put a port in the result if this is false.
61340         (conv_addrinfo_to_lisp, Fprocess_datagram_address)
61341         (connect_network_socket, network_interface_list)
61342         (network_interface_info, server_accept_connection)
61343         (init_process_emacs): Update callers.
61344         (Fnetwork_lookup_address_info): New function.  Performs hostname to
61345         ip address lookups.
61347         * src/w32.c (network_interface_get_info): Update callers of
61348           conv_sockaddr_to_lisp
61350         * etc/NEWS : mention addition of 'network-lookup-address-info'
61352 2018-07-15  Noam Postavsky  <npostavs@gmail.com>
61354         Reject gpg 2.0 for epg configs by default (Bug#23561)
61356         Previously, gpg2 2.0 would be rejected, but the same version installed
61357         as "gpg" would be accepted.
61359         * lisp/epg-config.el (epg-gpg2-minimum-version): New constant.
61360         (epg-config--program-alist) <OpenPGP>: Require a version in 1.4.3..2.0
61361         or 2.1.6+., not just anything above 1.4.3.
61362         (epg-check-configuration): Accept a list of required version
61363         intervals, in addition to just a single minimum.
61365 2018-07-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
61367         * lisp/format.el (format-proper-list-p): New alias.
61369 2018-07-15  Noam Postavsky  <npostavs@gmail.com>
61371         Don't test symmetric operations on gpg 2.0 (Bug#23561)
61373         On the Hydra test machines, which have gpg 2.0, the symmetric tests
61374         fail.
61375         * test/lisp/epg-tests.el (with-epg-tests): Pass REQUIRE-PUBLIC-KEY to
61376         `epg-tests-find-usable-gpg-configuration' and call it before
61377         `epg-make-context' so that the latter uses the resulting cached
61378         config.
61379         (epg-tests-find-usable-gpg-configuration): Only allow gpg 2.0 for
61380         symmetric operations.  Clear `epg--configurations' and don't pass
61381         NO-CACHE to `epg-find-configuration'.
61382         (epg-tests--config-program-alist): Use copy-tree to avoid modifying
61383         the epg-config--program-alist cons values.
61384         * test/lisp/emacs-lisp/package-tests.el (package-test-signed): Allow
61385         running with gpg 2.0.
61387 2018-07-15  Michael Albinus  <michael.albinus@gmx.de>
61389         Precise dav/davs in Tramp manual
61391         * doc/misc/tramp.texi (GVFS based methods): Mention `owncloud'
61392         method for special `dav'/`davs' file names.
61394 2018-07-15  Michael Albinus  <michael.albinus@gmx.de>
61396         Fix Bug#32147
61398         * test/lisp/net/secrets-tests.el (secrets-test02-collections)
61399         (secrets-test03-items): Test for both "Login" or "login"
61400         collection.  (Bug#32147)
61402 2018-07-14  Noam Postavsky  <npostavs@gmail.com>
61404         Update package.el test for message format changes
61406         * test/lisp/emacs-lisp/package-tests.el (package-test-signed): Update
61407         the expected message.  The message was changed in 2018-06-25 "Reformat
61408         package.el message strings for future l10n".
61409         (with-package-test, with-fake-help-buffer): Add debug declarations.
61411 2018-07-14  Noam Postavsky  <npostavs@gmail.com>
61413         Fix gpg detection for tests (Bug#23561)
61415         * test/lisp/emacs-lisp/package-tests.el (package-test-signed): Stop
61416         using epg-check-configuration and ignore-errors, they're redundant
61417         because epg-find-configuration already does all that.
61418         * test/lisp/epg-tests.el (epg-tests-find-usable-gpg-configuration):
61419         Remove tracing.
61420         (with-epg-tests): Skip test if no gpg config is found.
61421         (epg-decrypt-1 epg-roundtrip-1, epg-sign-verify-1, epg-sign-verify-2)
61422         (epg-import-1): Don't check gpg configuration at top-level, rely on
61423         `with-epg-tests' instead.  Checking the gpg configuration requires a
61424         valid HOME (or GNUPGHOME), which is provided by `with-epg-tests'.
61426 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
61428         Show full issuer and subject distinguished names
61430         CAs like Let's Encrypt do not put O and OU into the Subject's DN.
61431         Similarly, O and OU are often used to indicate Domain Validated or
61432         Organization Validation as opposed to the actual OU.
61434         Issuer CN often contains the issuer's server or as an indication of
61435         Extended Validation certificate as opposed to the actual issuer
61436         organization.
61438         The Hostname part as extracted from the Subject is also confusing, as
61439         in the case of a hostname mismatch, the Subject's CN, which
61440         `nsm-format-certificate' naively calls the Hostname, will not actually
61441         match the hostname in the problem preamble.
61443         * lisp/net/nsm.el (nsm-format-certificate): Show full DN of Issuer and
61444           Subject.  Remove Hostname.
61445           (nsm-certificate-part, nsm-parse-subject): Removed.
61447 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
61449         Full certificate chain details for NSM
61451         * lisp/net/nsm.el (nsm-check-tls-connection): Fix issue with plural
61452           problems in message.  Prefix every problem with a bullet.
61453           (nsm-query-user): Add new view the full certificate chain by
61454           pressing d.
61455           (nsm-format-certificate): Improve basic certificate and session info
61456           formatting.
61458         * src/gnutls.c (emacs_gnutls_certificate_export_pem): New function.
61459           (gnutls_certificate_details): Rename to
61460           emacs_gnutls_certificate_details.  Add :pem to result list.
61461           (Fgnutls_format_certificate):  New function for formatting a PEM to
61462           human-readable text.
61464 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
61466         Add option to bypass NSM TLS checks on local networks
61468         * lisp/net/net-utils.el (nslookup-host-ipv4, nslookup-host-ipv6,
61469           ipv6-expand): New functions to lookup IPv4 and IPv6 addresses from
61470           DNS.
61472         * lisp/net/nsm.el (nsm-trust-local-network, nsm-should-check,
61473           nsm-check-tls-connection, nsm-check-plain-connection): New defcustom
61474           `nsm-trust-local-network' lets users customize whether NSM should
61475           check for TLS problems when connecting to the hosts on their local
61476           networks.  `nsm-should-check' determines whether
61477           `nsm-check-tls-connection' and `nsm-check-plain-connection' should
61478           perform checks.  localhost is implicitly trusted, thus checks are
61479           never performed there.
61481 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
61483         Revamp Network Security manager checks for TLS
61485         * lisp/net/nsm.el (network-security-level, nsm-level,
61486           nsm-new-fingerprint-ok-p): Remove `paranoid' level and related code.
61488         * lisp/net/nsm.el (nsm-tls-checks, nsm-tls-check-version,
61489             nsm-tls-check-compression, nsm-tls-check-renegotiation-info-ext,
61490             nsm-tls-check-verify-cert, nsm-tls-check-same-cert,
61491             nsm-tls-check-null-suite, nsm-tls-check-export-kx,
61492             nsm-tls-check-anon-kx, nsm-tls-check-md5-sig,
61493             nsm-tls-check-rc4-cipher, nsm-tls-check-dhe-prime-kx,
61494             nsm-tls-check-sha1-sig, nsm-tls-check-ecdsa-cbc-cipher
61495             nsm-tls-check-dhe-kx, nsm-tls-check-rsa-kx,
61496             nsm-tls-check-3des-cipher, nsm-tls-check-cbc-cipher,
61497             nsm-save-fingerprint-maybe, nsm-tls-post-check-functions): New
61498             options and functions for checking TLS handshake problems.
61500         * lisp/net/nsm.el (nsm-check-certificate,
61501           network-security-protocol-checks,
61502           nsm-protocol-check--diffie-hellman-prime-bits,
61503           nsm-protocol-check--3des, nsm-protocol-check--rc4,
61504           nsm-protocol-check--signature-sha1,
61505           nsm-protocol-check--intermediate-sha1, nsm-protocol-check--ssl,
61506           nsm-check-protocol): Remove in favor of `nsm-tls-checks' and
61507           `nsm-tls-check-*' functions.
61509         * lisp/net/nsm.el (nsm-verify-connection): Ensure connection is
61510           checked even when `network-security-level' is `low'.
61512         * lisp/net/nsm.el (nsm-check-tls-connection): Batch all problems found
61513           before querying the user.
61515         * lisp/net/nsm.el (nsm--encryption): Renamed to `nsm-cipher-suite'.
61517         * lisp/net/nsm.el (nsm-fingerprint-ok-p): No longer prompt when
61518           certificate fingerprints mismatch.  Returns a boolean instead when
61519           the fingerprint of the certificate received matches the saved
61520           fingerprints.
61522         * lisp/net/nsm.el (nsm-query): Change signature.  Accepts a list of
61523           problems and a preformatted message instead of just a message format
61524           and the arguments for the message.
61526         * lisp/net/nsm.el (nsm-query-user): Change signature.  Accepts a
61527           preformatted message and the peer status of the handshake instead of
61528           a message format, its arguments and the certificate for the host.
61530         * lisp/net/nsm.el (nsm-save-host): Change signature.  Accepts a list of
61531           problems after the WHAT parameter.  Saves multiple fingerprints for
61532           the same host in case the host load balances a TLS server with more
61533           than one certificates signed with different keys.  Makes sure
61534           conditions are not removed when updating a fingerprint.
61536         * lisp/net/nsm.el (nsm-format-certificate): Display the TLS handshake's
61537           renegotiation info extension, compression level, encrypt-then-MAC
61538           extension, and key exchange prime bit length.
61540         * src/gnutls.c (gnutls-peer-status-warning-describe,
61541           gnutls-peer-status): Check for certificate verification problems
61542           introduced since GnuTLS 3.1.
61544         * src/gnutls.c (gnutls-peer-status): `:compression', `:encrypt-then-mac'
61545           and `:safe-renegotiation' are now contained in the peer status
61546           result return value.
61548 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
61550         Set standard value of `gnutls-min-primes-bits' to nil
61552         * lisp/net/gnutls.el (gnutls-min-prime-bits): Set standard value to
61553           nil in order to let GnuTLS manage the minimum DH prime bits
61554           accepted.
61556 2018-07-14  Jimmy Yuen Ho Wong  <wyuenho@gmail.com>
61558         Check TLS certs against CRL
61560         * lisp/net/gnutls.el (gnutls-boot-parameters): Return
61561           `gnutls-crlfiles' in `:crlfiles'.
61562           (gnutls-crlfiles): New defcustom.
61563           (gnutls--get-files): New defun.
61564           (gnutls-trustfiles, gnutls-crlfiles): Delegate to
61565           `gnutls--get-files' to return a list of filenames, accepts glob pattern.
61567 2018-07-14  Charles A. Roelli  <charles@aurox.ch>
61569         Add to documentation of 'jump-to-register'
61571         * lisp/register.el (jump-to-register):
61572         * doc/emacs/regs.texi (Position Registers): Document that
61573         jumping to a register can push the mark.
61575 2018-07-14  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
61577         Avoid infloop in redisplay due to faulty mode-line properties
61579         * src/xdisp.c (safe_set_text_properties): New function.
61580         (display_mode_element): Call Fset_text_properties through
61581         internal_condition_case_n, using safe_set_text_properties as a
61582         wrapper.  (Bug#32038)
61584 2018-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
61586         * lisp/vc/diff-mode.el (diff-font-lock-prettify): New var
61588         (diff--font-lock-prettify): New function.
61589         (diff-font-lock-keywords): Use it.
61591 2018-07-13  Glenn Morris  <rgm@gnu.org>
61593         Merge from origin/emacs-26
61595         17ebb6e (origin/emacs-26) Use consistent function names in thread-tes...
61596         1c86229 Fix format error in Faccept_process_output
61597         b38b91a Lessen stack consumption in recursive read1
61598         3eb4603 Match w32 paths in grep sans --null hits (Bug#32051)
61599         5cc7c4b Fix previous make-network-process change
61600         d6a1b69 Another documentation improvement in flyspell.el
61601         9b49a8e Improve documentation of Flyspell
61602         3744fda Provide feature 'threads
61603         ef9025f Save the server alias on reconnect (Bug#29657)
61604         db3874b Refer to "proper lists" instead of "true lists"
61605         35e0305 Avoid turning on the global-minor-mode recursively
61606         51bf4e4 Fix Bug#32085
61608 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
61610         Tweak subr-x.el substring functions
61612         * lisp/emacs-lisp/subr-x.el (string-join): #'-quote function symbol.
61613         (string-trim-left, string-trim-right):
61614         Make better use of substring for minor speedup.
61615         * test/lisp/emacs-lisp/subr-x-tests.el
61616         (subr-x-test-string-trim-left, subr-x-test-string-trim-right)
61617         (subr-x-test-string-remove-prefix)
61618         (subr-x-test-string-remove-suffix): New tests.
61620 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
61622         Minor cus-theme.el simplifications
61624         * lisp/cus-theme.el (custom-new-theme-mode, customize-themes)
61625         (custom-theme-choose-mode): Use setq-local.
61626         (customize-create-theme): Ditto.  Use delete-all-overlays.
61627         (describe-theme-1, custom-theme-summary): Simplify logic.
61629 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
61631         Minor custom.el simplifications
61633         * lisp/custom.el (custom-quote): Duplicate macroexp-quote.
61634         (custom-load-symbol, customize-mark-to-save, customize-mark-as-set)
61635         (custom-theme-name-valid-p, enable-theme, custom-enabled-themes)
61636         (disable-theme): Simplify logic.
61638 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
61640         * lisp/cus-theme.el: Use lexical-binding
61642 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
61644         * lisp/custom.el: Use lexical-binding
61646         Remove duplicate 'Custom Themes' comment heading.
61647         (deftheme, custom-declare-theme): Fix advertised calling convention.
61648         (custom-enabled-themes): Fix message grammar.
61650 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
61652         Fix custom-available-themes file expansion
61654         For discussion, see thread starting at
61655         https://lists.gnu.org/r/emacs-devel/2018-05/msg00222.html.
61656         * lisp/custom.el: (custom-available-themes): Use directory-files
61657         instead of performing arbitrary wildcard expansion in file names.
61658         (custom-theme--load-path): Document return value.
61659         * test/lisp/custom-tests.el: New file.
61660         (custom-theme--load-path): New test.
61662 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
61664         Disable no-byte-compile in built-in themes
61666         * etc/themes/adwaita-theme.el:
61667         * etc/themes/deeper-blue-theme.el:
61668         * etc/themes/dichromacy-theme.el:
61669         * etc/themes/leuven-theme.el:
61670         * etc/themes/light-blue-theme.el:
61671         * etc/themes/manoj-dark-theme.el:
61672         * etc/themes/misterioso-theme.el:
61673         * etc/themes/tango-dark-theme.el:
61674         * etc/themes/tango-theme.el:
61675         * etc/themes/tsdh-dark-theme.el:
61676         * etc/themes/tsdh-light-theme.el:
61677         * etc/themes/wheatgrass-theme.el:
61678         * etc/themes/whiteboard-theme.el:
61679         * etc/themes/wombat-theme.el: Disable no-byte-compile.
61681         https://lists.gnu.org/r/emacs-devel/2018-01/msg00614.html
61682         https://lists.gnu.org/r/emacs-devel/2018-02/msg00060.html
61684 2018-07-13  Basil L. Contovounesios  <contovob@tcd.ie>
61686         Improve loading of byte-compiled custom themes
61688         * lisp/custom.el (load-theme):
61689         Load byte-compiled file of safe themes when available.
61691         https://lists.gnu.org/r/emacs-devel/2018-01/msg00614.html
61692         https://lists.gnu.org/r/emacs-devel/2018-02/msg00060.html
61694 2018-07-13  Robert Pluim  <rpluim@gmail.com>
61696         Add GMP to emacs_config_features
61698         * configure.ac : Add GMP to emacs_config_features.  This allows us
61699         to determine whether the built-in gmp-mini is being used or not.
61701 2018-07-12  Tom Tromey  <tom@tromey.com>
61703         Document bignums
61705         * doc/lispref/numbers.texi (Numbers, Integer Basics)
61706         (Predicates on Numbers, Comparison of Numbers)
61707         (Arithmetic Operations, Bitwise Operations): Update for bignums.
61708         * doc/lispref/objects.texi (Integer Type, Type Predicates):
61709         Update for bignums.
61710         * etc/NEWS: Update for bigums.
61712 2018-07-12  Tom Tromey  <tom@tromey.com>
61714         Bignum fixes for byte-compiler and bytecode interpreter
61716         * lisp/emacs-lisp/byte-opt.el: Mark bignump and fixnump as
61717         side-effect-and-error-free-fns.
61718         * src/bytecode.c (exec_byte_code): Handle bignums.
61720 2018-07-12  Tom Tromey  <tom@tromey.com>
61722         Use fixnump rather than integerp in some spots
61724         * src/buffer.c (syms_of_buffer): Use Qfixnump, not Qintegerp.
61725         * src/data.c (syms_of_data): Define fixnump symbol.
61726         * src/lisp.h (lisp_h_CHECK_FIXNUM): Use Qfixnump.
61727         (struct Lisp_Buffer_Objfwd): Update comment.
61729 2018-07-12  Tom Tromey  <tom@tromey.com>
61731         Make ash and lsh handle bignums
61733         * src/data.c (ash_lsh_impl): Handle bignums.
61734         * test/src/data-tests.el (data-tests-ash-lsh): New test.
61736 2018-07-12  Tom Tromey  <tom@tromey.com>
61738         Make logb handle bignums
61740         * src/floatfns.c (Flogb): Handle bignums.
61741         * test/src/floatfns-tests.el (bignum-logb): New test.
61743 2018-07-12  Tom Tromey  <tom@tromey.com>
61745         Make % and mod handle bignums
61747         * src/data.c (Frem, Fmod): Handle bignums.
61748         * src/lisp.h (CHECK_INTEGER_COERCE_MARKER): New macro.
61749         * test/src/data-tests.el (data-tests-check-sign)
61750         (data-tests-%-mod): New tests.
61752 2018-07-12  Tom Tromey  <tom@tromey.com>
61754         Let C modules access bignum values
61756         * src/emacs-module.c (module_extract_integer, module_make_integer):
61757         Handle bignums.
61759 2018-07-12  Tom Tromey  <tom@tromey.com>
61761         Make min and max handle bignums
61763         * src/data.c (minmax_driver): Handle bignums.
61764         * test/src/data-tests.el (data-tests-minmax): New test.
61766 2018-07-12  Tom Tromey  <tom@tromey.com>
61768         Make logcount handle bignums
61770         * src/data.c (Flogcount): Handle bignums.
61771         * test/src/data-tests.el (data-tests-logcount): New test.
61773 2018-07-12  Tom Tromey  <tom@tromey.com>
61775         Make lognot handle bignums
61777         * src/data.c (Flognot): Handle bignums.
61779 2018-07-12  Tom Tromey  <tom@tromey.com>
61781         Make 1+ and 1- handle bignums
61783         * src/data.c (Fadd1, Fsub1): Handle bignums.
61784         * test/src/data-tests.el (data-tests-1+, data-tests-1-): New tests.
61786 2018-07-12  Tom Tromey  <tom@tromey.com>
61788         Make abs handle bignums
61790         * src/floatfns.c (Fabs): Handle bignums.
61791         * test/src/floatfns-tests.el (bignum-abs): New test.
61793 2018-07-12  Tom Tromey  <tom@tromey.com>
61795         Allow conversion of bignums to floats
61797         * src/floatfns.c (extract_float, Ffloat): Handle bignums.
61798         * src/lisp.h (XFLOATINT): Handle bignums.
61799         * test/src/floatfns-tests.el (bignum-to-float): New test.
61801 2018-07-12  Tom Tromey  <tom@tromey.com>
61803         Make format handle bignums
61805         * src/editfns.c (styled_format): Handle bignums.
61806         * test/src/editfns-tests.el (read-large-integer): Update.
61807         (format-bignum): New test.
61809 2018-07-12  Tom Tromey  <tom@tromey.com>
61811         Make number-to-string work for bignums
61813         * src/data.c (Fnumber_to_string): Handle bignum.
61814         * test/src/data-tests.el (data-tests-number-to-string): New test.
61816 2018-07-12  Tom Tromey  <tom@tromey.com>
61818         Add some bignum tests
61820         * test/src/data-tests.el (data-tests-bignum, data-tests-+)
61821         (data-tests-/, data-tests-number-predicates): New tests.
61822         * test/src/fns-tests.el (test-bignum-eql): New test.
61823         * test/src/lread-tests.el (lread-long-hex-integer): Expect bignum.
61824         * test/src/print-tests.el (print-bignum): New test.
61826 2018-07-12  Tom Tromey  <tom@tromey.com>
61828         Make arithmetic work with bignums
61830         * src/data.c (free_mpz_value): New function.
61831         (arith_driver): Rewrite.
61832         (float_arith_driver): Handle bignums.
61834 2018-07-12  Tom Tromey  <tom@tromey.com>
61836         Make comparison operators handle bignums
61838         * src/data.c (bignumcompare): New function.
61839         (arithcompare): Handle bignums.
61841 2018-07-12  Tom Tromey  <tom@tromey.com>
61843         Make the reader accept bignums
61845         * src/data.c (Fstring_to_number): Update.
61846         * src/lisp.h (S2N_OVERFLOW_TO_FLOAT): Remove.
61847         * src/lread.c (free_contents): New function.
61848         (read_integer): Handle bignums.
61849         (read1): Update.
61850         (string_to_number): Handle bignums.
61851         (syms_of_lread): Remove read-integer-overflow-as-float.
61852         * src/process.c (Fsignal_process): Update.
61854 2018-07-12  Tom Tromey  <tom@tromey.com>
61856         Make eql work for bignums
61858         * src/fns.c (Feql, internal_equal): Handle bignums.
61860 2018-07-12  Tom Tromey  <tom@tromey.com>
61862         Provide new functions to create bignums
61864         * src/alloc.c (make_bignum_str, make_number): New functions.
61865         * src/lisp.h (make_bignum_str, make_number): Declare.
61867 2018-07-12  Tom Tromey  <tom@tromey.com>
61869         Introduce the bignum type
61871         * src/alloc.c (mark_object): Handle Lisp_Misc_Bignum.
61872         (sweep_misc): Call mpz_clear for Lisp_Misc_Bignum.
61873         * src/data.c (Ftype_of): Handle Lisp_Misc_Bignum.
61874         (Fintegerp, Finteger_or_marker_p, Fnatnump, Fnumberp)
61875         (Fnumber_or_marker_p): Update for bignum.
61876         (Ffixnump, Fbignump): New defuns.
61877         (syms_of_data): Update.
61878         * src/emacs.c (xrealloc_for_gmp, xfree_for_gmp): New functions.
61879         (main): Call mp_set_memory_functions.
61880         * src/lisp.h (enum Lisp_Misc_Type) <Lisp_Misc_Bignum>: New constant.
61881         (struct Lisp_Bignum): New.
61882         (union Lisp_Misc): Add u_bignum.
61883         (BIGNUMP, XBIGNUM, INTEGERP, NATNUMP, NUMBERP, CHECK_NUMBER)
61884         (CHECK_INTEGER, CHECK_NUMBER_COERCE_MARKER): New functions.
61885         * src/print.c (print_object): Handle Lisp_Misc_Bignum.
61887 2018-07-12  Tom Tromey  <tom@tromey.com>
61889         Add configury for GMP library
61891         * configure.ac (GMP_LIB, GMP_OBJ): New substs.
61892         * src/Makefile.in (GMP_OBJ, GMP_OBJ): New variables.
61893         (base_obj): Add GMP_OBJ.
61894         (LIBES): Add GMP_LIB.
61895         * src/mini-gmp.h: New file.
61896         * src/mini-gmp.c: New file.
61898 2018-07-12  Tom Tromey  <tom@tromey.com>
61900         Rename integerp->fixnum, etc, in preparation for bignums
61902         * src/json.c, src/keyboard.c, src/keyboard.h, src/keymap.c,
61903         src/kqueue.c, src/lcms.c, src/lisp.h, src/lread.c, src/macros.c,
61904         src/marker.c, src/menu.c, src/minibuf.c, src/msdos.c, src/print.c,
61905         src/process.c, src/profiler.c, src/search.c, src/sound.c,
61906         src/syntax.c, src/sysdep.c, src/term.c, src/terminal.c,
61907         src/textprop.c, src/undo.c, src/w16select.c, src/w32.c,
61908         src/w32console.c, src/w32cygwinx.c, src/w32fns.c, src/w32font.c,
61909         src/w32inevt.c, src/w32proc.c, src/w32select.c, src/w32term.c,
61910         src/w32uniscribe.c, src/widget.c, src/window.c, src/xdisp.c,
61911         src/xfaces.c, src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c,
61912         src/xrdb.c, src/xselect.c, src/xterm.c, src/xwidget.c: Rename
61913         INTEGERP->FIXNUM, make_number->make_fixnum, CHECK_NUMBER->CHECK_FIXNUM,
61914         make_natnum->make_fixed_natum, NUMBERP->FIXED_OR_FLOATP,
61915         NATNUMP->FIXNATP, CHECK_NATNUM->CHECK_FIXNAT.
61917 2018-07-12  Noam Postavsky  <npostavs@gmail.com>
61919         Speed up smerge-refine-regions by avoiding fsync
61921         * lisp/vc/smerge-mode.el (smerge-refine-regions): Bind
61922         write-region-inhibit-fsync to t.  This was reported in
61923         https://github.com/magit/magit/pull/2834 to give a noticeable speedup.
61925 2018-07-12  Noam Postavsky  <npostavs@gmail.com>
61927         Don't skip epg-tests even with gpg 2.0 (Bug#23561)
61929         * test/lisp/epg-tests.el (epg-tests--config-program-alist): New
61930         constant, which allows gpg2 version 2.0+.
61931         (epg-tests-find-usable-gpg-configuration): Pass it to
61932         epg-find-configuration.
61934 2018-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
61936         Fix the bootstrap differently, so zerop can be where it belongs
61938         Suggested by Robert Pluim <rpluim@gmail.com>.
61940         * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Avoid cadr/cddr.
61941         * lisp/subr.el (zerop): Un-revert 2018-07-10T23:08:58-07:00!contovob@tcd.ie.
61943 2018-07-11  Glenn Morris  <rgm@gnu.org>
61945         Unbreak bootstrap
61947         * lisp/subr.el (zerop): Revert previous change, which caused
61948         bootstrap to fail with void function cadr.
61950 2018-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
61952         * lisp/vc/diff-mode.el: Perform hunk refinement from font-lock
61954         Remove redundant :group arguments.
61955         (diff-font-lock-refine): New var.
61956         (diff--refine-hunk): New function, extracted from diff-refine-hunk.
61957         (diff-refine-hunk): Use it.
61958         (diff--font-lock-refine--refresh): New function.
61959         (diff--font-lock-refined): New function.
61960         (diff-font-lock-keywords): Use it.
61962 2018-07-10  Filipp Gunbin  <fgunbin@fastmail.fm>
61964         Fix Bug#32107
61966         * lisp/progmodes/sql.el (sql-buffer-live-p): Fix handling of optional
61967           connection argument.  (Bug#32107)
61969 2018-07-10  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
61971         Fix infinite recursion in eshell/clear (Bug#31326)
61973         * lisp/eshell/esh-mode.el (eshell/clear): Bind
61974         eshell-input-filter-functions to nil to prevent entries like
61975         eshell-smart-display-setup from causing infinite recursion.
61977 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
61979         * lisp/indent.el (indent-line-to): Fix dedenting of tabs.
61981 2018-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61983         * lisp/format.el (format-annotate-single-property-change): Simplify.
61985 2018-07-09  Basil L. Contovounesios  <contovob@tcd.ie>
61987         Add predicate proper-list-p
61989         For discussion, see emacs-devel thread starting at
61990         https://lists.gnu.org/r/emacs-devel/2018-04/msg00460.html.
61992         * lisp/subr.el (proper-list-p): New function.
61993         Implementation suggested by Paul Eggert <eggert@cs.ucla.edu> in
61994         https://lists.gnu.org/r/emacs-devel/2018-06/msg00138.html.
61995         * doc/lispref/lists.texi (List Elements):
61996         * etc/NEWS: Document proper-list-p.
61997         * lisp/org/ob-core.el (org-babel-insert-result):
61998         * lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
61999         * lisp/emacs-lisp/cl-macs.el (cl--make-usage-args): Use proper-list-p.
62000         * lisp/emacs-lisp/ert.el (ert--proper-list-p): Remove.
62001         Replaced by proper-list-p in lisp/subr.el.
62002         (ert--explain-equal-rec): Use proper-list-length.
62003         * lisp/format.el (format-proper-list-p): Remove.
62004         Replaced by proper-list-p in lisp/subr.el.
62005         (format-annotate-single-property-change): Use proper-list-p.
62006         * test/lisp/emacs-lisp/ert-tests.el (ert-test-proper-list-p):
62007         Move from here...
62008         * test/lisp/subr-tests.el (subr-tests--proper-list-length):
62009         ...to here, mutatis mutandis.
62011 2018-07-09  Noam Postavsky  <npostavs@gmail.com>
62013         Respect field boundaries in indent-line-to (Bug#32014)
62015         * lisp/indent.el (indent-line-to): Use the back-to-indentation point
62016         as the end-point of whitespace removal, rather than
62017         backward-to-indentation which doesn't respect field boundaries.
62018         * test/lisp/emacs-lisp/lisp-mode-tests.el
62019         (lisp-indent-with-read-only-field): Don't expect to fail.
62021 2018-07-09  Noam Postavsky  <npostavs@gmail.com>
62023         Merge from emacs-26
62025         db3f779780 ; Test for Bug#32014
62026         90d95b000c Explicitly reject :server and :nowait (Bug#31903)
62027         917158f8c9 Fix Bug#32090
62029         # Conflicts:
62030         #       src/process.c
62032 2018-07-09  Noam Postavsky  <npostavs@gmail.com>
62034         Merge from emacs-26
62036         65889a6d12 Fix bootstrap infloop in GNU/Linux alpha
62037         48efd1c98b Minor fix of a recent documentation change
62038         3302b7cd7f Mention the NSM in the gnutls variable doc strings
62039         40c2ce743b Remove test code from last commit
62040         e02d8e29c6 Fix Bug#32084
62041         da5d6dbe39 Fix (length NON-SEQUENCE) documentation
62043 2018-07-09  Sam Steingold  <sds@gnu.org>
62045         dired-do-find-regexp: Use rgrep-find-ignored-directories.
62047 2018-07-08  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
62049         Fix etc/HELLO searching in grep.el
62051         * lisp/progmodes/grep.el (grep-compute-defaults):
62052         Search for "^Copyright", not "^English", as the latter is no
62053         longer present in etc/HELLO and the former is more likely to
62054         survive future changes to etc/HELLO (Bug#32093).
62056 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
62058         Fix floating point exceptions on Alpha (Bug#32086)
62060         * admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
62061         * m4/fpieee.m4: New file, copied from Gnulib.
62062         * m4/gnulib-comp.m4: Regenerate.
62064 2018-07-08  Eli Zaretskii  <eliz@gnu.org>
62066         Minor improvements in recent NSM documentation changes
62068         * doc/emacs/misc.texi (Network Security): Improve wording and
62069         markup of last change.
62071         * src/gnutls.c (Fgnutls_peer_status): Doc fix.
62073         * etc/NEWS: Improve wording of last change.
62075 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
62077         Fix typo in sha1-intermediate check
62079         * lisp/net/nsm.el (nsm-protocol-check--intermediate-sha1): Allow
62080         storing the exception with a correct name.
62082 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
62084         Document network-security-protocol-checks better
62086         * doc/emacs/misc.texi (Network Security): Rearrange the
62087         network-security-protocol-checks documentation and try to explain
62088         more what this all means and what checks are triggered.
62090 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
62092         NSM-related doc fixes
62094         * src/gnutls.c (Fgnutls_peer_status): Mention :certificates in the
62095         doc string.
62097         * etc/NEWS: Mention how to switch off the additional TLS checks.
62099 2018-07-07  Glenn Morris  <rgm@gnu.org>
62101         * lisp/imenu.el: Require cl-lib, not internal components of same.
62103         * admin/make-tarball.txt, admin/release-process: Refcard tweaks.
62105 2018-07-07  Glenn Morris  <rgm@gnu.org>
62107         Merge from origin/emacs-26
62109         a427de9 (origin/emacs-26) Fix bug #11732
62110         3a04e15 Improve documentation of 'emacs-lock-mode'
62111         9d6ca5a * lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32...
62112         fdd7e7d Improve indexing of 'eval-defun' in ELisp manual
62113         10af989 Fix (length CIRCULAR) documentation
62114         271d1f7 Tramp editorials
62115         4abf94f Clarify and improve doc strings of 'eval-last-sexp' and friends
62116         6cfc7a7 Automate upload of Emacs manuals to gnu.org
62117         b73cde5 Fix MH-E mail composition with GNU Mailutils (SF#485)
62118         0dce5e5 Speed up 'replace-buffer-contents' some more
62119         00fdce0 * doc/emacs/docstyle.texi: Avoid messing up the html output.
62121         Conflicts:
62122                 admin/make-tarball.txt
62124 2018-07-07  Drew Adams  <drew.adams@oracle.com>
62126         Fix 2 minor bugs in 'imenu--generic-function'
62128         * lisp/imenu.el (imenu--generic-function): Move point to START
62129         before checking whether the current item is inside a comment
62130         or a string.  Remove any empty menus that could have been
62131         added before returning.  (Bug#32024)
62133 2018-07-07  John Shahid  <jvshahid@gmail.com>
62135         Keep interactive uses of 'recenter' backward compatible (Bug#31325)
62137         * src/window.c (Frecenter): Change the interactive spec to always pass
62138         a non-nil value to the REDISPLAY argument when called interactively.
62139         * lisp/window.el (recenter-top-bottom): Make sure 'recenter's second
62140         argument is non-nil everywhere.
62141         * doc/emacs/windows.texi (Textual Scrolling): Update documentation of
62142         'recenter'.
62144 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
62146         Documentation followup for bug#32029
62148         * etc/NEWS: Mention 'xref-find-definitions-at-mouse'
62150         * doc/emacs/maintaining.texi (Looking Up Identifiers):
62151         Document 'xref-find-definitions-at-mouse'.
62153 2018-07-07  Tobias Gerdin  <tgerdin@gmail.com>  (tiny change)
62155         New function 'xref-find-definitions-at-mouse'
62157         * lisp/progmodes/xref.el (xref-find-definitions-at-mouse): New
62158         function.  (Bug32029)
62160 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
62162         Fix recent change in window.c
62164         * src/window.c (scroll_command): Fix minor inefficiency in
62165         last change: don't call Fset_buffer if the buffer is already set to be
62166         what we want.  (Bug#31988)
62168 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62170         Update from gnulib
62172         This incorporates:
62173         2018-07-04 gnulib-tool: minor tweaks for --gnu-make
62174         * build-aux/config.guess, build-aux/config.sub: Copy from Gnulib.
62175         * lib/gnulib.mk.in: Regenerate.
62177 2018-07-06  Basil L. Contovounesios  <contovob@tcd.ie>
62179         Fix scrolling
62181         * src/window.c (scroll_command): Fix scrolling.
62183 2018-07-04  Michael Albinus  <michael.albinus@gmx.de>
62185         * lisp/shell.el (shell-completion-vars):
62187         Set `comint-file-name-prefix' to "" for local default directory.
62189 2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62191         Adjust to Gnulib change with -Wswitch-default
62193         * configure.ac: Simplify by not bothering to omit
62194         -Wswitch-default, as Gnulib no longer enables it by default.
62196 2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62198         Update from Gnulib
62200         This incorporates:
62201         2018-07-01 getloadavg: don't redefine WINDOWS32
62202         2018-07-01 manywarnings: omit -Wswitch-default
62203         * build-aux/config.sub, lib/getloadavg.c, m4/manywarnings.m4:
62204         Copy from Gnulib.
62206 2018-07-03  Tom Tromey  <tom@tromey.com>
62208         Fix Tcl indentation in a namespace
62210         Fixes bug#32035
62211         * lisp/progmodes/tcl.el (tcl-proc-list): Add "namespace".
62212         * test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent): New
62213         test.
62215 2018-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
62217         * lisp/mail/sendmail.el: Use lexical-binding
62219         (mail-recover-1): Declare dired-trivial-filenames.
62221 2018-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62223         Fix typo in --with-x-toolkit=no code
62225         * src/xmenu.c (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]:
62226         Fix type typo introduced by 2018-06-14T22:59:08!eggert@cs.ucla.edu.
62228 2018-07-03  João Távora  <joaotavora@gmail.com>
62230         Adjust previous jsonrpc change
62232         (nth 2) is probably a better alternative to caddr, and in Emacs 26.1
62233         we can pass 0 as :service to automatically find an available port.
62235         * lisp/jsonrpc.el (jsonrpc--call-deferred): Use cl-caddr.
62237         * test/lisp/jsonrpc-tests.el
62238         (jsonrpc--call-with-emacsrpc-fixture): Pass 0 as :service to when
62239         making the listen server.
62241 2018-07-02  Glenn Morris  <rgm@gnu.org>
62243         * lisp/mail/sendmail.el (mail-from-style):
62244         Improve obsolescence message.
62246 2018-07-02  Glenn Morris  <rgm@gnu.org>
62248         Merge from origin/emacs-26
62250         fc5cae7 ; Fix ChangeLog typo.
62251         e17a5e5 ; make change-history-commit
62252         f205928 * etc/HISTORY: Cite Brinkoff on early history.
62253         4e58ca8 Document internal use of 'above-suspended' z-group frame para...
62254         4bd43b0 Increase max-lisp-eval-depth adjustment while in debugger (bu...
62255         ab98352 Improve on last change in replace-buffer-contents
62256         2f149c0 Fix a factual error in Introduction to Emacs Lisp
62257         8ad50a3 ; * lisp/files.el (buffer-offer-save): Doc fix.  (Bug#32000)
62258         c80f31f Minor improvements in documentation of imenu.el
62259         8ebb683 Avoid errors with recentering in 'skeleton-insert'
62260         e980a3c * src/lisp.h: Omit obsolete comment re bytecode stack.
62261         eec71eb Speed up replace-buffer-contents
62262         93c41ce Remove extra process call from vc-git-find-file-hook
62263         7ea0873 ; Update some commentary
62264         4a7f423 Speed up vc-git-dir-status-files
62265         9134c84 Avoid compiler warning using coding.h
62267         Conflicts:
62268                 src/editfns.c
62270 2018-07-02  Glenn Morris  <rgm@gnu.org>
62272         Merge from origin/emacs-26
62274         d008ef3 * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string ...
62275         6f6d525 Detect a non-list package archive content properly (Bug#22311)
62277 2018-07-02  João Távora  <joaotavora@gmail.com>
62279         Make lisp/jsonrpc.el work with Emacs 25.1
62281         * lisp/jsonrpc.el (Package-Requires): Require Emacs 25.1
62282         (jsonrpc-lambda): Use cl-gensym.
62283         (jsonrpc--call-deferred): Caddr doesn't exist in
62284         emacs 25.1.
62286         * test/lisp/jsonrpc-tests.el
62287         (jsonrpc--call-with-emacsrpc-fixture): New function.
62288         (jsonrpc--with-emacsrpc-fixture): Use it.
62289         (deferred-action-complex-tests): Adjust test for Emacs 25.1
62291 2018-07-01  John Shahid  <jvshahid@gmail.com>
62293         Optionally add argument description in minor mode DOC (bug#10754)
62295         Add a paragraph to minor mode's docstring documenting the mode's ARG
62296         usage if the supplied docstring doesn't already contain the word "ARG".
62298         * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): New const.
62299         (easy-mmode--arg-docstring): New function.
62300         (define-minor-mode): Use them.
62302         Remove argument documentation from all minor modes.
62304 2018-07-01  Eli Zaretskii  <eliz@gnu.org>
62306         Fix last change
62308         * src/w32console.c (Fset_screen_color): Call Frecenter with 2
62309         arguments.  (Bug#31325)
62311         * etc/NEWS:
62312         * doc/lispref/windows.texi (Textual Scrolling): Clarify the
62313         role of the second argument to 'recenter'.
62315 2018-07-01  John Shahid  <jvshahid@gmail.com>
62317         Add a new argument to 'recenter' to allow finer control of redisplay
62319         * src/window.c (recenter): Add a new REDISPLAY argument to allow the
62320         caller to control the redisplay behavior.  'recenter' will only
62321         redisplay the frame if this new arg and 'recenter-redisplay' are
62322         both non-nil.
62323         (recenter-top-bottom): Pass an extra non-nil argument to
62324         'recenter' to force a redisplay.  (Bug#31325)
62326 2018-07-01  Michael Albinus  <michael.albinus@gmx.de>
62328         Minor change in tramp-tests.el
62330         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
62331         Cleanup before running the test.
62333 2018-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
62335         * lisp/hexl.el (hexl-follow-ascii-mode): Fix last fix (bug#32021)
62337 2018-06-30  Glenn Morris  <rgm@gnu.org>
62339         Unbreak bootstrap
62341         * lisp/jsonrpc.el (jsonrpc-connection, jsonrpc-process-connection):
62342         Don't autoload defclass, else dumping fails loading loaddefs.el
62343         due to trying to autoload eieio-defclass-autoload.
62345 2018-06-30  Glenn Morris  <rgm@gnu.org>
62347         * doc/lispref/text.texi (JSONRPC): Add missing menu.
62349 2018-06-30  João Távora  <joaotavora@gmail.com>
62351         * lisp/jsonrpc.el (subr-x): Only require when compiling
62353         * lisp/jsonrpc.el: Add "Package-Requires" and "Version" headers
62355 2018-06-30  João Távora  <joaotavora@gmail.com>
62357         Add lisp/jsonrpc.el
62359         * doc/lispref/text.texi (Text): Add JSONRPC.
62360         (JSONRPC): New node.
62362         * etc/NEWS (New Modes and Packages in Emacs 27.1): Mention jsonrpc.el
62364         * lisp/jsonrpc.el: New file.
62366         * test/lisp/jsonrpc-tests.el: New file.
62368 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
62370         * lisp/hexl.el (hexl-follow-ascii-mode): Fix a typo.  (Bug#32021)
62372 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
62374         Speed up reading sub-process output on MS-Windows
62376         * src/w32proc.c (syms_of_ntproc) <w32-pipe-read-delay>: Set to
62377         zero.  For the details, see this discussion:
62378         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00711.html.
62379         * src/w32.c (_sys_read_ahead): Update the commentary for
62380         w32-pipe-read-delay usage.
62382         * doc/emacs/msdos.texi (Windows Processes): Document
62383         w32-pipe-read-delay.
62385         * etc/NEWS: Mention the change of the value of w32-pipe-read-delay.
62387 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
62389         Speed-up let-binding of automatically-local variables
62391         * src/data.c (set_default_internal): Use FOR_EACH_LIVE_BUFFER
62392         when binding variables that don't nominally have a local
62393         value, to avoid slowing down due to a large number of dead
62394         buffers.  (Bug#18522) (Bug#31853)
62396 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
62398         Update from Gnulib
62400         This incorporates:
62401         2018-06-29 regex: glibc does not use intprops.h
62402         2018-06-28 regex: port to recently proposed glibc regex merge
62403         2018-06-25 Continue to use spaces for indentation, not tabs
62404         2018-06-25 manywarnings: Don't enable -Wjump-misses-init by default
62405         2018-06-25 acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
62406         2018-06-24 manywarnings: accommodate GCC 9: remove -Wchkp and -Wabi
62407         2018-06-24 maint: clarify comments about sticky EOF
62408         2018-06-24 af_alg: avoid hangs when reading from streams
62409         2018-06-17 crypto: use byteswap
62410         2018-06-17 getloadavg: Return 0 on MS-Windows without Cygwi
62411         2018-06-17 getloadavg: Allow building on MS-Windows without Cygwin
62412         * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
62413         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
62414         * lib/getloadavg.c, lib/gettimeofday.c, lib/md5.c, lib/pselect.c:
62415         * lib/set-permissions.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
62416         * lib/time.in.h, m4/getloadavg.m4, m4/gnulib-common.m4:
62417         * m4/manywarnings.m4, m4/pthread_sigmask.m4, m4/vararrays.m4:
62418         Copy from Gnulib.
62420 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
62422         unbind_to performance tuning
62424         * src/alloc.c (which_symbols):
62425         * src/dispnew.c (Fredisplay):
62426         * src/editfns.c (Fsubst_char_in_region):
62427         * src/fileio.c (Fdo_auto_save):
62428         * src/indent.c (Fvertical_motion):
62429         * src/keymap.c (Fcurrent_active_maps):
62430         * src/lread.c (Feval_buffer):
62431         * src/minibuf.c (get_minibuffer):
62432         * src/sysdep.c (system_process_attributes):
62433         * src/textprop.c (Fnext_single_char_property_change)
62434         (Fprevious_single_char_property_change):
62435         * src/window.c (Fscroll_other_window, Fscroll_other_window_down):
62436         * src/xdisp.c (Fformat_mode_line):
62437         Help the compiler eliminate tail recursion in call to unbind_to.
62438         * src/coding.c (decode_coding_gap):
62439         Omit unnecessary unbind_to, as we’re about to call unbind_to anyway.
62440         * src/coding.c (Fread_coding_system):
62441         * src/eval.c (eval_sub):
62442         * src/xdisp.c (handle_single_display_spec, decode_mode_spec):
62443         * src/xselect.c (x_get_local_selection):
62444         Avoid need to save a machine register when calling unbind_to.
62445         * src/minibuf.c (Ftry_completion, Fall_completions):
62446         Omit unnecessary assignment.
62448 2018-06-29  Andreas Schwab  <schwab@linux-m68k.org>
62450         * lisp/url/url-http.el (url-http-create-request): Doc fix.
62452 2018-06-29  Andreas Schwab  <schwab@linux-m68k.org>
62454         Use a non-proxy request when retrieving https URLs via a proxy
62456         * lisp/url/url-http.el
62457         (url-https-proxy-after-change-function): Bind url-http-proxy
62458         to nil around url-http-create-request.
62460 2018-06-29  Michael Albinus  <michael.albinus@gmx.de>
62462         Sync with Tramp 2.4.0
62464         * doc/misc/trampver.texi:
62465         * lisp/net/trampver.el: Change version to "2.4.0".
62467         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted):
62468         Ignore unknown GVFS methods.
62470         * test/lisp/net/tramp-tests.el (tramp-test42-asynchronous-requests):
62471         Tag as :unstable.
62473 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
62475         * src/lisp.h: Add comment (Bug#31996#25).
62477 2018-06-28  Noam Postavsky  <npostavs@gmail.com>
62479         Let ediff '=' compare against ancestor buffer (Bug#11320)
62481         * lisp/vc/ediff-util.el (ediff-inferior-compare-regions): Ask user
62482         whether to compare against the ancestor or merge buffer.  Use
62483         read-multiple-choice for A vs B buffer query.
62485 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
62487         Fix recently-introduced SAFE_FREE bug
62489         Problem reported by Andy Moreton (Bug#31996).
62490         * src/lisp.h (union specbinding.unwind_array):
62491         Remove unused member func.  Move array after nelts, as this is
62492         likely to generate more efficient code in safe_free, which can
62493         call xfree with the same value either way.
62494         (safe_free): Also handle SPECPDL_UNWIND_AWAY.
62496 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
62498         Tune SAFE_FREE
62500         On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e) this sped
62501         up a SAFE_FREE-using microbenchmark (string-distance "abc" "abc")
62502         by about 18%, and shrank the Emacs text size by about 0.1%.
62503         * src/callint.c (Fcall_interactively):
62504         * src/callproc.c (call_process):
62505         * src/doc.c (get_doc_string, Fsnarf_documentation):
62506         * src/editfns.c (Freplace_buffer_contents):
62507         * src/emacs-module.c (funcall_module):
62508         * src/eval.c (Flet):
62509         * src/process.c (Fmake_process):
62510         * src/term.c (tty_menu_show):
62511         * src/xdisp.c (safe__call):
62512         * src/xmenu.c (x_menu_show):
62513         Use SAFE_FREE_UNBIND_TO.
62514         * src/data.c (wrong_choice): No need to call SAFE_FREE here.
62515         * src/lisp.h (USE_SAFE_ALLOCA):
62516         * src/regex.c (REGEX_USE_SAFE_ALLOCA):
62517         Do not declare sa_must_free local; no longer needed.
62518         All uses removed.
62519         (SAFE_FREE): Rewrite in terms of safe_free.
62520         (safe_free): New function, optimized to use xfree.
62521         (SAFE_FREE_UNBIND_TO): New macro.
62522         (safe_free_unbind_to): New function.
62524 2018-06-27  João Távora  <joaotavora@gmail.com>
62526         Respect s-s-b-default-predicate when killing terminal
62528         Fixes: Bug#31951
62530         * lisp/server.el (server-save-buffers-kill-terminal): Only pass
62531         PRED=t to save-some-bufers if ARG in non-nil.
62533 2018-06-27  Vincent Belaïche  <vincentb1@users.sourceforge.net>
62535         Allow 'file:' protocol for Info-follow-nearest-node.
62537 2018-06-26  Glenn Morris  <rgm@gnu.org>
62539         Merge from origin/emacs-26
62541         12c77f6 (origin/emacs-26) Add ido-fallback special variable (Bug#31707)
62542         826e8d1 Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
62543         c784876 Tighten a cross-reference in documentation
62544         517dc0b Fix last change in tramp-sh.el
62545         f43186f Revert previous patch; comment was OK after all.
62546         4c3306e Fix lead comment for count_trailing_zero_bits
62547         b419f27 ; * doc/emacs/files.texi (Interlocking): Fix a non-portable @...
62548         7488de4 * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring q...
62549         0b69807 Make a minor update to the CSS mode docstring
62550         9a53b6d Say how to override a primitive interactive spec
62551         1d77078 Fix Bug#31941
62553 2018-06-25  Jean-Christophe Helary  <brandelune@gmail.com>
62555         Reformat package.el message strings for future l10n
62557         * lisp/emacs-lisp/package.el (package-buffer-info)
62558         (package--download-one-archive, package-install-selected-packages)
62559         (package-autoremove, describe-package-1, package-menu-toggle-hiding)
62560         (package-menu-hide-package, package-menu--mark-upgrades-1)
62561         (package-menu--list-to-prompt, package-menu--prompt-transaction-p)
62562         (package-menu-execute, package-menu--find-and-notify-upgrades):
62563         Reformat message strings to remove need for plural computation.  Try
62564         to put full sentences in source string literals.
62565         * test/lisp/emacs-lisp/package-tests.el
62566         (package-test-describe-package): Update to match new message format.
62568 2018-06-25  Noam Postavsky  <npostavs@gmail.com>
62570         Suppress indent errors during electric indentation (Bug#18764)
62572         * lisp/electric.el (electric-indent-post-self-insert-function):
62573         Suppress errors from indent code, but don't suppress errors from
62574         elsewhere in this function.  That way, if trouble is encountered with
62575         electric indent "not working", the error should be reproducible by
62576         calling indent directly (as is the case for Bug#18764), or else it's
62577         from the electric indent code and will be reported normally.
62579 2018-06-25  Paul Eggert  <eggert@cs.ucla.edu>
62581         (format "%d" F) now truncates floating F
62583         Problem reported by Paul Pogonyshev (Bug#31938).
62584         * src/editfns.c: Include math.h, for trunc.
62585         (styled_format): For %d, truncate floating-point numbers and
62586         convert -0 to 0, going back to how Emacs 26 did things.
62587         * doc/lispref/strings.texi (Formatting Strings):
62588         Document behavior of %o, %d, %x, %X on floating-point numbers.
62589         * src/floatfns.c (trunc) [!HAVE_TRUNC]: Rename from emacs_trunc
62590         and make it an extern function, so that editfns.c can use it.
62591         All callers changed.
62592         * test/src/editfns-tests.el (format-%d-float): New test.
62594 2018-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
62596         Fix spelling of "intermediate" (it's not "intermediary")
62598         * doc/emacs/misc.texi (Network Security): Ditto.
62600         * lisp/net/nsm.el (network-security-protocol-checks): Fix spelling
62601         on "intermediate".
62602         (nsm-protocol-check--intermediate-sha1): Ditto.
62604 2018-06-25  Lars Ingebrigtsen  <larsi@gnus.org>
62606         Clean up redundant code from previous checkins
62608         * src/gnutls.c (gnutls_verify_boot): Remove redundant setting of
62609         p->gnutls_certificates, which is now performed by
62610         gnutls_deinit_certificates.
62612 2018-06-25  João Távora  <joaotavora@gmail.com>
62614         Mention use of C-h . (display-local-help) in Flymake manual
62616         Fixes: Bug#31921
62618         * doc/misc/flymake.texi (Using Flymake): Mention display-local-help.
62620 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
62622         Make the intermediary-sha1 check work
62624         * lisp/net/nsm.el (nsm-protocol-check--intermediary-sha1): Make
62625         the "skip the root cert" logic work (suggested by Noam Postavsky).
62627 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
62629         Don't use XCAR in possibly-nil situations
62631         * src/gnutls.c (Fgnutls_peer_status): certs theoretically may be
62632         nil, so don't use XCAR.
62634 2018-06-24  Noam Postavsky  <npostavs@gmail.com>
62636         (Network Security): Fix the description of the 3DES weakness
62638         * doc/emacs/misc.texi (Network Security): Fix the description of
62639         the 3DES weakness.
62641 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
62643         Make more TLS checks trigger on the default `medium' level
62645         * doc/emacs/misc.texi (Network Security): Update the doc to say
62646         what's on the different levels.
62648         * lisp/net/nsm.el (nsm-protocol-check--intermediary-sha1): Check
62649         intermediary certificates for SHA1.
62650         (nsm-protocol-check--3des): Check for 3DES ciphers.
62651         (network-security-protocol-checks): Put most of the checks on
62652         `medium'.
62654 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
62656         Tweak previous gnutls change for efficiency
62658         * src/gnutls.c (Fgnutls_peer_status): Minor optimisation to avoid
62659         computing the topmost certificate twice.
62661 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
62663         Return the entire TLS certificate chain back to the caller
62665         * src/gnutls.c (gnutls_deinit_certificates): New function.
62666         (Fgnutls_peer_status): Return all certificates in the chain back
62667         to Lisp land.
62668         (gnutls_verify_boot): Compute all the x509 certificates in the
62669         chain.
62671         * src/process.h (struct Lisp_Process): Adjust gnutls fields so
62672         that we can keep tracks of all certificates in the chain instead
62673         of just the host certificate.
62675 2018-06-24  Tom Tromey  <tom@tromey.com>
62677         Fix two tcl-mode defun-related bugs
62679         Fixes bug#23565
62680         * lisp/progmodes/tcl.el (tcl-mode): Set beginning-of-defun-function
62681         and end-of-defun-function.
62682         (tcl-beginning-of-defun-function, tcl-end-of-defun-function): New
62683         defuns.
62684         * test/lisp/progmodes/tcl-tests.el: New file.
62686 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
62688         Fix reverse test in previous check-in
62690         * lisp/net/nsm.el (nsm-check-protocol): Fix reverse test in
62691         previous check-in.
62693 2018-06-24  Lars Ingebrigtsen  <larsi@gnus.org>
62695         Refactor the protocol NSM checks for flexibility
62697         * doc/emacs/misc.texi (Network Security): Mention
62698         network-security-protocol-checks.
62700         * lisp/net/nsm.el (network-security-protocol-checks): New variable.
62701         (nsm-check-protocol): Refactor the checks into separate functions
62702         for greater flexibility.
62703         (nsm-protocol-check--diffie-hellman-prime-bits)
62704         (nsm-protocol-check--rc4, nsm-protocol-check--ssl)
62705         (nsm-protocol-check--signature-sha1): Refactored out of the big
62706         function.
62708 2018-06-23  Glenn Morris  <rgm@gnu.org>
62710         Merge from origin/emacs-26
62712         bbc9d37 (origin/emacs-26) Fix previous change in minibuffer-default-a...
62713         7caeef1 * src/editfns.c (Fformat): Make %x easier to spot in doc stri...
62714         ecc29fb Improve responsiveness while in 'replace-buffer-contents'
62715         8182d64 Improve documentation of 'server-start' and friends
62716         decdfed Clarify wording about functions' argument lists
62717         5abac8b * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)
62719 2018-06-23  Glenn Morris  <rgm@gnu.org>
62721         Merge from origin/emacs-26
62723         5cb3991 Fix a typo in emacs-lisp-intro.texi
62724         d6aa55e Avoid segfaults in replace-buffer-contents with large buffers
62725         d22b8d1 Adjust for scaling for mode-line popup menus (Bug#31880)
62726         3d2e3dc Change name of `seqp' argument (Bug#26411)
62727         40e1db8 Change index of ";" to better reflect it's usage (Bug#31623)
62728         d289e7e Fix bug of 'mouse-drag-and-drop-region' to detect edges of re...
62729         e292c09 Fix #'fun handling inside `labels' (Bug#31792)
62731 2018-06-23  Michael Albinus  <michael.albinus@gmx.de>
62733         * lisp/net/tramp-sh.el (tramp-get-ls-command-with): Fix typo.
62735 2018-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
62737         * lisp/net/tramp-sh.el (tramp-sh--quoting-style-options): New function
62739         (tramp-do-directory-files-and-attributes-with-stat)
62740         (tramp-do-file-attributes-with-ls): Use it.
62742 2018-06-22  Michael Albinus  <michael.albinus@gmx.de>
62744         Improve backward compatibility of Tramp
62746         * lisp/net/tramp-adb.el (tramp-adb-handle-exec-path):
62747         * lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): Use ´file-remote-p'.
62748         (tramp-get-ls-command-with): Handle busybox specially.
62750         * test/lisp/net/tramp-tests.el (tramp-test34-exec-path): Check for
62751         `fboundp'.  Use `file-remote-p'.  Hide compiler warning for older
62752         Emacsen.
62754 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
62756         Document 'major-mode-suspend' and 'major-mode-restore'
62758         * doc/lispref/modes.texi (Major Modes): Document
62759         'major-mode-suspend' and 'major-mode-restore'.  (Bug#31551)
62761         * etc/NEWS: Mark the corresponding entry as documented in
62762         manuals.
62764 2018-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
62766         New functions to switch back and forth to another major mode
62768         * lisp/subr.el (major-mode--suspended): New var.
62769         (major-mode-suspend, major-mode-restore): New funs, extracted from doc-view.
62770         * lisp/doc-view.el (doc-view--previous-major-mode): Remove.
62771         (doc-view-mode): Use major-mode-suspend.
62772         (doc-view-fallback-mode): Use major-mode-restore.
62773         * lisp/hexl.el: (hexl-mode--minor-mode-p, hexl-mode--setq-local): Remove.
62774         (hexl-mode): Use major-mode-suspend and hexl-follow-ascii-mode.
62775         (hexl-mode-exit): Use major-mode-restore.
62776         (hexl-activate-ruler, hexl-follow-line): Don't bother trying to preserve
62777         earlier state, now that entering/leaving hexl-mode kills local vars.
62778         (hexl-follow-ascii-mode): New proper local minor mode.
62779         (hexl-follow-ascii): Rewrite, using it.
62780         * lisp/image-mode.el (image-mode-previous-major-mode): Remove.
62781         (image-mode): Use major-mode-suspend.
62782         (image-mode-to-text): Use major-mode-restore.
62784 2018-06-21  memeplex  <carlosjosepita@gmail.com>
62786         Remove broken icon from tooltip (Bug#31884)
62788         * src/gtkutil.c (xg_show_tooltip): Call gtk_widget_show instead of
62789         gtk_widget_show_all, the latter displays an extra placeholder icon.
62791 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62793         Set group when installing, too
62795         From a patch by Ulrich Mueller in:
62796         https://lists.gnu.org/r/emacs-devel/2018-06/msg00687.html
62797         * Makefile.in (set_installuser): Also set the group, in order
62798         to match install(1) behavior.  Also, don’t clutter stderr
62799         with a diagnostic if ‘id’ is missing.
62801 2018-06-20  Eli Zaretskii  <eliz@gnu.org>
62803         Improve documentation of a recent change
62805         * doc/lispref/processes.texi (Subprocess Creation): Improve
62806         wording of documentation for the function 'exec-path'.
62808         * etc/NEWS: Improve wording and formatting of recently added
62809         entries.
62811         * lisp/files.el (exec-path): Doc fix.
62813 2018-06-20  Michael Albinus  <michael.albinus@gmx.de>
62815         Implement command completion in remote shells.  (Bug#31704)
62817         * doc/lispref/files.texi (Locating Files): Describe optional
62818         argument REMOTE of `executable-find'.
62819         (Magic File Names): Add `exec-path'.
62821         * doc/lispref/processes.texi (Subprocess Creation): Describe
62822         function `exec-path'.
62824         * doc/misc/tramp.texi (Remote programs): Explain refresh of search
62825         paths by `tramp-cleanup-this-connection'.
62827         * etc/NEWS: Mention 'exec-path' and 'executable-find'.
62829         * lisp/files.el (exec-path): New defun.
62830         (executable-find): Add optional argument REMOTE.
62832         * lisp/shell.el (shell-completion-vars): Set `comint-file-name-prefix'.
62833         (shell--command-completion-data): Use `(exec-path)'.  (Bug#31704)
62835         * lisp/net/ange-ftp.el (exec-path):
62836         * lisp/net/tramp.el (tramp-file-name-for-operation):
62837         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
62838         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
62839         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
62840         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
62841         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
62842         <exec-path>: Add handler.
62844         * lisp/net/tramp-adb.el (tramp-adb-handle-exec-path): New defun.
62845         (tramp-adb-maybe-open-connection): Do not set "remote-path"
62846         connection property.
62848         * lisp/net/tramp-compat.el (tramp-compat-exec-path): New defun.
62850         * lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): New defun.
62852         * lisp/net/tramp.el (tramp-eshell-directory-change): Use it.
62854         * test/lisp/net/tramp-archive-tests.el
62855         (tramp-archive-test38-make-nearby-temp-file)
62856         (tramp-archive-test41-file-system-info)
62857         (tramp-archive-test43-auto-load)
62858         (tramp-archive-test43-delay-load): Rename.
62860         * test/lisp/net/tramp-tests.el (tramp-test34-exec-path): New test.
62861         (tramp-test36-make-auto-save-file-name)
62862         (tramp-test37-find-backup-file-name)
62863         (tramp-test38-make-nearby-temp-file)
62864         (tramp-test39-special-characters)
62865         (tramp-test39-special-characters-with-stat)
62866         (tramp-test39-special-characters-with-perl)
62867         (tramp-test39-special-characters-with-ls, tramp-test40-utf8)
62868         (tramp-test40-utf8-with-stat, tramp-test40-utf8-with-perl)
62869         (tramp-test40-utf8-with-ls, tramp-test41-file-system-info)
62870         (tramp-test42-asynchronous-requests, tramp-test43-auto-load)
62871         (tramp-test43-delay-load, tramp-test43-recursive-load)
62872         (tramp-test43-remote-load-path, tramp-test44-unload): Rename.
62874 2018-06-19  João Távora  <joaotavora@gmail.com>
62876         Properly ignore stderr in elisp Flymake backend
62878         Naively passing `null-device' as stderr creates a buffer named
62879         "/dev/null" instead.  Pass a hidden buffer name instead.  (Bug#31902).
62881         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Pass
62882         hidden buffer as make-process :stderr instead of null-device.
62884 2018-06-19  Daniel Colascione  <dancol@dancol.org>
62886         Fix theme application
62888         Fix an inverted test.  Patch due to Andy Moreton.
62890         * lisp/cus-face.el (custom-theme-set-faces): Correct sense of
62891         `custom--should-apply-setting' test.
62893 2018-06-19  Daniel Colascione  <dancol@dancol.org>
62895         Unbreak dabbrev
62897         This commit partially reverts
62898         edb1f85a27817a3fac38bb85752671414819203b, which results in dabbev
62899         expansion failing due to trying to switch to the null buffer.
62901         * lisp/dabbrev.el (dabbrev--progress-reporter): Restore variable.
62902         (dabbrev--find-expansion): Restore original code.
62904 2018-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
62906         lisp/obsolete/*tls.el: Note when obsolescence was decided
62908 2018-06-18  João Távora  <joaotavora@gmail.com>
62910         Skip a json.c test unless functions being tested exist
62912         * test/src/json-tests.el
62913         (json-parse-with-custom-null-and-false-objects): Skip this test
62914         unless functions being tested exist.
62916 2018-06-18  João Távora  <joaotavora@gmail.com>
62918         Mark a specific electric-pair-mode test as an expected failure
62920         See https://lists.gnu.org/r/emacs-devel/2018-06/msg00535.html
62922         * test/lisp/electric-tests.el
62923         (electric-pair-whitespace-chomping-2-at-point-4-in-c++-mode-in-strings):
62924         Mark as failing.
62926 2018-06-18  Mark Oteiza  <mvoteiza@udel.edu>
62928         Change errant if to when (Bug#31840)
62930         * lisp/emacs-lisp/subr-x.el: Expand to 'when' instead of 'if'.
62932 2018-06-18  João Távora  <joaotavora@gmail.com>
62934         Electric-pair-mode lets modes choose how to skip whitespace
62936         cc-mode.el-based major-modes with stricter syntax for invalid
62937         NL-terminated strings might choose to have electric-pair-mode skip
62938         some of whitespace into non-string-syntax regions, for the sake of
62939         letting electric-pair-mode chomp that whitespace and make the string
62940         valid again.
62942         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Call it.
62943         (electric-pair-skip-whitespace-function): New buffer-local variable.
62945 2018-06-18  Noam Postavsky  <npostavs@gmail.com>
62947         Stop assuming .git is a directory in gitmerge.el
62949         * admin/gitmerge.el (gitmerge-maybe-resume): Use 'git rev-parse
62950         --git-dir' to find the git directory rather than assuming it is
62951         .git/ (that assumption fails for separated worktrees).
62953 2018-06-18  Noam Postavsky  <npostavs@gmail.com>
62955         Default to splash on current frame, if none visible (Bug#31169)
62957         * lisp/startup.el (fancy-splash-frame): Default to current frame.
62959 2018-06-18  Noam Postavsky  <npostavs@gmail.com>
62961         Move tls.el and starttls.el to lisp/obsolete/ (Bug#31457)
62963         * lisp/obsolete/tls.el: Moved from lisp/net/tls.el.
62964         * lisp/gnus/nnimap.el:
62965         * lisp/url/url-http.el: Don't require tls, since it's obsolete.
62966         * lisp/net/network-stream.el: Only require tls if we actually try to
62967         use it (i.e., when (gnutls-available-p) returns nil).  Declare some
62968         functions to fix compilation warnings.
62970         * lisp/obsolete/starttls.el: Moved from lisp/net/starttls.el.
62971         * lisp/net/sieve-manage.el:
62972         * lisp/net/network-stream.el: Don't require `starttls' at the
62973         top-level, declare the variables and functions used instead.
62974         (network-stream-open-starttls): Only require `starttls' if
62975         needed (i.e., gnutls-available-p fails).
62977         * etc/NEWS: Announce obsoletion.
62979 2018-06-18  Glenn Morris  <rgm@gnu.org>
62981         Merge from origin/emacs-26
62983         3673770 (origin/emacs-26) Fix vertical-motion with 'visual' line-numb...
62984         d8bff53 ; CONTRIBUTE: Add a couple of nits.
62986 2018-06-18  Glenn Morris  <rgm@gnu.org>
62988         Merge from origin/emacs-26
62990         ebe065f Prevent errant scroll on mouse click (Bug#31546)
62991         ffd2018 Minor documentation fix
62992         cf4dc95 * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug...
62994 2018-06-18  Glenn Morris  <rgm@gnu.org>
62996         Merge from origin/emacs-26
62998         63ba73a Fix documentation of ':propertize' in mode-line-format
62999         22aa665 Reject invalid 5-byte sequences when detecting UTF-8 encoding
63000         0d3c358 Fix 'replace-buffer-contents' in multibyte buffers
63001         c79a627 Update etc/NEWS for mail-source-movemail-program change
63002         63f1dc4 Improve movemail default
63003         0b1a2ae Delete description of deleted Customize functions
63004         fcd66d0 Keep vc-print-log from putting point at buffer end (Bug#31764)
63006         Conflicts:
63007                 etc/NEWS
63009 2018-06-18  Glenn Morris  <rgm@gnu.org>
63011         Merge from origin/emacs-26
63013         a933ebe Improve commentary in info.el
63014         94e84a9 ; Further wording fix in tramp.texi
63015         a5a0b11 Fix wording in tramp.texi
63016         2933242 * doc/misc/tramp.texi (Remote shell setup): Fix typo.
63018 2018-06-18  Glenn Morris  <rgm@gnu.org>
63020         Merge from origin/emacs-26
63022         5bdc344 ; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744)
63023         b6b793b ; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744).
63024         1aa906f Make 'tags' targets respect --with-silent-rules (Bug#31744)
63026         Conflicts:
63027                 test/Makefile.in
63028                 test/README
63030 2018-06-18  Glenn Morris  <rgm@gnu.org>
63032         Merge from origin/emacs-26
63034         9c6f35a * doc/lispref/files.texi (Unique File Names): Fix a typo.  (B...
63036 2018-06-18  Eli Zaretskii  <eliz@gnu.org>
63038         Improve documentation of recent changes in Comint
63040         * lisp/comint.el (comint-insert-previous-argument)
63041         (comint-arguments, comint-insert-previous-argument-from-end):
63042         Doc fixes.
63043         (comint-insert-previous-argument-from-end): Add :version.
63045         * doc/emacs/misc.texi (Shell Ring): Fix a typo in the name of
63046         'comint-insert-previous-argument'.  Document
63047         'comint-insert-previous-argument-from-end'.  (Bug#25271)
63049         * etc/NEWS: Reformat and rephrase the entry for recent Comint
63050         changes.
63052 2018-06-18  Richard Stallman  <rms@gnu.org>
63054         rmail-summary-by-senders defaults to sender
63056         * etc/NEWS: Mention this.
63057         * lisp/mail/rmailsum.el (rmail-summary-by-senders):
63058         Offer From field of current message as a default argument.
63060 2018-06-17  Dima Kogan  <dima@secretsauce.net>
63062         comint-insert-previous-argument doesn't detect and ignore trailing &
63064         This function is invoked in shell-mode by the user, and is meant to
63065         emulate what M-. does in zsh and bash: it inserts an argument from a
63066         previous command.  Neither zsh nor bash treat a trailing & specially:
63067         M-. simply inserts it if it is encountered.  Emacs DID have extra
63068         logic to detect and discard trailing &, but this logic was buggy, and
63069         a && anywhere in the sequence would confuse it.  This patch simply
63070         removes that logic to fix the bug and to emulate zsh and bash more
63071         closely
63073         * lisp/comint.el (comint-insert-previous-argument): don't detect and
63074           ignore trailing &
63075           (Bug#25271)
63076         * etc/NEWS: Document this.
63078 2018-06-17  Dima Kogan  <dima@secretsauce.net>
63080         comint-insert-previous-argument counts args from start or from end
63082         This function is invoked in shell-mode by the user, and is meant to
63083         emulate what M-. does in zsh and bash: it inserts an argument from a
63084         previous command.  Without a prefix argument, it inserts the last arg
63085         from the previous command; with an argument INDEX, it inserts the
63086         INDEX-th argument.  bash counts from the start, while zsh counts from
63087         the end.  This patch adds a variable
63088         `comint-insert-previous-argument-from-end' that emulates the zsh
63089         behavior if non-nil.
63091         * lisp/comint.el (comint-arguments): can take in negative arguments to count
63092           from the end, same as indexing in python.
63093           (comint-insert-previous-argument): if
63094           comint-insert-previous-argument-from-end is non-nil, INDEX counts
63095           arguments from the end; if nil, from the beginning
63096           (Bug#25271)
63097         * etc/NEWS: Document this.
63099 2018-06-17  Glenn Morris  <rgm@gnu.org>
63101         * test/lisp/simple-tests.el (simple-tests-async-shell-command-30280):
63102         Use the correct emacs executable, not first in PATH.
63104 2018-06-17  Michael Heerdegen  <michael_heerdegen@web.de>
63106         Allow floats as 'pcase' QPATS
63108         * lisp/emacs-lisp/pcase.el (\`): Extend semantics of QPATS to all
63109         numbers.  Add a comment explaining why we disallow some atoms as
63110         QPATS.
63111         * doc/lispref/control.texi (Backquote Patterns): Update the paragraph
63112         explaining QPATS.  Remove a sentence suggesting an analogy between
63113         QPATS to self-quoting objects.
63115 2018-06-17  João Távora  <joaotavora@gmail.com>
63117         Minor Flymake docstring fixes
63119         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
63120         Clarify meaning of :region in docstring.
63121         (flymake-start): Fix broken docstring.
63123 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
63125         Fix last change
63127         * etc/NEWS: Fix last added entry.
63129         * lisp/subr.el (dotimes-with-progress-reporter)
63130         (dolist-with-progress-reporter): Fix the advertised signature.
63132         * doc/lispref/display.texi (Progress): Fix last change.
63133         (Bug#31696)  (Bug#31697)
63135 2018-06-17  Tino Calancha  <tino.calancha@gmail.com>
63137         Add new macro dolist-with-progress-reporter
63139         * lisp/subr.el (dolist-with-progress-reporter): New macro (Bug#31697).
63140         * lisp/cus-edit.el (custom-group-value-create): Use it.
63141         * lisp/dabbrev.el (dabbrev--progress-reporter): Delete variable.
63142         (dabbrev--find-expansion): Use dotimes-with-progress-reporter.
63144         * doc/lispref/display.texi: Document the macro.
63146 2018-06-17  Tino Calancha  <tino.calancha@gmail.com>
63148         dotimes-with-progress-reporter: Polymorphic 2nd argument
63150         * lisp/subr.el (dotimes-with-progress-reporter): Allow 2nd arg to be
63151         a string or a progress reporter (Bug#31696).
63152         * doc/lispref/display.texi (node Progress): Update manual.
63154 2018-06-17  Michael Albinus  <michael.albinus@gmx.de>
63156         Cleanup secrets-tests
63158         * test/lisp/net/secrets-tests.el (secrets-test03-items)
63159         (secrets-test04-search): Cleanup "session" collection initially.
63161 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
63163         When possible, prefer UTF-8 as the safe encoding for saving
63165         * lisp/international/mule-cmds.el (select-safe-coding-system):
63166         If possible, offer UTF-8 as the default encoding.  (Bug#31807)
63168 2018-06-16  Daniel Colascione  <dancol@dancol.org>
63170         Apply non-user themes only when asked
63172         Theme settings now generally aren't actually applied until a call to
63173         `enable-theme-, either one made explicitly or implicitly through
63174         `load-theme' with NO-ENABLE nil.  This change has the effect of not
63175         applying theme changes just because we load a lisp file containing a
63176         theme specification.  The previous behavior is preserved for the
63177         special case of the `user' theme, which is frequently used for
63178         ad-hoc customization.
63180         * lisp/cus-face.el (custom-theme-set-faces): Call
63181         `custom--should-apply-setting' to decide whether to apply
63182         a setting.
63184         * lisp/custom.el (custom--should-apply-setting): New function.
63185         (custom--inhibit-theme-enable): Add `apply-only-user' option;
63186         default to it.
63187         (custom-push-theme, custom-theme-set-variables): Call
63188         `custom--should-apply-setting' to decide whether to apply
63189         a setting.
63191 2018-06-16  Noam Postavsky  <npostavs@gmail.com>
63193         Don't forget to analyze args of lambda lifted functions (Bug#30872)
63195         * lisp/emacs-lisp/cconv.el (cconv--convert-funcbody): New function.
63196         (cconv--convert-function): Extracted from here.
63197         (cconv-convert): Also use it here, in the lambda lifted case, so that
63198         mutated args are properly accounted for.
63199         * test/lisp/emacs-lisp/cconv-tests.el: New test.
63201 2018-06-16  Noam Postavsky  <npostavs@gmail.com>
63203         Fix off by one error in python-mode assertion (Bug#30964)
63205         * lisp/progmodes/python.el (python-nav-end-of-statement): Don't assert
63206         that string-start is strictly greater than last-string-end, because
63207         the string end is a position outside of the string and may therefore
63208         be the same as the following string's start.
63209         * test/lisp/progmodes/python-tests.el (python-nav-end-of-statement-2):
63210         New test.
63212 2018-06-16  Daniel Colascione  <dancol@dancol.org>
63214         Restore old echo_truncate condition
63216         * src/keyboard.c (read_key_sequence): Restore old
63217         echo_truncate condition.
63219 2018-06-16  Daniel Colascione  <dancol@dancol.org>
63221         Make regex matching reentrant; update syntax during match
63223         * src/lisp.h (compile_pattern): Remove prototype of
63224         now-internal function.
63226         * src/regex.c (POS_AS_IN_BUFFER): Consult gl_state instead of
63227         re_match_object: the latter can change in Lisp.
63228         (re_match_2_internal): Switch back to UPDATE_SYNTAX_* FROM
63229         UPDATE_SYNTAX_FAST*, allowing calls into Lisp.
63231         * src/regex.h (re_match_object): Uncomment declaration.
63233         * src/search.c (struct regexp_cache): Add `busy' field.
63234         (thaw_buffer_relocation): Delete; rely on unbind.
63235         (compile_pattern_1): Assert pattern isn't busy.
63236         (shrink_regexp_cache): Don't shrink busy patterns.
63237         (clear_regexp_cache): Don't nuke busy patterns.
63238         (unfreeze_pattern, freeze_pattern): New functions.
63239         (compile_pattern): Return a regexp_cache pointer instead of the
63240         re_pattern_buffer, allowing callers to use `freeze_pattern' if
63241         needed.  Do not consider busy patterns as cache hit candidates;
63242         error if we run out of non-busy cache entries.
63243         (looking_at_1, fast_looking_at): Snapshot
63244         Vinhibit_changing_match_data; mark pattern busy while we're
63245         matching it; unbind.
63246         (string_match_1, fast_string_match_internal)
63247         (fast_c_string_match_ignore_case): Adjust for compile_pattern
63248         return type.
63249         (search_buffer_re): Regex code from old search_buffer moved here;
63250         snapshot Vinhibit_changing_match_data; mark pattern busy while
63251         we're matching it; unbind.
63252         (search_buffer_non_re): Non-regex code from old search_buffer
63253         moved here.
63254         (search_buffer): Split into search_buffer_re,
63255         search_buffer_non_re.
63256         (syms_of_search): Staticpro re_match_object, even though we really
63257         shouldn't have to.
63259         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
63260         (UPDATE_SYNTAX_TABLE_FAST): Remove.
63262         * src/thread.h (struct thread_state): Remove m_re_match_object,
63263         which is global again.  (It never needs to be preserved across
63264         thread switch.)
63266 2018-06-16  Daniel Colascione  <dancol@dancol.org>
63268         Decouple dired from regex internals
63270         * src/dired.c: Remove use of regex.h
63271         (directory_files_internal): Use higher-level regular
63272         expression functions.
63274 2018-06-16  Daniel Colascione  <dancol@dancol.org>
63276         Remove commented-out code in compile_pattern_1
63278         * src/search.c (compile_pattern_1): Remove commented-out code.
63280 2018-06-16  Daniel Colascione  <dancol@dancol.org>
63282         Tweak field ordering in re_pattern_buffer
63284         * src/regex.h (struct re_pattern_buffer): Reorder charset_unibyte
63285         field to keep bitfields together.
63287 2018-06-16  Bozhidar Batsov  <bozhidar@batsov.com>
63289         Fix a docstring
63291         Fix references to RuboCop in ruby-mode.el
63293 2018-06-16  João Távora  <joaotavora@gmail.com>
63295         Fix bug in elisp-flymake-byte-compile
63297         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Pass
63298         keyword args to make-process.
63300 2018-06-16  Paul Eggert  <eggert@cs.ucla.edu>
63302         Rewrite memory-limit in Lisp
63304         Have it return Emacs virtual memory size, not the sbrk value
63305         which is often useless newadays.
63306         * doc/lispref/internals.texi (Garbage Collection):
63307         * etc/NEWS: Document this.
63308         * lisp/subr.el (memory-limit): New implementation in Lisp,
63309         written in terms of process-attributes, and which returns
63310         virtual memory size.
63311         * src/alloc.c (Fmemory_limit): Remove C implementation.
63313 2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
63315         Fix byte compilation of (eq foo 'default)
63317         Do not use the symbol ‘default’ as a special marker.
63318         Instead, use a value that cannot appear in the program,
63319         improving on a patch proposed by Robert Cochran (Bug#31718#14).
63320         * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
63321         New constant.
63322         (byte-compile-cond-jump-table-info)
63323         (byte-compile-cond-jump-table): Use it instead of 'default.
63324         * test/lisp/emacs-lisp/bytecomp-tests.el:
63325         (byte-opt-testsuite-arith-data): Add a test for the bug.
63327 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
63329         Use mint_ptr in w32notify.c
63331         * src/w32notify.c (Fw32notify_add_watch, Fw32notify_rm_watch)
63332         (Fw32notify_valid_p, w32_get_watch_object): Use make_mint_ptr and
63333         xmint_pointer.
63335 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
63337         * doc/lispref/text.texi (Parsing JSON): Minor formatting changes.
63339 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
63341         Minor doc string fixes in json.c
63343         * src/json.c (Fjson_serialize, Fjson_insert): Fix 'usage'.
63345 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
63347         Formatting and doc fixes in recent changes
63349         * src/xfaces.c (evaluate_face_filter): Explain the inner braces.
63350         (merge_face_ref): Fix whitespace.
63351         (syms_of_xfaces) <face-filters-always-match>: Doc fix.
63352         * src/xdisp.c (extend_face_to_end_of_line): Fix whitespace.
63354 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
63356         Improve documentation of several recent changes
63358         * src/xfaces.c (merge_face_ref): Fix a typo in the commentary.
63359         (evaluate_face_filter, filter_face_ref): Minor copyedits in
63360         the commentary.
63361         * doc/lispref/display.texi (Face Remapping):
63362         * doc/lispref/text.texi (Special Properties): Document the
63363         ':filter' face specs and their effects.  Document
63364         'face-filters-always-match'.
63366         * doc/emacs/files.texi (Visiting): Document the new
63367         possibility to visit large files literally in response to
63368         question asked by Emacs.
63369         * etc/NEWS: Mention the new possibility to visit large files
63370         literally.
63371         * lisp/files.el (files--ask-user-about-large-file): Use
63372         "literally" instead of "raw", for consistency with
63373         find-file-literally.
63375         * doc/lispref/frames.texi (Input Focus): Tell explicitly that
63376         focus-change events are sometimes supported on TTY frames.
63378 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
63380         Prevent QUIT to top level inside 'while-no-input'
63382         * lisp/subr.el (while-no-input): Handle the case when BODY
63383         never tests quit-flag, and runs to completion even though
63384         input arrives while BODY executes.  (Bug#31692)
63386 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
63388         Fix a typo in xmenu.c
63390         * src/xmenu.c (x_menu_show): Replace a call to
63391         record_unwind_protect_pointer with record_unwind_protect_ptr.
63392         (Bug#31856)
63394 2018-06-16  Ari Roponen  <ari.roponen@gmail.com>
63396         Fix --with-cairo build
63398         * src/xterm.c (x_cr_destroy): Remove extra semicolon.
63399         (x_cr_export_frames): Fix a typo in calling
63400         record_unwind_protect_ptr.  (Bug#31856)
63402 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
63404         * src/Makefile.in: Update paxctl comment.
63406 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
63408         Minor CANNOT_DUMP cleanups
63410         Mostly, this avoids munging executables when CANNOT_DUMP = yes,
63411         as the munging is needed only for unexec.
63412         * configure.ac (PAXCTL_dumped, PAXCTL_notdumped) [CANNOT_DUMP]:
63413         Leave these empty.
63414         (LD_SWITCH_SYSTEM_TEMACS) [CANNOT_DUMP]:
63415         Do not append -no-pie or -nopie.
63416         * src/alloc.c (my_heap_start) [CANNOT_DUMP]: Omit; not used.
63418 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
63420         Remove old combreloc hack
63422         It has not been needed for many years and gets in the way of
63423         portable dumping, address sanitization, etc.  See:
63424         https://lists.gnu.org/r/emacs-devel/2016-12/msg00147.html
63425         * configure.ac (LDFLAGS_NOCOMBRELOC, emacs_cv_znocombreloc):
63426         Remove.  All uses removed.
63427         * etc/PROBLEMS: Remove discussion of combreloc problems.
63429 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
63431         Fix typo in previous macfont.m change
63433         * src/macfont.m (macfont_descriptor_entity): Fix typo.
63434         Problem reported by Clemens Schüller.
63436 2018-06-15  Paul Eggert  <eggert@cs.ucla.edu>
63438         Restore macfont.m casts to void *
63440         * src/macfont.m (macfont_set_family_cache): Restore casts
63441         to void * that were mistakenly removed in my recent change.
63442         The types in question are pointer-to-const.  Problem
63443         reported by Clemens Schüller.
63445 2018-06-15  João Távora  <joaotavora@gmail.com>
63447         Fix a bug in Flymake handling of region-specific reports
63449         The backend's diagnostic list must be updated too, not just cleared.
63451         * lisp/progmodes/flymake.el (flymake--diag): Add overlay field.
63452         (flymake--highlight-line): Return created overlay.
63453         (flymake--handle-report): Iterate the backend's diagnostics, not
63454         the overlays.  Set diagnostic overlay.
63455         (flymake--run-backend): Don't clean diagnostic list here.
63456         (flymake-mode): Call delete-overlay directly.
63458 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
63460         Fix building --without-x and similar
63462         * src/keyboard.c (make_lispy_focus_out): Compile it
63463         unconditionally, as it is now supported on TTYs as well.
63464         Reported by Filipp Gunbin <fgunbin@fastmail.fm>.
63466 2018-06-15  João Távora  <joaotavora@gmail.com>
63468         Flymake and backends exchange hints abouts changed regions
63470         * lisp/progmodes/flymake.el (flymake--delete-own-overlays): Accept
63471         BEG and END.  Rename from flymake-delete-own-overlays.
63472         (flymake-diagnostic-functions): Describe :region, :recent-changes
63473         in docstring.
63474         (flymake--handle-report): Accept REGION.
63475         (flymake--run-backend): Accept optional ARGS to pass to backend
63476         fn.
63477         (flymake--recent-changes): New buffer-local variable.
63478         (flymake-start): Call flymake--run-backend with recent changes.
63479         (flymake-mode): Initialize flymake--recent-changes.  Call
63480         flymake--delete-own-overlays.
63481         (flymake-after-change-function): Collect recent changes.
63483         * doc/misc/flymake.texi (Backend functions): Describe
63484         :recent-changes and :region.
63486         * etc/NEWS (Flymake): Mention improvements in backend communication.
63488 2018-06-15  Tino Calancha  <tino.calancha@gmail.com>
63490         customize-apropos: Separate package name from its description
63492         * lisp/cus-edit.el (custom-group-value-create):
63493         Always insert documentation indented from its package name (Bug#31466).
63495 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63497         Remove Lisp_Misc_Save_Value
63499         This type and its associated routines are no longer used.
63500         * src/alloc.c (voidfuncptr): Move here from src/lisp.h.
63501         (free_misc, make_save_int_int_int)
63502         (make_save_obj_obj_obj_obj, make_save_ptr)
63503         (make_save_ptr_int, make_save_ptr_ptr)
63504         (make_save_funcptr_ptr_obj, make_save_memory)
63505         (free_save_value, mark_save_value):
63506         Remove.
63507         (mark_object): Remove mention of Lisp_Misc_Save_Value.
63508         * src/lisp.h (Lisp_Misc_Save_Value, SAVE_SLOT_BITS)
63509         (SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, enum Lisp_Save_Type)
63510         (struct Lisp_Save_Value, SAVE_VALUEP, XSAVE_VALUE)
63511         (save_type, XSAVE_POINTER, set_save_pointer)
63512         (XSAVE_FUNCPOINTER, XSAVE_INTEGER, set_save_integer)
63513         (XSAVE_OBJECT): Remove.
63514         (union Lisp_Misc): Remove u_save_value.
63515         (voidfuncptr): Move from here to src/alloc.c.
63516         * src/print.c (print_object):
63517         Remove support for printing Lisp_Misc_Save_Value.
63519 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63521         New type Lisp_Misc_Ptr
63523         This is a streamlined version of Lisp_Save_Value, which contains just
63524         a pointer, as that is all Lisp_Save_Values are used for any more.
63525         With the previous changes, these objects are not primarily used as
63526         save values, so just call them "Misc" rather than "Save".
63527         * src/alloc.c (make_misc_ptr): New function.
63528         (mark_object): Mark Lisp_Misc_Ptr too.
63529         * src/lisp.h (Lisp_Misc_Ptr): New constant.
63530         (struct Lisp_Misc_Ptr): New type.
63531         (make_mint_ptr, mint_ptrp, xmint_pointer):
63532         Use Lisp_Misc_Ptr, not Lisp_Save_Value.
63533         (union Lisp_Misc): Add Lisp_Misc_Ptr.
63534         * src/print.c (print_object): Print Lisp_Misc_Ptr.
63536 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63538         Avoid allocating Lisp_Save_Value for arrays
63540         * src/alloc.c (mark_maybe_objects): New function.
63541         * src/eval.c (default_toplevel_binding)
63542         (backtrace_eval_unrewind, Fbacktrace__locals):
63543         Treat array unwindings like other miscellaneous pdl types.
63544         (record_unwind_protect_array): New function.
63545         (do_one_unbind): Free the array while unwinding.
63546         (mark_specpdl): Mark arrays directly.
63547         * src/lisp.h (SPECPDL_UNWIND_ARRAY): New constant.
63548         (union specbinding): New member unwind_array.
63549         (SAFE_ALLOCA_LISP_EXTRA): Use record_unwind_protect_array
63550         instead of make_save_memory + record_unwind_protect.
63552 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63554         Avoid allocating Lisp_Save_Value for excursions
63556         * src/editfns.c (save_excursion_save): New arg PDL,
63557         specifying where to save the state.  All uses changed.
63558         (save_excursion_restore): Args are now the marker and info
63559         rather than a pointer to a Lisp_Save_Value containing them.
63560         All uses changed.
63561         * src/eval.c (default_toplevel_binding, Fbacktrace__locals):
63562         Treat excursions like other miscellaneous pdl types.
63563         (record_unwind_protect_excursion): Save data directly
63564         into the pdl rather than creating an object on the heap.
63565         This avoids the need to allocate and free an object.
63566         (do_one_unbind, backtrace_eval_unrewind):
63567         Unwind excursions directly.
63568         (mark_specpdl): Mark excursions directly.
63569         * src/lisp.h (SPECPDL_UNWIND_EXCURSION): New constant.
63570         (union specbinding): New member unwind_excursion.
63572 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63574         Just use cons in macfont_descriptor_entity
63576         * src/macfont.m (macfont_descriptor_entity): Use cons instead
63577         of make_save_ptr_int, as this avoids the need for a special
63578         type and function for this one-off.
63580 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63582         Avoid allocating a Lisp_Save_Value in ftfont.c
63584         * src/ftfont.c (struct ftfont_cache_data): New member face_refcount.
63585         (ftfont_lookup_cache): Clear it when initializing.
63586         Use make_mint_ptr, since this typically avoids the need to
63587         allocate a Lisp_Save_Value as refcount is now stored elsewhere.
63588         (ftfont_open2, ftfont_close): Manipulate the reference
63589         count in the struct, not in the save object.
63591 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63593         Use record_unwind_protect_ptr to avoid allocation
63595         * src/term.c (struct tty_pop_down_menu): New type.
63596         (tty_pop_down_menu, tty_menu_show): Use it, along with
63597         record_unwind_protect_ptr, to avoid allocating a Lisp_Misc.
63598         * src/xmenu.c (struct pop_down_menu): New type.
63599         (pop_down_menu, x_menu_show): Use it, likewise.
63600         * src/xterm.c (x_cr_destroy, x_cr_export_frames):
63601         Use record_unwind_protect_pointer to avoid possibly allocating
63602         a Lisp_Misc.
63604 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63606         Avoid Lisp_Misc allocation if C stack suffices
63608         * src/fileio.c (union read_non_regular): New type.
63609         (read_non_regular, Finsert_file_contents):
63610         Use it to avoid allocating a Lisp_Misc.
63611         * src/keymap.c (union map_keymap): New type.
63612         (map_keymap_char_table_item, map_keymap_internal):
63613         Use it to avoid allocating a Lisp_Misc.
63615 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63617         Simplify init_module_assertions
63619         * src/emacs-module.c (init_module_assertions): Just use NULL
63620         instead of allocating a dummy on the stack and then using
63621         eassert.  Practical platforms check for null pointer
63622         dereferencing nowadays, so this is good enough.
63624 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
63626         New mint_ptr representation for C pointers
63628         * src/lisp.h (make_mint_ptr, mint_ptrp, xmint_pointer): New functions.
63629         * src/dbusbind.c (xd_lisp_dbus_to_dbus, Fdbus__init_bus):
63630         * src/emacs-module.c (module_free_global_ref, Fmodule_load)
63631         (module_assert_runtime, module_assert_env, value_to_lisp)
63632         (lisp_to_value, initialize_environment)
63633         (finalize_environment, finalize_runtime_unwind)
63634         (mark_modules):
63635         * src/font.c (otf_open, font_put_frame_data)
63636         (font_get_frame_data):
63637         * src/macfont.m (macfont_invalidate_family_cache)
63638         (macfont_get_family_cache_if_present)
63639         (macfont_set_family_cache):
63640         * src/nsterm.h (XNS_SCROLL_BAR):
63641         * src/nsterm.m (ns_set_vertical_scroll_bar)
63642         (ns_set_horizontal_scroll_bar):
63643         * src/w32fns.c (w32_monitor_enum)
63644         (w32_display_monitor_attributes_list):
63645         * src/xterm.c (x_cr_destroy, x_cr_export_frames):
63646         * src/xwidget.c (webkit_javascript_finished_cb)
63647         (save_script_callback, Fxwidget_webkit_execute_script)
63648         (kill_buffer_xwidgets):
63649         Use mint pointers instead of merely save pointers.
63651 2018-06-14  João Távora  <joaotavora@gmail.com>
63653         Also allow custom false and null when serializing to JSON
63655         * doc/lispref/text.texi (Parsing JSON): Describe new arguments of
63656         json-serialize and json-insert.
63658         * src/json.c (enum json_object_type, struct json_configuration):
63659         Move up in file before first usage.
63660         (lisp_to_json_toplevel, lisp_to_json_toplevel_1, lisp_to_json):
63661         Accept a struct json_configuration*.
63662         (Fjson_serialize, Fjson_insert): Accept multiple args.
63663         (json_parse_args): Accept new boolean configure_object_type.
63665         * test/src/json-tests.el
63666         (json-serialize, json-insert): Update forward decls.
63667         (json-parse-with-custom-null-and-false-objects): Add assertions for
63668         json-serialize.
63670 2018-06-14  João Távora  <joaotavora@gmail.com>
63672         Support custom null and false objects when parsing JSON
63674         * doc/lispref/text.texi (Parsing JSON): Describe new :null-object
63675         and :false-object kwargs to json-parse-string and
63676         json-parse-buffer.
63678         * src/json.c
63679         (struct json_configuration): New type.
63680         (json_to_lisp): Accept a struct json_configuration* param.
63681         (json_parse_args): Rename from json_parse_object_type.
63682         (Fjson_parse_string): Rework docstring.
63683         (Fjson_parse_string, Fjson_parse_buffer): Update call to
63684         json_to_lisp.
63685         (syms_of_json): Two new syms, QCnull_object and QCfalse_object.
63687         * test/src/json-tests.el
63688         (json-parse-with-custom-null-and-false-objects): New test.
63690 2018-06-14  Damien Cassou  <damien@cassou.me>
63692         Fix pretty-printing empty objects as null
63694         * lisp/json.el (json-pretty-print): Force distinction between empty
63695           objects and null.
63696         (json-encode-list): Remove responsibility to print "null" as this
63697         value is not a list.
63698         (json-encode): Give higher precedence to lists so that an empty list
63699         is printed as an empty object, not as "null".
63701         * test/lisp/json-tests.el (test-json-encode): Add many tests to check
63702           the behavior of pretty-printing.
63704 2018-06-13  Paul Eggert  <eggert@cs.ucla.edu>
63706         Remove some wrong 8-byte alignment assumptions
63708         Do not assume that 8-byte alignment suffices for all C objects,
63709         as some platforms require 16-byte alignment for some objects,
63710         and this will start to bite us as time goes on (e.g., if an
63711         Emacs module ever uses an object containing a long
63712         double, which requires 16-byte alignment on x86-64).
63713         Conversely, on !USE_LSB_TAG platforms, do not insist on
63714         aligning Lisp objects to a multiple of 8, as this is not
63715         needed for high-order tag bits.
63716         * src/alloc.c (LISP_ALIGNMENT, MALLOC_IS_LISP_ALIGNED):
63717         New constants.
63718         (XMALLOC_BASE_ALIGNMENT, XMALLOC_HEADER_ALIGNMENT):
63719         Removed.  All uses replaced by LISP_ALIGNMENT.
63720         (aligned_alloc, laligned, lmalloc, lrealloc, union aligned_Lisp_Misc)
63721         (maybe_lisp_pointer, pure_alloc):
63722         Use LISP_ALIGNMENT rather than GCALIGNMENT.
63723         (aligned_alloc): Do not worry about an alignment of
63724         LISP_ALIGNMENT when MALLOC_IS_LISP_ALIGNED, as the code never
63725         uses aligned_alloc with alignment == LISP_ALIGNMENT in that case.
63726         (__alignof__): Remove.  All uses removed.
63727         (MALLOC_IS_GC_ALIGNED): Remove.
63728         All uses replaced with MALLOC_IS_LISP_ALIGNED.
63729         (vector_alignment): Remove.
63730         All uses replaced with LISP_ALIGNMENT.
63731         * src/alloc.c (mark_maybe_pointer):
63732         * src/emacs-module.c (value_to_lisp_bits):
63733         Do not assume GCALIGNMENT == 1 << GCTYPEBITS, as GCALIGNMENT
63734         is 1 on !USE_LSB_TAG platforms now.
63735         * src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Now 1.
63736         (struct Lisp_Symbol, union vectorlike_header, struct Lisp_Cons)
63737         (struct Lisp_String): Simplify test for verifying alignment.
63739 2018-06-12  Daniel Colascione  <dancol@dancol.org>
63741         Clarify that enabling a theme does not disable other themes
63743         Avoid user confusion by explicitly stating that enabling a theme does
63744         not imply disabling other themes and that theme load functions are not
63745         theme switch functions.
63747         * lisp/custom.el (load-theme, enable-theme): Clarify docstrings.
63749 2018-06-12  Daniel Colascione  <dancol@dancol.org>
63751         Ignore focus events for dead frames
63753         Frames can die between the time we generate a focus event and the time
63754         we get around to processing it.  Do run after-focus-change-function,
63755         since that's idempotent and we want to make sure not to miss
63756         any changes.
63758         * lisp/frame.el (handle-focus-in, handle-focus-out): Check for dead frames.
63760 2018-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
63762         * lisp/textmodes/ispell.el (ispell-menu-map): Init in declaration
63764         (ispell-menu-map-needed): Remove, now that the menu doesn't include
63765         the list of dictionaries any more, so it's basically constant.
63767 2018-06-12  Eli Zaretskii  <eliz@gnu.org>
63769         Fix initialization of custom-delayed-init-variables
63771         * lisp/startup.el (command-line): Re-evaluate delayed-init custom
63772         variables one more time after setting up the initial
63773         window-system.  (Bug#30994)
63775         * doc/emacs/custom.texi (Early Init File):
63776         * etc/NEWS: Warn against using early-init.el as a substitute for
63777         .emacs.
63779 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
63781         Give warning if losing value to defvaralias (Bug#5950)
63783         * src/eval.c (Fdefvaralias): Call `display-warning' if the alias
63784         target has a non-eq value to the variable being aliased.
63785         * test/src/eval-tests.el (defvaralias-overwrite-warning): New test.
63787 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
63789         Let display-warning work during bootstrap
63791         * lisp/emacs-lisp/warnings.el (display-warning): Only call
63792         `special-mode' and `newline' if they are `fbound'.
63794 2018-06-11  Michael R. Mauger  <michael@mauger.com>
63796         * lisp/progmodes/sql.el: Add MariaDB support (Robert Cochran)
63797           (sql-product-alist): Add MariaDB entry
63798           (sql-mariadb-program, sql-mariadb-options, sql-mariadb-login-params,
63799           sql-mode-mariadb-font-lock): New variables, aliases of the MySQL
63800           equivalents
63801           (sql-mariadb, sql-comint-mariadb): New interaction mode functions
63802           for MariaDB
63803           (sql-mode-mysql-font-lock-keywords): Updated font-lock for MySQL
63804           and MariaDB
63806 2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
63807             Noam Postavsky  <npostavs@gmail.com>
63809         soap-client: Add byte-code compatibility function (Bug#31742)
63811         * lisp/net/soap-client.el: Bump version to 3.1.4.
63812         (soap-type-of): New function.
63813         (soap-resolve-references, soap-decode-type)
63814         (soap-encode-attributes, soap-encode-value): Replace aref
63815         calls with calls to soap-type-of.
63817         * lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
63818         Replace aref calls with calls to soap-type-of.
63820 2018-06-11  Daniel Colascione  <dancol@dancol.org>
63822         Add after-delete-frame-functions
63824         Instead of working around the behavior delete-frame-functions, just
63825         add an after-delete-frame-functions hook.
63827         * doc/lispref/frames.texi (Deleting Frames): Document
63828         `after-delete-frame-functions'.
63830         * etc/NEWS: Mention `after-delete-frame-functions'.
63832         * lisp/frame.el (blink-cursor--should-blink):
63833         (blink-cursor--rescan-frames, blink-frame-mode): Get rid of the
63834         ugly ignored-frame parameter and switch from
63835         `delete-frame-functions' to `after-delete-frame-functions'.
63837         * src/frame.c (syms_of_frame): New variable
63838         `after-delete-frame-functions'.
63839         (delete_frame): Use it.
63841 2018-06-11  Daniel Colascione  <dancol@dancol.org>
63843         Make blink-cursor-mode use new focus functions
63845         * lisp/frame.el (blink-cursor--should-blink): New function.
63846         (blink-cursor-check): Call it.
63847         (blink-cursor--rescan-frames): New function.
63848         (blink-cursor-mode): Wire up `blink-cursor--rescan-frames`; stop
63849         using `focus-in-hook' and `focus-out-hook'.
63851 2018-06-11  Daniel Colascione  <dancol@dancol.org>
63853         Losing focus should not stop idleness
63855         * src/keyboard.c (read_char): Make Qfocus_out not break idle.
63857 2018-06-11  Daniel Colascione  <dancol@dancol.org>
63859         New focus management interface
63861         focus-in-hook and focus-out-hook don't accurately reflect actual
63862         user-visible focus states.  Add a new focus interface and mark the old
63863         one obsolete.
63865         * doc/lispref/frames.texi (Input Focus): Document new focus
63866         functions.  Remove references to the now-obsolete focus hooks.
63868         * lisp/frame.el (frame-focus-state): New function.
63869         (after-focus-change-function): New variable.
63870         (focus-in-hook, focus-out-hook): Move to lisp from C;
63871         mark obsolete.
63873         * lisp/term/xterm.el (xterm-translate-focus-in)
63874         (xterm-translate-focus-out): Track tty focus in `tty-focus-state'
63875         terminal parameter; call `after-focus-change-function'.
63876         (xterm--suspend-tty-function): New function.
63878         * src/frame.c (Fhandle_switch_frame): Update docstring; don't call
63879         focus hooks.
63880         (focus-in-hook, focus-out-hook): Remove: moved to lisp.
63881         (syms_of_frame): Remove unread_switch_frame; add
63882         Vunread_switch_frame.
63884         * src/keyboard.c:
63885         (Finternal_handle_focus_in): New function.
63886         (make_lispy_event): Always report focus events to lisp; don't
63887         translate them to switch events sometimes.  Lisp can take care of
63888         creating synthetic switch-frame events via
63889         `internal-handle-focus-in'.
63891         * src/w32term.c (x_focus_changed): Remove switch-avoidance logic:
63892         just directly report focus changes to lisp.
63894         * src/xterm.c (x_focus_changed): Remove switch-avoidance logic:
63895         just directly report focus changes to lisp.
63897 2018-06-11  Daniel Colascione  <dancol@dancol.org>
63899         Remove code #if-0-ed terminal-local code
63901         This code hasn't been used since 2005.
63903         * src/data.c
63904         (get_terminal, Fterminal_local_value, Fset_terminal_local_value): Remove.
63906 2018-06-11  Daniel Colascione  <dancol@dancol.org>
63908         Remove obsolete keyboard.c code
63910         * src/keyboard.c (any_kboard_state, single_kboard_state): Remove
63911         #if-0-ed functions.
63913 2018-06-11  Lars Ingebrigtsen  <larsi@gnus.org>
63915         Don't have shr bug out on degenerate <img> tags
63917         * lisp/net/shr.el (shr-tag-img): Protect against constructs like
63918         <img src=" ">.
63920 2018-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
63922         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Use \' i.s.o $.
63924 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
63926         Merge from emacs-26
63928         8a1576cc03 Fix term.el cursor movement at bottom margin (Bug#31690)
63930 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
63932         Merge from emacs-26
63934         3434edc731 Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
63935         36bbdfc017 Update Unicode data files to version 11.0.0 of Unicode
63936         b7b7a5f4f3 * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (B...
63937         5b6f8b54d1 Clarify the documentation of 'dired-recursive-deletes'
63938         9db97b49cd ; * etc/DEBUG: Add information about debugging libXft prob...
63939         0214ffbe60 Clarify doc string of 'update-glyphless-char-display'
63940         ef35d405b1 Clarify subtle issues with 'eq' in byte-compiled code
63941         c6ef3c8321 Make cl-print respect print-quoted (bug#31649)
63942         26b52ac40e Fix unexpected jumps of window-point in 'set-window-config...
63943         4af077ab4d * etc/emacs.appdata.xml: Update Emacs screenshot.
63944         e5ab25deae Fix cursor movement by 'next-logical-line' after 'next-line'
63945         d20beef5f1 Fix prompt in bookmark.el (Bug#24726)
63946         c57e7eaae8 Improve documentation of 'empty' whitespace-style
63948         # Conflicts:
63949         #       etc/NEWS
63951 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
63953         Merge from emacs-26
63955         55c9bb9f3c Fix comint-get-old-input-default for output field case (Bu...
63956         26819cd1c0 ; ChangeLog.3: Fix typo.
63957         e35a08ea4b Prevent infloop in 'delete-trailing-whitespace'
63959         * lisp/progmodes/cperl-mode.el:
63960         * lisp/progmodes/cc-engine.el:
63961         * lisp/progmodes/cc-mode.el: Fix tabs mixed with space preventing
63962         commit hook from succeeding.
63964 2018-06-10  Paul Eggert  <eggert@cs.ucla.edu>
63966         Pacify gcc -Wnull-dereference some more
63968         * src/keyboard.c (read_char): Use xevent_start in a couple
63969         more places where it is safe.  This is needed with
63970         --enable-gcc-warnings --enable-checking on Fedora 28 x86-64.
63972 2018-06-10  Paul Eggert  <eggert@cs.ucla.edu>
63974         Use native alignment to access Lisp object data
63976         Instead of using __builtin_assume_aligned (P, GCALIGNMENT) to
63977         tell GCC that P has alignment 8, use (T *) P where T is the
63978         type of the pointed-to object, to tell GCC that P has native
63979         alignment.  This is simpler, matches the intent better, and
63980         should help simplify future improvements.  Some of these
63981         changes are to pacify gcc -Wnull-dereference, since GCC is
63982         smarter about pointers now that Emacs no longer uses
63983         __builtin_assume_aligned; these minor changes should improve
63984         code efficiency slightly.  On Fedora 28 x86-64 with default
63985         optimization this patch shrinks the size of the Emacs text
63986         segment by 0.36%.
63987         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
63988         Remove; no longer used.
63989         * src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE):
63990         Pacify -Wnull-dereference by using XCAR instead of CAR_SAFE
63991         and XCDR instead of CDR_SAFE when this is safe.
63992         * src/fileio.c (Fexpand_file_name):
63993         * src/font.c (clear_font_cache):
63994         Pacify -Wnull-dereference by removing unnecessary NILP test.
63995         * src/keyboard.c (xevent_start): New function.
63996         (read_char, read_key_sequence): Pacify -Wnull-dereference by
63997         using xevent_start instead of EVENT_START.
63998         * src/lisp.h (lisp_h_XUNTAG): Remove; XUNTAG is always a macro
63999         now, since it can no longer be implemented as a function.
64000         (XUNTAG): New third argument CTYPE.  All uses changed.
64001         Cast result to CTYPE * instead of using __builtin_assume_aligned.
64002         Simplify by using LISP_WORD_TAG.
64003         (LISP_WORD_TAG): New macro.
64004         (TAG_PTR): Use it.
64005         * src/menu.c (x_popup_menu_1):
64006         Pacify -Wnull-dereference by using XCAR instead of Fcar and
64007         XCDR instead of Fcdr where this is safe.
64009 2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>
64011         Simplify read_key_sequence
64013         * src/keyboard.c (READ_KEY_ELTS): New constant.
64014         (keyremap_step, read_key_sequence): Omit BUFSIZE arg, since it's
64015         always READ_KEY_ELTS.  All callers changed.
64016         (grow_bool_vector): Remove; no longer needed.
64017         (read_key_sequence): Use a bool array instead of a Lisp bool
64018         vector, since it's small and this puts less pressure on the GC.
64020 2018-06-09  Daniel Colascione  <dancol@dancol.org>
64022         Unbreak echoing
64024         * src/keyboard.c (read_key_sequence): Don't echo_truncate the first time.
64026 2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>
64028         Fix pointer misuse in JSON parser
64030         * src/json.c (lisp_to_json_toplevel_1): Fix pointer misuse not
64031         caught by C type checking (json_t ** converted to void * where
64032         the program expected json_t *).  Bug caught on Fedora 28 x86-64 via
64033         './configure CFLAGS="-g3 -O2 -fsanitize=address" CANNOT_DUMP=yes'.
64034         Avoid similar problems in the future by rewriting to use
64035         json_t * instead of json_t **.
64037 2018-06-09  Daniel Colascione  <dancol@dancol.org>
64039         Correctly set last_nonmenu_event when replaying
64041         read_key_sequence can, in various circumstances, play back recorded
64042         events.  Make sure that we set last_nonmenu_event as if we weren't
64043         replaying.  Without this change, we leave last_nonmenu_event set to
64044         whatever it was before we started replaying, leading to spurious
64045         random keymap menu prompts appearing after reading terminal control
64046         sequences, the translation of which sometimes causes event replays.
64048         * src/keyboard.c:
64049         (grow_bool_vector): New function
64050         (read_key_sequence): Remember menu event history per-event.
64052 2018-06-09  Daniel Colascione  <dancol@dancol.org>
64054         Add debug facility for formatting in rr sessions
64056         The existing debug print commands don't work in rr, since they touch
64057         stderr. The new xfmt command just calls Fformat and doesn't touch the
64058         stdio streams.
64060         * src/.gdbinit:
64061         (xfmt): New GDB command.
64063         * src/print.c:
64064         (debug_format): New function.
64066 2018-06-09  Daniel Colascione  <dancol@dancol.org>
64068         Fix typo in docstring
64070         * lisp/term/xterm.el: (xterm-paste-ending-sequence): Fix typo
64072 2018-06-09  Paul Eggert  <eggert@cs.ucla.edu>
64074         Fix read buffer overrun on overflowed integers
64076         * src/lread.c (read_integer): Fix off-by-1 buffer overrun
64077         introduced in 2018-04-17T23:23:16Z!eggert@cs.ucla.edu.  The
64078         bug could occur when Emacs read radixed integers containing
64079         more than 100 digits.  Bug caught by AddressSanitizer.
64081 2018-06-09  Alan Mackenzie  <acm@muc.de>
64083         Implement the C++11 "using" type definition.
64085         Cease using the long obsolete c++-template-syntax-table.
64087         * lisp/progmodes/cc-align.el (c-lineup-template-args): Cease using
64088         c++-template-syntax-table.
64090         * lisp/progmodes/cc-engine.el (c-beginning-of-inheritance-list)
64091         (c-search-decl-header-end, c-beginning-of-decl-1, c-end-of-decl-1)
64092         (c-guess-continued-construct, c-guess-basic-syntax): Cease using
64093         c++-template-syntax-table.
64094         (c-guess-basic-syntax): Add CASE 5D.6 to handle C++11's "using" type
64095         definition.
64097         * lisp/progmodes/cc-langs.el (c++-make-template-syntax-table)
64098         (c++-template-syntax-table): Remove.
64099         (c-equals-type-clause-kwds, c-equals-type-clause-key): New language
64100         constants/variables.
64102 2018-06-09  Daniel Colascione  <dancol@dancol.org>
64104         Improve robustness xterm event processing
64106         We used to treat the start of a focus-in, focus-out, and the start of
64107         a paste sequence as normal events bound in global-map, but this
64108         approach produces problems when we recognize events in the middle of
64109         actions that don't immediately dispatch to the command loop.
64111         Now we handle these events internally inside read-key, translating the
64112         focus events to nothing and paste-start into an xterm-paste event that
64113         neatly encapsulates the entire paste sequence.
64115         * lisp/term/xterm.el:
64116         (xterm-paste): Accept an event argument; insert text from event.
64117         (xterm-translate-focus-in,xterm-translate-focus-out)
64118         (xterm-translate-bracketed-paste): New functions.
64119         (xterm-handle-focus-in,xterm-handle-focus-out): Remove.
64120         (xterm-rxvt-function-map): Bind new translation functions.
64122 2018-06-09  Alan Mackenzie  <acm@muc.de>
64124         CC Mode: In brace lists, anchor an elt on its predecessor, not on first elt
64126         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): At the end, accept
64127         "." as a unary operator (which it now is in brace lists in, e.g., C Mode).
64128         (c-guess-basic-syntax): Just before CASE 9C, move back to the previous brace
64129         list entry in the block, rather than to the first one.
64131 2018-06-09  Philipp Stephani  <phst@google.com>
64133         Make error checking for thread functions stricter.
64135         * src/systhread.c (sys_thread_create): Change return type to bool.
64136         Check for errors returned by pthread_attr_setstacksize and
64137         pthread_attr_destroy.
64138         (sys_mutex_init): Abort on errors.  Enable mutex checks when checking
64139         is enabled.
64140         (sys_cond_init): Abort on errors.
64141         (sys_mutex_lock, sys_mutex_unlock, sys_cond_wait)
64142         (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy): Check for
64143         errors in debug mode.
64145 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
64147         Allow to reset Deleted flag when exporting messages in Rmail
64149         * lisp/mail/rmailout.el (rmail-output-reset-deleted-flag): New
64150         defcustom.
64151         (rmail-output): When 'rmail-output-reset-deleted-flag' is non-nil,
64152         reset the Deleted flag of the appended messages, and if COUNT is
64153         greater than 1, do not ignore deleted messages.  Update the doc
64154         string accordingly.  (Bug#31271)
64156         * doc/emacs/rmail.texi (Rmail Output): Document
64157         'rmail-output-reset-deleted-flag'.
64159         * etc/NEWS: Mention the new user option.
64161 2018-06-08  Paul Eggert  <eggert@cs.ucla.edu>
64163         Remove AddressSanitizer bug workaround
64165         This workaround no longer appears to be needed.
64166         * src/alloc.c (USE_ALIGNED_ALLOC): Don’t leave undefined
64167         merely because ADDRESS_SANITIZER is defined, as that bug
64168         in -fsanitize=address appears to have been fixed.  See:
64169         https://github.com/google/sanitizers/issues/337
64170         * src/conf_post.h (vfork): Improve comment.
64172 2018-06-08  Basil L. Contovounesios  <contovob@tcd.ie>
64174         Fix default candidate of find-face-definition
64176         * lisp/emacs-lisp/find-func.el (find-function-read): Use
64177         face-at-point instead of variable-at-point for faces. (bug#31699)
64179 2018-06-08  Daniel Colascione  <dancol@dancol.org>
64181         Avoid unnecessary readahead early in TTY frame init
64183         We query some properties of the terminal early in initialization, and
64184         just before we do, we perform ordinary redisplay.  This redisplay can
64185         result in unsightly flickering if we change some aspects of the
64186         display immediately afterward and redisplay again.  By avoiding
64187         redisplay in xquery--query as long as we get timely responses from the
64188         terminal, we can avoid this early unwanted redisplay.
64190         * lisp/term/xterm.el:
64191         (xterm-query-redisplay-timeout): New variable.
64192         (xterm--read-event-for-query): New function.
64193         (xterm--report-background-handler,xterm--version-handler,xterm--query):
64194         Call it.
64196 2018-06-08  Daniel Colascione  <dancol@dancol.org>
64198         Support terminal focus notifications
64200         * lisp/frame.el (handle-focus-in,handle-focus-out): Make event
64201         argument optional.
64202         (blink-cursor-check): Make sure that the current frame is a
64203         window-system frame before restarting the blink timer. TTY frames
64204         can get focus, but don't need a blink timer because the terminal
64205         will do the blinking.
64207         * lisp/term/xterm.el
64208         (xterm-handle-focus-in,xterm-handle-focus-out): New functions.
64209         (xterm-rxvt-function-map): Recognize focus notification sequences.
64210         (xterm--init-focus-tracking): New function.
64211         (terminal-init-xterm): Call it.
64213 2018-06-08  Daniel Colascione  <dancol@dancol.org>
64215         Fix formatting in the face filter change
64217         * src/xfaces.c:
64218         (evaluate_face_filter,filter_face_ref)
64219         (merge_face_ref,syms_of_xfaces): Fix comments, formatting.
64221 2018-06-08  Daniel Colascione  <dancol@dancol.org>
64223         Make setting inhibit-startup-screen in early init work
64225         * lisp/startup.el (command-line): Bind `inhibit-startup-screen'
64226         around loading the site file instead of unconditionally
64227         resetting it.
64229 2018-06-08  João Távora  <joaotavora@gmail.com>
64231         Describe flymake-start-on-save-buffer in manual and NEWS
64233         (Bug#31738)
64235         * doc/misc/flymake.texi (Using Flymake, Customizable variables):
64236         Mention flymake-start-on-save-buffer.
64238         * etc/NEWS: Mention flymake-start-on-save-buffer.
64240 2018-06-08  João Távora  <joaotavora@gmail.com>
64242         New flymake-start-on-save-buffer custom variable
64244         (Bug#21419)
64246         * lisp/progmodes/flymake.el (flymake-after-save-hook): Use
64247         flymake-start-on-save-buffer.
64248         (flymake-start-on-save-buffer): New custom variable.
64249         (flymake-start-on-flymake-mode): Tweak docstring.
64251 2018-06-08  Alan Mackenzie  <acm@muc.de>
64253         CC Mode: Fontify unbalanced quotes in unconstrained multiline strings, etc.
64255         ("Unconstrained" meaning that every string is multiline, without needing such
64256         special marking as used by Pike Mode.)
64258         * lisp/progmodes/cc-mode.el (c-pps-to-string-delim): Don't process the char
64259         before BOB.
64260         (c-multiline-string-check-final-quote): New function.
64261         (c-bc-changed-stringiness): New variable.
64262         (c-before-change-check-unbalanced-strings): Add handling for unconstrained
64263         multiline strings.
64264         (c-after-change-re-mark-unbalanced-strings): Add handling for unconstrained
64265         multiline strings.  Handle escaped double quotes more accurately.
64267 2018-06-08  Paul Eggert  <eggert@cs.ucla.edu>
64269         Port alignment verification to x86 --with-wide-int
64271         Problem reported by Eli Zaretskii in:
64272         https://lists.gnu.org/r/emacs-devel/2018-06/msg00238.html
64273         * src/lisp.h (struct Lisp_Symbol, union vectorlike_header)
64274         (struct Lisp_Cons, struct Lisp_String):
64275         Do not check alignment if !USE_LSB_TAG, as alignment is
64276         needed only if we are tagging the low-order bits.
64278 2018-06-07  Daniel Colascione  <dancol@dancol.org>
64280         Offer to open large files without modes
64282         * lisp/files.el:
64283         (files--ask-user-about-large-file): New function.
64284         (abort-if-file-too-large): Call it.
64285         (find-file-noselect): Support new raw open.
64287 2018-06-07  Daniel Colascione  <dancol@dancol.org>
64289         Add support for per-window face remapping
64291         Extend face specifications to support the notion of filtering to a
64292         specific context and add a filter that limits a face specification to
64293         windows having a certain parameter.
64295         * src/xfaces.c:
64296         (evaluate_face_filter,filter_face_ref): New functions.
64297         (merge_face_ref): Ignore filtered face specifications.
64298         (Fx_list_fonts,get_lface_attributes,merge_face_vectors)
64299         (merge_named_face,merge_face_ref,merge_face_ref)
64300         (Finternal_merge_in_global_face,Fface_font,lookup_named_face)
64301         (lookup_basic_face,Fface_attributes_as_vector)
64302         (x_supports_face_attributes_p)
64303         (Fdisplay_supports_face_attributes_p,realize_named_face)
64304         (compute_char_face,face_at_buffer_position)
64305         (face_at_buffer_position,face_at_buffer_position)
64306         (face_at_buffer_position)
64307         (face_for_overlay_string,face_at_string_position,merge_faces):
64308         Pass window to face machinery.
64309         (syms_of_xfaces): Add :window and :filtered
64311         * src/xdisp.c (init_iterator, handle_face_prop)
64312         (handle_single_display_spec, merge_escape_glyph_face)
64313         (merge_glyphless_glyph_face, get_next_display_element)
64314         (next_element_from_display_vector, append_space_for_newline)
64315         (extend_face_to_end_of_line,highlight_trailing_whitespace)
64316         (maybe_produce_line_number)
64317         (display_line, calc_line_height_property): Pass window to
64318         face machinery.
64320         * src/term.c (tty_menu_activate): Adjust to new face core
64321         function signature.
64323         * src/msdos.c (XMenuActivate): Adjust to new face core
64324         function signature.
64326         * src/fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
64327         Pass window to face machinery.
64329         * src/font.c (font_range, Finternal_char_font): Pass window to
64330         face machinery.
64332         * src/dispnew.c (spec_glyph_lookup_face): Pass window to
64333         face machinery.
64335         * src/dispextern.h:
64336         (lookup_named_face,lookup_basic_face)
64337         (lookup_derived_face,merge_faces):
64338         Add struct window arguments to prototypes.
64340 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
64342         Fit kill_buffer_xwidgets into 80
64344         * src/xwidget.c (kill_buffer_xwidgets): Reindent and use C99
64345         style to fit in 80 columns.
64347 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
64349         Minor cleanup of save_excursion_restore
64351         * src/editfns.c (save_excursion_restore): Use clearer names
64352         for locals.  Free earlier, removing the need for a label and goto.
64354 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
64356         New function record_unwind_protect_excursion
64358         This simplifies callers a bit, and will simplify future changes.
64359         * src/eval.c (record_unwind_protect_excursion): New function.
64360         * src/buffer.c (Fkill_buffer):
64361         * src/bytecode.c (exec_byte_code):
64362         * src/editfns.c (Fsave_excursion, Freplace_buffer_contents):
64363         * src/lread.c (readevalloop, Feval_buffer):
64364         * src/window.c (scroll_command):
64365         Use it.
64367 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
64369         * src/.gdbinit: Omit soon-obsolete comment.
64371 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
64373         Fix ftfont_open2 failure cleanup
64375         * src/ftfont.c (ftfont_open2): Don’t increment counter if failing.
64376         Avoid use-after-free once the increment bug is fixed.
64378 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
64380         Don’t over-align if WIDE_EMACS_INT
64382         * src/lisp.h (GCALIGNED_UNION): New macro.
64383         (struct Lisp_Symbol, union vectorlike_header)
64384         (struct Lisp_Cons, struct Lisp_String):
64385         Use it to avoid possible over-alignment if !USE_LSB_TAG.
64387 2018-06-07  Paul Eggert  <eggert@cs.ucla.edu>
64389         Fix GC-related commentary
64391         * src/lisp.h: USE_STACK_LISP_OBJECTS is no longer experimental.
64392         Also, remove confusion about scope vs lifetime.
64393         And say that stack-allocated strings should not be given
64394         text properties.
64396 2018-06-07  Noam Postavsky  <npostavs@gmail.com>
64398         Let isearch-yank-kill enable isearch-mode if needed (Bug#21419)
64400         * lisp/isearch.el (isearch-yank-kill): Enable isearch-mode if needed.
64402 2018-06-07  João Távora  <joaotavora@gmail.com>
64404         Accept plists when serializing and parsing JSON
64406         * doc/lispref/text.texi (Parsing JSON): Mention plist support.
64408         * src/json.c (lisp_to_json_toplevel_1): Serialize plists to json.
64409         (Fjson_serialize): Mention plists in docstring.
64410         (enum json_object_type): Add json_object_plist.
64411         (json_to_lisp): Parse JSON into plists.
64412         (json_parse_object_type): Consider plists.
64413         (Fjson_parse_string): Mention plists in docstring.
64414         (syms_of_json): New Qplist sym_of_json.
64415         (lisp_to_json): Update comment.
64417         * test/src/json-tests.el (json-serialize/object)
64418         (json-parse-string/object): New plist tests.
64420 2018-06-07  Michael Albinus  <michael.albinus@gmx.de>
64422         Remove Tramp "obex" and "synce" methods
64424         * doc/misc/tramp.texi (GVFS based methods): Remove `obex' and `synce'.
64426         * etc/NEWS: Mention obsolete Tramp "obex" and "synce" methods.
64428         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
64429         Remove "obex" and "synce".
64430         (top): Do not add defaults for "obex" and "synce".
64431         (tramp-bluez-service, tramp-bluez-interface-manager)
64432         (tramp-bluez-interface-adapter)
64433         (tramp-bluez-discover-devices-timeout, tramp-bluez-discovery)
64434         (tramp-bluez-devices, tramp-hal-service, tramp-hal-path-manager)
64435         (tramp-hal-interface-manager, tramp-hal-interface-device)
64436         (tramp-bluez-address, tramp-bluez-device)
64437         (tramp-bluez-list-devices, tramp-bluez-property-changed)
64438         (tramp-bluez-device-found, tramp-bluez-parse-device-names)
64439         (tramp-synce-list-devices, tramp-synce-parse-device-names): Remove.
64440         (tramp-gvfs-handler-mounted-unmounted)
64441         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec): Do not
64442         handle "obex" and "synce".
64444 2018-06-05  João Távora  <joaotavora@gmail.com>
64446         When navigating Flymake diagnostics, consider their severity
64448         The FILTER arg of flymake-goto-next-error, a list of types, includes
64449         every diagnostic with a severity number `eq` to those types.
64451         * lisp/progmodes/flymake.el (flymake--severity): New helper.
64452         (flymake-goto-next-error, flymake-goto-prev-error): Clarify
64453         meaning of FILTER.
64454         (flymake-goto-next-error): Interpret filter as a severity filter.
64455         (flymake--mode-line-format): Simplify.
64457 2018-06-05  João Távora  <joaotavora@gmail.com>
64459         Obsolete Flymake's flymake-diagnostic-types-alist
64461         That variable was an association between symbols and properties,
64462         effecively duplicating symbol's property lists.  It is simpler to just
64463         put properties on symbols.  Backward compatibility to the old variable
64464         has been kept.
64466         * doc/misc/flymake.texi (Flymake error types): Don't mention
64467         flymake-diagnostic-types-alist.
64468         (Flymake error types): Rework section.
64469         (Backend functions): Refill a paragraph.
64470         (Flymake utility functions): Don't mention
64471         flymake-diagnostic-types-alist.
64472         (Proc customization variables): Don't mention
64473         flymake-diagnostic-types-alist.
64475         * etc/NEWS: Mention obsoletion of flymake-diagnostic-types-alist.
64477         * lisp/progmodes/flymake-proc.el
64478         (flymake-proc--diagnostics-for-pattern): Don't use
64479         flymake-diagnostic-types-alist.
64481         * lisp/progmodes/flymake.el: Rewrite commentary.
64482         (flymake-make-diagnostic, flymake-mode, flymake-goto-next-error)
64483         (flymake-goto-prev-error): Don't mention
64484         flymake-diagnostic-types-alist in docstring.
64485         (flymake-diagnostic-types-alist): Make obsolete.
64486         (:error, :warning, :note): Put flymake-category in these symbols.
64487         (flymake-error, flymake-warning, flymake-note): Put
64488         `flymake-bitmap', not `bitmap' in these symbols.
64489         (flymake--lookup-type-property, flymake--highlight-line): Rewrite.
64490         Honor flymake-diagnostic-types-alist for backward
64491         compatibility.
64493         * lisp/progmodes/python.el (python-flymake-msg-alist): Don't
64494         mention flymake-diagnostic-types-alist.
64496 2018-06-05  João Távora  <joaotavora@gmail.com>
64498         Correctly filter Flymake diagnostic types shown in mode-line
64500         Thus, if a package foo has its own types foo-error and
64501         foo-warning, and if the buffer has no errors, the mode-line
64502         will correctly show `[0 0]' (zero errors and warnings) instead
64503         of `[0 0 0 0]' (zero errors, zero foo-errors, zero warnings,
64504         zero  foo-warnings).
64506         * lisp/progmodes/flymake.el
64507         (flymake--mode-line-format): Coalesce diagnostic types based on
64508         the severity, not the symbol.
64510 2018-06-05  João Távora  <joaotavora@gmail.com>
64512         Let Flymake backends attach arbitrary data to diagnostics
64514         This is easier that setting properties on diagnostics' text.
64516         * lisp/progmodes/flymake.el (flymake--diag): Add data slot.
64517         (flymake-make-diagnostic): Add DATA arg.
64518         (flymake-diagnostic-data): New accessor.
64520 2018-06-05  João Távora  <joaotavora@gmail.com>
64522         Update version information for Flymake package and manual
64524         * doc/misc/flymake.texi: Update date and version.
64525         Make myself the first author.
64527         * lisp/progmodes/flymake.el: Update Maintainer and Version fields.
64529         * lisp/progmodes/flymake-proc.el
64530         (flymake-proc--diagnostics-for-pattern): Update Maintainer and Version fields.
64532 2018-06-05  Damien Cassou  <damien@cassou.me>
64534         * lisp/auth-source-pass.el: Update version to 4.0.1
64536 2018-06-05  Damien Cassou  <damien@cassou.me>
64538         Test checking that auth-source-pass backend is correctly installed
64540         * test/lisp/auth-source-pass-tests.el
64541         (auth-source-pass-can-start-from-auth-source-search): Add test.
64543 2018-06-05  Damien Cassou  <damien@cassou.me>
64545         Make sure auth-source-pass is compatible with Emacs 25
64547         * lisp/auth-source-pass.el: Use `advice-add' for Emacs 25 users as
64548         `auth-source-backend-parser-functions' does not exist there.
64550 2018-06-05  Damien Cassou  <damien@cassou.me>
64552         * lisp/auth-source-pass.el: Update version to 4.0.0
64554 2018-06-05  Damien Cassou  <damien@cassou.me>
64556         Fix prefix messages of auth-source-pass debug messages
64558         * lisp/auth-source-pass.el (auth-source-pass--do-debug): Fix message
64559         prefix.
64561 2018-06-05  Damien Cassou  <damien@cassou.me>
64563         * lisp/auth-source-pass.el: Update version to 3.0.0
64565 2018-06-05  Alex Branham  <branham@utexas.edu>
64567         Silence byte compiler warning in auth-source-pass
64569         * lisp/auth-source-pass.el (auth-source-pass-backend): Silence byte
64570         compiler warning by only passing a parameter to `auth-source-backend'
64571         in Emacs <= 25.
64573 2018-06-05  Jelle Licht  <jlicht@fsfe.org>
64575         Fix auth-source-pass.el to properly handle special inputs
64577         * lisp/auth-source-pass.el (auth-source-pass-search): Warn when
64578         passing multiple hosts in SPEC. Early return and warn when passing a
64579         wildcard as host in SPEC. Early return when host is nil.
64580         * test/lisp/auth-source-pass-tests.el (auth-source-pass-any-host,
64581         auth-source-pass-undefined-host): Add corresponding tests.
64583 2018-06-05  Damien Cassou  <damien@cassou.me>
64585         auth-source-pass: Take care of matching hosts when port is provided
64587         * lisp/auth-source-pass.el (auth-source-pass--find-match): Add PORT
64588         parameter and reorganize code by extracting `find-match-unambiguous'.
64589         (auth-source-pass--find-match-unambiguous): New function.
64590         (auth-source-pass--build-result): Fix the call to `find-match'.
64591         (auth-source-pass--hostname, auth-source-pass--hostname-with-user,
64592         auth-source-pass--user): Remove functions.
64593         * test/lisp/auth-source-pass-tests.el: Fix the calls to `find-match'.
64594         (auth-source-pass-find-host-without-port) Add corresponding test.
64596 2018-06-05  Damien Cassou  <damien@cassou.me>
64598         Add missing test cases to auth-source-pass-tests.el
64600         * test/lisp/auth-source-pass-tests.el
64601         (auth-source-pass-build-result-passes-full-host-to-find-match): Add
64602         missing test cases.
64604 2018-06-05  Damien Cassou  <damien@cassou.me>
64606         Add a test to auth-source-pass-tests.el
64608         * test/lisp/auth-source-pass-tests.el
64609         (auth-source-pass-build-result-passes-full-host-to-find-match): Add
64610         test making sure find-match is called with full host.
64612 2018-06-05  Damien Cassou  <damien@cassou.me>
64614         Fix indentation in auth-source-pass-tests.el
64616         * test/lisp/auth-source-pass-tests.el
64617         (auth-source-pass-only-return-entries-that-can-be-open): Fix indentation.
64619 2018-06-05  Edison Ibañez  <arkhan.xxx@gmail.com>
64621         * test/lisp/auth-source-pass-tests.el: Add assertions for host:port
64623 2018-06-05  Damien Cassou  <damien@cassou.me>
64625         * lisp/auth-source-pass.el: Fix headers.
64627 2018-06-05  Michael Albinus  <michael.albinus@gmx.de>
64629         Fix selinux test in files-tests.el
64631         * test/lisp/files-tests.el
64632         (files-tests-file-name-non-special-set-file-selinux-context):
64633         Adapt test.
64635 2018-06-04  Glenn Morris  <rgm@gnu.org>
64637         Merge from origin/emacs-26
64639         03697e6 Fix remote-host directory tracking for shells in `term' buffers
64640         16e8541 Update doc string of 'rx'
64642 2018-06-04  Glenn Morris  <rgm@gnu.org>
64644         Merge from origin/emacs-26
64646         defd53a Set accessibility subroles for child frame (bug#31324)
64647         de6a876 Fix redefinition of child frames on NS
64649 2018-06-04  Michael Albinus  <michael.albinus@gmx.de>
64651         Fix Bug#31489
64653         * lisp/files.el (file-name-unquote-non-special): Remove.
64654         (file-name-quoted-p, file-name-quote, file-name-unquote):
64655         Add optional argument TOP.
64656         (file-name-non-special): Adapt callees.  Finish implementation of
64657         functions which need a local copy.  (Bug#31489)
64659 2018-06-03  João Távora  <joaotavora@gmail.com>
64661         Add proper Flymake support to cc-mode.el
64663         Except for the important detail that it doesn't make temporary files,
64664         the new flymake-cc backend doesn't yet behave much differently from
64665         the old flymake-proc-legacy-flymake, i.e. it still needs a special
64666         `check-syntax' Makefile target to provide the compiler and compilation
64667         flags.  However, the new infrastructure created should allow less
64668         intrusive cleverer flag guessers (yet to be written) to replace that
64669         mechanism.
64671         * lisp/progmodes/cc-mode.el (c-mode, c++-mode): Add to
64672         flymake-diagnostic-functions.
64674         * lisp/progmodes/flymake-cc.el: New file.
64676 2018-06-03  Alan Third  <alan@idiocy.org>
64678         Add NS style text scale keybindings
64680         * lisp/term/ns-win.el: Add super-based keybindings for adjusting text
64681         zoom.
64683 2018-06-03  Michael Albinus  <michael.albinus@gmx.de>
64685         Extend file-name-non-special
64687         * lisp/files.el (insert-file-contents-literally):
64688         Bind `inhibit-file-name-handlers' the default way.
64689         (file-name-non-special): Rework, mainly for operations with two
64690         file name arguments.
64691         (file-name-unquote-non-special): New defsubst.
64692         (file-name-unquote): Use it.
64694         * test/lisp/files-tests.el (files-test-bug-18141): Skip if needed.
64695         (files-tests--with-temp-non-special): Add docstring.  Delete also
64696         `non-special-name' if the file/directory exists.
64697         (files-tests--special-file-name-extension)
64698         (files-tests--special-file-name-regexp): New defconst.
64699         (files-tests--special-file-name-handler, files-tests--new-name):
64700         New defuns.
64701         (files-tests--with-temp-non-special-and-file-name-handler): New macro.
64702         (files-tests-file-name-non-special-access-file)
64703         (files-tests-file-name-non-special-add-name-to-file)
64704         (files-tests-file-name-non-special-byte-compiler-base-file-name)
64705         (files-tests-file-name-non-special-copy-directory)
64706         (files-tests-file-name-non-special-copy-file)
64707         (files-tests-file-name-non-special-delete-directory)
64708         (files-tests-file-name-non-special-delete-file)
64709         (files-tests-file-name-non-special-diff-latest-backup-file)
64710         (files-tests-file-name-non-special-directory-file-name)
64711         (files-tests-file-name-non-special-directory-files)
64712         (files-tests-file-name-non-special-directory-files-and-attributes)
64713         (files-tests-file-name-non-special-dired-compress-handler)
64714         (files-tests-file-name-non-special-dired-uncache)
64715         (files-tests-file-name-non-special-expand-file-name)
64716         (files-tests-file-name-non-special-file-accessible-directory-p)
64717         (files-tests-file-name-non-special-file-acl)
64718         (files-tests-file-name-non-special-file-attributes)
64719         (files-tests-file-name-non-special-file-directory-p)
64720         (files-tests-file-name-non-special-file-equal-p)
64721         (files-tests-file-name-non-special-file-executable-p)
64722         (files-tests-file-name-non-special-file-exists-p)
64723         (files-tests-file-name-non-special-file-in-directory-p)
64724         (files-tests-file-name-non-special-file-local-copy)
64725         (files-tests-file-name-non-special-file-modes)
64726         (files-tests-file-name-non-special-file-name-all-completions)
64727         (files-tests-file-name-non-special-file-name-as-directory)
64728         (files-tests-file-name-non-special-file-name-case-insensitive-p)
64729         (files-tests-file-name-non-special-file-name-completion)
64730         (files-tests-file-name-non-special-file-name-directory)
64731         (files-tests-file-name-non-special-file-name-nondirectory)
64732         (files-tests-file-name-non-special-file-name-sans-versions)
64733         (files-tests-file-name-non-special-file-newer-than-file-p)
64734         (files-tests-file-name-non-special-notify-handlers)
64735         (files-tests-file-name-non-special-file-ownership-preserved-p)
64736         (files-tests-file-name-non-special-file-readable-p)
64737         (files-tests-file-name-non-special-file-regular-p)
64738         (files-tests-file-name-non-special-file-remote-p)
64739         (files-tests-file-name-non-special-file-selinux-context)
64740         (files-tests-file-name-non-special-file-symlink-p)
64741         (files-tests-file-name-non-special-file-truename)
64742         (files-tests-file-name-non-special-file-writable-p)
64743         (files-tests-file-name-non-special-find-backup-file-name)
64744         (files-tests-file-name-non-special-get-file-buffer)
64745         (files-tests-file-name-non-special-insert-directory)
64746         (files-tests-file-name-non-special-insert-file-contents)
64747         (files-tests-file-name-non-special-load)
64748         (files-tests-file-name-non-special-make-auto-save-file-name)
64749         (files-tests-file-name-non-special-make-directory)
64750         (files-tests-file-name-non-special-make-directory-internal)
64751         (files-tests-file-name-non-special-make-symbolic-link)
64752         (files-tests-file-name-non-special-rename-file)
64753         (files-tests-file-name-non-special-set-file-acl)
64754         (files-tests-file-name-non-special-set-file-modes)
64755         (files-tests-file-name-non-special-set-file-selinux-context)
64756         (files-tests-file-name-non-special-set-file-times)
64757         (files-tests-file-name-non-special-set-visited-file-modtime)
64758         (files-tests-file-name-non-special-shell-command)
64759         (files-tests-file-name-non-special-start-file-process)
64760         (files-tests-file-name-non-special-substitute-in-file-name)
64761         (files-tests-file-name-non-special-temporary-file-directory)
64762         (files-tests-file-name-non-special-unhandled-file-name-directory)
64763         (files-tests-file-name-non-special-vc-registered)
64764         (files-tests-file-name-non-special-write-region): Extends tests to
64765         quoted file names, which would require a file name handler if unquoted.
64766         (files-test-no-file-write-contents): Make test more robust.
64768         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
64769         (tramp--test-emacs25-p): New defun.
64770         (tramp-test34-vc-registered): Use it.
64772 2018-06-02  Michael R. Mauger  <michael@mauger.com>
64774         Improve buffer naming in sql.el (Bug#31446)
64776 2018-06-02  Glenn Morris  <rgm@gnu.org>
64778         Merge from origin/emacs-26
64780         4cfe531 (origin/emacs-26) Improve ELisp documentation of 'clone-indir...
64781         9089b02 Improve documentation of 'inhibit-message'
64782         6107e12 Improve documentation of comment styles
64783         fb45125 Documentation improvements in newcomment.el
64784         641c94c Imp[rove documentation of 'with-silent-modifications'
64786 2018-06-02  Glenn Morris  <rgm@gnu.org>
64788         Merge from origin/emacs-26
64790         76f692e Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
64792 2018-06-02  Glenn Morris  <rgm@gnu.org>
64794         Merge from origin/emacs-26
64796         90bea37 ; * etc/PROBLEMS: Fix fvwm version number in last commit
64797         af82d1f * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31...
64798         4a3aed2 Update Emacs Lisp Intro to match current behavior
64799         21f2247 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
64800         3257085 Fix previous commit
64801         6d23525 Fix typos in several manuals (Bug#31610)
64802         9188291 Add detailed documentation about lock files
64803         e5471b2 Add commentary for subtle aspect of frame.el
64805         Conflicts:
64806                 doc/lispintro/emacs-lisp-intro.texi
64808 2018-06-02  Glenn Morris  <rgm@gnu.org>
64810         Merge from origin/emacs-26
64812         ca3f0a8 ; * etc/NEWS: Belated announcement of 2 changes made in Emacs...
64813         99f92da Improve documentation of 'directory-files-and-attributes'
64814         df8649a * lisp/gnus/message.el (message-remove-header): Don't remove ...
64815         b682a7e ; * etc/NEWS: Add headings for Emacs 26.2
64816         aa175a4 Adapt hexl-mode to native line-number display
64817         b8e7749 Fix example in Tramp manual
64818         f212fe5 Handle case where Xft is found but not XRender
64819         186280f * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh...
64820         24ba633 Improve read-multiple-choice docstring (Bug#31628)
64822         Conflicts:
64823                 etc/NEWS
64824                 src/dired.c
64826 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
64828         Un-obsolete 'string-to-unibyte'
64830         * lisp/subr.el (string-to-unibyte): No longer obsolete.  See the
64831         emacs-devel discussion around this message:
64832         https://lists.gnu.org/archive/html/emacs-devel/2018-05/msg00656.html.
64834         * etc/NEWS: Announce the change.
64836 2018-06-01  John Shahid  <jvshahid@gmail.com>
64838         Fix column double counting in term.el (Bug#31662)
64840         * lisp/term.el (term-emulate-terminal): Invalidate
64841         `term-current-column' after deleting overwritten text.
64843 2018-06-01  João Távora  <joaotavora@gmail.com>
64845         Minimally support Flymake in Emacs C sources
64847         The check-syntax target is enabled the use of Flymake's "legacy"
64848         backend, flymake-proc-legacy-flymake in src/*.c.  It works quite well
64849         with C sources.  The green light for this change had already been
64850         given some time ago in
64852         https://lists.gnu.org/r/emacs-devel/2017-10/msg00385.html
64854         * src/Makefile.in (check-syntax): New target.
64855         (.PHONY): Add check-syntax.
64857 2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)
64859         Fix a typo in emacs-mime.texi (Bug#31610)
64861 2018-05-31  Robert Pluim  <rpluim@gmail.com>
64863         Obsolete image-jpeg-p
64865         * lisp/image.el (image-jpeg-p): Declare obsolete.
64867 2018-05-31  Lars Ingebrigtsen  <larsi@gnus.org>
64869         Fdirectory_files_and_attributes doc string clarification
64871         * src/dired.c (Fdirectory_files_and_attributes): Clarify what data
64872         is returned.
64874 2018-05-31  Alan Mackenzie  <acm@muc.de>
64876         Amend c-before-change-check-unbalanced-strings to handle a quote at EOB.
64878         * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Before
64879         going back a sexp from the \n marked with a string-fence syntax-table text
64880         property, check that it is indeed a \n.  If not, simply delete that text
64881         property from the isolated quote, not the quote and the \n which otherwise
64882         delimit an unterminated string.  Should we encounter a double quote marked
64883         with a string-fence syntax-table text property at the end of the last line,
64884         remove that property.
64886 2018-05-30  Paul Eggert  <eggert@cs.ucla.edu>
64888         Work around GCC bug 81401
64890         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
64891         Make the buffer a byte longer than it needs to be, if
64892         --enable-gcc-warnings.
64894 2018-05-30  Roland Winkler  <winkler@gnu.org>
64896         bibtex-search-entry: Reuse the window displaying the buffer.
64898         * lisp/textmodes/bibtex-style.el (bibtex-reposition-window): New optional arg
64899         pos.
64900         (bibtex-search-crossref, bibtex-search-entry): Use it.
64901         (bibtex-search-entry): If possible, reuse the window displaying
64902         the buffer that contains the entry found.
64904 2018-05-30  Roland Winkler  <winkler@gnu.org>
64906         bibtex-mark-entry: Display no message.
64908         * lisp/textmodes/bibtex.el (bibtex-mark-entry): Display no message.
64910 2018-05-30  Roland Winkler  <winkler@gnu.org>
64912         bibtex-format-entry: Preserve opt-alt if possible.
64914         * lisp/textmodes/bibtex.el (bibtex-format-entry):
64915         Preserve opt-alt unless its removal is selected.
64916         (bibtex-parse-entry):  New optional arg keep-opt-alt.
64918 2018-05-29  Simen Heggestøyl  <simenheg@gmail.com>
64920         Add Imenu support to CSS mode and its derivatives
64922         * lisp/textmodes/css-mode.el (css--join-nested-selectors)
64923         (css--prev-index-position, css--extract-index-name): New helper
64924         functions for supporting Imenu.
64925         (css-mode): Set `imenu-space-replacement',
64926         `imenu-prev-index-position-function', and
64927         `imenu-extract-index-name-function'.
64928         (css-current-defun-name): Reuse `css--prev-index-position' and
64929         `css--extract-index-name' to support nested selectors.
64931         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name):
64932         Fix character index.
64933         (css-test-join-nested-selectors): New tests for
64934         `css--join-nested-selectors'.
64936         * etc/NEWS: Add news entry.
64938 2018-05-29  Eli Zaretskii  <eliz@gnu.org>
64940         Allow access to MS-Windows Registry from Lisp programs
64942         * src/w32.c (g_b_init_reg_open_key_ex_w)
64943         (g_b_init_reg_query_value_ex_w)
64944         (g_b_init_expand_environment_strings_w): New init flags.
64945         (globals_of_w32): Initialize them at startup.
64946         (RegOpenKeyExW_Proc, RegQueryValueExW_Proc)
64947         (ExpandEnvironmentStringsW_Proc): New function typedefs.
64948         (reg_open_key_ex_w, reg_query_value_ex_w)
64949         (expand_environment_strings_w): New wrapper function.
64950         (w32_read_registry): New function.
64951         * src/w32fns.c (Fw32_read_registry) [WINDOWSNT]: New primitive.
64952         (syms_of_w32fns) [WINDOWSNT]: Defsubr it.  DEFSYM "HKLM", "HKCU",
64953         etc. root keys.
64955         * etc/NEWS: Mention the new primitive.
64957 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
64959         * doc/misc/tramp.texi (All): Use @code instead of @option for user options.
64961 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
64963         Merge from origin/emacs-26
64965         13963a3a5c * doc/misc/tramp.texi (All): Use @code instead of @option ...
64966         6e5f19ada4 Fix Bug#31605
64968 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
64970         Merge from origin/emacs-26
64972         9a7a2e919a ; ChangeLog.3: Remove stray phrase.
64974 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
64976         Merge from origin/emacs-26
64978         9d6a3ac73a Mention pcase as a fifth conditional form
64979         567cb9046d Overhaul pcase documentation
64980         4d7e54acff Use EXPVAL in docstrings of patterns defined using pcase-d...
64981         7e8227ed68 Introduce EXPVAL for pcase, pcase-defmacro docstrings
64982         e6de5b3d51 Ensure pcase doc shows `QPAT first among extensions
64984 2018-05-27  Gemini Lasswell  <gazally@runbox.com>
64986         Make cl-print respect print-level and print-length (bug#31559)
64988         * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
64989         (cl-print-object) <cons>: Print ellipsis if printing depth greater
64990         than 'print-level' or length of list greater than 'print-length'.
64991         (cl-print-object) <vector>: Truncate printing with ellipsis if
64992         vector is longer than 'print-length'.
64993         (cl-print-object) <cl-structure-object>: Truncate printing with
64994         ellipsis if structure has more slots than 'print-length'.
64995         (cl-print-object) <:around>: Bind 'cl-print--depth'.
64996         * test/lisp/emacs-lisp/cl-print-tests.el
64997         (cl-print-tests-3, cl-print-tests-4): New tests.
64999 2018-05-27  Basil L. Contovounesios  <contovob@tcd.ie>
65001         Place epg-pinentry-mode varalias before defcustom
65003         This is needed to avoid losing user settings made under the obsolete
65004         name (Bug#31603).
65005         * lisp/epa.el (epa-pinentry-mode): Move obsolete varalias from here...
65006         * lisp/epg-config.el (epg-pinentry-mode): ...to here.
65008 2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>
65010         Port .gdbinit to unsigned-pointer platforms
65012         * src/.gdbinit (Lisp_Object_Printer.to_string):
65013         Don’t assume that GDB treats C pointers as signed integers.
65014         Problem found with GDB Fedora 8.1-15.fc28.
65016 2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>
65018         GNOME moved URLs for its active bug reports
65020         * src/emacs.c (main) [USE_GTK]:
65021         * src/gtkutil.c (xg_display_close):
65022         * src/xterm.c (x_connection_closed):
65023         Update GNOME bug report URLs.
65025 2018-05-26  Paul Eggert  <eggert@cs.ucla.edu>
65027         Don’t set EMACS=t if Bash is 4.4 or newer
65029         (Thanks to Stefan Monnier for improvements to this patch.)
65030         * lisp/term.el (term--bash-needs-EMACS-status): New var.
65031         (term--bash-needs-EMACSp): New function.
65032         (term-exec-1): Use it instead of always setting EMACS.
65034 2018-05-26  Tino Calancha  <tino.calancha@gmail.com>
65036         replace-tests.el: Refactor undo tests
65038         * test/lisp/replace-tests.el (replace-tests-bind-read-string): New variable.
65039         (replace-tests-with-undo): Add helper macro to generate the boilerplate code.
65040         (replace-tests--query-replace-undo, query-replace-undo-bug31073)
65041         (query-replace-undo-bug31492, query-replace-undo-bug31538): Use it.
65043 2018-05-26  Michael Albinus  <michael.albinus@gmx.de>
65045         Make `tramp-make-tramp-file-name' calls consistent.
65047         * lisp/net/tramp.el (tramp-get-buffer)
65048         (tramp-handle-file-name-as-directory)
65049         (tramp-handle-file-name-directory, tramp-handle-file-remote-p)
65050         (tramp-handle-file-truename, tramp-handle-find-backup-file-name)
65051         (tramp-handle-insert-file-contents):
65052         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
65053         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid)
65054         (tramp-gvfs-maybe-open-connection):
65055         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
65056         (tramp-sh-handle-expand-file-name, )
65057         (tramp-sh-handle-process-file, tramp-get-remote-path):
65058         * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name)
65059         (tramp-smb-handle-process-file): Make `tramp-make-tramp-file-name'
65060         calls consistent.
65062 2018-05-26  Eli Zaretskii  <eliz@gnu.org>
65064         * etc/HELLO: Add a few more scripts.
65066 2018-05-25  Tino Calancha  <tino.calancha@gmail.com>
65068         replace-tests.el: Fix broken tests
65070         After previous commit, all tests using helper function
65071         `replace-tests-clauses' fail: during the expansion
65072         of macro `replace-tests-with-undo', the function
65073         `replace-tests-clauses' is unbound.
65075         Delete those helpers and reimplement test
65076         `query-replace-undo-bug31538'.
65077         * test/lisp/replace-tests.el (query-replace-undo-bug31538):
65078         Reimplement this test without using any helper function/macro.
65080 2018-05-25  Tino Calancha  <tino.calancha@gmail.com>
65082         query-replace undo: Handle when user edits the replacement string
65084         * lisp/replace.el (perform-replace): Update the replacement string
65085         after the user edit it (Fix Bug#31538).
65087         * test/lisp/replace-tests.el (replace-tests-clauses): New function.
65088         (replace-tests-bind-read-string): New variable.
65089         (replace-tests-with-undo): Macro to create boilerplate code.
65090         (query-replace-undo-bug31073): Use it.
65091         (query-replace-undo-bug31538): New test.
65093 2018-05-25  Glenn Morris  <rgm@gnu.org>
65095         Merge from origin/emacs-26
65097         07f8f9b (origin/emacs-26) ; * lisp/ldefs-boot.el: Update.
65098         5cec2b0 * etc/HISTORY: Update for Emacs 26.1 release.
65099         7c474e1 * etc/AUTHORS: Update.
65100         ddc7bea ; * ChangeLog.3: Update.
65101         3557460 ; * admin/authors.el: Update.
65102         2f44d2d Note caveat for backward regexp searching in docstring (Bug#3...
65103         3145d08 Update backtrace in Emacs Lisp Intro
65104         43a9c26 Move window-point in bibtex-search-entry
65105         4bb2741 More fixes of Intro to Emacs Lisp
65106         c57c226 ; * doc/emacs/misc.texi (FFAP): Fix a typo.  (Bug#31580)
65107         0a51113 Add a footnote to Emacs Lisp Intro
65108         5eabe4a ; * doc/emacs/msdos.texi (ls in Lisp): Fix a typo.  (Bug#31575)
65109         d5e0ceb * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
65110         e7952bd Fix some cross-references in emacs-lisp-intro.texi
65111         a897959 Minor copyedits in Emacs manual in macos.texi
65113         Conflicts:
65114                 lisp/ldefs-boot.el
65116 2018-05-24  Michael Albinus  <michael.albinus@gmx.de>
65118         Fix file name completion in Tramp
65120         * lisp/net/tramp.el (tramp-handle-file-name-directory): Fix case
65121         of localname starts w/o a slash.
65123         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
65124         Extend test.
65126 2018-05-24  Michael Albinus  <michael.albinus@gmx.de>
65128         Fix Bug#31558
65130         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
65131         (tramp-backup-directory-alist, tramp-auto-save-directory)
65132         (tramp-encoding-shell, tramp-encoding-command-switch)
65133         (tramp-encoding-command-interactive, tramp-default-method)
65134         (tramp-default-method-alist, tramp-default-user)
65135         (tramp-default-user-alist, tramp-default-host)
65136         (tramp-default-host-alist, tramp-default-proxies-alist)
65137         (tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
65138         (tramp-local-host-regexp, tramp-local-end-of-line)
65139         (tramp-rsh-end-of-line, tramp-login-prompt-regexp)
65140         (tramp-shell-prompt-pattern, tramp-password-prompt-regexp)
65141         (tramp-wrong-passwd-regexp, tramp-yesno-prompt-regexp)
65142         (tramp-yn-prompt-regexp, tramp-terminal-prompt-regexp)
65143         (tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
65144         (tramp-process-alive-regexp, tramp-ignored-file-name-regexp)
65145         (tramp-chunksize, tramp-process-connection-type)
65146         (tramp-connection-timeout, tramp-connection-min-time-diff)
65147         (tramp-completion-reread-directory-timeout)
65148         * lisp/net/tramp-adb.el (tramp-adb-program)
65149         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
65150         * lisp/net/tramp-cache.el (tramp-connection-properties)
65151         (tramp-persistency-file-name):
65152         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
65153         (tramp-gvfs-zeroconf-domain)
65154         (tramp-bluez-discover-devices-timeout):
65155         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
65156         (tramp-copy-size-limit, tramp-terminal-type)
65157         (tramp-histfile-override, tramp-use-ssh-controlmaster-options)
65158         (tramp-remote-path, tramp-remote-process-environment)
65159         (tramp-sh-extra-args):
65160         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
65161         (tramp-smb-conf, tramp-smb-winexe-program)
65162         (tramp-smb-winexe-shell-command)
65163         (tramp-smb-winexe-shell-command-switch):
65164         Don't require 'tramp.  (Bug#31558)
65166         * lisp/net/tramp.el (tramp-ignored-file-name-regexp): Use type regexp.
65168 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
65170         Honor print-charset-text-property value of nil (Bug#31376)
65172         * src/print.c (print_check_string_charset_prop): Move check
65173         for nil Vprint_charset_text_property from here...
65174         (print_prune_string_charset): ... to here.
65175         (syms_of_print) <print-charset-text-property>: Clarify that any
65176         non-boolean values are treated the same as `default'.
65177         * doc/lispref/streams.texi (Output Variables): Add
65178         print-prune-string-charset.
65179         * test/src/print-tests.el (print-charset-text-property-nil)
65180         (print-charset-text-property-default)
65181         (print-charset-text-property-t): New tests.
65182         (print-tests--prints-with-charset-p): New helper function.
65184 2018-05-23  Michael Welsh Duggan  <mwd@md5i.com>
65186         Avoid messing up buffer list when starting gud (Bug#22374)
65188         * lisp/progmodes/gud.el (gud-common-init): Use `display-buffer'
65189         instead of `switch-to-buffer'.
65191 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
65193         Move epa-pinentry-mode to epg-config (Bug#26298)
65195         * lisp/epa.el (epa-pinentry-mode): Make into obsolete alias for...
65196         * lisp/epg-config.el (epg-pinentry-mode): ...this new user option.
65197         * lisp/epg.el (epg-context): Use it as the default value for
65198         pinentry-mode.
65199         * etc/NEWS: Announce name change.
65201         * lisp/epa-file.el (epa-file-insert-file-contents)
65202         (epa-file-write-region):
65203         * lisp/epa.el (epa-decrypt-file, epa-sign-file)
65204         (epa-encrypt-file, epa-decrypt-region)
65205         (epa-sign-region, epa-encrypt-region): Don't change
65206         epg-context-pinentry-mode from the default.
65208 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
65210         Drop some epg/epa backwards compat code for ancient Emacs versions
65212         * lisp/epa.el (epa--select-safe-coding-system): Remove,
65213         `select-safe-coding-system' has been present since Emacs 20.3.
65214         (epa--encode-coding-string, epa--decode-coding-string):
65215         * lisp/epg.el (epg--decode-coding-string, epg--encode-coding-string)
65216         (epg--clear-string): Remove, the corresponding Emacs functions are so
65217         old they don't show up in NEWS.  Furthermore, the fallback for
65218         the *-coding-string functions was `identity' which wouldn't have
65219         worked anyway, since it only takes a single argument.
65220         (epg--make-temp-file): Remove, `make-temp-file' has been present since
65221         Emacs 21.1.
65222         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program)
65223         (epg-gpgconf-program, epg-gpg-home-directory)
65224         (epg-passphrase-coding-system, epg-debug): Remove unneeded :group
65225         parameter.
65227 2018-05-23  Tino Calancha  <tino.calancha@gmail.com>
65229         Fix corner case in query-replace-regexp undo
65231         This commit fixes Bug#31492.
65232         * lisp/replace.el (replace-match-maybe-edit): Preserve match data.
65234         * test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.
65236 2018-05-23  Glenn Morris  <rgm@gnu.org>
65238         Merge from origin/emacs-26
65240         e3f00f5 (origin/emacs-26) Clarify when to use advice-add vs add-function
65241         c0f3e6b Minor formatting tweak in the Emacs manual
65242         fadf653 Update comments in Intro to Emacs Lisp
65243         52ccb24 ; * doc/os.texi (Batch Mode): use = after --eval
65244         d65430f * etc/NEWS: Mention change in `edebug-prin1-to-string'.
65245         ef4aec1 ; * doc/lispref/hash.texi (Defining Hash): Fix typos.
65246         2981952 Another attempt to fix sql.el
65247         b1b96d7 Update binding of 'M-.' in Intro to Emacs Lisp
65248         b239a09 Fix a typo in last change in sql.el
65249         0d8bae5 Fix capitalization of mail headers
65250         845fe03 Fix buffer names in sql.el
65251         a3885f5 Minor fixes in the Emacs manual
65252         542f830 Fix a typo in rmail.texi
65253         eb0bc6f * etc/PROBLEMS: Document Bug#31305.
65255         Conflicts:
65256                 doc/emacs/sending.texi
65257                 etc/NEWS
65259 2018-05-23  Glenn Morris  <rgm@gnu.org>
65261         Merge from origin/emacs-26
65263         73bc6f8 Fix a typo in describing input methods
65264         6b4bafe ; Add a comment to emacs-lisp-intro.texi
65266 2018-05-22  João Távora  <joaotavora@gmail.com>
65268         More helpful docstrings for tests of electric-tests.el
65270         * test/lisp/electric-tests.el (electric-pair-define-test-form):
65271         Improve automatically generated docstring.
65273 2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65275         Work around GCC bug with function attributes
65277         * src/alloc.c (PNTR_ADD): Put attributes after ‘static’ and before
65278         returned type.  Problem reported by Eli Zaretskii in:
65279         https://lists.gnu.org/r/emacs-devel/2018-05/msg00559.html
65281 2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65283         Fix failed assertion when load-force-doc-strings
65285         Problem reported by Philipp Stephani (Bug#31556).
65286         * src/lread.c (read_vector): When load_force_doc_strings, check
65287         for byte code vectors that are invalid because they are too short.
65288         * test/src/lread-tests.el (lread-invalid-bytecodes): New test.
65290 2018-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65292         Minor tweaks to recent fix for Bug#31545
65294         * src/xwidget.c (webkit_javascript_finished_cb)
65295         (Fxwidget_webkit_execute_script): Use intptr_t to avoid warnings
65296         in the (unlikely) event that ptrdiff_t and void * differ in width.
65297         (save_script_callback): Simplify by using xlispdstrdup and
65298         larger_vector.
65300 2018-05-22  Michael Albinus  <michael.albinus@gmx.de>
65302         Extend secrets.el by searching for object paths.
65304         * lisp/net/secrets.el (secrets-search-item-paths): New function.
65305         (secrets-search-items): Use it.
65306         (secrets-create-item): Adapt docstring.
65308         * test/lisp/net/secrets-tests.el (secrets-test04-search): Extend test.
65310 2018-05-21  Andreas Schwab  <schwab@linux-m68k.org>
65312         * src/xwidget.c (Fxwidget_webkit_goto_uri): Encode uri.
65314 2018-05-21  Andreas Schwab  <schwab@linux-m68k.org>
65316         Make xwidget-webkit-execute-script safe against GC (Bug#31545)
65318         * src/xwidget.h (struct xwidget): Add script_callbacks.
65319         * src/xwidget.c (save_script_callback): New function.
65320         (Fxwidget_webkit_execute_script): Use it.  Encode script
65321         before passing to execution engine.  Always use a callback.
65322         (webkit_javascript_finished_cb): Deallocate script.
65323         (kill_buffer_xwidgets): Deallocate remaining scripts.
65324         (Fxwidget_webkit_zoom): Doc fix.
65325         (Fxwidget_resize): Doc fix.
65327 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
65329         Don’t assume ordering in make-process/mix-stderr
65331         * test/src/process-tests.el (process-tests--mixable): New function.
65332         (make-process/mix-stderr): Don’t assume stdout is merged before
65333         stderr.  POSIX does not require this, and the assumption failed to
65334         hold on my Fedora 28 platform.  See Bug#31214.
65336 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
65338         Update from Gnulib
65340         This incorporates:
65341         2018-05-21 crypto: omit stream ops Emacs doesn’t need
65342         2018-05-13 truncate: Fix compilation error on Android
65343         2018-05-13 imaxdiv: Fix compilation error on Android
65344         2018-05-13 Support selective inclusion of recent mingw.org headers
65345         2018-05-13 Add cross-compilation guesses for Linux systems sans glibc
65346         2018-05-13 stdioext: Fix compilation errors with newer Android headers
65347         2018-05-07 af_alg: Pacify --enable-gcc-warnings
65348         2018-05-06 af_alg: Fix bug with streams that are not at position 0
65349         2018-05-06 Followup to 'af_alg: New module'
65350         2018-05-05 crypto/{md5,sha1,sha256,sha512}: simplify
65351         2018-05-05 af_alg: New module
65352         2018-05-05 af_alg: Improve function signature
65353         2018-04-28 md5sum: Use AF_ALG when available
65354         2018-04-28 sha512sum: Use AF_ALG when available
65355         2018-04-28 sha256sum: Use AF_ALG when available
65356         2018-04-28 sha1sum: Use AF_ALG when available
65357         2018-05-05 all: Replace more http URLs by https URLs
65358         2018-05-03 maint: port more modules to GCC 8
65359         2018-05-03 Simplify code; drop support for Borland C++ on Windows
65360         * admin/merge-gnulib (GNULIB_MODULES): Use crypto/md5-buffer
65361         rather than crypto/md5, since Emacs doesn’t use the stream
65362         operations that in recent Gnulib pull in other stuff Emacs doesn’t
65363         need.  Similarly for crypto/sha1-buffer, crypto/sha256-buffer,
65364         crypto/sha512-buffer.
65365         * build-aux/config.guess, build-aux/config.sub, lib/dosname.h:
65366         * lib/dup2.c, lib/errno.in.h, lib/euidaccess.c, lib/fcntl.c:
65367         * lib/fcntl.in.h, lib/fpending.c, lib/fsync.c, lib/getdtablesize.c:
65368         * lib/getopt.c, lib/gettimeofday.c, lib/inttypes.in.h, lib/md5.c:
65369         * lib/md5.h, lib/open.c, lib/pipe2.c, lib/putenv.c, lib/sha1.c:
65370         * lib/sha1.h, lib/sha256.c, lib/sha256.h, lib/sha512.c:
65371         * lib/sha512.h, lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
65372         * lib/stdlib.in.h, lib/sys_stat.in.h, lib/sys_types.in.h:
65373         * lib/timespec.h, lib/unistd.in.h, lib/utimens.c, m4/c-strtod.m4:
65374         * m4/gnulib-common.m4, m4/inttypes.m4, m4/lstat.m4, m4/nocrash.m4:
65375         * m4/pselect.m4, m4/readlink.m4, m4/stdio_h.m4, m4/symlink.m4:
65376         * m4/unistd_h.m4, m4/utimens.m4:
65377         Copy from Gnulib.
65378         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
65380 2018-05-21  João Távora  <joaotavora@gmail.com>
65382         Fix Flymake's ruby-mode tests when user has "rubocop" installed
65384         The Flymake test suite fails if the "rubocop" program is installed,
65385         because the ruby-flymake-rubocop backend is selected automatically by
65386         ruby-flymake-auto.  The test was designed for ruby-flymake-simple,
65387         tough, and fails.
65389         * test/lisp/progmodes/flymake-tests.el (ruby-backend): Ensure
65390         this test runs exclusively with the ruby-flymake-simple backend.
65392 2018-05-21  Michael Albinus  <michael.albinus@gmx.de>
65394         Fix Bug#31489
65396         * doc/misc/tramp.texi (Frequently Asked Questions):
65397         Mention `tramp-ignored-file-name-regexp'.  Improve index.
65400         * lisp/net/tramp.el (tramp-ignored-file-name-regexp): New defcustom.
65401         (tramp-tramp-file-p): Use it.  Check also for `tramp-mode'.
65402         (tramp-file-name-handler): Don't check for `tramp-mode'.  (Bug#31489)
65404         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax):
65405         Extend test.
65407 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
65409         Revert part of the previous change
65411         * doc/misc/message.texi:
65412         * doc/misc/efaq.texi:
65413         * doc/emacs/sending.texi:
65414         * doc/emacs/rmail.texi: Revert the CC => Cc etc. conversions.
65416 2018-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65418         Use “Cc” for email copies, as per RFC 5322.
65420         Also fix similar problems with Bcc, Fcc, In-Reply-To,
65421         and similar email headers.  See thread starting at:
65422         https://lists.gnu.org/r/emacs-devel/2018-05/msg00463.html
65424 2018-05-20  Noam Postavsky  <npostavs@gmail.com>
65426         * make-dist: Add '--no-info' option.
65428 2018-05-20  Alan Mackenzie  <acm@muc.de>
65430         Enhance CC Mode's fontification, etc., of unterminated strings.
65432         String delimiters, including escaped new lines, of correctly terminated
65433         strings are left in font-lock-string-face.  All others get
65434         font-lock-warning-face.  The latter get syntax-table text properties on the
65435         opening string delim and the "terminating EOL".
65437         Correct two miscellaneous bugs: the handling of text properties on Java Mode's
65438         generic delimiters; the handling of c-just-done-before-change.
65440         * lisp/progmodes/cc-defs.el (c-point): New position 'eoll "end of logical line".
65441         (c-characterp): New macro.
65443         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-string): Removed.
65444         (c-basic-matchers-before): Use a simple matcher in place of the form around
65445         c-font-lock-invalid-string.
65447         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Add
65448         c-before-change-check-unbalanced-strings to the value for all modes except AWK
65449         Mode.  Also add c-before-change-check-<>-operators to Java Mode, correcting an
65450         error in that mode's handling of generic delimiters.
65451         (c-before-font-lock-functions): Add c-after-change-re-mark-unbalanced-strings
65452         to the value for all modes except AWK Mode.
65453         (c-single-quotes-quote-strings, c-string-delims): New lang variables for
65454         future enhancements.
65455         (c-string-innards-re-alist): New lang variable.
65457         * lisp/progmodes/cc-mode.el (c-just-done-before-change): Do not set this
65458         variable when a change is the alteration of text properties.
65459         (c-basic-common-init): Set parse-sexp-lookup-properties (and the XEmacs
65460         equivalent) also for Pike Mode.
65461         (c-neutralize-CPP-line): No longer neutralize unbalanced quotes here.
65462         (c-unescaped-nls-in-string-p, c-multiline-string-start-is-being-detached)
65463         (c-pps-to-string-delim, c-before-change-check-unbalanced-strings)
65464         (c-after-change-re-mark-unbalanced-strings): New functions.
65465         (c-after-change): Fix a bug with the handling of c-just-done-before-change.
65467 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
65469         * etc/HELLO: More reasonable placement of 'charset' properties.
65471 2018-05-19  Paul Eggert  <eggert@cs.ucla.edu>
65473         * admin/notes/unicode: HELLO is again UTF-8.
65475 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
65477         Use Enriched mode in etc/HELLO to keep charset information
65479         This allows to encode HELLO in UTF-8, thus supporting the entire
65480         repertory of Unicode, while still keeping the charset info where
65481         that is important.  Suggested by Michael Welsh Duggan <mwd@md5i.com>.
65482         * lisp/textmodes/enriched.el (enriched-translations): Add
65483         translations for 'charset'.
65484         (enriched-decode-charset, enriched-handle-charset-prop): New
65485         functions.
65486         * lisp/facemenu.el (facemenu-special-menu): Add sub-menu for
65487         'charset' property.
65488         (facemenu-set-charset): New function.
65489         (facemenu-remove-special): Remove the 'charset' property as well.
65491         * etc/NEWS: Announce the new feature of Enriched mode.
65492         * etc/HELLO: Recode in UTF-8 and place under Enriched mode.
65494         * doc/emacs/text.texi (Enriched Properties): Mention the support
65495         for 'charset'.
65497 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65499         * src/alloc.c: Fix comment.
65501 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65503         Port to GCC 8 -fsanitize=undefined
65505         In GCC 8, gcc -fsanitize=undefined flags the undefined behavior
65506         that Emacs relies on in its XPNTR and XSYMBOL low-level functions.
65507         Disable undefined sanitization in these functions.  Although this
65508         disabling doesn’t suffice if DEFINE_KEY_OPS_AS_MACROS is true, it
65509         works for -fsanitize=undefined -DINLINING=0, which is good enough.
65510         * src/alloc.c (macro_PNTR_ADD): New macro.
65511         (PNTR_ADD): New function and macro.
65512         The function disables -fsanitize=undefined.
65513         (macro_XPNTR): Use it.
65514         * src/conf_post.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.
65515         * src/lisp.h (XSYMBOL): Disable -fsanitize=undefined.
65517 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
65519         (gnus-blocked-images): Clarify privacy implications
65521         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
65522         implication of altering the value of this variable.
65524 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
65526         Fix decoding of directories when "~" includes non-ASCII chars
65528         * src/fileio.c (Fexpand_file_name): Don't build multibyte strings
65529         from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
65530         have different multibyteness, as this adds bytes to the byte
65531         sequence, and in some situations, e.g., when the home directory
65532         includes non-ASCII characters, can fail file APIs.  (Bug#30755)
65534         * lisp/startup.el (normal-top-level): Make sure default-directory
65535         is set to a multibyte string when decoded on MS-Windows.
65537 2018-05-17  Filipp Gunbin  <fgunbin@fastmail.fm>
65539         Fix bugs in `auth-source-netrc-parse-one'.
65541         * lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
65542           data is not overwritten in `auth-source-netrc-parse-next-interesting'.
65543           Ensure that blanks are skipped before and after going over comments
65544           and eols.
65545         * test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.
65547 2018-05-16  Michael Albinus  <michael.albinus@gmx.de>
65549         Fix creation of Secret Service items in auth-source
65551         * lisp/auth-source.el (auth-source-secrets-create): Use ´apply'.
65552         (auth-source-secrets-saver): Handle `auth-source-save-behavior'
65553         equal t.
65555         * lisp/net/secrets.el (secrets-get-items): Do not call
65556         `secrets-open-session' here ...
65557         (top): ... but here.
65559         * test/lisp/auth-source-tests.el
65560         (auth-source-test-secrets-create-secret): Bind
65561         `auth-source-save-behavior' to t.  Cleanup.
65563         * test/lisp/net/secrets-tests.el (secrets-test00-availability):
65564         After loading secets.el, a session is already opened.
65565         (secrets-test02-collections, secrets-test03-items)
65566         (secrets-test04-search): Open a new session.
65568 2018-05-15  Dima Kogan  <dima@secretsauce.net>
65570         Give '$' punctuation syntax in make-mode (Bug#24477)
65572         * lisp/progmodes/make-mode.el (makefile-mode-syntax-table): Set syntax
65573         of '$' to punctuation.
65575 2018-05-15  Noam Postavsky  <npostavs@gmail.com>
65577         Simplify eshell arg processing with (pop (nthcdr ...))
65579         * lisp/eshell/esh-opt.el (eshell--set-option)
65580         (eshell--process-args): Use (pop (nthcdr ...)) instead of writing it
65581         out by hand.
65583 2018-05-15  Jay Kamat  <jaygkamat@gmail.com>
65585         esh-opt.el: Add a :parse-leading-options-only argument (Bug#28323)
65587         * lisp/eshell/esh-opt.el (eshell-eval-using-options): Add a new
65588         :parse-leading-options-only argument which ignores dash/switch
65589         arguments after the first positional argument.
65590         (eshell--process-args): Abort processing of arguments if we see one
65591         positional argument and :parse-leading-options-only is set.
65592         * lisp/eshell/em-tramp.el (eshell/sudo): Use
65593         :parse-leading-options-only, to avoid parsing subcommand switches as
65594         switches of sudo itself.
65595         * test/lisp/eshell/esh-opt-tests.el: Add tests for new and old behavior.
65597 2018-05-15  Jay Kamat  <jaygkamat@gmail.com>
65599         esh-opt.el: Fix improper parsing of first argument (Bug#28323)
65601         Examples of broken behavior:
65603             sudo -u root whoami
65604             Outputs: -u
65605             ls -I '*.txt' /dev/null
65606             Errors with: *.txt: No such file or directory
65608         * lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
65609         args to eshell--args, as we rely on modifications from
65610         eshell--process-option and vice versa.  These modifications were not
65611         being propagated in the (if (= ai 0)) case, since popping the first
65612         element of a list doesn't destructively modify the underlying list
65613         object.
65615 2018-05-15  Glenn Morris  <rgm@gnu.org>
65617         Merge from origin/emacs-26
65619         c2ef847 (origin/emacs-26) Clarify the mode-line indicators in CC Mode
65621 2018-05-15  Glenn Morris  <rgm@gnu.org>
65623         Merge from origin/emacs-26
65625         b98cf9c ; Fix a typo in the Emacs manual
65626         700fcd7 * doc/emacs/help.texi: Fix paren typo.
65627         c9c0e40 More minor changes in shell-related nodes of Emacs manual
65628         e6bf19c Fix inaccuracies in "Shell Ring" node of Emacs manual
65629         087681b8 Improve documentation of kmacro commands and variables.
65630         be2e8cb * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
65631         1d9e66a Don't check non-X frames for z order (Bug#31373)
65632         7dc028e Check NSWindow is actually a frame
65634         Conflicts:
65635                 src/nsfns.m
65637 2018-05-15  Michael Albinus  <michael.albinus@gmx.de>
65639         Fix Bug#29575
65641         * lisp/net/secrets.el (secrets-create-item): The new item does not
65642         need a unique label.
65643         (secrets-item-path, secrets-get-secret, secrets-get-attributes)
65644         (secrets-get-attribute, secrets-delete-item): ITEM can also be an
65645         object path.  (Bug#29575)
65647         * test/lisp/net/secrets-tests.el (secrets-test03-items):
65648         Test also creation of two items with same label.  Test
65649         `secrets-get-secret', `secrets-get-attribute' and
65650         `secrets-get-attributes' with object path.
65651         (secrets-test04-search): Harden test.
65653 2018-05-15  Michael Albinus  <michael.albinus@gmx.de>
65655         Fix Bug#31068
65657         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
65658         Unregister unless `tramp-archive-enabled'.  (Bug#31068)
65660 2018-05-14  Tino Calancha  <tino.calancha@gmail.com>
65662         Run python test if the python executable is found
65664         * test/lisp/progmodes/python-tests.el (python-tests--bug31398):
65665         Skip test when executable python is no found.
65667 2018-05-14  Tino Calancha  <tino.calancha@gmail.com>
65669         run-python: Make the buffer running python current
65671         * lisp/progmodes/python.el (run-python, python-shell-make-comint):
65672         Make the buffer running the inferior python process the current buffer
65673         (Bug#31398).
65674         * test/lisp/progmodes/python-tests.el (python-tests--bug31398):
65675         Add test.
65677 2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>
65679         Minor refactoring in shell-command
65681         * lisp/simple.el (shell-command): Use call-process-shell-command,
65682         start-process-shell-command, and file-attribute-size. (bug#30280).
65684 2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>
65686         Fix a broken test
65688         * lisp/simple.el (shell-command): Use call-process-shell-command,
65689         start-process-shell-command, and file-attribute-size. (bug#30280)
65691 2018-05-14  Michael Albinus  <michael.albinus@gmx.de>
65693         * lisp/net/ange-ftp.el (ange-ftp-allow-child-lookup):
65695         Do not use obsolete ´dired-local-variables-file'.
65697 2018-05-14  Michael Albinus  <michael.albinus@gmx.de>
65699         Fix Bug#30663
65701         * lisp/dired.el (dired-revert):
65702         Call `hack-dir-local-variables-non-file-buffer'.  (Bug#30663)
65704 2018-05-14  Michael Albinus  <michael.albinus@gmx.de>
65706         Improve `dired-buffer-stale-p' for remote files
65708         * lisp/dired.el (dired-buffer-stale-p): Check for ´file-remote-p'
65709         only if `auto-revert-remote-files' is non-nil.
65711 2018-05-14  Michael Albinus  <michael.albinus@gmx.de>
65713         Remove obsolete objects from dired-x.el
65715         * doc/misc/dired-x.texi (Local Variables): Remove node.
65717         * lisp/dired-x.el (dired-enable-local-variables)
65718         (default-directory-alist, dired-default-directory-alist)
65719         (dired-default-directory, dired-local-variables-file)
65720         (dired-hack-local-variables, dired-omit-here-always):
65721         Remove obsolete variables, constants and functions.
65723 2018-05-11  João Távora  <joaotavora@gmail.com>
65725         Fix filesystem littering by Flymake's legacy backend
65727         The Flymake legacy "proc" backend, which is active by default will try
65728         to syntax-check foo.c/foo.cpp and many other types of files, but on
65729         failing to find a suitable Makefile target, will fail.  There's
65730         nothing wrong with that except that it used to leave behind the
65731         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
65732         the filesystem.
65734         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
65735         Call init-function inside of the unwind-protect.
65737 2018-05-11  Michael Albinus  <michael.albinus@gmx.de>
65739         Tramp updates
65741         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
65742         Parse multibyte symlinks correctly.
65744         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
65745         Improve backward compatibility.
65747 2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>
65749         Rewrite scroll-other-window-down in C (bug#30207)
65751         * lisp/window.el (scroll-other-window-down):
65752         Move to src/window.c as Fscroll_other_window_down.
65753         * src/window.c (scroll_command): Generalise for arbitrary windows.
65754         (Fscroll_up, Fscroll_down): Use scroll_command with selected_window.
65755         (Fscroll_other_window, Fscroll_other_window_down):
65756         Rewrite in terms of scroll_command.
65757         (syms_of_window): Add Sscroll_other_window_down.
65759 2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>
65761         Simplify "other window" bob/eob motion commands
65763         * lisp/window.el (beginning-of-buffer-other-window)
65764         (end-of-buffer-other-window):
65765         Simplify via with-selected-window. (bug#30207)
65767 2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>
65769         Improve documentation for "other window" scrolling
65771         * doc/emacs/windows.texi (Other Window):
65772         * doc/lispref/windows.texi (Textual Scrolling):
65773         Document scroll-other-window-down.
65774         * doc/lispref/minibuf.texi (Minibuffer Misc):
65775         Cross-reference minibuffer-scroll-window with Textual Scrolling.
65776         * src/window.c (Fother_window_for_scrolling):
65777         Clarify how "other window" is determined in docstring.
65778         (Fscroll_other_window): Simplify docstring, pointing to that of
65779         Fother_window_for_scrolling. (bug#30207)
65781 2018-05-10  Basil L. Contovounesios  <contovob@tcd.ie>
65783         Limit "other window" scrolling to current terminal
65785         * src/window.c (Fother_window_for_scrolling): Limit next-window
65786         search to visible frames on the current terminal. (bug#30207)
65788 2018-05-07  Glenn Morris  <rgm@gnu.org>
65790         Merge from origin/emacs-26
65792         1d732d6 (origin/emacs-26) Fix gud-statement for pdb
65793         91a68b5 ; * msdos/INSTALL: Add info about GCC versions.
65794         7ddcc9a Document 'custom-group'
65795         58f9e15 A minor addition to etc/DEBUG
65796         4590414 Avoid errors in ispell.el when Enchant returns empty extra chars
65797         d0d75f9 Make 'ispell-initialize-spellchecker-hook' work again
65798         b90ce66 Handle selected_window change in prepare_menu_bars (Bug#31312)
65799         79ad0b3 ; * INSTALL: Fix Emacs version number.  (Bug#31358)
65800         91de88b Fix report-emacs-bug via mailclient on MS-Windows
65801         f4b5ff2 Port collation tests to glibc 2.27
65803 2018-05-06  Ari Roponen  <ari.roponen@gmail.com>
65805         Fix cairo scrolling for side-by-side windows
65807         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
65808         side-by-side split windows.  (Bug#31288)
65810 2018-05-06  Eli Zaretskii  <eliz@gnu.org>
65812         Don't remove highlight of misspelled word on pdict save
65814         * lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
65815         flyspell-mode, as bug#11963, which this was supposed to fix, is
65816         fixed better by ispell-command-loop, when the user types 'i' or
65817         'a'.  Restarting Flyspell mode when the personal dictionary is
65818         saved caused bug#31372 as side effect.
65819         (ispell-command-loop): Test 'flyspell-mode', not whether
65820         flyspell-unhighlight-at is fboundp, to determine whether Flyspell
65821         mode is turned on in the current buffer.
65822         (flyspell-unhighlight-at): Add declare-function form for it.
65824 2018-05-06  Michael Albinus  <michael.albinus@gmx.de>
65826         Fix Bug#31272
65828         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
65829         (tramp-do-directory-files-and-attributes-with-stat)
65830         (tramp-sh-handle-insert-directory): Use "--show-control-chars".
65831         (tramp-convert-file-attributes): Decode multibyte strings,
65832         produced by "stat".  (Bug#31272)
65834         * test/lisp/net/tramp-tests.el (tramp--test-utf8): Extend test.
65836 2018-05-05  Michael Hendricks  <michael@ndrix.org>  (tiny change)
65838         Include narrowing indication in describe-mode
65840         * lisp/help.el (describe-mode): Include "Narrow", if narrowing is
65841         active.  (Bug#31139)
65843 2018-05-05  Ari Roponen  <ari.roponen@gmail.com>
65845         Fix some problems in the Cairo build
65847         * src/xterm.c (x_begin_cr_clip): Create image surface.
65848         (x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
65849         (x_scroll_run) [USE_CAIRO]: Implement scrolling.
65850         * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
65851         (jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
65852         instead of CAIRO for #ifdef's.
65853         (imagemagick_load_image) [USE_CAIRO]: Support Cairo.
65854         (Bug#31288)
65856 2018-05-05  Eli Zaretskii  <eliz@gnu.org>
65858         Avoid infloops in font_open_entity
65860         * src/font.c (font_open_entity): Fail after 15 iterations through
65861         the loop that looks for a font whose average_width and height are
65862         both positive.  This avoids infinite loops for fonts that, e.g.,
65863         report average_width of zero for any possible size we try.
65864         (Bug#31316)
65866 2018-05-05  Eli Zaretskii  <eliz@gnu.org>
65868         Fix encoding of characters when using GB18030 fonts
65870         * lisp/international/fontset.el (font-encoding-alist): Fix the
65871         GB18030 entry to encode characters correctly when passing them to
65872         the xfont back-end.  (Bug#31315)  See also
65873         https://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
65875 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
65877         * make-dist: Don't fail if building --without-makeinfo.
65879 2018-05-03  Phillip Lord  <phillip.lord@russet.org.uk>
65881         Fix windows snapshot building
65883         * admin/nt/dist-build/build-zips.sh: Fix broken if statement
65885 2018-05-03  Phillip Lord  <phillip.lord@russet.org.uk>
65887         * admin/nt/dist-build/build-zips.sh: Support building of branches
65889 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
65891         More porting to GCC 8 of --enable-gcc-warnings
65893         * lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
65894         * lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
65895         * lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
65896         No longer const.
65897         * src/emacs-module.c: Ignore -Wcast-function-type.
65899 2018-05-02  Marco Wahl  <marcowahlsoft@gmail.com>
65900             Noam Postavsky  <npostavs@gmail.com>
65902         Fix next-page for dired (Bug#31061)
65904         * lisp/textmodes/page-ext.el (next-page): Don't go back any pages if
65905         COUNT is 0.  For negative COUNT, end with point just after the last
65906         delimiter.
65908 2018-05-02  Basil L. Contovounesios  <contovob@tcd.ie>
65910         Minor simple.el simplifications (Bug#31211)
65912         * lisp/simple.el (kill-append, push-mark, pop-mark):
65913         Simplify conditionals and surrounding code.
65915 2018-05-02  Basil L. Contovounesios  <contovob@tcd.ie>
65917         Fix off-by-one history pruning (bug#31211)
65919         * lisp/subr.el (add-to-history): Clarify docstring.
65920         Protect against negative history-length and unnecessary variable
65921         modification, as per read_minibuf.
65923         * lisp/ido.el (ido-record-command):
65924         * lisp/international/mule-cmds.el (deactivate-input-method):
65925         (set-language-environment-input-method):
65926         * lisp/isearch.el (isearch-done):
65927         * lisp/minibuffer.el (read-file-name-default):
65928         * lisp/net/eww.el (eww-save-history):
65929         * lisp/simple.el (edit-and-eval-command, repeat-complex-command):
65930         (command-execute, kill-new, push-mark):
65931         * src/callint.c (Fcall_interactively):
65932         * src/minibuf.c (read_minibuf): Delegate to add-to-history.
65934         * test/lisp/simple-tests.el (command-execute-prune-command-history):
65935         * test/src/callint-tests.el
65936         (call-interactively-prune-command-history): New tests.
65938 2018-05-02  Glenn Morris  <rgm@gnu.org>
65940         * lisp/textmodes/ispell.el (ispell-use-framepop-p): Doc fix.
65942 2018-05-02  Michael Albinus  <michael.albinus@gmx.de>
65944         Adapt Tramp for auth-source
65946         * lisp/net/tramp.el (tramp-read-passwd): auth-source could return
65947         cascaded functions.
65949 2018-05-02  Michael Albinus  <michael.albinus@gmx.de>
65951         Fix some edge cases of tramp-smb
65953         * lisp/net/tramp-smb.el (tramp-smb-errors):
65954         Add "NT_STATUS_REVISION_MISMATCH".
65955         (tramp-smb-handle-delete-directory): Check, that the directory
65956         has been removed indeed.
65957         (tramp-smb-get-localname): Add further checks on filename syntax.
65959         * lisp/net/tramp.el (tramp-localname-regexp): Do not allow linefeeds.
65961         * test/lisp/net/tramp-tests.el (tramp-smb-get-localname): Declare.
65962         (auth-source-save-behavior): Set it to nil.
65963         (tramp-test01-file-name-syntax): Extend, checking for linefeeds.
65964         (tramp-test03-file-name-host-rules, tramp--test-utf8): Refine tests.
65965         (tramp-test03-file-name-method-rules): New test.
65966         (tramp--test-ignore-add-name-to-file-error): New defmacro.
65967         (tramp-test21-file-links): Use it.
65969 2018-05-01  Glenn Morris  <rgm@gnu.org>
65971         Merge from origin/emacs-26
65973         71be806 ; * etc/DEBUG: Minor clarification.
65974         4403f89 Update the Emacs FAQ
65975         40b3317 * etc/DEBUG: Minor copyedits.
65976         850ff18 Clarify wording of NS drag n drop documentation
65977         343d70b1 Improve kill-related documentation (bug#31209)
65978         0b43224 * lisp/simple.el (region-extract-function): Don't hide the 'n...
65979         d6e2c59 Fix pre- and post-command-hook errors in term.el
65980         6cf83131e * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
65981         88d178c Fix macOS drag n drop event documentation
65983 2018-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
65985         `url-domain' doc clarification
65987         * lisp/url/url-util.el (url-domain): Add an example to the doc
65988         string.
65990 2018-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
65992         Rewrite `url-domain' to avoid network traffic
65994         * lisp/url/url-util.el (url-domain): Don't talk DNS to determine
65995         the domain, because this is slow.
65997         * test/lisp/url/url-util-tests.el (url-domain-tests): Add tests
65998         for `url-domain'.
66000 2018-04-30  Glenn Morris  <rgm@gnu.org>
66002         * test/src/process-tests.el (make-process/mix-stderr): Skip on hydra.
66004 2018-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
66006         * lisp/net/socks.el: Use lexical-binding and process properties
66008         Remove unneeded requires.  Better following commenting conventions.
66009         (socks-connections): Remove (use process properties instead).
66010         (socks-wait-for-state-change): Make it a function.
66011         (open-network-stream): Use an advice when overriding.
66012         (socks-send-command): Avoid string-make-unibyte.
66013         (socks--open-network-stream): New function (extracted from
66014         socks-open-network-stream).
66015         (socks-open-network-stream): Rewrite using it.
66017 2018-04-29  Paul Eggert  <eggert@cs.ucla.edu>
66019         Advise CFLAGS= operand, not in environment, when configuring
66021 2018-04-28  Noam Postavsky  <npostavs@gmail.com>
66023         Replace epg--gv-nreverse with (cl-callf nreverse ...)
66025         * lisp/epg.el (epg--gv-nreverse): Remove.
66026         (epg-list-keys): Replace it with (cl-callf nreverse ...).
66028 2018-04-28  Paul Eggert  <eggert@cs.ucla.edu>
66030         Port --enable-gcc-warnings to GCC 8
66032         * configure.ac: Do not use GCC 8’s new -Wcast-align flag.
66033         * lib-src/ebrowse.c (xmalloc):
66034         * lib-src/emacsclient.c (xmalloc, xstrdup):
66035         * lib-src/etags.c (xmalloc):
66036         * lib-src/make-docfile.c (xmalloc):
66037         * lib-src/movemail.c (xmalloc):
66038         * src/dispnew.c (new_glyph_pool):
66039         * src/regex.c (xmalloc):
66040         * src/term.c (tty_menu_create):
66041         * src/tparam.h (tparam):
66042         Use ATTRIBUTE_MALLOC.  Also see GCC bug 85562.
66043         * lib-src/emacsclient.c (fail):
66044         Do not dereference a null pointer.
66045         * src/frame.c (delete_frame):
66046         Add a decl with UNINIT to work around GCC bug 85563.
66047         * src/menu.h (finish_menu_items):
66048         Do not use attribute const.
66049         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
66051 2018-04-28  Paul Eggert  <eggert@cs.ucla.edu>
66053         Update from Gnulib
66055         This incorporates:
66056         2018-04-27 manywarnings: port to GCC 8.0
66057         * build-aux/config.sub, m4/manywarnings.m4: Copy from Gnulib.
66059 2018-04-28  Juri Linkov  <juri@linkov.net>
66061         * lisp/vc/add-log.el (change-log-mode-syntax-table): New defvar
66063         that redefines syntax of quotes to "expression quote or prefix operator".
66064         (Bug#31231)
66066 2018-04-28  Juri Linkov  <juri@linkov.net>
66068         * lisp/subr.el (dotimes): Deprecate RESULT field.  (Bug#16206)
66070         * doc/lispref/control.texi (Iteration):
66071         * doc/misc/cl.texi (Iteration): Document deprecation of its use.
66072         * doc/lispintro/emacs-lisp-intro.texi (dotimes):
66073         * test/src/emacs-module-tests.el (multiply-string):
66074         * test/lisp/filenotify-tests.el (file-notify-test07-many-events):
66075         Place RESULT field after the form.
66077 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
66079         * src/fns.c (Fstring_distance): Minor code reformatting.
66081 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
66083         Fix documentation and tests for 'string-distance'
66085         * src/fns.c (Fstring_distance): Doc fix.
66087         * doc/lispref/strings.texi (Text Comparison): Document
66088         'string-distance'.
66090         * etc/NEWS: Fix wording and mark as documented in the manuals.
66092         * test/src/fns-tests.el (test-string-distance): Move from
66093         subr-tests.el and rename.
66095 2018-04-27  Chen Bin  <chenbin.sh@gmail.com>
66097         New function 'string-distance'
66099         * src/fns.c (Fstring_distance): New primitive.
66100         (syms_of_fns): Defsubr it.
66102         * test/lisp/subr-tests.el (subr-tests--string-distance): New test.
66104         * etc/NEWS: Mention 'string-distance'.
66106 2018-04-27  Michael Albinus  <michael.albinus@gmx.de>
66108         Manual update for Tramp
66110         * doc/misc/tramp.texi (Password handling): Explain, how passwords
66111         are saved permanently.
66113         * etc/NEWS: auth-source Secret Service backend supports :create.
66114         Tramp saves validated passwords.
66116 2018-04-27  Noam Postavsky  <npostavs@gmail.com>
66118         * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).
66120 2018-04-26  Lars Ingebrigtsen  <larsi@gnus.org>
66122         Strip most headers when forwarding messages
66124         * lisp/gnus/message.el (message-forward-included-headers): Change
66125         the default to exclude most messages.
66126         (message-remove-ignored-headers): Make
66127         message-forward-included-headers actually work -- it's a list of
66128         regexps, not a list of strings.
66130 2018-04-26  Paul Eggert  <eggert@cs.ucla.edu>
66132         * etc/NEWS: Fix minor quoting and spacing bugs.
66134 2018-04-26  Noam Postavsky  <npostavs@gmail.com>
66136         Add missing calendar-dlet* (Bug#31267)
66138         * lisp/calendar/calendar.el (calendar-generate-month): Use
66139         calendar-dlet* around evaluation of calendar-date-echo-text.
66141 2018-04-26  Ivan Shmakov  <ivan@siamics.net>
66143         Ensure woman2-roff-buffer restores functions on error (Bug#30908)
66145         * lisp/woman.el (woman2-roff-buffer): Put the fallback paragraph
66146         processing inside the protected part of the unwind-protect form,
66147         rather than the cleanup forms.  Attempting to format paragraphs again
66148         after an error has been signaled is unlikely to be helpful.  The
66149         fallback processing should be triggered only in case the loop
66150         terminated normally, but did not reach the end of the buffer for some
66151         reason.
66153 2018-04-26  Noam Postavsky  <npostavs@gmail.com>
66155         Fix cl-print for circular sublists (Bug#31146)
66157         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
66158         element of list being printed onto cl-print--currently-printing.
66159         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
66160         test.
66162 2018-04-25  Paul Eggert  <eggert@cs.ucla.edu>
66164         Don’t set print-escape-newlines in the minibuffer
66166         This appears to be an unnecessary and possibly-confusing
66167         revenant from ancient code (Bug#31251).  See thread containing:
66168         https://lists.gnu.org/r/emacs-devel/2018-04/msg00654.html
66169         * src/minibuf.c (read_minibuf): Do not set print-escape-newlines.
66170         * src/print.c (syms_of_print): Do not defsym print-escape-newlines
66171         or print-escape-control-characters, as these symbols are not used
66172         in C code.
66174 2018-04-25  Glenn Morris  <rgm@gnu.org>
66176         * lisp/foldout.el (outline-minor-mode): Remove pointless check.
66178 2018-04-25  Glenn Morris  <rgm@gnu.org>
66180         speedbar: remove support for missing custom.el
66182         * lisp/speedbar.el (speedbar-file-regexp)
66183         (speedbar-ignored-directory-regexp): Remove support for no custom.el.
66185 2018-04-25  Glenn Morris  <rgm@gnu.org>
66187         * lisp/progmodes/sql.el (comint-line-beginning-position):
66188         Remove pre-21 fallback definition.
66190         * lisp/net/eudc.el (split-string): Remove pre-21 fallback definition.
66192 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
66194         Do not call interprogram-paste-function repeatedly
66196         * lisp/simple.el (current-kill): Disable interprogram-paste-function
66197         so that kill-new doesn't call it repeatedly when
66198         save-interprogram-paste-before-kill is enabled.  (bug#31209)
66200 2018-04-24  Glenn Morris  <rgm@gnu.org>
66202         socks.el: remove pre-21 compatibility code
66204         * lisp/net/socks.el (socks-split-string): Remove.
66205         (socks-nslookup-host): Just use split-string.
66207 2018-04-24  Paul Eggert  <eggert@cs.ucla.edu>
66209         * src/minibuf.c (read_minibuf): Add a FIXME comment.
66211 2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
66213         (add-to-invisibility-spec): Further doc tweak
66215         * lisp/subr.el (add-to-invisibility-spec): Tweak doc fix from
66216         previous patch.
66218 2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
66220         Doc fix for `*-*-invisibility-spec'
66222         * lisp/subr.el (add-to-invisibility-spec)
66223         (remove-from-invisibility-spec): Make the doc string say what
66224         happens if `buffer-invisibility-spec' is an atom (bug#30171).
66226 2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
66228         libxml-parse-*-region calling convention fix
66230         * lisp/subr.el (libxml-parse-xml-region)
66231         (libxml-parse-html-region): Adjust the calling convention to note
66232         that the final parameter is optional.
66234 2018-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
66236         Make url-http-create-request work with non-ASCII data again
66238         * lisp/url/url-http.el (url-http-create-request): Ensure that the
66239         entire request string is unibyte (bug#31248).
66241 2018-04-23  Eli Zaretskii  <eliz@gnu.org>
66243         Fix recent change in lread.c
66245         * src/lread.c (openp): Avoid assertion violations in XCDR when
66246         PATH is nil.  (Bug#31229)
66248 2018-04-23  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
66250         Backspace is not a paragraph separator in Texinfo files
66252         * lisp/textmodes/texinfo.el (texinfo-mode): Omit backspace from
66253         paragraph separator and start.  Perhaps there was some confusion
66254         about .texi vs .info files long ago?
66256 2018-04-23  Eli Zaretskii  <eliz@gnu.org>
66258         * etc/NEWS: Improve wording of next-error entries.
66260 2018-04-23  Michael Albinus  <michael.albinus@gmx.de>
66262         Let Tramp save passwords
66264         * lisp/auth-source.el (auth-source-secrets-saver): New defun.
66265         (auth-source-secrets-create): Use it.
66267         * lisp/net/secrets.el (secrets-struct-secret-content-type):
66268         (secrets-create-item): Do not hard-code :xdg:schema.
66270         * lisp/net/tramp.el (tramp-password-save-function): New defvar.
66271         (tramp-read-passwd): Set it properly.
66272         (tramp-process-actions):
66273         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
66274         Save password.
66276         * lisp/net/tramp-cmds.el (tramp-bug): Don't report
66277         `tramp-password-save-function'.
66279         * test/lisp/net/secrets-tests.el (secrets-test03-items):
66280         Extend test with another :xdg:schema.
66282 2018-04-23  Michael Albinus  <michael.albinus@gmx.de>
66284         Ensure proper EOL handling for Tramp on macOS
66286         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
66287         Ensure proper EOL handling for Darwin.
66289 2018-04-22  Juri Linkov  <juri@linkov.net>
66291         Improve Isearch error handling
66293         * lisp/isearch.el (isearch--momentary-message): Propertize message
66294         suffix with minibuffer-prompt face.
66295         (isearch--describe-regexp-mode): Do not omit description in case
66296         of error in default non-literal search.
66297         (isearch-message-prefix): Display “case-sensitive” in case of error.
66298         (isearch-message-suffix): Propertize message suffix with
66299         minibuffer-prompt face.
66300         (isearch-search-fun-default): Remove unused error handling.
66302         * lisp/vc/add-log.el (change-log-next-buffer): Better handle
66303         errors during wrapping.
66305 2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>
66307         (text-property-search-forward): Copy edits in doc string
66309         * lisp/emacs-lisp/text-property-search.el
66310         (text-property-search-forward): Copy edits in doc string.
66312 2018-04-22  Eli Zaretskii  <eliz@gnu.org>
66314         Minor improvements of next-error docs
66316         * lisp/simple.el (next-error-find-buffer-function)
66317         (previous-error, next-error-select-buffer): Doc fixes.
66318         * doc/emacs/maintaining.texi (Change Log Commands):
66319         * doc/emacs/building.texi (Compilation Mode): Index the new
66320         commands and variables.  Improve wording.
66321         (Bug#20493)
66323 2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>
66325         (text-property-search-forward): Doc string tweak
66327         * lisp/emacs-lisp/text-property-search.el
66328         (text-property-search-forward): Doc string tweak.
66330 2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>
66332         (text-property-search-forward): Fix search at the end
66334         * lisp/emacs-lisp/text-property-search.el
66335         (text-property-search-forward): Fix search at the end of the
66336         buffer with no text properties.
66338 2018-04-22  Lars Ingebrigtsen  <larsi@gnus.org>
66340         Add a test suite for text-property-search
66342 2018-04-21  Juri Linkov  <juri@linkov.net>
66344         Update documentation for more next-error features
66346         * doc/emacs/maintaining.texi (Change Log Commands): Mention
66347         change-log-goto-source.
66349         * doc/emacs/building.texi (Compilation Mode): Document
66350         next-error-find-buffer-function and next-error-select-buffer.
66352         * doc/emacs/building.texi (Grep Searching):
66353         * doc/emacs/files.texi (Diff Mode):
66354         * doc/emacs/search.texi (Other Repeating Search):
66355         * doc/emacs/windows.texi (Displaying Buffers):
66356         Prefer ‘M-g M-n’ over ‘C-x `’.
66358         * lisp/simple.el (next-error-find-buffer-function, next-error)
66359         (next-error-select-buffer): Elaborate docstrings.  (Bug#20493)
66361 2018-04-20  Glenn Morris  <rgm@gnu.org>
66363         Tweak recent bytecomp defvaralias change
66365         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function):
66366         Respect with-no-warnings.
66368 2018-04-20  Glenn Morris  <rgm@gnu.org>
66370         More alias-related tedium
66372         * lisp/comint.el (comint-scroll-to-bottom-on-output):
66373         * lisp/completion.el (cmpl-syntax-table):
66374         * lisp/erc/erc-button.el (erc-button-google-url):
66375         * lisp/font-lock.el (font-lock-reference-face):
66376         * lisp/hfy-cmap.el (hfy-fallback-colour-map, hfy-rgb-txt-colour-map):
66377         * lisp/isearch.el (isearch-regexp-function, isearch-new-word):
66378         * lisp/startup.el (argv):
66379         * lisp/version.el (emacs-bzr-version):
66380         * lisp/org/org.el (org-CUA-compatible)
66381         (org-popup-calendar-for-date-prompt):
66382         Move aliases before targets, to silence new compiler warning.
66384 2018-04-20  Glenn Morris  <rgm@gnu.org>
66386         The tedious game of whack-a-mole with compiler warnings continues
66388         * lisp/abbrev.el (edit-abbrevs-map):
66389         * lisp/emacs-lock.el (emacs-lock-from-exiting):
66390         * lisp/htmlfontify.el (hfy-optimisations):
66391         * lisp/ielm.el (inferior-emacs-lisp-mode-hook)
66392         (inferior-emacs-lisp-mode-map):
66393         * lisp/isearch.el (isearch-lazy-highlight-word):
66394         * lisp/select.el (x-select-enable-clipboard, x-select-enable-primary):
66395         * lisp/shell.el (shell-dirtrack-mode):
66396         * lisp/skeleton.el (skeleton-transformation, skeleton-filter):
66397         * lisp/startup.el (inhibit-splash-screen, inhibit-startup-message):
66398         * lisp/window.el (even-window-heights):
66399         * lisp/calendar/timeclock.el (timeclock-modeline-display):
66400         * lisp/cedet/semantic/db-mode.el (semanticdb-mode-hook)
66401         (semanticdb-global-mode):
66402         * lisp/emacs-lisp/edebug.el (gud-inhibit-global-bindings):
66403         * lisp/emacs-lisp/warnings.el (display-warning-minimum-level)
66404         (log-warning-minimum-level):
66405         * lisp/erc/erc-dcc.el (erc-dcc-chat-filter-hook):
66406         * lisp/gnus/nnspool.el (news-path):
66407         * lisp/org/org-agenda.el (org-agenda-search-view-search-words-only)
66408         (org-agenda-remove-tags-when-in-prefix)
66409         (org-agenda-align-tags-to-column, org-agenda-keymap):
66410         * lisp/org/org.el (org-special-ctrl-a)
66411         (org-log-state-notes-into-drawer)
66412         (org-agenda-multi-occur-extra-files):
66413         * lisp/progmodes/flymake-proc.el (flymake-err-line-patterns)
66414         (flymake-check-file-limit):
66415         * lisp/progmodes/make-mode.el (makefile-query-one-target-method):
66416         * lisp/progmodes/octave.el (inferior-octave-startup-hook):
66417         * lisp/progmodes/python.el (python-buffer)
66418         (python-preoutput-result):
66419         * lisp/progmodes/sql.el (sql-dialect):
66420         * lisp/textmodes/artist.el (artist-text-renderer):
66421         * lisp/textmodes/bibtex.el (bibtex-autokey-name-case-convert)
66422         (bibtex-autokey-titleword-case-convert):
66423         * lisp/textmodes/flyspell.el (flyspell-generic-check-word-p):
66424         * lisp/textmodes/ispell.el (ispell-format-word):
66425         * lisp/textmodes/rst.el (rst-preferred-decorations):
66426         * lisp/textmodes/sgml-mode.el (sgml-transformation):
66427         Move aliases before targets, to silence new compiler warning.
66428         * lisp/term/ns-win.el (ns-option-modifier, ns-right-option-modifier):
66429         Silence warning.
66431 2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
66433         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function):
66435         Warn about defvaralias that follows instead of precedes its var.
66437 2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
66439         * lisp/url/url-file.el: Use lexical-binding.
66441 2018-04-20  Glenn Morris  <rgm@gnu.org>
66443         * lisp/net/newst-backend.el (newsticker--sentinel-work):
66444         Replace obsolete form of libxml-parse-xml-region.
66446         * lisp/replace.el (query-replace-descr): Silence compiler.
66448 2018-04-20  Michael Albinus  <michael.albinus@gmx.de>
66450         Revert "* etc/HELLO: Add language Emoji.  Use utf-8 coding."
66452         This reverts commit c4cfb5d20487f9912f5896b3f1d291fe7ccc9804.
66454 2018-04-20  Michael Albinus  <michael.albinus@gmx.de>
66456         Revert "* admin/notes/unicode: HELLO is now UTF-8."
66458         This reverts commit 0585bd643dae2592214e77998b875347e6e59bab.
66460 2018-04-20  Paul Eggert  <eggert@cs.ucla.edu>
66462         * admin/notes/unicode: HELLO is now UTF-8.
66464 2018-04-20  Glenn Morris  <rgm@gnu.org>
66466         Merge from origin/emacs-26
66468         5de608f (origin/emacs-26) Update the documentation of 'perform-replace'
66469         06245b6 * etc/NEWS: Another fix for the last change (noted by Juri Li...
66470         8f6293c Fix use of @key in Texinfo manuals
66471         f4c9894 Improve documentation of actual arglist
66472         ce0e253 ; * etc/NEWS: Improve last change as proposed by Phil Sainty
66473         b89ff0e Don't assume term-current-row cache is valid (Bug#31193)
66474         326a296 ; * etc/NEWS: Mention 'display-buffer-in-major-side-window' c...
66475         3bdc9a1 Fix flyspell-auto-correct-previous-word broken by recent change
66476         a539eb5 * test/src/lread-tests.el (lread-test-bug-31186): New test.
66477         3fa472b Fix undefined behaviour while looking for lexical-binding fil...
66478         4341aac Minor wording improvement in "Bookmarks"
66480         Conflicts:
66481                 test/src/lread-tests.el
66483 2018-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
66485         * lisp/international/mule-cmds.el (view-hello-file): Avoid duplicate
66487         Don't hardcode the coding-system, now that it's specified with a "coding:" tag
66489 2018-04-20  Michael Albinus  <michael.albinus@gmx.de>
66491         * lisp/international/mule-cmds.el (view-hello-file):  Use utf-8 coding.
66493         * etc/HELLO: Add language Emoji.  Use utf-8 coding.
66495 2018-04-19  Glenn Morris  <rgm@gnu.org>
66497         * lisp/url/url-util.el (puny-encode-domain): Autoload it.
66499 2018-04-19  Juri Linkov  <juri@linkov.net>
66501         Mention next-error-select-buffer in etc/NEWS
66503 2018-04-19  Alan Mackenzie  <acm@muc.de>
66505         Amend c-colon-type-list-re also to handle compound identifiers
66507         * lisp/progmodes/cc-langs.el (c-colon-type-list-re): Amend to recognize and
66508         skip over "::" in C++ and "." in Java.
66510 2018-04-19  Juri Linkov  <juri@linkov.net>
66512         Use text properties to save search parameters.  (Bug#22479)
66514         * lisp/isearch.el (isearch-update-ring): Call isearch-string-propertize.
66515         Delete duplicates with possibly different text properties.
66516         (isearch-string-propertize)
66517         (isearch-update-from-string-properties): New functions.
66518         (with-isearch-suspended, isearch-ring-adjust1):
66519         Call isearch-update-from-string-properties.
66520         (isearch-edit-string): Let-bind minibuffer-allow-text-properties to t.
66521         (isearch-query-replace): Use propertized isearch-string.
66522         (isearch--lax-regexp-function-p): Simplify.
66524         * lisp/replace.el (query-replace-descr): Rewrite to keep text properties
66525         non-destructively in the replacement string.
66526         (query-replace--split-string): Don't remove text properties
66527         by substring-no-properties.
66528         (query-replace-read-args): Try to get isearch-regexp-function
66529         from text-properties.
66530         (perform-replace): Display parameters in the replacement message.
66532         * lisp/desktop.el (desktop--v2s): Check if text properties are unreadable.
66533         (Bug#30786)
66535 2018-04-19  Juri Linkov  <juri@linkov.net>
66537         * lisp/isearch.el (isearch-mode-map): Restore advertised bindings.
66539         Remove obsolete comments and code.
66541         * lisp/replace.el (occur-find-match): Use user-error instead of error.
66542         (Bug#14912)
66544 2018-04-19  Drew Adams  <drew.adams@oracle.com>
66546         Add REGION-NONCONTIGUOUS-P arg to other replace.el commands
66548         * lisp/replace.el (query-replace, query-replace-regexp): Doc fix.
66549         (query-replace-regexp-eval, map-query-replace-regexp)
66550         (replace-string, replace-regexp): Add REGION-NONCONTIGUOUS-P arg.
66551         (perform-replace): Doc fix.  (Bug#27897)
66553 2018-04-19  Glenn Morris  <rgm@gnu.org>
66555         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
66556         Sort definition-prefixes, for stability.
66558 2018-04-19  Michael Albinus  <michael.albinus@gmx.de>
66560         Handle chrooted environments in Tramp
66562         * doc/misc/tramp.texi (Frequently Asked Questions): New item, chrooted
66563         environments.
66565         * lisp/net/tramp.el (tramp-local-host-regexp): Make it a defcustom.
66566         Allow nil.
66567         (tramp-local-host-p):
66568         * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Handle this.
66570 2018-04-18  Glenn Morris  <rgm@gnu.org>
66572         * test/src/process-tests.el (make-process/mix-stderr): Use bash.
66574         Not all shells support ">&2".
66576 2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>
66578         Fix botched merge of FQDNs in PROBLEMS
66580         This text was originally removed in
66581         2014-12-30T04:42:26Z!eggert@cs.ucla.edu but then was
66582         mistakenly re-added in the merge in
66583         2015-03-23T17:30:30Z!eggert@cs.ucla.edu.
66584         * etc/PROBLEMS: Omit obsolete mention of FQDNs.
66586 2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>
66588         Tweak mark_object to avoid a conditional branch
66590         * src/alloc.c (LAST_MARKED_SIZE): Now an enum.  Make it a power of 2.
66591         (mark_object): Take advantage of the power of 2.
66593 2018-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
66595         * lisp/emacs-lisp/gv.el (gv-define-setter): Silence compiler warning
66597         Code placed in the `gv-expander` property will presumably only be used
66598         when gv is loaded (bug#14529).
66600 2018-04-18  Paul Eggert  <eggert@cs.ucla.edu>
66602         Tell user about read-integer-overflow-as-float
66604         * src/lread.c (string_to_number): Suggest
66605         read-integer-overflow-as-float in signal message.
66606         Suggested by Stefan Monnier (Bug#31118#58).
66608 2018-04-17  Paul Eggert  <eggert@cs.ucla.edu>
66610         Fix signal for large integers with valid syntax
66612         * src/lread.c (read_integer): If a radixed integer has valid syntax
66613         but is waayyy too large, signal overflow instead of invalid syntax.
66614         * test/src/lread-tests.el (lread-long-hex-integer): New test.
66616 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66618         (sql-stop): Don't bug out if the SQL buffer is killed
66620         * lisp/progmodes/sql.el (sql-stop): Don't bug out if the SQL
66621         buffer is killed (bug#30244).
66623 2018-04-17  David Beswick  <dlbeswick@gmail.com>  (tiny change)
66625         Don't display an initial-buffer-choice buffer twice
66627         * lisp/startup.el (command-line-1): Don't display an
66628         initial-buffer-choice buffer twice if the user is also explicitly
66629         specifying it on the mode line, but shift it to the initial place
66630         (bug#29999).
66632 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66634         Revert hunk mistakenly applied in last patch
66636 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66638         Fix problem in `g' in Info with strings like "(foo)"
66640         * lisp/info.el (Info-find-file): Add a new parameter to avoid
66641         jumping to the directory if the user looks for a filename on the
66642         form "(foo)" that doesn't exist.
66643         (Info-read-node-name-1): Use it to allow completing over strings
66644         like "(foo)" without losing focus (bug#30091).
66646 2018-04-17  Basil L. Contovounesios  <contovob@tcd.ie>
66648         Set :version of shr faces
66650         * lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
66651         Set :version tag (bug#31200).
66653 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66655         shr doc string fix
66657         * lisp/net/shr.el (shr-strike-through, shr-link)
66658         (shr-selected-link): Doc string fix.
66660 2018-04-17  Basil L. Contovounesios  <contovob@tcd.ie>
66662         Modernise face specs and set version tags in eww/shr
66664         * lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
66665         Set :version tag (bug#31200).
66667         * lisp/net/eww.el (eww-form-text, eww-form-textarea):
66668         * lisp/net/shr.el (shr-strike-through, shr-link, shr-selected-link):
66669         Use (DISPLAY . PLIST) face spec syntax as recommended in
66670         '(elisp) Defining Faces'.
66672 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66674         When undoing a mark-as-read, display the group if it isn't
66676         * lisp/gnus/gnus-group.el (gnus-group-jump-to-group): Return
66677         whether we found the group.
66678         (gnus-info-clear-data): Make the group visible if it wasn't.
66680         * lisp/gnus/gnus-sum.el (gnus-group-make-articles-read): Ditto.
66681         (gnus-update-read-articles): Ditto.
66683 2018-04-17  Juri Linkov  <juri@linkov.net>
66685         Use next-error-found to set next-error-last-buffer.
66687         https://lists.gnu.org/r/emacs-devel/2018-04/msg00207.html
66689         * lisp/simple.el (next-error-buffer): New buffer-local variable
66690         instead of making buffer-local next-error-last-buffer.  (Bug#20489)
66691         (next-error-found-function): New defcustom.
66692         (next-error-buffer-on-selected-frame): Use t for avoid-current arg
66693         of next-error-buffer-p.
66694         (next-error-find-buffer): Add second rule for using the current
66695         next-error-buffer if it's not visited by other navigation.
66696         (next-error, next-error-internal): Call next-error-found.
66697         (next-error-found): New function with body extracted mostly from
66698         next-error.
66700         * lisp/vc/add-log.el (change-log-goto-source-internal): New function
66701         with body from change-log-goto-source.
66702         (change-log-goto-source): Call change-log-goto-source-internal and
66703         next-error-found.
66704         (change-log-next-error): Call change-log-goto-source-internal
66705         instead of change-log-goto-source.
66706         (change-log-mode): Don't set next-error-last-buffer.  (Bug#28864)
66708         * lisp/vc/diff-mode.el (diff-goto-source): Call next-error-found.
66710         * lisp/progmodes/xref.el (xref-goto-xref): Call next-error-found.
66712         * lisp/replace.el (occur-mode-goto-occurrence)
66713         (occur-mode-goto-occurrence-other-window)
66714         (occur-mode-display-occurrence): Call next-error-found.
66715         (occur-next-error): Remove unnecessary with-current-buffer.
66716         (Bug#27362, bug#30646)
66718 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66720         Tweak shr window width computation
66722         * lisp/net/shr.el (shr-insert-document): The computation of the
66723         window width is apparently one pixel too wide for the shr line
66724         folding algorithm (bug#31196).
66726 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66728         (gnus-summary-select-article-buffer): Further point placing tweak
66730         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
66731         Further tweak for the previous point-placing tweak.
66733 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66735         Tweak point placement in gnus-summary-select-article-buffer
66737         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
66738         Ensure that point is where it's supposed to be after switching to
66739         the article buffer.
66741 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66743         Make the `c' command work in a single-article Gnus view
66745         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Make `c'
66746         work from the article buffer (bug#31195) when no summary buffer is
66747         shown.
66749 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66751         Place point consistently in the Gnus group buffer on exit
66753         * lisp/gnus/gnus-sum.el (gnus-summary-exit): Place point correctly
66754         when exiting with `q' (and the like) from the article buffer when
66755         only the article buffer is displayed (bug#31195).  This is
66756         apparently yet another fall-out from the "preserve-visible-point-
66757         in-windows" patches of yesteryear...
66759 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66761         Reimplement `shr-next-link' and `shr-previous-link'
66763         * lisp/net/shr.el (shr-next-link): Use
66764         `text-property-search-forward'.
66765         (shr-previous-link): Use `text-property-search-backward'.
66767 2018-04-17  Lars Ingebrigtsen  <larsi@gnus.org>
66769         Add `text-property-search-forward' and `-backward'
66771         * doc/lispref/text.texi (Property Search): Document
66772         `text-property-search-forward' and `text-property-search-backward'.
66774         * lisp/emacs-lisp/text-property-search.el: New file.
66776 2018-04-17  Tino Calancha  <tino.calancha@gmail.com>
66778         * lisp/textmodes/artist.el (artist-mode): Ensure we have a font
66780 2018-04-16  Katsumi Yamaoka  <yamaoka@jpl.org>
66782         * lisp/mail/sendmail.el (mail-sendmail-undelimit-header): Work for
66783         the case where the mail header separator has already been deleted.
66785 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
66787         (gnus-group-goto-group): Return correct value after previous patch
66789         * lisp/gnus/gnus-group.el (gnus-group-goto-group): Return the
66790         correct value after the previous patch.
66792 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
66794         Fix inconsistent point movement in the Gnus group buffer
66796         * lisp/gnus/gnus-group.el (gnus-group-goto-group): If we can't
66797         find the group we're looking for, then don't move point at all
66798         (bug#23021).
66800 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
66802         (artist-mode): Warn about proportional fonts
66804         * lisp/textmodes/artist.el (artist-mode): Warn about proportional
66805         fonts (bug#24175).
66807 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
66809         Make mail-sendmail-undelimit-header actually remove the delimiter
66811         * lisp/mail/sendmail.el (mail-sendmail-undelimit-header): Actually
66812         remove the mail header separator (bug#17488).  In all the cases
66813         where this is called, the separator will probably already have
66814         been removed, so the only thing this does is place point at the
66815         end of the headers.
66817 2018-04-16  Lars Ingebrigtsen  <larsi@gnus.org>
66819         (semantic-symref-results-mode-map): Fix typo in previous check-in
66821         * lisp/cedet/semantic/symref/list.el
66822         (semantic-symref-results-mode-map): Fix typo in previous check-in.
66824 2018-04-15  Philipp Stephani  <phst@google.com>
66826         Avoid undefined behavior in 'defvar' (Bug#31072)
66828         * src/eval.c (Fdefvar): Check that first argument is a symbol.
66829         * test/src/eval-tests.el (defvar/bug31072): New unit test.
66831 2018-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
66833         EUDC: Enable lexical binding and do some cleanups
66835         * lisp/net/eudc.el: Enable lexical binding.
66836         (cl-lib): Always require cl-lib, not only when byte compiling.
66837         (eudc-mode-map): Set parent keymap within let form.
66838         (eudc-update-local-variables): Use #' read syntax for function
66839         argument to map function.
66840         (eudc-select): Likewise.
66841         (eudc-format-attribute-name-for-display): Likewise
66842         (eudc-filter-duplicate-attributes): Likewise.
66843         (eudc-format-query): Likewise.
66844         (eudc-expand-inline): Likewise.
66845         (eudc-query-form): Likewise.
66846         (eudc-print-attribute-value): Use mapc instead of mapcar.
66847         (eudc-filter-partial-records): Use cl-every.
66848         (eudc-distribute-field-on-records): Use delete-dups to
66849         simplify function.
66850         (eudc-expand-inline): Replace while with dolist and let form.
66851         (eudc-query-form): Set inhibit-read-only after switching
66852         buffers.  Remove useless and call.
66853         (eudc-load-eudc): Add a FIXME comment.
66855 2018-04-15  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
66857         In HTML mode, don't match </ with the wrong /
66859         * lisp/textmodes/sgml-mode.el (sgml-slash): In HTML mode, don't
66860         match <br /><h1>...</ with the preceding / (bug#16508).
66862 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66864         Use quit-buffer instead of semantic-symref-hide-buffer
66866         * lisp/cedet/semantic/symref/list.el
66867         (semantic-symref-hide-buffer): Removed (bug#15857).
66868         (semantic-symref-results-mode-map): Use quit-buffer instead.
66870 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66872         Doc string update for gnus-extract-address-components
66874         * lisp/gnus/gnus-util.el (gnus-extract-address-components): Doc
66875         update.
66877 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66879         Add an undo command to url-cookie-mode
66881         * lisp/url/url-cookie.el (url-cookie-undo): New command and
66882         keystroke (bug#16650).
66884 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66886         Tweak the look of the cookie buffer after cookie deletion
66888         * lisp/url/url-cookie.el (url-cookie--generate-buffer): Factor out
66889         into its own function.
66890         (url-cookie-delete): Use it to make the buffer look consistent
66891         after deleting a cookie.
66893 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66895         Make eww handle "http://a/../../../g"
66897         * lisp/net/eww.el (eww): Strip leading elements off URLs on the
66898         form "http://a/../../../g", because that's what all the other
66899         browsers do (bug#8622).
66901 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66903         Make url-cookie-write-file be more permissive
66905         * lisp/url/url-cookie.el (url-cookie-write-file): If
66906         `url-cookie-file' isn't set (due to url.el not being used yet),
66907         don't error out in this function (bug#23183).
66909 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66911         Don't warn the user about large files if they are unreadable
66913         * lisp/files.el (abort-if-file-too-large): There's no point in
66914         warning the user about a too-large file if we're not able to read
66915         it (bug#29549).  Hopefully this doesn't introduce a race condition
66916         between this test and the `file-readable-p' test later.
66918 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66920         Only save the mailer choice after sending the mail
66922         * lisp/mail/sendmail.el (sendmail-query-once): Only save the
66923         mailer choice after we've sent the mail, so that if that fails,
66924         the user has an easy way to back out of the choice and make
66925         another (bug#14487).
66926         (sendmail-query-user-about-smtp): Return the choice; don't save it.
66928 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66930         (compose-mail): Give a better error message for `mail-user-agent'
66932         * lisp/simple.el (compose-mail): Give a better error message for
66933         invalid values for `mail-user-agent' (bug#17979).
66935 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66937         Fix typo in gnus.texi
66939         * doc/misc/gnus.texi (Summary Message Commands): Fix typo in last
66940         change.
66942 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66944         Update doc string after previous ietf-drums change
66946         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Doc fix
66947         after previous change.
66949 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66951         mail-extr.el: Mention `mail-header-parse-address' in the doc string
66953         * lisp/mail/mail-extr.el (mail-extract-address-components):
66954         Mention `mail-header-parse-address' in the doc string.
66956 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66958         Allow `mail-header-parse-address' to decode encoded words
66960         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Take an
66961         optional parameter to decode the display name.
66963 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66965         Revert "Make mail-extract-address-components return the user name more"
66967         This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.
66969         According to tests in bug#27656 by OGAWA Hirofumi, this patch
66970         led to wrong results when binding
66972         (dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
66973           (dolist (ignore-single '(t nil))
66974             (dolist (ignore-same '(t nil))
66975               (let ((mail-extr-ignore-single-names ignore-single)
66976                     (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
66977                 (message "%s" (mail-extract-address-components addr))))))
66979         in combination.
66981 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66983         Query the user whether to increase stack depth in shr
66985         * lisp/net/shr.el (shr-insert-document): Bind `max-specpdl-size'
66986         here... (bug#30675).
66987         (shr-descend): So that we can increase it temporarily here if the
66988         user wants to.
66990 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66992         Minor copy edit of etc/NEWS
66994         * src/lread.c (openp): Add a comment before the now-obscure loop.
66996 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
66998         Clarify menu entry in previous check-in
67000         * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Menu bar
67001         entry for it.
67003 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
67005         Add new command `gnus-summary-attach-article'
67007         * doc/misc/gnus.texi (Summary Message Commands): Document it.
67009         * lisp/gnus/gnus-msg.el (gnus-summary-attach-article): New command
67010         and keystroke (bug#19788).
67012         * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Menu bar
67013         entry for it.
67015 2018-04-15  Daiki Ueno  <ueno@gnu.org>
67017         Divert to call `gnus-activate-group' with the SCAN argument set
67019         * lisp/gnus/gnus-group.el (gnus-group-get-new-news-this-group):
67020         Divert to call `gnus-activate-group' with the SCAN argument set,
67021         if request-group-scan is not defined for the backend.  Ensure that
67022         the server is open when calling `gnus-request-group-scan'
67023         (bug#22649).
67025 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
67027         Abort Gnus exit if we have unsaved Message buffers
67029         * lisp/gnus/gnus-group.el
67030         (gnus--abort-on-unsaved-message-buffers): New function (bug#28843).
67031         (gnus-group-exit): Use it to abort exit if we have unsaved Message
67032         buffers.
67034 2018-04-15  Lars Ingebrigtsen  <larsi@gnus.org>
67036         Avoid an infloop in shr filling when not using fonts
67038         * lisp/net/shr.el (shr-fill-line): If we have an indentation
67039         that's wider than the width of what we're trying to fill, just
67040         give up.  This avoids an infloop when `shr-use-fonts' in nil.
67042 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67044         Remove calls from string-to-multibyte in nnheader/nntp
67046         * lisp/gnus/nntp.el (nntp-copy-to-buffer): Apparently `insert' now
67047         behaves more like string-make-multibyte, but it now behaves more
67048         like string-to-multibyte, so remove that call here.  I'm not quite
67049         sure I follow that logic, but apparently there are no ill effects.
67051         * lisp/gnus/nnheader.el (nnheader-insert-buffer-substring): Ditto.
67053 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67055         Remove a string-to-multibyte from nnmh.el
67057         * lisp/gnus/nnmh.el (nnmh-request-list-1): Remove superfluous
67058         string-to-multibyte.
67060 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67062         Remove call to string-to-multibyte from nndoc.el
67064         * lisp/gnus/nndoc.el (nndoc-oe-dbx-type-p): My testing shows that
67065         no matter whether we're in a unibyte or a multibyte buffer, doing
67066         the looking-at here without the string-to-multibyte, we'll get a
67067         match.  We did not get a match with the call in and if we were in
67068         a unibyte buffer, but we presumably never are.
67070 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67072         Fix calculation in gnus-update-group-mark-positions
67074         * lisp/gnus/gnus-group.el (gnus-update-group-mark-positions):
67075         Rewrite a call to string-to-multibyte that didn't even work.
67076         After the rewrite it gives the correct result and should allow
67077         people to customise Gnus group process mark positions (but that's
67078         a pretty obscure feature).
67080 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67082         Removed outdated comment from nnweb.el
67084         * lisp/gnus/nnweb.el (nnweb-insert-html): Removed ten year old
67085         comment from Stefan about string-as-multibyte.
67087 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67089         Rewrite Gnus calls to compat function mm-multibyte-p
67091 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67093         Rewrite string-as-unibyte/string-as-multibyte logic in nnmail
67095         * lisp/gnus/nnmail.el (nnmail-insert-xref): Rewrite
67096         string-as-unibyte/string-as-multibyte logic and confirm that the
67097         result is the same in both multibyte and unibyte buffers after the
67098         change.
67100 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67102         Remove call to string-as-unibyte from nnmail
67104         * lisp/gnus/nnmail.el (nnmail-parse-active): Remove call to
67105         string-as-unibyte; the alist before and after the change are
67106         `equal' to each other, so it should presumably have no impact.
67108 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67110         Remove calls to string-as-unibyte from nnir.el
67112         * lisp/gnus/nnir.el (nnir-get-active): Remove two calls to
67113         string-as-unibyte from code that seems cargo-culted from Gnus
67114         functions where it is not needed, so it's presumably not needed
67115         here, either.
67117 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67119         Remove call to string-as-unibyte in gnus-start.el
67121         * lisp/gnus/gnus-start.el (gnus-read-newsrc-el-file): Remove
67122         string-as-unibyte call, which appears not to do anything much in
67123         modern Emacsen.
67125 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67127         Remove call to string-as-unibyte from gnus-start.el
67129         * lisp/gnus/gnus-start.el (gnus-update-active-hashtb-from-killed):
67130         Remove a string-as-unibyte call here, which appears not to be
67131         necessary: I'm able to complete over non-ASCII names both before
67132         and after.
67134 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67136         Modernise a Gnus function a bit
67138         * lisp/gnus/gnus-start.el (gnus-update-active-hashtb-from-killed):
67139         Modernise code a bit.
67141 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67143         Remove two string-as-unibyte in gnus-srvr.el
67145         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): We do not
67146         seem to need the string-as-unibyte here: We read a multibyte
67147         string from the *nntpd* buffer and then decode it later, and this
67148         apparently by some strange magic leads to the correct results in
67149         my test cases.
67151 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67153         Fix a `string-to-multibyte' in Gnus
67155         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): The
67156         original article buffer is multibyte, and we're inserting into the
67157         article buffer, which is also multibyte, so the `string-to-multibyte'
67158         here should be unnecessary?
67160 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67162         Fix a string-as-unibyte in Gnus
67164         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Get rid
67165         of a string-as-unibyte.
67167 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67169         Further shr line folding/link continuation tweaks
67171         * lisp/net/shr.el (shr-fill-line): Tweak the link continuations
67172         further when folding lines.
67174 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67176         Indent after transforming for loop into do/while
67178 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67180         Make call-process work if exec-path is nil
67182         * src/lread.c (openp): If exec-path is nil, no files would be
67183         found to execute (bug#30564).
67185         Test cases:
67187          (let ((exec-path ()))
67188            (call-process "/bin/ls" nil (current-buffer)))
67190         This would previously fail, but now works.
67192          (let ((exec-path '("/bin/")))
67193            (call-process "ls" nil (current-buffer)))
67195         This worked, and still works.
67197 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67199         Make erc-current-logfile work with explicit parameter
67201         * lisp/erc/erc-log.el (erc-current-logfile): This function
67202         apparently refers to buffer-local variables, so switch to the
67203         buffer given before calculating the file name (bug#16111).
67205 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67207         Tweak shr link text property adjustments when folding
67209         * lisp/net/shr.el (shr-fill-line): If a link starts at the first
67210         word on a new folded line, then don't copy the link properties to
67211         the newline inserted.
67213 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67215         * lisp/erc/erc-button.el (erc-button-search-url): Doc fix.
67217         erc build fix for the previous patch
67219 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67221         erc-truncate-buffer-on-save doc string clarification
67223         * lisp/erc/erc-log.el (erc-truncate-buffer-on-save): Doc
67224         clarification (bug#18207) since "truncate" is a word used by
67225         erc-truncate to mean something else.
67227 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67229         Ignore all-whitespace topics in erc
67231         * lisp/erc/erc.el (erc-cmd-TOPIC): Ignore all-whitespace topics
67232         (bug#25153).
67234 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67236         Rename url-button-google-url
67238         * lisp/erc/erc-button.el (erc-button-search-url): Renamed from
67239         url-button-google-url (bug#25717).  Suggested by Andrew Robbins.
67240         (erc-button-alist): Use it.
67242 2018-04-14  John Goerzen  <jgoerzen@complete.org>  (tiny change)
67244         Subject: Fix problem with erc buffer renames after reconnect
67246         * lisp/erc/erc.el (erc-generate-new-buffer-name): Solve problem
67247         with renamed buffers on different servers after reconnect (bug#30639).
67249 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67251         (libxml-parse-html-region): Make DISCARD-COMMENTS obsolete
67253         * lisp/subr.el (libxml-parse-xml-region)
67254         (libxml-parse-html-region): Make DISCARD-COMMENTS obsolete.
67256         * src/xml.c (Flibxml_parse_html_region)
67257         (Flibxml_parse_xml_region): Don't mention DISCARD-COMMENTS, since
67258         it's now no longer part of the advertised signature (bug#27178).
67260 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67262         Revert "Revert "Give better errors in signing failures in Gnus""
67264         This reverts commit 42141da5b0885b199636524c1e57f08ee1723aea.
67266         This patch was reverted in error.  I misinterpreted an email saying that
67267         it didn't work, but apparently it worked as it should.
67269 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67271         Make DISCARD-COMMENTS in `libxml-parse-{html,xml}-region' obsolete
67273         * doc/lispref/text.texi (Parsing HTML/XML): Mention that
67274         discard-comments is obsolete.
67276         * lisp/xml.el (xml-remove-comments): New function (bug#27178).
67278         * src/xml.c (Flibxml_parse_html_region): Clarify what
67279         DISCARD-COMMENTS actually does, and say that the parameter is
67280         obsolete.
67281         (Flibxml_parse_xml_region): Ditto.
67283 2018-04-14  Glenn Morris  <rgm@gnu.org>
67285         Merge from origin/emacs-26
67287         5a6bb01 (origin/emacs-26) Fix building etc/DOC in the MSDOS port
67288         274c979 * lisp/select.el (gui-get-selection): Doc fix.
67289         ad731b0 ; * doc/lispref/display.texi (Temporary Displays): Fix typos.
67290         f1450e9 Complete documentation of syntax flags by adding `c'
67291         6bdcaec Fix typos and minor wording issues in ELisp manual
67292         febac27 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
67293         6c2e21e Avoid segfault in processes of type 'pipe'
67294         60e10c5 Remove repetitions in documentation strings
67295         208e752 * lisp/image.el (image-load-path): Doc fix.
67296         92e0fd8 ; * etc/NEWS: Remove a FIXME.  (Bug#31122)
67298         Conflicts:
67299                 etc/NEWS
67301 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67303         Change the default From style to `angles' and make obsolete
67305         * lisp/gnus/message.el (message-from-style): Make `angles' the
67306         default (bug#29309) and mark as obsolete.
67308         * lisp/mail/sendmail.el (mail-from-style): Ditto.
67310 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67312         Make image-mode respect `imagemagick-types-inhibit'
67314         * lisp/image-mode.el (image--imagemagick-wanted-p): New function
67315         (bug#29584).
67316         (image-toggle-display-image): Use it to see whether we want to use
67317         imagemagick.
67319 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67321         Revert "Give better errors in signing failures in Gnus"
67323         This reverts commit ef2059e877d104bfe5abd24df05bb09c7295e4fa.
67325         Apparently this test triggered both when signing was successful
67326         and unsuccessful (bug#26298).
67328 2018-04-14  Lars Ingebrigtsen  <larsi@gnus.org>
67330         Tweak mailcap precedence so that Emacs values are heeded better
67332         * lisp/net/mailcap.el (mailcap-parse-mailcaps): Place entries from
67333         system-wide mailcap files after the values that are distributed
67334         with Emacs, and the ones from ~/.mailcap before.
67335         (mailcap-parse-mailcap): Take an optional `after' parameter to
67336         achieve that.
67337         (mailcap-add-mailcap-entry): Ditto.
67339 2018-04-14  Tino Calancha  <tino.calancha@gmail.com>
67341         Subject: Fix circular dependency for mm-decode
67343         * lisp/gnus/mm-decode.el: Do not require shr.el at the top
67344         of the file; `mm-shr' already requires shr.el in its body, and
67345         this function is the only `mm-convert-shr-links' caller (Bug#31151).
67347 2018-04-13  Basil L. Contovounesios  <contovob@tcd.ie>
67349         Do not destructively modify interprogram paste
67351         * lisp/simple.el (kill-new, current-kill): Non-destructively reverse list
67352         returned by interprogram-paste-function. (bug#31097)
67354 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67356         Don't bind image commands on eww non-image links
67358         * lisp/net/eww.el (eww-link-keymap): Only inherit the normal shr
67359         keymap.
67360         (eww-image-link-keymap): New keymap with the image bindings.
67361         (eww-tag-a): Use the appropriate one on links (bug#30148).
67363 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67365         Move utility function to mm-util.el
67367         * lisp/gnus/mm-util.el (mm-images-in-region-p): Move from
67368         mm-decode.el and renamed, since it is generally useful.
67370 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67372         Make the url file: handler be less clever
67374         * doc/misc/url.texi (file/ftp): Remove mention of the
67375         url-directory-index-file variable, which is no longer consulted.
67377         * lisp/url/url-file.el (url-file-build-filename): Remove the DWIM
67378         code from the file: handler (bug#30195): It would look for
67379         index.html in a directory if we asked it to fetch the directory.
67380         Determining what to do in a directory should be left up to the
67381         programs that use this low-level library.  If the library decides
67382         to load a different file than we specified, then things start
67383         falling apart, as demonstrated by this bug report.
67385 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67387         Don't bind image commands on non-image links in Gnus
67389         * lisp/gnus/mm-decode.el (mm--images-in-region-p): New utility
67390         function.
67391         (mm-convert-shr-links): Only use the shr image map on links that
67392         contain images.  This avoids binding commands like `r' on links
67393         that don't need it.
67395 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67397         Revert "Add colors to faces that lack them."
67399         This reverts commit 16748a5f6bd57ec0967ecb5e14ffe8af5f43d888.
67401         From the discussion on the ding mailing list, I said:
67403         I think the colours should be reverted back to what they were before the
67404         change.  Normal text should be white on black (if you have a dark
67405         background), and colours should be used to emphasise or de-emphasise
67406         certain text.  Following that principle, normal Gnus groups should be
67407         white, not ... er...  what are they now?  Teal?
67409 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67411         Tweak the fonts applied to shr indentation
67413         * lisp/net/shr.el (shr-fill-line): Don't use fonts (especially
67414         link fonts) over indentation, because that's ugly..
67416 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67418         Further tweak point placement on gnus-summary-select-article-buffer
67420         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
67421         Place point in the empty space between headers and body.
67423 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67425         Tweak point placement in *Group* on `Q' exit
67427         * lisp/gnus/gnus-sum.el (gnus-summary-exit-no-update): When
67428         exiting the summary buffer with `Q', move point to the next unread
67429         group (which is the same thing that happens on `q' exit.)
67431 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67433         Tweak point placement in gnus-summary-select-article-buffer
67435         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
67436         Tweak where point is placed because when the user selects the
67437         article buffer, it's probably to cite something or click on
67438         something, and not do anything with the headers.
67440 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67442         Compute erc line lengths correctly for utf-8 (etc.)
67444         * lisp/erc/erc-backend.el (erc-split-line): Fold the lines
67445         according to octet length, not the number of characters (bug#23047).
67447 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67449         Clean up some defvoo doc strings
67451         * lisp/gnus/nndiary.el: Remove "*" from doc strings from defvoo
67452         elements (bug#23392).
67454         * lisp/gnus/nndir.el: Ditto
67456         * lisp/gnus/nndoc.el: Ditto.
67458         * lisp/gnus/nnrss.el: Ditto.
67460         * lisp/gnus/nnspool.el: Ditto.
67462         * lisp/gnus/nntp.el: Ditto.
67464 2018-04-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
67466         Further fix to eieio-persistent
67468         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
67469           Make handling of hash tables and vectors recursive. This is
67470           necessary because the write process, in `eieio-override-prin1' is
67471           also recursive. With any luck, this will be the last fix of its
67472           kind. If that's true, cherry-pick to Emacs 26.2 later on.
67474 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67476         Make nnimap parse pathological spam headers better
67478         * lisp/gnus/nnimap.el (nnimap-transform-headers): Unfold certain
67479         pathological IMAP headers more correctly (bug#25502).  Perhaps
67480         this function should be re-implemented.
67482 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67484         Fix syntax error in emacs-mime.texi in last check-in
67486 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67488         Prefer settings from ~/.mailcap over system and Emacs settings
67490         * doc/misc/emacs-mime.texi (mailcap): Document the variable and
67491         how mailcap chooses which viewer to use.
67493         * lisp/net/mailcap.el (mailcap-prefer-mailcap-viewers): New variable.
67494         (mailcap-mime-info): Use it.
67496 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67498         Fix bug in shr-urlify introduced in previous patch
67500         * lisp/net/shr.el (shr-urlify): Not all URLs have domains, so
67501         check for that before doing IDNA.
67503 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67505         Make shr support inline <div>s
67507         * lisp/net/shr.el (shr-tag-div): Support display: inline; for
67508         <div>, since that's a very common thing (bug#25588).
67510 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67512         Notify the user a bit more before clicking IDNA links
67514         * lisp/net/shr.el (shr-urlify): Show the puny-encoded domain name
67515         in the mouseover string (bug#25600).
67517 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67519         (nnimap-sequence): Add comment
67521         * lisp/gnus/nnimap.el (nnimap-sequence): Add comment.
67523 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67525         (url-http): Ensure that the referrer is all-ASCII
67527         * lisp/url/url-http.el (url-http): Ensure that the referrer is all-ASCII.
67529 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67531         gnutls.el now needs punycode
67533         * lisp/net/gnutls.el (puny): Require punycode.
67535 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67537         Make Unicode domain names work again in URL after recent changes
67539         * lisp/net/gnutls.el (open-gnutls-stream): IDNA-encode hostnames
67540         before passing them on to gnutls for verification.
67542         * lisp/net/network-stream.el (network-stream-open-starttls): Ditto.
67544         * lisp/url/url-http.el (url-http--get-referer): Be IDNA-aware.
67545         (url-http-create-request): Don't de-Unicodify host names, because
67546         they may be IDNA names (that are later encoded).
67548         * lisp/url/url-util.el (url-domain): Be IDNA-aware when doing
67549         domain name computations.
67551 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67553         Update defcustom version for last patch to url-vars.el
67555         * lisp/url/url-vars.el (url-lastloc-privacy-level): Update
67556         defcustom version.
67558 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67560         Use a separate history for the eww prompt
67562         * lisp/net/eww.el (eww-prompt-history): A separate history
67563         variable for the interactive eww prompt.
67564         (eww): Use it.
67566 2018-04-13  Michael Albinus  <michael.albinus@gmx.de>
67568         Fix Bug#30246
67570         * lisp/auth-source.el (auth-source-secrets-search): Do not
67571         suppress creation.
67572         (auth-source-secrets-create): Implement it.  (Bug#30246)
67574         * lisp/net/secrets.el (secrets-debug): Set default to nil.
67576         * test/lisp/auth-source-tests.el (secrets): Require it.
67577         (auth-source-test-secrets-create-secret): New test.
67579 2018-04-13  Peder O. Klingenberg  <peder@klingenberg.no>
67581         Change gnutls-verify-error to be first-match
67583         * doc/misc/url.texi (Customization): Describe the new user
67584         option url-lastloc-privacy-level.
67586         * lisp/net/eww.el (eww-render): Set url-current-lastloc to the
67587         url we are rendering, to get the referer header right on
67588         subsequent requests.
67590         * lisp/url/url-http.el (url-http--get-referer): New function
67591         to determine which referer to send, if any, considering the
67592         users privacy settings and the target url we are visiting.
67593         (url-http-referer): New variable keeping track of the referer
67594         computed by url-http--get-referer
67595         (url-http-create-request): Use url-http-referer instead of the
67596         optional argument to set up the referer header.  Leave
67597         checking of privacy settings to url-http--get-referer.
67598         (url-http): Set up url-http-referer by using
67599         url-http--get-referer.
67601         * lisp/url/url-queue.el (url-queue): New struct member
67602         context-buffer for keeping track of the context a queued job
67603         started from.
67604         (url-queue-retrieve): Store the current buffer in the queue
67605         object.
67606         (url-queue-start-retrieve): Make sure url-retrieve is called
67607         in the context of the original buffer, if available.
67609         * lisp/url/url-util.el (url-domain): New function to determine
67610         the domain of a given URL.
67612         * lisp/url/url-vars.el (url-current-lastloc): New variable to
67613         keep track of the desired "last location" (referer header).
67614         (url-lastloc-privacy-level): New custom setting for more
67615         fine-grained control over how lastloc (referer) is sent to
67616         servers (Bug#27012).
67618 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67620         Make #anchors work again in eww
67622         * lisp/net/eww.el (eww-render): When we have a #link link, then
67623         url.el will say that we have a redirect to a non-#link link, so
67624         get the anchor before url.el mangles the URL (bug#28441).
67625         (eww-display-html): ... and don't get it here, because it's gone
67626         by now.
67628         Test URL: https://www.gnu.org/s/hyperbole/#summary
67630 2018-04-13  Robert Pluim  <rpluim@gmail.com>
67632         Doc fix after previous gnutls patch
67634         * lisp/net/gnutls.el (gnutls-verify-error): Mention that the
67635         matching is first-match (bug#29977).
67637 2018-04-13  Robert Pluim  <rpluim@gmail.com>
67639         Change gnutls-verify-error to be first-match
67641         * lisp/net/gnutls.el (gnutls-boot-parameters): Convert to
67642         first-match for gnutls-verify-error rather than any-match
67643         (bug#29977).
67645 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67647         Mention the new `shr-selected-link' face
67649         Clean up the double Gnus section
67651 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67653         When opening external links in eww, blink the link
67655         * lisp/net/eww.el (eww-follow-link): Ditto.
67657         * lisp/net/shr.el (shr-selected-link): New face (bug#25096).
67658         (shr--blink-link): New function to blink links.
67659         (shr--current-link-region): New utility function.
67660         (shr-browse-url): Use it to blink external links.
67662         Blinking the link allows the user to get immediate feedback that the
67663         action has been performed.  Opening the external browser may take a
67664         while, and may not be obvious that is going on.
67666 2018-04-13  Lars Ingebrigtsen  <larsi@gnus.org>
67668         Tweak nnimap sequence numbers to avoid reuse
67670         * lisp/gnus/nnimap.el (nnimap-sequence): Start the sequence at a
67671         higher number to avoid reusing the sequence number used by
67672         `open-network-stream' (bug#30022).
67674 2018-04-13  martin rudalics  <rudalics@gmx.at>
67676         * lisp/gnus/gnus-art.el (gnus-article-prepare): Fix previous commit,
67677         in which selecting the article window is not necessary (bug#25526).
67679 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67681         Remove unused local variable
67683 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67685         Treat 302 redirects as if they were 303 redirects
67687         * lisp/url/url-http.el (url-http-parse-headers): Treat 302 as 303,
67688         since this is what the standards recommend these days (bug#25703).
67689         See https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection
67691 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67693         Make eww render <select> elements again
67695         * lisp/net/eww.el (eww-tag-select): Actually render <select>
67696         elements (bug#25703).
67698 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67700         <label> shouldn't introduce a line break
67702         * lisp/net/shr.el (shr-tag-label): Remove so that labels don't
67703         break lines (because they shouldn't: They're usually part of a
67704         selection interface) (bug#30557).
67706 2018-04-12  Katsumi Yamaoka  <yamaoka@jpl.org>
67708         * lisp/gnus/gnus-art.el (gnus-article-prepare): Make sure the article
67709         begins with the top of the header (bug#25526).
67711 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67713         Tweak the eww readability function
67715         * lisp/net/eww.el (eww-highest-readability): Require that the
67716         readable bit is at least 100 words (bug#30445).
67718 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67720         (dom-texts): Don't return contents of <script> as text
67722         From: Lars Ingebrigtsen <larsi@gnus.org>
67724         * lisp/dom.el (dom-texts): Don't return contents of <script> as
67725         text, because it isn't and makes reasoning about textual parts
67726         more difficult.
67728 2018-04-12  Basil L. Contovounesios  <contovob@tcd.ie>
67730         Support list of default values in completing-read-multiple
67732         * lisp/emacs-lisp/crm.el (completing-read-multiple):
67733         Consider head of DEF argument when specified as a list,
67734         as per completing-read-default. (bug#30072)
67736 2018-04-12  Jonathan Marten  <jjm@keelhaul.me.uk>  (tiny change)
67738         From: Lars Ingebrigtsen <larsi@gnus.org>
67740         * lisp/gnus/nnimap.el (nnimap-login): Allow anonymous logins
67741         (bug#24704).
67743 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67745         Default message-forward-as-mime to nil
67747         * doc/misc/gnus.texi (Summary Mail Commands): Ditto.
67749         * doc/misc/message.texi (Forwarding): Note the new default.
67751         * lisp/gnus/message.el (message-forward-as-mime): Default to nil
67752         since it's been reported that many recipients can't read MIME
67753         digest forwards (bug#24878).
67755 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67757         Load w3m in Gnus if required
67759         * lisp/gnus/gnus-art.el (gnus-article-show-images): Ensure that
67760         w3m is loaded if the user requests that we use it.
67762 2018-04-12  Tim Landscheidt  <tim@tim-landscheidt.de>
67764         Don't autoload function from w3m
67766         * lisp/gnus/gnus-art.el (w3m-toggle-inline-images): Don't use
67767         autoload for packages that may not be installed (bug#25604).
67769 2018-04-12  Oleg Pykhalov  <go.wigust@gmail.com>
67771         From: Lars Ingebrigtseb <larsi@gnus.org>
67773         * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-score): Allow limit
67774         to articles that have a score below the stated number, too
67775         (bug#30356).
67777 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67779         message-forward-as-mime doc clarification
67781         * lisp/gnus/message.el (message-forward-as-mime): Doc
67782         clarification (bug#27714).
67784 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67786         message-forward-ignored-headers doc clarification
67788         * lisp/gnus/message.el (message-forward-ignored-headers): Doc
67789         clarification (bug#27715).
67791 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67793         Restore point in summary buffer after sorting
67795         * lisp/gnus/gnus-sum.el (gnus-summary-sort): Keep point on the
67796         current article when sorting (bug#30615).
67798 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67800         nil is no longer an allowed value for mm-inline-text-html
67802         * doc/misc/emacs-mime.texi (Display Customization): Remove the doc
67803         for the nil case of mm-inline-text-html.
67805         * doc/misc/mh-e.texi (HTML): Ditto.
67807         * lisp/gnus/mm-view.el (mm-inline-text-html): If no
67808         mm-text-html-renderer is specified, just insert the raw text
67809         instead of erroring out (bug#30870).
67811 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67813         Ensure that non-QRESYNC nnimap can proceed after a QRESYNC fail
67815         * lisp/gnus/nnimap.el (nnimap-update-info): If we don't have a
67816         start-article in the non-QRESYNC case, then the start has to be 1
67817         (bug#23241).
67819 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67821         Make it possible to exit Gnus without saving .newsrc.eld
67823         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Don't error out
67824         here so that we can proceed with shutting down Gnus without saving
67825         the .newsrc.eld file when it has been updated externally (bug#23761).
67827 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67829         Make nnml save the .overview file when used as an expiry target
67831         * lisp/gnus/nnmail.el (nnmail-expiry-target-group): Always pass in
67832         the `last' parameter to the acceptance function so that backends
67833         like nnml save the .overview file (bug#24499).  This may slow down
67834         some use cases.
67836 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67838         Clarify Gnus doc string
67840         * lisp/gnus/gnus-cite.el (gnus-article-fill-cited-article):
67841         Clarify doc string (bug#24578).
67843 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67845         Elide XEmacs-relevant comment
67847         * lisp/gnus/gnus-cite.el (gnus-article-fill-cited-article): Remove
67848         mention of XEmacs, since we no longer support XEmacs.
67850 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67852         Make message-simplify-recipients obsolete
67854         * lisp/gnus/message.el (message-simplify-recipients)
67855         (message-recipients-without-full-name): Made obsolete since
67856         Message now simplifies all addresses by default.
67858 2018-04-12  Lars Ingebrigtsen  <larsi@gnus.org>
67860         Remove repetitions from recipient addresses in Message
67862         * lisp/gnus/message.el (message--alter-repeat-address): New function.
67863         (message-get-reply-headers): Use it to remove repetitions on the
67864         form "foo@bar.com" <foo@bar.com>.
67866 2018-04-11  Damien Cassou  <damien@cassou.me>
67868         * etc/NEWS: Fix entry regarding automatic encryption of (Bug#31124) messages
67870 2018-04-11  Shanavas M  <shanavas@disroot.org>
67872         Add tests for buffer-base-buffer function (Bug#30905)
67874         * test/src/buffer-tests.el (test-buffer-base-buffer-indirect)
67875         (test-buffer-base-buffer-non-indirect): New tests for
67876         `buffer-base-buffer'.
67878 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
67880         make-dist: fix bug with top-level ChangeLog
67882         Problem reported by Glenn Morris in:
67883         https://lists.gnu.org/r/emacs-devel/2018-04/msg00307.html
67884         * make-dist (top_level_ChangeLog): New var.  Use it to link
67885         top-level ChangeLog only when desired.
67887 2018-04-11  Alain Schneble  <a.s@realize.ch>
67889         Support port number in Gnus X-Message-SMTP-Method header
67891         * lisp/gnus/message.el (message-multi-smtp-send-mail): Try to parse
67892         service as port number.  If it succeeds, use parsed number, else use
67893         supplied service name as before (bug#24653).  (This only matters
67894         on some operating systems.)
67896 2018-04-11  Daniel Dehennin  <daniel.dehennin@baby-gnu.org>
67898         Gnus Group Mail Splitting on mailing-list headers
67900         * doc/misc/gnus.texi: Document the new `list' split abbreviation and
67901         `match-list' group parameter (bug#25346).
67903         * lisp/gnus/gnus-mlspl.el: Use the `list' abbreviation when the new
67904         `match-list' group parameter is set to `t'.
67905         The split regexp is modified to match either `@` or `.` as domain
67906         separator to comply with RFC2919 IDs too.
67908         * lisp/nnmail.el: Add new `list' split abbreviation matching common
67909         mailing-list headers.
67911 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
67913         Tweak previous patch to respect quiet next group selection again
67915         * lisp/gnus/gnus-sum.el (gnus-summary-next-article): Tweak
67916         previous patch to be quieter if the user has requested `quietly'
67917         next group selection.
67919 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
67921         Display "No more ... articles" on `n' in Gnus
67923         * lisp/gnus/gnus-sum.el (gnus-summary-next-article): Display the
67924         "No more"... messages if gnus-auto-select-next is nil and the user
67925         has default messaging levels (bug#25582).
67927 2018-04-11  Łukasz Stelmach  <l.stelmach@samsung.com>  (tiny change)
67929         Rung new-news-hook from `M-g' in the Gnus summary buffer
67931         * lisp/gnus/gnus-group.el (gnus-group-get-new-news-this-group):
67932         Run `gnus-after-getting-new-news-hook' when doing `M-g' in the
67933         summary buffer, too (bug#25892).  This makes `M-g' in both group
67934         and summary buffers work more similar.
67936 2018-04-11  Noam Postavsky  <npostavs@users.sourceforge.net>
67938         Give better errors in signing failures in Gnus
67940         * lisp/gnus/mml1991.el (mml1991-epg-sign): Give better error
67941         messages when signing fails (bug#26298).
67943         * lisp/gnus/mml2015.el (mml2015-epg-sign): Ditto.
67945 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
67947         Remove the Gmane backend from nnir
67949         * lisp/gnus/nnir.el (nnir-engines): Remove Gmane backend, which no
67950         longer exists.
67951         (nnir-method-default-engines): Ditto.
67952         (nnir-run-gmane): Removed function (bug#28234).
67954 2018-04-11  Basil L. Contovounesios  <contovob@tcd.ie>
67956         Heed switch-function argument in gnus-user-agent
67958         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Heed switch-action argument
67959         when falling back to message-user-agent because Gnus is not
67960         running (bug#28992).
67962 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
67964         Always rescale images in gnus-rescale-image
67966         * lisp/gnus/gnus-util.el (gnus-rescale-image): Rescale images even
67967         if we don't have a visible article buffer.  Reported and fix
67968         suggested by Kevin Brubeck Unhammer.
67970 2018-04-11  Michael Albinus  <michael.albinus@gmx.de>
67972         Some minor Tramp changes
67974         * lisp/net/tramp-sh.el (tramp-get-ls-command-with):
67975         New defun, replacing ...
67976         (tramp-get-ls-command-with-dired)
67977         (tramp-get-ls-command-with-quoting-style)
67978         (tramp-get-ls-command-with-w-option): Removed.
67979         (tramp-do-file-attributes-with-ls)
67980         (tramp-do-directory-files-and-attributes-with-stat)
67981         (tramp-sh-handle-insert-directory): Adapt callees.
67983         * lisp/net/tramp-smb.el (tramp-smb-errors):
67984         Add "NT_STATUS_CONNECTION_RESET".
67986 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
67988         Don't kill off LibreOffice when selecting the next article in Gnus
67990         * lisp/gnus/mm-decode.el (mm-keep-viewer-alive-types): Add the
67991         media types that LibreOffice uses to the list, since we don't want
67992         to kill off LibreOffice willy-nilly.
67994 2018-04-11  Lars Ingebrigtsen  <larsi@gnus.org>
67996         Doc fix for mm-keep-viewer-alive-types
67998         * lisp/gnus/mm-decode.el (mm-keep-viewer-alive-types): Clarify doc
67999         string.
68001 2018-04-10  Glenn Morris  <rgm@gnu.org>
68003         Merge from origin/emacs-26
68005         c267421 (tag: emacs-26.1-rc1, origin/emacs-26) ; * ChangeLog.3: Update.
68006         aa77415 * etc/AUTHORS: Regenerate.
68007         c8ffca5 * lisp/files.el (kept-new-versions): Improve documentation st...
68008         3a798f6 Fix a minor mistake in the ELisp manual
68009         6afa868 ; * src/dispextern.h (struct it): Fix a typo in a comment.
68010         5659b2f * lisp/files.el (find-file-literally): Doc fix.
68011         9b24a79 Fix typos in doc strings
68013 2018-04-10  Glenn Morris  <rgm@gnu.org>
68015         Merge from origin/emacs-26
68017         f674c89 ; * ChangeLog.3: Update.
68018         80d868e * lisp/emacs-lisp/inline.el: Clarify apparent typos
68019         9f54f28 ; * lisp/auth-source.el (auth-sources): Update the :version tag.
68021 2018-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68023         make-dist: check exit statuses more carefully
68025         * make-dist: Do a better job checking for subprocess failure.
68027 2018-04-08  Tino Calancha  <tino.calancha@gmail.com>
68029         Preserve case in query-replace undo
68031         If the user query and replaces 'foo' with 'BAR', then
68032         undo must comeback to 'foo', not to 'FOO' (Bug#31073).
68033         * lisp/replace.el (perform-replace): Bind nocasify to non-nil
68034         value during undo/undo-all actions.
68035         * test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
68037 2018-04-08  Michael Albinus  <michael.albinus@gmx.de>
68039         * lisp/auth-source.el (auth-source-secrets-search): Fix docstring.
68041 2018-04-08  nitishch  <nitishchandrachinta@gmail.com>  (tiny change)
68043         Fix python-shell-send-defun at start of buffer (Bug#30822)
68045         * lisp/progmodes/python.el (python-shell-send-defun): Handle the case
68046         when we hit the beginning of buffer.
68048 2018-04-07  Philipp Stephani  <phst@google.com>
68050         Document that 'make-process' mixes the output streams
68052         * doc/lispref/processes.texi (Asynchronous Processes):
68053         * src/process.c (Fmake_process): Document that standard error is mixed
68054         with standard output if STDERR is nil.
68056         * test/src/process-tests.el (make-process/mix-stderr): New unit test.
68058 2018-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
68060         * lisp/simple.el (undo-auto--undoable-change): Avoid leak
68062 2018-04-07  Marco Wahl  <marcowahlsoft@gmail.com>
68064         Fix goto page from page directory (Bug#28909)
68066         * lisp/textmodes/page-ext.el (pages-directory-goto): Use the
68067         interactive spec as in `occur-mode-goto-occurrence'.
68069 2018-04-07  Michal Nazarewicz  <mina86@mina86.com>
68071         Handle quotation marks and apostrophes in ‘sgml-quote’
68073         To be able to use text in an HTML argument, quotation marks need
68074         to be replaced with an appropriate character reference.  Make
68075         ‘sgml-quote’ do that.
68077         While at it, fix entiteis not being unquoted if they lack closing
68078         semicolon (e.g. ‘&amp’) occurring at the very end of a region.
68079         Even though unlikely, make ‘sgml-quote’ handle this scenario.
68081         * lisp/textmodes/sgml-mode.el (sgml-quote): Handle quotation marks and
68082         apostrophes.  Match entities lacking semicolon at the end of regions.
68083         * test/lisp/textmodes/sgml-mode-tests.el (sgml-quote-works): New test
68084         case for ‘sgml-quote’ function.
68086 2018-04-06  Michael Albinus  <michael.albinus@gmx.de>
68088         Make dbus.el fitter for Emacs configured --without-dbus
68090         * lisp/net/dbus.el (dbus-error, dbus-debug): Define if not exist.
68092         * test/lisp/net/secrets-tests.el: Revert 51c8369fa2 and 79a3ad9592.
68094 2018-04-05  Tino Calancha  <tino.calancha@gmail.com>
68096         Require secrets.el if Emacs has dbusbind support
68098         * test/lisp/net/secrets-tests.el: Require secrets.el if
68099         and only if, Emacs has been compiled with dbusbind support.
68101 2018-04-05  Tino Calancha  <tino.calancha@gmail.com>
68103         Run secrets suite test when Emacs has dbus support
68105         * test/lisp/net/secrets-tests.el (secrets-test00-availability)
68106         (secrets-test01-sessions, secrets-test02-collections)
68107         (secrets-test03-items, secrets-test04-search): Skip test
68108         unless Emacs is compiled with dbus support.
68110 2018-04-05  Michael Albinus  <michael.albinus@gmx.de>
68112         Add tests for secrets.el
68114         * lisp/net/secrets.el (secrets-lock-collection): New defun.
68115         (secrets-search-items, secrets-create-item): Fix structure of :dict-entry.
68117         * test/lisp/net/secrets-tests.el: New package.
68119 2018-04-05  Glenn Morris  <rgm@gnu.org>
68121         * test/lisp/gnus/message-tests.el (message-all-epg-keys-available-p):
68122         Add skip condition.
68124 2018-04-04  Tino Calancha  <tino.calancha@gmail.com>
68126         Honor dired-create-destination-dirs if copying/renaming >1 files
68128         Check `dired-create-destination-dirs' when the user wants to
68129         copy/rename several files.
68130         * lisp/dired-aux.el (dired-do-create-files):
68131         Call `dired-maybe-create-dirs' right before bind `into-dir' (Bug#30624).
68132         * test/lisp/dired-aux-tests.el (dired-test-bug30624): Add test.
68134 2018-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68136         Move password-word-equivalents defn to mule-conf
68138         * lisp/international/mule-conf.el (password-word-equivalents):
68139         Move here ...
68140         * lisp/simple.el (password-word-equivalents): ... from here.
68141         This variable belongs in an i18n file somewhere, not in simple.el,
68142         since it’s i18n-related.  Also, having it in simple.el tickles
68143         Emacs performance bugs on some platforms when developers visit
68144         simple.el.  Problem reported by Drew Adams in, for example:
68145         https://lists.gnu.org/r/emacs-devel/2018-04/msg00124.html
68147 2018-04-04  Juri Linkov  <juri@linkov.net>
68149         * lisp/isearch.el (isearch-pre-command-hook): Default to shift-translated
68151         move commands that can be enabled by the `isearch-move' property `enabled',
68152         and disabled by `disabled'.
68153         (search-exit-option): Doc fix.
68154         (isearch-post-command-hook): Check for isearch-forward.
68155         https://lists.gnu.org/r/emacs-devel/2018-03/msg00438.html
68157 2018-04-04  Juri Linkov  <juri@linkov.net>
68159         * lisp/shell.el (shell-mode): Check if buffer has a live process.
68161         (Bug#31028)
68163 2018-04-04  Damien Cassou  <damien@cassou.me>
68165         Detect if a message can be encrypted and add an MML tag
68167         * lisp/gnus/message.el (message-all-recipients): Return a list of
68168         pairs, one for each recipient in To, Cc, Bcc.
68169         (message-all-epg-keys-available-p): Check that there is a public key
68170         in epg for each recipient of the current message.
68171         (message-sign-encrypt-if-all-keys-available): Add MML tag to sign and
68172         encrypt current message if there is a public key for every recipient
68173         in current message.
68175         * test/lisp/gnus/message-tests.el (message-all-recipients): Test for
68176         message-all-recipients.
68178 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
68180         * lisp/auth-source.el (auth-sources): Allow sexp customization type
68182 2018-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68184         Improve GC+Cairo workaround
68186         Suggested by Eli Zaretskii (Bug#20890#31).
68187         * src/font.h (font_data_structures_may_be_ill_formed): New function.
68188         * src/ftfont.c (ftfont_close):
68189         * src/ftcrfont.c (ftcrfont_close): Use it.
68191 2018-04-04  Glenn Morris  <rgm@gnu.org>
68193         Merge from origin/emacs-26
68195         3109d2b (origin/emacs-26) ; * lisp/ldefs-boot.el: Update.
68196         86825c4 * etc/NEWS: Remove temporary markup.
68197         737d0a2 * Update etc/AUTHORS
68198         fbd03ba * ChangeLog.3: Update
68199         56794ac Fix Bug#31022
68200         a231c33 Update "Calendrical Calculations" cites
68201         1527235 ; * doc/lispref/compile.texi (Compilation Functions): Fix wor...
68202         b07decd ; * doc/lispref/compile.texi (Compilation Functions): Fix typo
68203         a64c11a Fix term.el rendering following a window resize (Bug#30544)
68204         1e6f09a * files.el (auto-save-visited-mode): Don't prompt for filenames.
68205         eb8b13f ; * etc/NEWS: Improve the entry about pinentry.el removal.
68206         52501ec Quote a few backticks in docstrings.
68208         Conflicts:
68209                 etc/NEWS
68210                 lisp/ldefs-boot.el
68212 2018-04-03  Martin Rudalics  <rudalics@gmx.at>
68214         * etc/NEWS: Mention that output of 'help-for-help' is searchable now
68216 2018-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
68218         * lisp/vc/emerge.el: Use lexical-binding
68220         Replace all `(lambda ...) with closures.  Use inhibit-read-only.
68221         (emerge-mode): Use define-minor-mode.
68222         (emerge-setup, emerge-setup-with-ancestor):
68223         Don't use 'run-hooks' on local var.
68224         (emerge-files, emerge-files-with-ancestor):
68225         Don't use 'add-hook' on local var.
68226         (emerge-convert-diffs-to-markers): Remove unused var 'B-point-min'.
68227         Simplify 'offset'.
68228         (emerge--current-beg, emerge--current-end): New macros.
68229         (emerge-select-version): Pass 'diff-vector' to the function it calls.
68230         Change all callers to use it instead of dyn-bound vars.
68232 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
68234         Pacify GCC when --enable-profiling
68236         * src/conf_post.h (PROFILING): Undef if not on a platform that
68237         supports it.  Simplify uses accordingly.
68238         * src/emacs.c (etext) [PROFILING]:
68239         Declare at top level to avoid GCC warning.
68241 2018-04-03  Alan Mackenzie  <acm@muc.de>
68243         Put combine-change-calls around comment-region and uncomment-region
68245         * lisp/newcomment.el (comment-combine-change-calls): New buffer local
68246         variable.
68247         (uncomment-region-default-1, comment-region-default-1): Functions renamed from
68248         uncomment-region-default and comment-region-default.
68249         (uncomment-region-default, comment-region-default): New functions, which call
68250         the above either enclosed in combine-change-calls or not.
68252 2018-04-03  Alan Mackenzie  <acm@muc.de>
68254         Introduce new macro combine-change-calls
68256         This macro is a bit like combine-after-change-calls, but also works with a
68257         non-null before-change-functions.  It suppresses the operation of the change
68258         hooks on a possibly large sequence of buffer modifications, replacing them
68259         with a single invocation of before-change-functions at the start, and a single
68260         invocation of after-change-functions at the end.
68262         * lisp/subr.el (undo--combining-change-calls): New variable.
68263         (combine-change-calls-1, undo--wrap-and-run-primitive-undo): New functions.
68264         (combine-change-calls): New macro.
68266         * doc/lispref/text.texi (Change Hooks): Document combine-change-calls.
68268         * etc/NEWS: Add an entry under "Lisp Changes" for combine-change-calls.
68270 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
68272         Work around GC+Cairo bug
68274         Workaround suggested by Robert Pluim (Bug#20890#13).
68275         * src/ftfont.c (ftfont_close) [USE_CAIRO]:
68276         Do nothing if GC is in progress.
68278 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
68280         Port FC_COLOR change to older fontconfig
68282         Problem reported by John ff in:
68283         https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
68284         * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
68285         Don’t use FC_COLOR on older fontconfigs that don’t have it.
68287 2018-04-03  Robert Pluim  <rpluim@gmail.com>
68289         Ignore color fonts when using Xft
68291         * src/font.c (syms_of_font): New configuration variable
68292         xft-ignore-color-fonts, default t.
68293         * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
68294         color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
68295         * etc/NEWS: Document xft-ignore-color-fonts.
68297 2018-04-03  Eli Zaretskii  <eliz@gnu.org>
68299         Document custom-variable-history
68301         * etc/NEWS:
68302         * doc/lispref/minibuf.texi (Minibuffer History): Document
68303         'custom-variable-history'.
68305 2018-04-02  Alan Mackenzie  <acm@muc.de>
68307         * lisp/progmodes/cc-defs.el:
68308         * lisp/progmodes/cc-engine.el:
68309         * lisp/progmodes/cc-langs.el:
68310         * lisp/progmodes/cc-vars.el: Comment the use of "a\\`"
68312 2018-04-02  Paul Eggert  <eggert@cs.ucla.edu>
68314         Clarify eq on floats
68316         * doc/lispref/objects.texi (Equality Predicates):
68317         Say that two floats with the same values might or might not be eq.
68319 2018-04-02  Gemini Lasswell  <gazally@runbox.com>
68321         Fix Testcover bug in handling of vectors containing dotted lists
68323         * lisp/emacs-lisp/testcover.el (testcover-analyze-coverage-compose):
68324         Handle dotted lists. Fix bug#30909.
68325         * test/lisp/emacs-lisp/testcover-resources/testcases.el:
68326         (dotted-list-in-vector-bug-30909): New test case.
68327         (quotes-within-backquotes-bug-25316, dotted-backquote)
68328         (quoted-backquote, backquoted-vector-bug-25316)
68329         (vector-in-macro-spec-bug, backquoted-dotted-alist): Change
68330         docstrings to mention analyzing code instead of reinstrumenting
68331         it.
68333 2018-04-02  Charles A. Roelli  <charles@aurox.ch>
68335         Add a history variable for `read-variable'
68337         * src/minibuf.c (Fread_variable): Use the history variable when
68338         calling Fcompleting_read.
68339         (syms_of_minibuf): New history variable, custom-variable-history.
68341 2018-04-02  Alan Mackenzie  <acm@muc.de>
68343         Optimize c-syntactic-skip-backward, c-determine-limit for large comment blocks
68345         * lisp/progmodes/cc-engine.el (c-ssb-lit-begin): Remove.
68346         (c-syntactic-skip-backward): Remove the surrounding c-self-bind-state-cache.
68347         Use the standard function c-literal-start in place of the special purpose
68348         c-ssb-lit-begin.  With a suitable skip-chars argument (the usual case),
68349         optimize by invoking c-backward-syntactic-ws to move back over comment blocks.
68350         (c-determine-limit-get-base): Inovke an early c-backward-syntactic-ws.
68351         (c-determine-limit): Use c-forward-comment whilst moving forward.  Cope with
68352         an empty position stack whilst looking for non-literals (bug fix).  In the
68353         recursive call, double try-size to prevent Lisp stack overflow.
68355 2018-04-02  Simona Arizanova  <simonikane@hotmail.fr>  (tiny change)
68357         Make help-for-help window searchable (Bug#19655)
68359         * lisp/help.el (help-map): Map C-s to new function
68360         search-forward-help-for-help.
68361         (help-for-help-internal): In doc-string add entry for C-s.
68362         (search-forward-help-for-help): New function.
68364 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
68366         * lisp/emacs-lisp/debug.el (debug): Don't hang upon error in initial-frame.
68368 2018-04-01  Paul Eggert  <eggert@cs.ucla.edu>
68370         Further improve advice in make-tarball.txt
68372         See comments by Glenn Morris in:
68373         https://lists.gnu.org/r/emacs-devel/2018-03/msg00968.html
68374         * admin/make-tarball.txt: Bring back refcard advice.
68376 2018-04-01  Paul Eggert  <eggert@cs.ucla.edu>
68378         Port make-dist to tar 1.27 and earlier
68380         Problem reported by Glenn Morris in:
68381         https://lists.gnu.org/r/emacs-devel/2018-03/msg00984.html
68382         * make-dist: Use --sort=name only if Tar supports it.
68384 2018-04-01  Glenn Morris  <rgm@gnu.org>
68386         * lisp/nxml/nxml-mode.el (nxml-sexp-element-flag): Set :version.
68388 2018-04-01  Glenn Morris  <rgm@gnu.org>
68390         Merge from origin/emacs-26
68392         af1624f * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
68393         3a451bd ; * doc/emacs/msdos.texi: Fix wording of last change.
68394         3bc1e2f Mention `key-description' as inverse of `kbd' (Bug#30942)
68395         e50196e Document return value of pcase (Bug#30425)
68396         8a2466f * doc/emacs/macos.texi: Tweak grammar and capitalization.
68397         9db62bf Distinguish free from non-free OSes
68398         ff49d86 * doc/emacs/misc.texi (Amusements): Avoid non-printing charac...
68399         5bab671 Fix xrefs in pdf Emacs manual
68401 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
68403         Followup to last change
68405         * etc/NEWS: Mark nxml-sexp-element-flag entry as not needing
68406         documentation updates.
68408         * lisp/nxml/nxml-mode.el (nxml-mode, nxml-forward-balanced-item):
68409         Doc fixes.
68411 2018-04-01  Jostein Kjønigsen  <jostein@kjonigsen.net>
68413         Change the default value of nxml-sexp-element-flag.
68415         * lisp/nxml/nxml-mode.el (nxml-sexp-element-flag): Default value
68416         is now t.
68418 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
68420         Minor copyedits of completion-at-point-functions documentation
68422         * lisp/minibuffer.el (completion-at-point-functions):
68423         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
68424         and filling.
68426 2018-03-31  Eli Zaretskii  <eliz@gnu.org>
68428         Support more separators in rmail-retry-failure
68430         * lisp/mail/rmail.el (mail-unsent-separator): Add a form of
68431         separator that confused rmail-retry-failure due to additional
68432         lines that start with a series of dashes.  (Bug#30965)
68434 2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68436         Improve doc for web pages; reproducible tarballs
68438         * admin/make-tarball.txt: Make the tarballs more reproducible.
68439         Fix instructions for web pages as best I can (they are still
68440         incomplete).
68441         * make-dist (default_gzip): Add --no-name for gzip.
68442         (taropt): Add options to make the build more reproducible.
68444 2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68446         Do not assume --with-file-notification
68448         * src/fileio.c (report_file_notify_error) [!USE_FILE_NOTIFY]: Omit.
68450 2018-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68452         Centralize Bug#30931 fix
68454         * src/marker.c (detach_marker): New function.
68455         * src/editfns.c (save_restriction_restore):
68456         * src/insdel.c (signal_before_change): Use it.
68458 2018-03-30  Noam Postavsky  <npostavs@gmail.com>
68460         Fix another case of freed markers in the undo-list (Bug#30931)
68462         * src/alloc.c (free_marker): Remove.
68463         * src/editfns.c (save_restriction_restore):
68464         * src/insdel.c (signal_before_change): Detach the markers from the
68465         buffer when we're done with them instead of calling free_marker on
68466         them.
68467         * test/src/editfns-tests.el (delete-region-undo-markers-1)
68468         (delete-region-undo-markers-2): New tests.
68470 2018-03-30  Eli Zaretskii  <eliz@gnu.org>
68472         Add Capital sharp s to 2 more Latin input methods
68474         * lisp/leim/quail/latin-pre.el ("latin-prefix"):
68475         * lisp/leim/quail/latin-post.el ("latin-postfix"): Support Capital
68476         sharp s.  (Bug#30988)
68478 2018-03-30  Eli Zaretskii  <eliz@gnu.org>
68480         Fix C-p and C-n when wrap-prefix is too wide
68482         * src/xdisp.c (move_it_in_display_line_to): Avoid looping in
68483         previous/next-line when wrap-prefix is set to a too-wide
68484         stretch of whitespace.  (Bug#30432)
68486 2018-03-30  Alan Third  <alan@idiocy.org>
68488         Simplify represented filename handling (bug#30800)
68490         * src/nsfns.m (ns_set_represented_filename): Move function from
68491         nsterm.m and set represented filename directly.
68492         * src/nsterm.h (ns_set_represented_filename): Remove definition.
68493         * src/nsterm.m (ns_set_represented_filename): Move function to
68494         nsfns.m.
68495         (x_free_frame_resources): Remove references to represented_frame.
68496         (sendEvent): Don't set represented filename.
68498 2018-03-30  Michael Albinus  <michael.albinus@gmx.de>
68500         Improve Tramp test performance
68502         * lisp/net/tramp.el (tramp-backtrace): Improve performance.
68504         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
68505         Skip for older Emacsen.
68506         (tramp-test39-utf8): Remove instrumentation.
68508 2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68510         Fix CHECK_ALLOCATED_AND_LIVE abort during GC
68512         * src/editfns.c (save_restriction_restore):
68513         Wait for the GC to free the temporary markers (Bug#30931).
68515 2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68517         Prefer \... to control chars in .el literals
68519 2018-03-29  Noam Postavsky  <npostavs@gmail.com>
68521         * src/xterm.c (x_make_frame_visible): Fix typo in previous change.
68523 2018-03-29  Noam Postavsky  <npostavs@gmail.com>
68525         Don't wait for visible frames to become visible
68527         For discussion, see thread starting at
68528         https://lists.gnu.org/r/emacs-devel/2018-03/msg00807.html.
68529         * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
68530         calling x_wait_for_event.
68532 2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68534         New experimental variable read-integer-overflow-as-float.
68536         Following a suggestion by Eli Zaretskii (Bug#30408#46).
68537         * etc/NEWS: Mention it.
68538         * src/lread.c (syms_of_lread): Add it.
68539         (read1): Treat out-of-range integers as floats if
68540         read-integer-overflow-as-float is non-nil.
68542 2018-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68544         Lisp reader now checks for integer overflow
68546         * doc/lispref/numbers.texi (Integer Basics), etc/NEWS:
68547         Document this.
68548         * src/lisp.h (S2N_IGNORE_TRAILING, S2N_OVERFLOW_TO_FLOAT):
68549         New constants.
68550         * src/lread.c (string_to_number): Change trailing bool arg to
68551         integer argument with flags, to support S2N_OVERFLOW_TO_FLOAT.
68552         All uses changed.
68553         * test/src/editfns-tests.el (read-large-integer): New test.
68555 2018-03-29  Eli Zaretskii  <eliz@gnu.org>
68557         Support Capital sharp S in German input methods
68559         * lisp/leim/quail/latin-post.el ("german-postfix"):
68560         * lisp/leim/quail/latin-pre.el ("german-prefix"): Add Capital
68561         sharp S.  (Bug#30988)
68563         * etc/NEWS: Mention the support of Capital sharp S.
68565 2018-03-29  Michael Albinus  <michael.albinus@gmx.de>
68567         Fix Bug#30946
68569         * doc/misc/tramp.texi (Multi-hops): Mention host name checks.
68571         * lisp/net/tramp.el (tramp-set-syntax, tramp-dissect-file-name)
68572         (tramp-debug-message, tramp-handle-shell-command):
68573         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
68574         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler)
68575         (tramp-archive-dissect-file-name):
68576         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler): Adapt callees.
68578         * lisp/net/tramp-compat.el (tramp-compat-user-error): Move defsubst ---
68580         * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Check for proper
68581         host names in multi-hop.  (Bug#30946)
68583         * lisp/net/tramp.el (tramp-user-error): ... here.  Make it a defun.
68585         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
68586         New test.
68588 2018-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
68590         * src/keyboard.c (record_char, read_key_sequence): Copy raw events
68592 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
68594         Test notify handlers only if file notification
68596         * test/lisp/files-tests.el:
68597         (files-file-name-non-special-notify-handlers):
68598         Skip if file notification is not available.
68600 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
68602         Port recent org-clock fix to POSIX time_t
68604         * lisp/org/org-clock.el (org-clock-special-range):
68605         Don't assume support for time_t values less than 0, or less than
68606         -2**31 for that matter (Bug#27736).
68608 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
68610         Update from Gnulib
68612         This incorporates:
68613         2018-03-28 time_rz: fix workaround for Mac OS X 10.6 infloop
68614         * m4/time_rz.m4: Copy from Gnulib.
68616 2018-03-28  Alan Mackenzie  <acm@muc.de>
68618         Handle C++17's constexpr keyword in if statements
68620         * lisp/progmodes/cc-engine.el (c-after-conditional): Test for matches to
68621         c-block-stmt-hangon-key.
68623         * lisp/progmodes/cc-langs.el (c-block-stmt-hangon-kwds): New lang const.
68624         (c-block-stmt-hangon-key): New lang const/var matching any element of the
68625         above.
68627 2018-03-28  Alan Mackenzie  <acm@muc.de>
68629         Replace faulty non-matching regexp "\\<\\>" with "a\\`"
68631         The regexp "\\<\\>", which is supposed never to match, actually matches, for
68632         instance, where a Chinese character is directly followed by an ASCII letter.
68633         So, replace it with "a\\`".
68635         * lisp/progmodes/cc-defs.el (cc-fix, c-make-keywords-re)
68636         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1)
68637         (c-forward-<>-arglist-recur, c-forward-decl-or-cast-1)
68638         (c-looking-at-decl-block)
68639         * lisp/progmodes/cc-langs.el (c-assignment-op-regexp)
68640         (c-block-comment-ender-regexp, c-block-comment-start-regexp)
68641         (c-line-comment-start-regexp, c-doc-comment-start-regexp)
68642         (c-decl-start-colon-kwd-re, c-type-decl-prefix-key)
68643         (c-type-decl-operator-prefix-key, c-pre-id-bracelist-key)
68644         (c-enum-clause-introduction-re, c-nonlabel-token-2-key)
68645         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
68646         (c-make-noise-macro-regexps):
68647         Replace "\\<\\>" by "a\\`".
68649 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
68651         Remove unstable tags in Tramp
68653         * test/lisp/net/tramp-tests.el (tramp-test39-utf8)
68654         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
68655         (tramp-test39-utf8-with-ls): Remove :unstable tag.
68657 2018-03-28  Glenn Morris  <rgm@gnu.org>
68659         Merge from origin/emacs-26
68661         9bff405 (origin/emacs-26) * doc/misc/org.texi (Installation): Fix clo...
68662         613c9a5 Update Org to v9.1.9
68663         1b075a9 ; Fix some tiny doc typos
68664         441fe20 De-obsolete `if-let' and `when-let'
68665         8696038 * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
68666         930f7b1 * doc/lispref/functions.texi (Defining Functions): Improve in...
68667         95ccf50 Fix crash after frame is freed on macOS (bug#30800)
68668         45d0475 More manual editing
68669         2acb9f0 Minor manual changes changes
68670         d481cba * lisp/calculator.el (calculator-paste-decimals): Add version.
68671         7d6c7d0 ; Use GNU not Gnu in docs
68672         1bc4def More proofreading of the Emacs manual
68674         Conflicts:
68675                 doc/misc/org.texi
68676                 etc/NEWS
68677                 lisp/org/org-clock.el
68679 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
68681         Improve tramp--test-utf8
68683         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
68684         Encode string when testing environment variables.
68685         (tramp--test-utf8): Remove "TaiViet" test.
68687 2018-03-28  Phillip Lord  <phillip.lord@russet.org.uk>
68689         Reduce parallelism to Windows build
68691         * admin/nt/dist-build/build-zips.sh: Reduce make parallelism to 2.
68693 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68695         Avoid using unportable integer in org-clock
68697         * lisp/org/org-clock.el (org-clock--oldest-date): Avoid use of an
68698         integer outside portable Emacs range.  Go back to using a simple
68699         check, since decode-time should no longer infloop.
68701 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68703         Update from Gnulib
68705         This incorporates:
68706         2018-03-26 time_rz: work around Mac OS X 10.6 infloop
68707         2018-03-20 euidaccess: Port to native Windows.
68708         * lib/euidaccess.c, lib/time_rz.c, m4/time_rz.m4: Copy from Gnulib.
68710 2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
68712         (benchmark-run-compiled): Make it work like 'benchmark-run' again
68714         * lisp/emacs-lisp/benchmark.el (benchmark-run): Add special case for
68715         nil repetitions.
68717 2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
68719         (completion-at-point-functions): Improve doc
68721 2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
68723         (read_key_sewuence): Use POSN in second event when needed (bug#30955)
68725         * src/keyboard.c (active_maps): Add arg 'second_event'.
68726         (read_key_sequence): Pass it.
68728         * lisp/mouse.el (mouse--click-1-maybe-follows-link): Modify event in place.
68730 2018-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
68732         * lisp/mouse.el: Remove redundant ':group's.
68734 2018-03-26  Glenn Morris  <rgm@gnu.org>
68736         * test/lisp/emacs-lisp/bytecomp-tests.el
68737         (bytecomp-test-featurep-warnings): New.
68739 2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
68741         * lisp/emacs-lisp/benchmark.el (benchmark-run): Allow variable.
68743         (benchmark-run): Allow `repetitions` to be a variable rather than a constant.
68745 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
68747         Fix constant folding of overflows
68749         This suppresses some byte-code optimizations that were invalid in
68750         the presence of integer overflows, because they meant that .elc
68751         files assumed the runtime behavior of the compiling platform, as
68752         opposed to the runtime platform.  Problem reported by Pip Cet in:
68753         https://lists.gnu.org/r/emacs-devel/2018-03/msg00753.html
68754         * lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max)
68755         (byte-opt--portable-min): New constants.
68756         (byte-opt--portable-numberp, byte-opt--arith-reduce)
68757         (byte-optimize-1+, byte-optimize-1-): New functions.
68758         (byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply)
68759         (byte-optimize-divide): Avoid invalid optimizations.
68760         (1+, 1-): Use new optimizers.
68761         (byte-optimize-or, byte-optimize-cond): Simplify by using
68762         remq instead of delq and copy-sequence.
68764 2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
68766         Trivial fixes for last changes to package.el and marker.c
68768         * lisp/emacs-lisp/package.el (package-quickstart): Add missing version.
68769         * src/marker.c (verify_bytepos): Fix typo.
68771 2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
68773         * lisp/emacs-lisp/package.el: New quickstart feature
68775         (package--quickstart-pkgs): New var.
68776         (package-activate-1): Obey and fill it.
68777         (package-activate-all): New function.
68778         (package-initialize): Call it.
68779         Set package-initialized before activating the packages.
68780         (package-installed-p): Make it work before package.el is initialized in
68781         the case where min-version is not specified.
68782         (package-install, package-delete): Refresh the quickstart if applicable.
68783         (package-quickstart, package-quickstart-file): New vars.
68784         (package--quickstart-maybe-refresh, package-quickstart-refresh):
68785         New functions.
68787         * lisp/startup.el (command-line): Use package-activate-all rather than
68788         package-initialize.
68790         * doc/lispref/package.texi (Packaging Basics):
68791         * doc/emacs/package.texi (Package Installation):
68792         * doc/lispref/os.texi (Startup Summary): Refer to package-activate-all.
68794 2018-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
68796         * src/marker.c: Try and speed up byte<->char conversion with many markers.
68798         When considering markers (to find a starting point for the conversion),
68799         typically one of the two bounds is nearby (coming from
68800         cached_(byte|char)pos) but the other is far (point-min or point-max),
68801         so change the exit condition so we stop as soon as *one* of the bounds
68802         is near.
68804         (BYTECHAR_DISTANCE_INITIAL, BYTECHAR_DISTANCE_INCREMENT): New constants.
68805         (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Use them to try and
68806         reduce the number of markers we consider.
68808 2018-03-26  Michael Albinus  <michael.albinus@gmx.de>
68810         Fix problem with trailing slash in Tramp
68812         * lisp/net/tramp.el (tramp-handle-file-truename):
68813         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
68814         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
68815         Fix problem with trailing slash.
68817         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
68818         Test also quoted directories.
68820 2018-03-26  Phillip Lord  <phillip.lord@russet.org.uk>
68822         Remove architecture dependent source downloads
68824         * admin/nt/dist-build/build-dep-zips.py:
68826 2018-03-25  Eric Skoglund  <eric@pagefault.se>
68828         Make eshell/kill handle -<signal> and -<SIGNALNAME> (Bug#29156)
68830         * lisp/eshell/esh-proc.el (eshell/kill): Handle the argument parsing
68831         and numeric conversion in function in order to parse -signal and
68832         -SIGNALNAME correctly.
68833         * doc/misc/eshell.texi (kill): Update docs to reflect new function
68834         behaviour.
68835         * etc/NEWS: Mention new eshell/kill behaviour.
68837 2018-03-25  Noam Postavsky  <npostavs@gmail.com>
68839         Allow `&rest' or `&optional' without following variable (Bug#29165)
68841         This is sometimes convenient when writing macros, so that the empty
68842         variable case doesn't need to be handled specially.  Older versions of
68843         Emacs accepted this in some cases (especially the interpreter in Emacs
68844         25 and below was very accepting).
68846                                     |   interpreted/compiled   |
68847         | arglist                   | 25 & earlier | 26  | 27  |
68848         |---------------------------+--------------+-----+-----|
68849         | (&rest)                   | y/n          | n/n | y/y |
68850         | (&rest &rest)             | y/n          | n/n | n/n |
68851         | (&rest &rest x)           | y/n          | n/n | n/n |
68852         | (&rest x &rest)           | y/n          | n/n | n/n |
68853         | (&rest x &rest y)         | y/n          | n/n | n/n |
68854         |---------------------------+--------------+-----+-----|
68855         | (&optional)               | y/n          | n/n | y/y |
68856         | (&optional &optional)     | y/n          | n/n | n/n |
68857         | (&optional x &optional)   | y/n          | n/n | n/n |
68858         | (&optional x &optional y) | y/y          | n/n | n/n |
68859         |---------------------------+--------------+-----+-----|
68860         | (&optional &rest)         | y/n          | n/n | y/y |
68861         | (&optional x &rest)       | y/n          | n/n | y/y |
68862         | (&optional &rest y)       | y/y          | n/n | y/y |
68863         |---------------------------+--------------+-----+-----|
68864         | (&rest &optional)         | y/n          | n/n | n/n |
68865         | (&rest &optional y)       | y/n          | n/n | n/n |
68866         | (&rest x &optional y)     | y/n          | n/n | n/n |
68868         The values in the table above can be produced with the following code:
68870         (with-current-buffer (get-buffer-create "*ck-args*")
68871           (erase-buffer)
68872           (dolist (arglist '((&rest)
68873                              (&rest &rest)
68874                              (&rest &rest x)
68875                              (&rest x &rest)
68876                              (&rest x &rest y)
68877                              (&optional)
68878                              (&optional &optional)
68879                              (&optional x &optional)
68880                              (&optional x &optional y)
68881                              (&optional &rest)
68882                              (&optional x &rest)
68883                              (&optional &rest y)
68884                              (&rest &optional)
68885                              (&rest &optional y)
68886                              (&rest x &optional y)))
68887             (insert
68888              (format "%c/%c\n"
68889                      (condition-case err
68890                          (progn (funcall `(lambda ,arglist 'ok))
68891                                 ?y)
68892                        (error ?n))
68893                      (condition-case err
68894                          (progn (byte-compile-check-lambda-list arglist)
68895                                 ?y)
68896                        (error ?n))))
68897             (display-buffer (current-buffer))))
68899         * src/eval.c (funcall_lambda):
68900         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Don't
68901         check for missing variables after `&rest' and `&optional'.
68902         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913)
68903         (eval-tests-accept-empty-optional-rest): Update tests accordingly.
68904         * etc/NEWS: Update announcement accordingly.
68905         * doc/lispref/functions.texi (Argument List): Update manual to
68906         indicate that variable names are optional.
68908 2018-03-24  Vibhav Pant  <vibhavp@gmail.com>
68910         Fix byte-optimize-memq incorrectly optimizing some memq forms.
68912         * lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): Call
68913           byte-optimize-and only for memq forms that can be optimized, use
68914           byte-optimize-predicate to optimize the final form.
68916 2018-03-24  Vibhav Pant  <vibhavp@gmail.com>
68918         Optimize certain memq forms during byte-compilation.
68920         * lisp/emacs-lisp/byte-opt.el (byte-optimize-memq): New function.
68921           Set the byte optimizer function for memq to byte-optimize-memq.
68923 2018-03-24  Phillip Lord  <phillip.lord@russet.org.uk>
68925         Reduce build load
68927         * admin/nt/dist-build/build-zips.sh: Reduce parallelism to 8
68929 2018-03-23  Glenn Morris  <rgm@gnu.org>
68931         * lisp/emulation/viper.el (viper-set-hooks): Replace obsolete func.
68933         * lisp/vc/vc.el (vc-initial-comment): Remove var unused since 23.2.
68935 2018-03-23  Glenn Morris  <rgm@gnu.org>
68937         Remove some unused gnus-registry variables
68939         * lisp/gnus/gnus-registry.el (gnus-registry-clean-empty)
68940         (gnus-registry-use-long-group-names)
68941         (gnus-registry-max-track-groups, gnus-registry-entry-caching)
68942         (gnus-registry-trim-articles-without-groups):
68943         Remove variables labeled as obsolete since 23.4 that do nothing.
68945 2018-03-23  Glenn Morris  <rgm@gnu.org>
68947         Remove variables labeled as obsolete that do nothing
68949         * lisp/allout.el (allout-passphrase-verifier-string)
68950         (allout-passphrase-hint-string):
68951         * lisp/w32-vars.el (w32-list-proportional-fonts):
68952         Remove variables that are unused since Emacs 23.x.
68954 2018-03-23  Phillip Lord  <phillip.lord@russet.org.uk>
68956         Limit build load
68958         * admin/nt/dist-build/build-zips.sh: Limit build load.
68960 2018-03-23  Phillip Lord  <phillip.lord@russet.org.uk>
68962         Ensure configure is running if necessary
68964         * admin/nt/dist-build/build-zips.sh: Check for missing Makefile.
68966 2018-03-23  Glenn Morris  <rgm@gnu.org>
68968         * lisp/progmodes/cc-langs.el: Silence compiler.
68970 2018-03-23  Glenn Morris  <rgm@gnu.org>
68972         Quieten lisp/obsolete compilation
68974         * lisp/obsolete/vi.el (vi-mark-region):
68975         * lisp/obsolete/vip.el (vip-delete-backward-char): Silence compiler.
68977 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68979         Clarify syntax of radixed integers
68981         * doc/lispref/numbers.texi (Integer Basics): Specify what digits
68982         are allowed in radixed integers, and that there is no initial sign
68983         or final period.
68985 2018-03-23  Glenn Morris  <rgm@gnu.org>
68987         Remove some declare-function stub definitions
68989         * lisp/emulation/viper-cmd.el, lisp/emulation/viper-keym.el:
68990         * lisp/emulation/viper-util.el, lisp/net/newst-plainview.el:
68991         * lisp/net/newst-treeview.el, lisp/ps-def.el, lisp/vc/ediff.el:
68992         * lisp/vc/ediff-util.el, lisp/vc/ediff-wind.el:
68993         Remove stub declare-function definitions.
68994         It exists since Emacs 22.2, released 10 years ago.
68995         Most of these files are using even newer features, such as
68996         lexical-binding and cl-lib anyway, making the stubs pointless.
68998 2018-03-23  Glenn Morris  <rgm@gnu.org>
69000         Replace some uses of cl with cl-lib
69002         * lisp/progmodes/idlw-toolbar.el: No need for cl.
69003         * lisp/progmodes/antlr-mode.el, lisp/progmodes/idlw-shell.el:
69004         * lisp/progmodes/idlwave.el: Replace cl with cl-lib.
69006 2018-03-23  Glenn Morris  <rgm@gnu.org>
69008         Replace cl in some obsolete files
69010         * lisp/obsolete/assoc.el, lisp/obsolete/fast-lock.el:
69011         * lisp/obsolete/mouse-sel.el: No need for cl.
69012         * lisp/obsolete/lazy-lock.el, lisp/obsolete/pgg-gpg.el:
69013         * lisp/obsolete/pgg-parse.el, lisp/obsolete/pgg-pgp.el:
69014         * lisp/obsolete/pgg-pgp5.el, lisp/obsolete/pgg.el:
69015         * lisp/obsolete/sregex.el: Replace cl with cl-lib.
69017 2018-03-23  Glenn Morris  <rgm@gnu.org>
69019         cedet: replace cl with cl-lib
69021         * lisp/cedet/ede/linux.el, lisp/cedet/semantic/decorate/mode.el:
69022         * lisp/cedet/semantic/wisent/comp.el: Replace cl with cl-lib.
69023         * lisp/cedet/cedet.el, lisp/cedet/mode-local.el:
69024         * lisp/cedet/ede/dired.el, lisp/cedet/ede/pmake.el:
69025         * lisp/cedet/ede/proj-comp.el, lisp/cedet/ede/proj-misc.el:
69026         * lisp/cedet/ede/proj-obj.el, lisp/cedet/ede/proj-prog.el:
69027         * lisp/cedet/ede/speedbar.el, lisp/cedet/semantic/analyze.el:
69028         * lisp/cedet/semantic/complete.el:
69029         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/debug.el:
69030         * lisp/cedet/semantic/wisent/python.el:
69031         * lisp/cedet/srecode/compile.el, lisp/cedet/srecode/dictionary.el:
69032         * lisp/cedet/srecode/srt.el: No need for cl.
69034 2018-03-23  Glenn Morris  <rgm@gnu.org>
69036         gnus: replace cl with cl-lib
69038         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
69039         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
69040         * lisp/gnus/gnus-demon.el, lisp/gnus/gnus-group.el:
69041         * lisp/gnus/gnus-icalendar.el, lisp/gnus/gnus-logic.el:
69042         * lisp/gnus/gnus-msg.el, lisp/gnus/gnus-picon.el:
69043         * lisp/gnus/gnus-registry.el, lisp/gnus/gnus-salt.el:
69044         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-spec.el:
69045         * lisp/gnus/gnus-srvr.el, lisp/gnus/gnus-start.el:
69046         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
69047         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
69048         * lisp/gnus/mail-source.el, lisp/gnus/mm-decode.el:
69049         * lisp/gnus/mm-encode.el, lisp/gnus/mm-url.el, lisp/gnus/mm-view.el:
69050         * lisp/gnus/mml-smime.el, lisp/gnus/mml.el, lisp/gnus/mml2015.el:
69051         * lisp/gnus/nnbabyl.el, lisp/gnus/nndoc.el, lisp/gnus/nneething.el:
69052         * lisp/gnus/nnheader.el, lisp/gnus/nnimap.el, lisp/gnus/nnmail.el:
69053         * lisp/gnus/nnmaildir.el, lisp/gnus/nnoo.el, lisp/gnus/nnrss.el:
69054         * lisp/gnus/nnspool.el, lisp/gnus/nntp.el, lisp/gnus/nnvirtual.el:
69055         * lisp/gnus/nnweb.el, lisp/gnus/spam.el: Replace cl with cl-lib.
69056         * lisp/gnus/canlock.el, lisp/gnus/gnus-bcklg.el:
69057         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-cloud.el:
69058         * lisp/gnus/gnus-draft.el, lisp/gnus/gnus-dup.el:
69059         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-html.el:
69060         * lisp/gnus/gnus-int.el, lisp/gnus/gnus-kill.el, lisp/gnus/gnus-ml.el:
69061         * lisp/gnus/gnus-mlspl.el, lisp/gnus/gnus-range.el:
69062         * lisp/gnus/gnus-undo.el, lisp/gnus/gnus-vm.el:
69063         * lisp/gnus/mm-partial.el, lisp/gnus/mm-uu.el, lisp/gnus/mml1991.el:
69064         * lisp/gnus/nnagent.el, lisp/gnus/nndiary.el, lisp/gnus/nndir.el:
69065         * lisp/gnus/nndraft.el, lisp/gnus/nnfolder.el, lisp/gnus/nngateway.el:
69066         * lisp/gnus/nnmairix.el, lisp/gnus/nnmbox.el, lisp/gnus/nnmh.el:
69067         * lisp/gnus/nnml.el, lisp/gnus/score-mode.el, lisp/gnus/smiley.el:
69068         No need for cl.
69070 2018-03-23  Glenn Morris  <rgm@gnu.org>
69072         * lisp/gnus/gnus-vm.el (vm-mode, vm-save-message):
69073         Declare rather than autoload.
69075 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
69077         * src/process.c (Fsignal_process): Simplify.
69079 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
69081         Fix too-large integer in Hg backend
69083         * lisp/vc/vc-hg.el (vc-hg-state-fast):
69084         Don’t assume that 2**32 - 1 is representable as a fixnum.
69086 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
69088         Avoid Fortran-style floating-point optimization
69090         When optimizing arithmetic operations, avoid optimizations that
69091         are valid for mathematical numbers but invalid for floating-point.
69092         For example, do not optimize (+ 1 v 0.5) to (+ v 1.5), as they may
69093         not be the same due to rounding errors.  In general,
69094         floating-point numbers cannot be constant-folded, since that would
69095         make .elc files platform-dependent.
69096         * lisp/emacs-lisp/byte-opt.el (byte-optimize-associative-math):
69097         Do not optimize floats.
69098         (byte-optimize-nonassociative-math, byte-optimize-approx-equal)
69099         (byte-optimize-delay-constants-math, byte-compile-butlast)
69100         (byte-optimize-logmumble):
69101         Remove; no longer used.
69102         (byte-optimize-minus): Do not optimize (- 0 x) to (- x).
69103         (byte-optimize-multiply): Do not optimize (* -1 x) to (- x).
69104         (byte-optimize-divide): Do not optimize (/ x -1) to (- x).
69105         (logand, logior, logxor): Optimize with byte-optimize-predicate
69106         instead of with byte-optimize-logmumble.
69107         * test/lisp/emacs-lisp/bytecomp-tests.el:
69108         (byte-opt-testsuite-arith-data): Add a couple of test cases.
69110 2018-03-23  Michael Albinus  <michael.albinus@gmx.de>
69112         Instrument tramp-test39-utf8
69114         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test):
69115         Add the test name to the template.
69116         (tramp-test39-utf8): Instrument test.
69118 2018-03-23  Glenn Morris  <rgm@gnu.org>
69120         sql.el defcustom fixes
69122         * lisp/progmodes/sql.el (sql-login-params): Update.
69123         Avoids type mismatch with postgres and sqlite login params.
69124         (sql-postgres-login-params): Bump version.
69126 2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
69128         Fix bug#30846, along with misc cleanups found along the way
69130         * test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
69132         * src/buffer.c (swap_out_buffer_local_variables): Remove.
69133         Fuse the body of its loop into that of reset_buffer_local_variables.
69134         (Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
69135         (reset_buffer_local_variables): Make sure the buffer's local binding
69136         is swapped out before removing it from the alist (bug#30846).
69137         Call watchers before actually killing the var.
69139         * src/data.c (Fmake_local_variable): Simplify.
69140         Use swap_in_global_binding to swap out any local binding, instead of
69141         a mix of find_symbol_value followed by messing with where&found.
69142         Don't call swap_in_symval_forwarding since the currently swapped
69143         binding is never one we've modified.
69144         (Fkill_local_variable): Use swap_in_global_binding rather than messing
69145         with where&found to try and trick find_symbol_value into doing the same.
69147         * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
69149 2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
69151         * src/alloc.c: Avoid O(N²) complexity when unchaining markers (bug#24548).
69153         Unchain all dead markers with a single scan of the markers list,
69154         instead of calling the O(N) 'unchain_marker' N times.
69156         (unchain_dead_markers): New function.
69157         (sweep_buffers): Use it.
69158         (gc_sweep): Sweep buffers before markers.
69159         (sweep_misc): Check that markers have been unchained when reclaiming them.
69161 2018-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
69163         Merge from origin/emacs-26
69165         b8ebf5fb64 * src/lisp.h (struct Lisp_Buffer_Local_Value): Update comm...
69166         8c92a37cb4 * doc/emacs/trouble.texi: Fix location of `emacs-version' ...
69167         10b1f2fdd5 Explain more about (defvar foo) form (Bug#18059)
69168         68c2f336b1 * doc/lispref/buffers.texi (Buffer List): Fix grammar.
69169         7e720c6851 * doc/lispref/anti.texi (Antinews): Fix grammar.
69170         a6a821d29b * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
69172 2018-03-23  Robert Pluim  <rpluim@gmail.com>
69174         Make update_autogen work in git worktrees
69176         * admin/update_autogen: Make it work in a git worktree
69178 2018-03-22  Glenn Morris  <rgm@gnu.org>
69180         Quieten cl-lib related compiler warnings
69182         * lisp/completion.el (cl-set-difference):
69183         * lisp/files.el (map-merge-with, map-merge):
69184         * lisp/emacs-lisp/radix-tree.el (map-apply): Declare.
69185         * lisp/emacs-lisp/thunk.el: Load cl-lib at run-time, not
69186         cl-macs at compile.
69187         * lisp/gnus/gnus-group.el: Load cl-lib at run-time, not cl at compile.
69188         * lisp/emacs-lisp/checkdoc.el, lisp/emacs-lisp/package.el
69189         * lisp/gnus/gnus-sum.el, lisp/gnus/message.el, lisp/net/shr.el:
69190         Load cl-lib at run-time.
69191         * lisp/gnus/mml-sec.el (mml-signencrypt-style)
69192         (mml-secure-cust-record-keys): Replace cl with cl-lib,
69193         and load it at run-time.
69194         * lisp/cedet/ede/linux.el, lisp/vc/vc-hg.el: Reorder requires.
69196 2018-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
69198         Try and fix the more obvious sources of bug#30635
69200         * lisp/files.el (dir-locals-read-from-dir): Handle the easy cases
69201         without loading `map`.
69203         * lisp/emacs-lisp/bytecomp.el: Don't require cl-lib at run-time.
69204         (byte-compile-and-folded): Avoid cl-every.
69206 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
69208         Add new command vc-git-stash-delete
69210         * lisp/vc/vc-git.el (vc-git-stash-delete): New command, in line with
69211         vc-git-stash-delete-at-point.
69212         (vc-git-extra-menu-map): Add menu entry.
69214 2018-03-22  Paul Eggert  <eggert@cs.ucla.edu>
69216         Fix byte-opt lists of pure functions etc.
69218         This fixes a bug where a byte-compiler running on 64-bit Emacs
69219         optimized (lsh -1 -1) to #x1fffffffffffffff, an optimization
69220         that is incorrect for .elc files intended for either 32- or
69221         64-bit Emacs.  While I was in the neighborhood, I noticed other
69222         glitches in the lists of pure and side-effect-free functions, and
69223         fixed the errors that I found.
69224         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
69225         Move some functions here from side-effect-and-error-free-fns,
69226         since they can now signal errors.  The affected functions are
69227         current-time-string, current-time-zone,
69228         line-beginning-position, line-end-position.  Rename langinfo
69229         to locale-info.  Add logcount.  Remove string-to-int.
69230         (side-effect-and-error-free-fns): Remove minibuffer-window, a
69231         function that can signal errors, and that is already in
69232         side-effect-free-fns.
69233         (pure-fns): Remove ash, lsh, and logb, since they are
69234         platform-dependent and .elc files should be
69235         platform-independent.  Add %, logand, logcount.  Sort.
69236         Clarify what is meant by “pure”.
69238 2018-03-22  Paul Eggert  <eggert@cs.ucla.edu>
69240         Port emacs-module-tests to 32-bit Emacs
69242         Fix a portability bug when emacs-module-tests.el is byte-compiled
69243         with a 32-bit Emacs (where #x20000000 evaluates to a
69244         floating-point number) and then is run on a 64-bit Emacs (where
69245         the floating-point number causes a test failure).
69246         * test/src/emacs-module-tests.el (mod-test-sum-test):
69247         Don’t assume #x20000000 can be represented as an Emacs integer.
69249 2018-03-22  Glenn Morris  <rgm@gnu.org>
69251         Merge from origin/emacs-26
69253         8ac621b (origin/emacs-26) Document DEFUN attributes
69254         16d0cc7 * etc/NEWS: Add an entry for auth-source-pass.
69255         cc1702f Fix the MSDOS build
69256         daa9e85 Improve warning and error messages
69257         7612dd1 Adjust eieio persistence tests for expected failure
69258         f0cf4dc Let eieio-persistent-read read what object-write has written
69259         40ad1ff Handle possible classtype values in eieio-persistent-read
69260         4ec935d Add new tests for eieio persistence
69261         47917d8 * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc ...
69262         e32f352 * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix t...
69263         5268f30 * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
69264         143b485 * doc/lispref/internals.texi (Writing Emacs Primitives): Fix ...
69265         4ab4551 Firm up documentation of generalized variables
69266         a5bf099 Improve documentation of Auto-Revert mode
69267         ed05eaa Improvements in dired.texi
69269         Conflicts:
69270                 etc/NEWS
69272 2018-03-22  Michael Albinus  <michael.albinus@gmx.de>
69274         Fix commit c24c5dc4a4
69276         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name): Drop volume
69277         letter of localname substitution.  Reported by Chris Zheng
69278         <chriszheng99@gmail.com>.
69280 2018-03-22  Michael Albinus  <michael.albinus@gmx.de>
69282         Tag tramp-test39-utf8* as :unstable
69284         * test/lisp/net/tramp-tests.el (tramp-test39-utf8)
69285         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
69286         (tramp-test39-utf8-with-ls): Tag the tests as :unstable.
69288 2018-03-22  Michael Albinus  <michael.albinus@gmx.de>
69290         Fix Bug#30904
69292         * lisp/net/tramp.el (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
69294 2018-03-21  Paul Eggert  <eggert@cs.ucla.edu>
69296         Port data-tests-popcnt to 32-bit Emacs
69298         * test/src/data-tests.el (data-tests-popcnt):
69299         Don’t assume Emacs integers can represent 32-bit quantities.
69300         Change to a simple and straightforward approach, since runtime
69301         performance is not important here.
69303 2018-03-21  Glenn Morris  <rgm@gnu.org>
69305         * lisp/play/fortune.el (fortune-in-buffer): Revert previous nonsense.
69307 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
69309         Provide completion in vc-git-stash-* commands
69311         * lisp/vc/vc-git.el (vc-git-stash-read-history)
69312         (vc-git-stash-read): New history variable and function.
69313         (vc-git-stash-show, vc-git-stash-apply, vc-git-stash-pop): Update
69314         their interactive specifications.
69316 2018-03-21  Paul Eggert  <eggert@cs.ucla.edu>
69318         Add tests for Bug#30408
69320         * test/src/editfns-tests.el (format-%d-large-float)
69321         (format-%x-large-float, format-%o-invalid-float): New tests.
69323 2018-03-21  Glenn Morris  <rgm@gnu.org>
69325         Quieten eieio-test compilation
69327         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
69328         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
69329         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
69330         Remove obsolete name args where not being explicitly tested.
69332 2018-03-21  Glenn Morris  <rgm@gnu.org>
69334         * lisp/play/fortune.el (fortune-in-buffer): Unadvertise no-op arg.
69336         * lisp/play/fortune.el (fortune-message):
69337         Avoid trailing newline.  (Bug#30887)
69339 2018-03-20  Glenn Morris  <rgm@gnu.org>
69341         * lisp/isearch.el (isearch-pre-command-hook): Replace cl-lib function.
69343         As a preloaded file, isearch.el cannot require cl-lib at runtime.
69345 2018-03-20  Alan Mackenzie  <acm@muc.de>
69347         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Remove pessimization
69349 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
69351         Avoid redisplay problems with too wide wrap-prefix
69353         * src/xdisp.c (display_line): Avoid looping in redisplay when
69354         wrap-prefix is set to a too-wide stretch of whitespace.
69355         (Bug#30432)
69357 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
69359         Port to 32-bit sparc64
69361         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
69362         and Andreas Schwab (Bug#30855).
69363         * src/alloc.c (mark_memory): Call mark_maybe_object only on
69364         pointers that are properly aligned for Lisp_Object.
69366 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
69368         Autoupdate from Gnulib
69370 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
69372         Merge from origin/emacs-26
69374         23527013c7 ; Rewrap doc string
69375         4328d5f744 Correct Info link markup
69376         2fb52abd9e Improve documentation of 'with-help-window'
69377         ec08c62f03 Minor improvements in building.texi
69378         663aafe1ff * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
69379         05781b2e88 ; Spelling fix
69380         aa40014ba3 * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
69381         23072e468f Yet more proofreading of the Emacs manual
69382         ba5a372540 * doc/emacs/rmail.texi: Fix broken link.
69383         6b2210cc29 ; Spelling fix
69384         067c8c4f5b Fix recently-added POP doc glitch
69385         fb3dc0e8aa More proofreading of the Emacs manual
69386         a776ce7be6 Fix typo in the Emacs manual's VC chapter
69387         7f27d42f0b Pass json-readtable-error data as a list (bug#30489)
69388         10bd3b3af8 Improve word motion docs (Bug#30815)
69389         2b8507fbdc Replace "carriage-return" by "carriage return" in manuals
69390         2616cd94f1 Minor copyedits in mule.texi
69391         36a1d52814 Fix problems caused by fontconfig-2.13.0
69393 2018-03-20  Michael Albinus  <michael.albinus@gmx.de>
69395         Extend Tramp's UTF8 tests
69397         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
69398         Apply more exhaustive tests.
69400 2018-03-20  Aaron Jensen  <aaronjensen@gmail.com>
69402         Better support for 'transpose-chars' in Flyspell mode
69404         * lisp/textmodes/flyspell.el (flyspell-post-command-hook): Check
69405         word  before previous point location after 'transpose-chars'.
69406         (Bug#30813)
69408 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69410         Improve port to NetBSD tzalloc
69412         Problem reported by Valery Ushakov (Bug#30738#22).
69413         * src/editfns.c (HAVE_TZALLOC_BUG): New macro.
69414         (tzlookup): Use it.  Compile on all platforms, not just on NetBSD.
69416 2018-03-19  Glenn Morris  <rgm@gnu.org>
69418         * test/lisp/info-xref-tests.el (info-xref-test-emacs-manuals): New.
69420 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69422         Tune time zone 0
69424         * src/editfns.c (tzlookup): Treat time zone 0 like t, for speed.
69425         Suggested by Valery Ushakov (Bug#30738#19).
69427 2018-03-19  Charles A. Roelli  <charles@aurox.ch>
69429         Normalize and fix some mistakes in NS-related commentary
69431         * lisp/term/ns-win.el (ns-insert-working-text): Normalize
69432         commentary.
69433         (x-file-dialog): Fix indentation.
69435         * src/nsfns.m (ns_get_window, interpret_services_menu)
69436         (x_set_background_color, x_set_icon_name, x_set_tool_bar_lines)
69437         (x_set_icon_type, x_set_mouse_color, Fx_create_frame)
69438         (ns_window_is_ancestor, Fns_popup_font_panel)
69439         (Fx_display_visual_class, Fns_font_name, Fns_do_applescript)
69440         (ns_screen_name, compute_tip_xy, Fns_mouse_absolute_pixel_position)
69441         (handlePanelKeys): Normalize commentary (also in top-level
69442         declarations) and remove two outdated comments (one in
69443         Fx_create_frame, the other in compute_tip_xy).
69445         * src/nsterm.h (NSApplication, NSWindow, ns_bitmap_record):
69446         * src/nsselect.m:
69447         * src/nsmenu.m (ns_update_menubar, addItemWithWidgetValue:)
69448         (runMenuAt:forFrame:keymaps:, ns_menu_show, free_frame_tool_bar)
69449         (update_frame_tool_bar, init)
69450         (initWithContentRect:styleMask:backing:defer:)
69451         (initFromContents:isQuestion:, timeout_handler:)
69452         (Fmenu_or_popup_active_p):
69453         * src/nsimage.m (initFromXBM, initFromXBMWithDepth):
69454         * src/nsgui.h:
69455         * src/nsfont.m (ns_spec_to_descriptor, ns_descriptor_to_entity)
69456         (ns_charset_covers, ns_get_req_script, ns_findfonts)
69457         (nsfont_list_family, nsfont_open, nsfont_encode_char)
69458         (nsfont_draw, ns_uni_to_glyphs, ns_glyph_metrics)
69459         (syms_of_nsfont): Normalize commentary (also in top-level
69460         declarations).
69462         * src/nsterm.m (ns_init_locale, ns_retain_object)
69463         (ns_screen_margins_ignoring_hidden_dock, ns_unfocus, NSImageView)
69464         (x_make_frame_visible, x_iconify_frame, x_destroy_window)
69465         (x_set_undecorated, x_set_no_focus_on_map, x_set_z_group)
69466         (ns_index_color, ns_get_color, ns_lisp_to_color)
69467         (note_mouse_movement, scrollbar, ns_scroll_run)
69468         (ns_draw_fringe_bitmap, ns_draw_window_cursor)
69469         (ns_draw_text_decoration, ns_draw_relief)
69470         (ns_dumpglyphs_box_or_relief, ns_dumpglyphs_image)
69471         (ns_dumpglyphs_stretch, ns_draw_glyph_string, ns_send_appdefined)
69472         (ns_check_menu_open, ns_read_socket, ns_select, ns_run_loop_break)
69473         (ns_set_vertical_scroll_bar, ns_set_horizontal_scroll_bar)
69474         (ns_string_to_lispmod, ns_default, ns_initialize_display_info)
69475         (ns_delete_display, ns_term_init, sendEvent:)
69476         (applicationDidFinishLaunching:, applicationDidBecomeActive:)
69477         (fd_handler:, setWindowClosing:, keyDown:, insertText:)
69478         (mouseDown:, mouseMoved:, updateFrameSize:)
69479         (windowWillResize:toSize:, windowDidResize:, windowDidResignKey:)
69480         (initFrameFromEmacs:, toggleFullScreen:, toolbarClicked:)
69481         (writeSelectionToPasteboard:types:, setMiniwindowImage:)
69482         (scrollerWidth, initFrame:window:, setFrame:, repeatScroll:)
69483         (ns_xlfd_to_fontname, syms_of_nsterm): Normalize commentary (also in
69484         top-level declarations), and in ns_get_color, replace a Gmane link
69485         with one from lists.gnu.org, which does not require JS to view the
69486         message.
69488 2018-03-19  Karl Fogel  <kfogel@red-bean.com>
69490         Revert move of interactive `transpose-regions' to Lisp
69492         This reverts my commit 3a3aa0e056a of 2018-03-18 at 21:43:18 UTC.
69493         I thought consensus had been reached, but it had not: Eli Zaretskii
69494         felt the pre-3a3aa0e056a situation was fine and would not like to
69495         see it changed without at least further discussion.
69497 2018-03-19  Alan Third  <alan@idiocy.org>
69499         Fix frame resize flicker on macOS (bug#30699)
69501         * src/nsterm.h (ns_enable_screen_updates): New function.
69502         * src/nsterm.m (ns_enable_screen_updates):
69503         (ns_disable_screen_updates): New functions.
69504         (disable_screen_updates_count): Count of number of times we've called
69505         NSDisableScreenUpdates.
69506         (x_set_window_size): Disable screen updates when not in a live resize
69507         loop.
69508         * src/xdisp.c (redisplay_internal): Reenable screen updates when
69509         redisplay doesn't complete due to a popup.
69510         (unwind_redisplay): Reenable screen updates.
69512 2018-03-19  Michael Albinus  <michael.albinus@gmx.de>
69514         Print top time consuming tests if advised
69516         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
69517         New argument HIGH.  Print top-running tests.
69519         * test/Makefile.in (check-doit): Use ${SUMMARIZE_TESTS}.
69521         * test/README: Explain SUMMARIZE_TESTS.
69523 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
69525         Followup to last change in browse-url.el
69527         * lisp/net/browse-url.el (browse-url-emacs): Doc fix to follow up
69528         the previous change.  (Bug#30673)
69530         * etc/NEWS: Mention the change in 'browse-url-emacs'.
69532 2018-03-19  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
69534         Allow 'browse-url-emacs' to fetch URL in the selected window
69536         * lisp/net/browse-url.el (browse-url-emacs): Use same-window argument.
69537         (Bug#30673)
69539 2018-03-19  Radon Rosborough  <radon.neon@gmail.com>
69541         Various follow-ups for early init file changes
69543         * doc/emacs/custom.texi (Early Init File): Add more details about
69544         which variables must be set in the early init file rather than the
69545         regular init file.  See
69546         https://lists.nongnu.org/archive/html/bug-gnu-emacs/2018-02/msg00827.html
69548         * lisp/emacs-lisp/package.el (package-enable-at-startup): Update
69549         docstring to note that packages are now made available before loading
69550         the init file, rather than afterwards.  See
69551         https://lists.gnu.org/r/emacs-devel/2018-02/msg00632.html
69552         (package-load-list): Refer to "making available" rather than "loading"
69553         for packages.  See
69554         https://lists.gnu.org/r/emacs-devel/2018-02/msg00298.html
69556         * lisp/startup.el (command-line): Call `custom-reevaluate-setting' on
69557         predefined variables before loading the early init file and before
69558         `package-initialize' is called.  This prevents
69559         `Info-default-directory-list' from being unbound when
69560         `package-initialize' tries to access it during startup.  See
69561         https://lists.gnu.org/r/emacs-devel/2018-02/msg00545.html
69563         * lisp/emacs-lisp/package.el (package-initialize): Issue a warning
69564         if called twice.
69565         See: https://lists.gnu.org/r/emacs-devel/2018-02/msg00626.html
69566              https://lists.gnu.org/r/emacs-devel/2018-03/msg00301.html
69568 2018-03-18  Glenn Morris  <rgm@gnu.org>
69570         * lisp/url/url-handlers.el: No need for subr-x at run-time.
69572 2018-03-18  Karl Fogel  <kfogel@red-bean.com>
69574         Move interactive `transpose-regions' to Lisp
69576         Define `transpose-regions' in Lisp, because its complex interactive
69577         spec was ungainly in C, and change the C version to non-interactive
69578         `transpose-regions-internal'.  The Lisp function is just a wrapper
69579         around the C function, which still does all the work.
69581         * lisp/simple.el (transpose-regions): New wrapper function, with
69582           interactive spec taken from old C `transpose-regions'.
69584         * src/editfns.c (Ftranspose_regions): Rename to...
69585           (Ftranspose_regions_internal): ...here, and remove interactive spec.
69587         Discussion on Emacs Devel:
69589           From: Karl Fogel
69590           To: Emacs Development
69591           Cc: Richard Copley, Charles A. Roelli
69592           Subject: Re: [Emacs-diffs] master b88e7c8: \
69593                    Make transpose-regions interactive (Bug#30343)
69594           Date: Fri, 16 Mar 2018 10:23:31 -0500
69595           Message-ID: <87po44jb7w.fsf@red-bean.com>
69597           https://lists.gnu.org/r/emacs-devel/2018-03/msg00555.html
69599 2018-03-18  Nicolas Petton  <nicolas@petton.fr>
69601         Fix compilation warnings in subr-x-tests.el
69603         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-test-if-let*-false)
69604         (subr-x-test-when-let*-false): Make tests simpler and compiler warning
69605         free.
69607 2018-03-18  Nicolas Petton  <nicolas@petton.fr>
69609         * lisp/url/url-handlers.el: Require subr-x.
69611 2018-03-18  Nicolas Petton  <nicolas@petton.fr>
69613         Add URL handler for file-name-directory  (Bug#30444)
69615         * lisp/url/url-handlers.el (url-handler-file-name-directory): New
69616         function which handles special cases for `file-name-directory' and
69617         URLs.
69618         * test/lisp/url/url-handlers-test.el: New file.  Add tests for
69619         `url-handler-file-name-directory'.
69621 2018-03-18  Michael Albinus  <michael.albinus@gmx.de>
69623         * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Print selector.
69625 2018-03-17  Michael Albinus  <michael.albinus@gmx.de>
69627         Optimize tramp-tests.el
69629         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test):
69630         Make it a defsubst.  Adapt all callees.
69631         (tramp--test-print-duration): New defmacro.
69632         (tramp-test11-copy-file, tramp-test12-rename-file)
69633         (tramp-test21-file-links, tramp--test-special-characters):
69634         Run some parts only if expensive tests are enabled.  (Bug#30807)
69636 2018-03-17  Aaron Jensen  <aaronjensen@gmail.com>
69638         In frameset save pixel values with frame-resize-pixelwise non-nil  (Bug#30141)
69640         * lisp/frameset.el (frameset--record-relationships): Replace
69641         check for text width/height and replace with check for
69642         frame-resize-pixelwise.  (Bug#30141)
69644 2018-03-17  Michael Albinus  <michael.albinus@gmx.de>
69646         Print test timings unconditionally
69648         * lisp/emacs-lisp/ert.el (ert-batch-print-duration): Remove.
69649         (ert-run-tests-batch): Adapt accordingly.
69651         * test/Makefile.in:
69652         * test/README: Remove TEST_PRINT_TEST_DURATION.
69654 2018-03-16  Glenn Morris  <rgm@gnu.org>
69656         Explicitly require cl-lib where needed
69658         Rather than relying on the byte-compiler happening to use it.
69659         * lisp/completion.el, lisp/ffap.el, lisp/loadhist.el:
69660         * lisp/userlock.el, lisp/emacs-lisp/debug.el, lisp/emacs-lisp/rx.el:
69661         * lisp/emacs-lisp/testcover.el, lisp/mail/rfc2231.el:
69662         * lisp/net/newst-treeview.el, lisp/net/puny.el:
69663         * lisp/net/tramp-archive.el, lisp/net/tramp-gvfs.el:
69664         * lisp/net/tramp-sh.el, lisp/net/tramp-smb.el, lisp/org/org-ctags.el:
69665         * lisp/org/org-macs.el, lisp/progmodes/grep.el:
69666         * lisp/progmodes/perl-mode.el, lisp/progmodes/ruby-mode.el:
69667         * lisp/textmodes/dns-mode.el, lisp/textmodes/mhtml-mode.el:
69668         * lisp/vc/pcvs-parse.el: Explicitly require cl-lib as needed.
69670 2018-03-16  Glenn Morris  <rgm@gnu.org>
69672         cedet: remove obsolete name args to constructors
69674         * lisp/cedet/ede/proj-archive.el, lisp/cedet/ede/proj-aux.el:
69675         * lisp/cedet/ede/proj-elisp.el, lisp/cedet/ede/proj-info.el:
69676         * lisp/cedet/ede/proj-misc.el, lisp/cedet/ede/proj-obj.el:
69677         * lisp/cedet/ede/proj-shared.el, lisp/cedet/ede/simple.el:
69678         * lisp/cedet/ede/source.el, lisp/cedet/semantic/:
69679         * lisp/cedet/semantic/analyze.el, lisp/cedet/semantic/complete.el:
69680         * lisp/cedet/semantic/db-javascript.el:
69681         * lisp/cedet/semantic/db-ref.el, lisp/cedet/semantic/debug.el:
69682         * lisp/cedet/semantic/ede-grammar.el:
69683         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/scope.el:
69684         * lisp/cedet/semantic/texi.el, lisp/cedet/semantic/bovine/:
69685         * lisp/cedet/semantic/bovine/c.el:
69686         * lisp/cedet/semantic/bovine/debug.el, lisp/cedet/srecode/:
69687         * lisp/cedet/srecode/extract.el, lisp/cedet/srecode/map.el:
69688         * lisp/cedet/srecode/srt-mode.el:
69689         Remove obsolete name args to constructors.
69691 2018-03-16  Glenn Morris  <rgm@gnu.org>
69693         Quieten semantic re-compilation when .elc already exist
69695         * lisp/cedet/semantic/db-find.el, lisp/cedet/semantic/util.el:
69696         Add some function declarations.
69698 2018-03-16  Glenn Morris  <rgm@gnu.org>
69700         * lisp/gnus/gnus-registry.el: Add missing compile-time requirement.
69702 2018-03-16  Eli Zaretskii  <eliz@gnu.org>
69704         Fix 'posn-at-point' when line numbers are displayed
69706         * src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
69707         coordinate due to line-number display.  (Bug#30834)
69709 2018-03-16  Eli Zaretskii  <eliz@gnu.org>
69711         Another followup to fixing 'window-text-pixel-width'
69713         * src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
69714         when we stop one buffer position short of TO.  (Bug#30746)
69716 2018-03-16  Michael Albinus  <michael.albinus@gmx.de>
69718         Optimize "make check" and "make check-maybe"
69720         * lisp/emacs-lisp/ert.el (ert-run-tests-batch): Print summary duration.
69722         * test/Makefile.in (TEST_LOAD_EL): Set default to "no" for
69723         targets all, check, and check-maybe.  (Bug#30807)
69725         * test/README: Reflect recent changes in Makefile.
69727         * test/lisp/net/tramp-archive-tests.el
69728         (tramp-archive-test99-libarchive-tests): Tag it :unstable.
69730 2018-03-16  Reuben Thomas  <rrt@sc3d.org>
69732         Call enchant-lsmod correctly when Enchant is installed with a suffix
69734         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
69735         version suffix on the binary name, so enchant-2 is converted to
69736         enchant-lsmod-2, not enchant-2-lsmod.
69738 2018-03-15  Glenn Morris  <rgm@gnu.org>
69740         Suppress warnings about obsolete generics (bug#25556)
69742         * lisp/Makefile.in (MAIN_FIRST): New variable.
69743         (compile-main): Put some files at the head of the queue.
69745 2018-03-15  Glenn Morris  <rgm@gnu.org>
69747         Replace some obsolete uses of filter-buffer-substring-functions
69749         * lisp/org/org-agenda.el (org-agenda-mode):
69750         * lisp/org/org-indent.el (org-indent-mode):
69751         Replace filter-buffer-substring-functions, obsolete since 24.4.
69753 2018-03-15  Glenn Morris  <rgm@gnu.org>
69755         * lisp/gnus/nnmaildir.el (nnmaildir-close-server):
69756         Remove unused locals.
69758         * lisp/emulation/cua-base.el (cua-paste): Quieten compilation.
69760         * lisp/progmodes/verilog-mode.el (verilog-mode): Quieten compilation.
69762 2018-03-15  Paul Eggert  <eggert@cs.ucla.edu>
69764         Improve port to NetBSD tzalloc
69766         Problem reported by Valery Ushakov (Bug#30738#13).
69767         * src/editfns.c (tzlookup) [__NetBSD_Version__ < 700000000]:
69768         If tzalloc fails for any reason other than memory exhaustion,
69769         assume it’s because NetBSD 6 does not support tzalloc on
69770         POSIX-format TZ strings, and fall back on tzdb if possible.
69772 2018-03-15  Glenn Morris  <rgm@gnu.org>
69774         * test/lisp/ses-tests.el: Quieten compilation.
69776         * lisp/pcomplete.el (pcomplete-here): Move before first reference.
69778 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
69780         Improve robustness in tramp-sh.el
69782         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
69783         Wrap both echo calls in parentheses, in order to avoid double prompt.
69785 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
69787         Support variable-unquoting syntax in bat-mode
69789         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fontify
69790         argument numbers in %~n.  Suggested by Jostein Kjønigsen
69791         <jostein@secure.kjonigsen.net> in emacs-devel.
69793         * test/lisp/progmodes/bat-mode-tests.el
69794         (bat-test-fontification-iter-var-1): Update the test to check also
69795         the %~n construct.
69797 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
69799         Fix mouse-set-point when line numbers are displayed
69801         * src/xdisp.c (move_it_to): Initialize the line_number_produced_p
69802         flag before iterating on a new line.  (Bug#30818)
69804 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
69806         Fix an error in tramp-archive-test42-auto-load
69808         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test42-auto-load):
69809         Do not use "/ssh::" as test directory, it could harm.  (Bug#30807)
69811 2018-03-14  Glenn Morris  <rgm@gnu.org>
69813         More hydra.nixos.org logging for unfinished tests
69815         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
69816         Dump contents of any unfinished log files on hydra.nixos.org.
69818 2018-03-14  Stefan Monnier  <monnier@iro.umontreal.ca>
69820         * lisp/desktop.el: Make use some "new" functionality
69822         (desktop-files-not-to-save, desktop-clear):
69823         Use \` and \' when we don't intend to match newlines.
69824         (desktop-minor-mode-table): Remove auto-fill-function entry.
69825         (desktop-buffer-info): Use :minor-mode-function instead.
69826         (desktop--v2s): Use a closure rather than a backquoted lambda.
69827         (desktop-save): Set 'lexical-binding' in the saved file.
69828         Use 'utf-8-emacs' encoding rather than the old 'emacs-mule'.
69829         (desktop-read): Use 'default-value' to get the global part of a hook.
69831 2018-03-14  Michael Albinus  <michael.albinus@gmx.de>
69833         Extend ert to print duration of single tests
69835         * lisp/emacs-lisp/ert.el (ert-test-result): New slot ´duration'.
69836         (ert-run-or-rerun-test): Set it.
69837         (ert-batch-print-duration): New defvar.
69838         (ert-run-tests-batch): Print duration if needed.
69840         * test/Makefile.in (TEST_PRINT_TEST_DURATION): New variable.
69842         * test/README: Explain TEST_PRINT_TEST_DURATION.
69844 2018-03-13  Noam Postavsky  <npostavs@gmail.com>
69846         Fix line-wrapping for term.el (Bug#30775)
69848         * lisp/term.el (term-emulate-terminal): Leave line-wrapping state if
69849         point was moved after we entered it.
69850         * test/lisp/term-tests.el (term-line-wrapping-then-motion): New test.
69852 2018-03-13  Glenn Morris  <rgm@gnu.org>
69854         Merge from origin/emacs-26
69856         675edec (origin/emacs-26) Fix some allout.el aliases
69857         b2c069a * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving)...
69858         2f5420c Doc fixes re obsolete items
69859         9edf82a Replace an obsolete alias in tpu-mapper
69860         a643792 Doc fixes re obsolete items
69861         3060fb8 Minor changes in mule.texi
69862         3e39897 Avoid assertion violation under visual-order-cursor-movement
69863         e4b73ab Stop mentioning options.el in doc
69864         05669f0 ; * lisp/minibuffer.el (completion-cycle-threshold): Fix last...
69865         758597f * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
69866         62f0a2b * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
69867         761845c Fix last change in Xref documentation
69868         5186675 More changes in the Emacs manual
69869         b1aaa72 Improve documentation of Xref
69871         Conflicts:
69872                 lisp/w32-fns.el
69874 2018-03-13  Glenn Morris  <rgm@gnu.org>
69876         Try to stop tramp test hangs on hydra
69878         * test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
69879         Use fewer processes on hydra.
69881 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
69883         * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
69885 2018-03-12  Glenn Morris  <rgm@gnu.org>
69887         * lisp/subr.el (focus-frame, unfocus-frame): Remove obsolete no-ops.
69889         * lisp/vc/ediff-util.el (ediff-recenter):
69890         Don't try focus-frame on Emacs.
69892 2018-03-12  Glenn Morris  <rgm@gnu.org>
69894         * lisp/obsolete/options.el: Remove file.
69896         * lisp/loadhist.el (unload-hook-features-list): Remove obsolete alias.
69898 2018-03-12  Glenn Morris  <rgm@gnu.org>
69900         Make compiler warn about use of obsolete hooks
69902         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
69903         Warn about using obsolete hooks.
69905 2018-03-12  Glenn Morris  <rgm@gnu.org>
69907         Replace use of the obsolete write-contents-hooks
69909         * lisp/play/gametree.el (gametree-mode):
69910         Replace write-contents-hooks, obsolete since 22.1,
69911         with write-contents-functions.
69913 2018-03-12  Paul Eggert  <eggert@cs.ucla.edu>
69915         Revert overenthusiastic procfs fixup
69917         Also, be more systematic in calls to string_to_number.
69918         * src/sysdep.c (list_system_processes) [HAVE_PROCFS]: Allow pids
69919         to be floating-point if they exceed fixnum range.  This partially
69920         reverts my patch 2018-03-09T20:06:05Z!eggert@cs.ucla.edu, which
69921         went too far in fixing string-to-number mishandling.
69923 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
69925         Allow toggling Grep command abbreviation, and rename related symbols
69927         * lisp/progmodes/grep.el (grep-find-hide): Rename 'grep-find-hide'
69928         to 'grep-find-abbreviate'.
69929         (grep-find-hide-properties): Rename to
69930         'grep-find-abbreviate-properties'.
69931         (grep-mode-font-lock-keywords): Even when 'grep-find-abbreviate'
69932         is nil, fontify the verbose command options with property
69933         'abbreviated-command', so that the toggling command can later find
69934         these parts without refontifying.
69935         (grep-find-show): Rename to 'grep-find-toggle-abbreviation',
69936         simplify the code, and permit toggling the hidden command options.
69937         (grep-mode-map): Add a menu-bar item and new separator for
69938         'grep-find-toggle-abbreviation', and fix the incumbent separators
69939         in the "Grep" menu-bar, of which only one was showing before this
69940         commit, even though two were specified.
69941         * etc/NEWS (grep):
69942         * doc/emacs/building.texi (Grep Searching): Document these
69943         changes, and mention 'grep-find-toggle-abbreviation'.
69945 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
69947         Document 'transpose-sentences' and 'transpose-paragraphs'
69949         * doc/emacs/fixit.texi (Transpose): Add documentation and index
69950         entries for 'transpose-sentences' and 'transpose-paragraphs'
69951         (Bug#30343 in passing).
69953 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
69955         Make transpose-regions interactive (Bug#30343)
69957         * doc/emacs/fixit.texi (Transpose): Mention and explain the new
69958         command.
69959         * src/editfns.c (Ftranspose_regions): Add an interactive calling
69960         specification, and add documentation for it.
69962 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
69964         Unify documentation on 'save-some-buffers'
69966         * doc/emacs/files.texi (Save Commands): Include some more keys
69967         that can be used in 'save-some-buffers'.
69969         * lisp/files.el (save-some-buffers): Include the same keys as
69970         above, and document all missing ones.
69972 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
69974         * lisp/simple.el (mark-whole-buffer): Clarify its behavior.
69976 2018-03-11  Charles A. Roelli  <charles@aurox.ch>
69978         Improve and make use of 'image--get-image'
69980         * lisp/image.el (image--get-image): Add documentation, and
69981         check overlays for images too (since function 'put-image' from
69982         the same library uses overlays to insert images).
69983         (image-save): Use 'image--get-image'.
69985 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
69987         Port to NetBSD tzalloc
69989         Problem reported by Valery Ushakov (Bug#30738).
69990         * src/editfns.c (xtzalloc): Remove.
69991         (invalid_time_zone_specification): New function.
69992         (tzlookup): Port to NetBSD, where tzalloc can fail when the TZ
69993         string has an invalid value.
69995 2018-03-10  Glenn Morris  <rgm@gnu.org>
69997         Remove many items obsolete since Emacs 22.1
69999         Emacs 22.1 was five major releases and over decade ago.
70000         In bug reporting statistics, it's been absent for around 5 years.
70001         Ref: https://debbugs.gnu.org/stats/emacs.html
70002         This list can be reviewed before to the next release, but for
70003         now hopefully this motivates any needed external updates.
70004         * lisp/arc-mode.el (archive-mouse-extract):
70005         * lisp/bookmark.el (bookmark-exit-hooks):
70006         * lisp/comint.el (comint-use-prompt-regexp-instead-of-fields):
70007         * lisp/cus-edit.el (custom-face-save-command):
70008         * lisp/descr-text.el (describe-char-after):
70009         * lisp/desktop.el (desktop-enable, desktop-basefilename)
70010         (desktop-buffer-modes-to-save, desktop-buffer-misc-functions)
70011         (desktop-buffer-handlers, desktop-load-default):
70012         * lisp/dired-x.el (dired-omit-files-p):
70013         * lisp/frame.el (new-frame, set-default-font, delete-frame-hook)
70014         (blink-cursor):
70015         * lisp/generic-x.el (generic-define-mswindows-modes)
70016         (generic-define-unix-modes):
70017         * lisp/help.el (describe-project, view-todo):
70018         * lisp/hilit-chg.el (highlight-changes-colours):
70019         * lisp/ibuffer.el (ibuffer-elide-long-columns, ibuffer-hooks)
70020         (ibuffer-mode-hooks):
70021         * lisp/imenu.el (imenu-always-use-completion-buffer-p):
70022         * lisp/isearch.el (isearch-lazy-highlight-cleanup)
70023         (isearch-lazy-highlight-initial-delay)
70024         (isearch-lazy-highlight-interval)
70025         (isearch-lazy-highlight-max-at-a-time)
70026         (isearch-lazy-highlight-cleanup):
70027         * lisp/mwheel.el (mouse-wheel-down-button)
70028         (mouse-wheel-up-button, mouse-wheel-click-button):
70029         * lisp/novice.el (disabled-command-hook):
70030         * lisp/recentf.el (recentf-menu-append-commands-p):
70031         * lisp/savehist.el (savehist-load):
70032         * lisp/speedbar.el (speedbar-ignored-path-expressions)
70033         (speedbar-ignored-path-regexp, speedbar-add-ignored-path-regexp)
70034         (speedbar-line-path, speedbar-buffers-line-path, speedbar-path-line):
70035         * lisp/subr.el (assoc-ignore-case, assoc-ignore-representation)
70036         (x-lost-selection-hooks, x-sent-selection-hooks)
70037         (process-kill-without-query):
70038         * lisp/calendar/icalendar.el (icalendar-convert-diary-to-ical)
70039         (icalendar-extract-ical-from-buffer):
70040         * lisp/emacs-lisp/autoload.el (update-autoloads-from-directories):
70041         * lisp/emacs-lisp/derived.el (derived-mode-class):
70042         * lisp/emacs-lisp/generic.el (generic-font-lock-defaults):
70043         * lisp/emacs-lisp/timer.el (timer-set-time-with-usecs):
70044         * lisp/gnus/spam.el (spam-list-of-processors):
70045         * lisp/international/latin1-disp.el (latin1-char-displayable-p):
70046         * lisp/mail/rmail.el (rmail-pop-password, rmail-pop-password-required):
70047         * lisp/net/goto-addr.el (goto-address-at-mouse):
70048         * lisp/net/net-utils.el (ipconfig-program, ipconfig-program-options):
70049         * lisp/obsolete/iswitchb.el (iswitchb-use-fonts):
70050         * lisp/play/dunnet.el (dungeon-mode-map):
70051         * lisp/progmodes/compile.el (compilation-finish-function)
70052         * lisp/progmodes/cperl-mode.el (cperl-vc-header-alist)
70053         * lisp/progmodes/gud.el (tooltip-gud-modes, tooltip-gud-display)
70054         (tooltip-gud-toggle-dereference):
70055         * lisp/progmodes/pascal.el (pascal-outline):
70056         * lisp/progmodes/perl-mode.el (electric-perl-terminator):
70057         * lisp/textmodes/nroff-mode.el (count-text-lines)
70058         (forward-text-line, backward-text-line, electric-nroff-newline)
70059         (electric-nroff-mode):
70060         * lisp/vc/log-edit.el (vc-comment-ring, vc-comment-ring-index)
70061         (vc-previous-comment, vc-next-comment)
70062         (vc-comment-search-reverse, vc-comment-search-forward)
70063         (vc-comment-to-change-log):
70064         * lisp/vc/pcvs-info.el (cvs-display-full-path)
70065         (cvs-fileinfo->full-path):
70066         * lisp/vc/vc.el (vc-diff-switches-list):
70067         Remove items, obsolete since Emacs 22.1.
70068         * lisp/ibuffer.el (ibuffer-cached-elide-long-columns):
70069         Remove internal variable.
70070         (ibuffer-compile-make-eliding-form, ibuffer-check-formats):
70071         (ibuffer-mode): Remove support for ibuffer-elide-long-columns.
70072         * lisp/cedet/semantic/sb.el (semantic-sb-token-jump):
70073         Remove support for speedbar-line-path.
70074         * lisp/emacs-lisp/unsafep.el (assoc-ignore-case):
70075         Stop marking as side-effect-free.
70076         * lisp/gnus/spam.el (spam-group-processor-p):
70077         Remove support for spam-list-of-processors.
70078         * lisp/progmodes/compile.el (define-compilation-mode)
70079         (compilation-handle-exit):
70080         Remove support for compilation-finish-function.
70081         * lisp/progmodes/cperl-mode.el (cperl-mode):
70082         Remove support for cperl-vc-header-alist.
70084 2018-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
70086         eshell-eval-using-options: Avoid compiler warning differently
70088         * lisp/eshell/em-unix.el (eshell/time):
70089         * lisp/eshell/em-tramp.el (eshell/sudo):
70090         * lisp/eshell/esh-var.el (eshell/env): Remove artificial use of `args'.
70092         * lisp/eshell/esh-opt.el (eshell-eval-using-options): Silence warning
70093         when `args' is not used by `body-forms'.
70095 2018-03-10  Paul Eggert  <eggert@cs.ucla.edu>
70097         Merge from origin/emacs-26
70099         5c91ca8 Fix create_process bug breaking eudc-expand-inline
70100         e244fed Clarify that nil doesn't match itself as a cl-case clause (Bu...
70101         df0e7e2 Improve SVG documentation
70102         a34ef52 Document the "URL" keyword in library headers
70103         fbc7f9a * test/lisp/international/mule-tests.el: Avoid local variable...
70104         16faff6 ; * lisp/org/org-table.el: Replace obsolete alias in comment.
70106 2018-03-10  Paul Eggert  <eggert@cs.ucla.edu>
70108         Merge from origin/emacs-26
70110         6af509e Replace the obsolete process-kill-without-query in documentation
70111         4df0d15 ; Tiny fix for recent doc change
70113 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
70115         Let warning about (:foo) be suppressible (Bug#30499)
70117         * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Check
70118         byte-compile-warning-enabled-p before warning about funcalling const
70119         symbol.
70121 2018-03-10  Dmitry Safronov  <saf.dmitry@gmail.com>
70123         Fix wrong behavior of 'outline-headers-as-kill' command (Bug#30209)
70125         * lisp/outline.el (outline-headers-as-kill): Fix heading duplication.
70127 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
70129         Improve support for desktop restoration in daemon mode
70131         * lisp/server.el (server-after-make-frame-hook): New hook.
70132         (server-execute): Call it after creating a new frame or before
70133         switching to a buffer shown in a client frame.  (Bug#30421)
70135         * doc/emacs/misc.texi (Saving Emacs Sessions): Adjust advice for
70136         restoring desktop in daemon mode to the new hook.
70137         * doc/lispref/frames.texi (Creating Frames, Standard Hooks):
70138         Document server-after-make-frame-hook.
70140         * etc/NEWS: Mention server-after-make-frame-hook.
70142 2018-03-10  Aaron Jensen  <aaronjensen@gmail.com>
70144         Allow underline position variables be buffer-local
70146         * src/nsterm.m (ns_draw_text_decoration):
70147         * src/w32term.c (x_draw_glyph_string):
70148         * src/xterm.c (x_draw_glyph_string): Allow underline-minimum-offset,
70149         underline-at-descent-line, and x-use-underline-position-properties
70150         be buffer local variables.  (Bug#30553)
70151         * src/xdisp.c (syms_of_xdisp) <underline-minimum-offset>: Add DEFSYM.
70153 2018-03-09  Glenn Morris  <rgm@gnu.org>
70155         * Makefile.in (check-declare): Also check test/ directory.
70157         * test/Makefile.in (check-declare): New PHONY rule.
70159 2018-03-09  Glenn Morris  <rgm@gnu.org>
70161         Quieten --without-json compilation of json-tests.el
70163         * test/src/json-tests.el (json-serialize, json-insert)
70164         (json-parse-string, json-parse-buffer): Declare.
70166 2018-03-09  Glenn Morris  <rgm@gnu.org>
70168         * test/lisp/vc/vc-tests.el (w32-application-type): Fix declaration.
70170 2018-03-09  Paul Eggert  <eggert@cs.ucla.edu>
70172         Fix string-to-number C-level mishandling
70174         * src/sysdep.c (list_system_processes):
70175         * src/xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
70176         Defend against Fstring_to_number returning a float or a nonsense
70177         integer.
70179 2018-03-09  Glenn Morris  <rgm@gnu.org>
70181         Quieten compilation of some test/lisp files
70183         * test/lisp/dired-tests.el (dired-test-bug27243-02)
70184         (dired-test-bug27243-03, dired-test-bug27899)
70185         (dired-test-with-temp-dirs): Remove unused local variables.
70186         * test/lisp/hi-lock-tests.el (hi-lock-bug26666)
70187         (hi-lock-test-set-pattern): Mark unused arguments.
70188         * test/lisp/ses-tests.el (ses-tests-renamed-cells-row-insertion):
70189         Remove unused global "ses-tests-trigger".
70190         * test/lisp/simple-tests.el (line-number-at-pos-when-passing-point):
70191         Remove unused local "pos".
70192         * test/lisp/emacs-lisp/benchmark-tests.el (benchmark-tests):
70193         Pacify compiler.
70194         * test/lisp/emacs-lisp/package-tests.el (package-test-signed):
70195         Replace obsolete function epg-configuration.
70196         * test/lisp/ls-lisp-tests.el:
70197         * test/lisp/eshell/em-ls-tests.el: Require dired.
70198         * test/lisp/progmodes/ruby-mode-tests.el
70199         (ruby-forward-sexp-skips-method-calls-with-keyword-names):
70200         * test/lisp/vc/diff-mode-tests.el
70201         (diff-mode-test-ignore-trailing-dashes): Replace interactive funcs.
70203 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
70205         Avoid losing info when formatting integers
70207         * doc/lispref/numbers.texi (Integer Basics): Clarify that
70208         out-of-range integers are treated as floating point only when the
70209         integers are decimal.
70210         * etc/NEWS: Mention changes.
70211         * src/editfns.c (styled_format): Use %.0f when formatting %d or %i
70212         values outside machine integer range, to avoid losing info.
70213         Signal an error for %o or %x values that are too large to be
70214         formatted, to avoid losing info.
70216 2018-03-08  Glenn Morris  <rgm@gnu.org>
70218         Replace uses of the obsolete local-write-file-hooks
70220         * lisp/net/quickurl.el (quickurl-reread-hook-postfix):
70221         * lisp/progmodes/ebrowse.el (ebrowse-tree-mode)
70222         (ebrowse-write-file-hook-fn):
70223         * lisp/progmodes/glasses.el (glasses-mode):
70224         * lisp/progmodes/vhdl-mode.el (vhdl-write-file-hooks-init):
70225         * lisp/vc/ediff-merg.el (ediff-set-merge-mode):
70226         * lisp/vc/ediff-util.el (ediff-setup):
70227         Replace local-write-file-hooks, obsolete since 22.1,
70228         with write-file-functions.
70230 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
70232         Update from Gnulib
70234         This includes:
70235         2018-03-08 fflush: be more paranoid about libio.h change
70236         * lib/fpending.c: Copy from Gnulib.
70238 2018-03-08  Juri Linkov  <juri@linkov.net>
70240         * lisp/isearch.el (search-exit-option): Add option 'append'.
70242         (isearch-pre-command-hook): Use it.
70244         * doc/emacs/search.texi: Replace search-exit-option option nil with append.
70246         https://lists.gnu.org/r/emacs-devel/2018-03/msg00202.html
70248 2018-03-08  Charles A. Roelli  <charles@aurox.ch>
70250         Add to "Completion Commands" Info node
70252         * doc/emacs/mini.texi (Completion Commands): Mention other keys
70253         for 'next-completion' and 'previous-completion', and explain 'q'
70254         and 'z' which are relatively new additions.
70256 2018-03-08  Glenn Morris  <rgm@gnu.org>
70258         Merge from origin/emacs-26
70260         cb0d40e (origin/emacs-26) Minor change in the manual
70261         7e26d83 More minor changes in the manual
70262         6851754 Replace some obsolete aliases in code
70263         6bcb48c Replace some obsolete aliases in documentation
70264         317da2a Minor improvements in manuals
70265         61c1f80 Minor copyedits in display.texi
70266         d523e4a Remove some unused spam.el variables
70267         501808c Replace some obsolete aliases in code
70268         19afff3 Replace some obsolete aliases in documentation
70269         c797bc9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
70270         0efe0bd Obsolete eshell-cmpl-suffix-list
70271         add48d2 More minor changes in the Glossary of the Emacs manual
70272         f6bd7e0 Revert last commit
70273         af4697f Define if-let* and derivatives as aliases for if-let etc
70274         ec79bdc Minor fix in Emacs manual's Glossary
70276 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
70278         Fix 'window-text-pixel-size' when display properties are around
70280         * src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
70281         there's a display property at the  TO position, and the call to
70282         move_it_to overshoots.  (Bug#30746)
70284 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
70286         Add OpenDocument formats to Tramp file archives
70288         * doc/misc/tramp.texi (Archive file names):
70289         * lisp/net/tramp-archive.el (tramp-archive-suffixes):
70290         Add OpenDocument formats.
70292 2018-03-07  Mike Kupfer  <mkupfer@alum.berkeley.edu>
70294         * lisp/mh-e/mh-e.el (mh-variant-set): Tweak failure message.
70296         * lisp/mh-e/mh-utils.el (mh-find-path): Add missing part of previous.
70298 2018-03-07  Glenn Morris  <rgm@gnu.org>
70300         Suppress "No MH variant found" message (bug#30669)
70302         * lisp/mh-e/mh-e.el (mh-variant): Don't try to detect till needed.
70303         * lisp/mh-e/mh-e.el (mh-version, mh-variant-p):
70304         * lisp/mh-e/mh-comp.el (mh-insert-x-mailer):
70305         Ensure mh-variant-in-use is set.
70307 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
70309         Update from Gnulib
70311         This includes:
70312         2018-03-07 maint: write-file-hooks -> before-save-hook
70313         2018-03-05 binary-io: pacify gcc -Wunused-parameter
70314         2018-03-05 fflush: adjust to glibc 2.28 libio.h removal
70315         * build-aux/config.guess, build-aux/config.sub:
70316         * build-aux/gitlog-to-changelog, build-aux/install-sh:
70317         * build-aux/move-if-change, build-aux/update-copyright:
70318         * doc/misc/texinfo.tex, lib/binary-io.h, lib/fpending.c:
70319         * lib/stdio-impl.h: Copy from Gnulib.
70321 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
70323         Fix display of TABs in hscrolled windows with line numbers
70325         * src/dispextern.h (struct it): New members tab_offset and
70326         line_number_produced_p.
70327         * src/xdisp.c (display_line): Don't set row->x to a negative value
70328         if line numbers are being displayed.  (Bug#30582)
70329         Reset the line_number_produced_p flag before laying out the glyph
70330         row.
70331         (x_produce_glyphs): Use the line_number_produced_p flag to decide
70332         whether to offset the X coordinate due to line-number display.
70333         Use the tab_offset member to restore the original TAB width for
70334         alignment purposes.
70335         (move_it_in_display_line_to): Don't produce line numbers when moving
70336         in hscrolled window to the left of first_visible_x.
70337         (maybe_produce_line_number): Set the line_number_produced_p flag.
70338         (Bug#30584)
70339         * src/term.c (produce_glyphs): Correct TAB width only when
70340         line_number_produced_p flag is set.
70342 2018-03-06  Glenn Morris  <rgm@gnu.org>
70344         Condition em-cmpl's setting of pcomplete-suffix-list
70346         * lisp/eshell/em-cmpl.el (eshell-cmpl-initialize):
70347         Only set pcomplete-suffix-list if it is defined.
70349 2018-03-05  Glenn Morris  <rgm@gnu.org>
70351         Suppress some font-lock-fontify-buffer compiler warnings
70353         * lisp/htmlfontify.el (hfy-force-fontification):
70354         * lisp/progmodes/idlw-help.el (idlwave-help-fontify):
70355         Suppress compiler warning from backwards compatibility branch.
70357 2018-03-05  Glenn Morris  <rgm@gnu.org>
70359         Small auth-source-netrc-create fix
70361         * lisp/auth-source.el (auth-source-netrc-create):
70362         Fix handling of auth-source-netrc-use-gpg-tokens being a list.
70364 2018-03-05  Glenn Morris  <rgm@gnu.org>
70366         * lisp/emacs-lisp/ewoc.el (ewoc-goto-node):
70367         Simplify and quieten compiler.
70369 2018-03-05  Glenn Morris  <rgm@gnu.org>
70371         Suppress some unused lexical variable warnings in eshell
70373         * lisp/eshell/em-tramp.el (eshell/sudo):
70374         * lisp/eshell/em-unix.el (eshell/time):
70375         * lisp/eshell/esh-var.el (eshell/env):
70376         Pretend to use "args" to quieten compiler.
70378 2018-03-05  Glenn Morris  <rgm@gnu.org>
70380         Suppress some compiler warnings about pcomplete
70382         * lisp/erc/erc-dcc.el, lisp/eshell/em-xtra.el:
70383         Load pcomplete at run-time too, to silence compiler.
70385 2018-03-05  Glenn Morris  <rgm@gnu.org>
70387         * lisp/pcmpl-rpm.el (pcmpl-rpm-all-query): Fix typo in previous.
70389 2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>
70391         uniqify -> uniquify
70393         The latter spelling is more common both within Emacs and in
70394         English-language sources in general (Bug#10048).
70395         * lisp/eshell/esh-util.el (eshell-uniquify-list):
70396         Rename from eshell-uniqify-list.  All callers changed.
70397         * lisp/pcomplete.el (pcomplete-uniquify-list):
70398         Rename from pcomplete-uniqify-list.  All callers changed.
70400 2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>
70402         Spelling fixes (Bug#10068)
70404         * lisp/gnus/gnus-score.el (gnus-score-find-favorite-words):
70405         Rename from gnus-score-find-favourite-words.
70406         * lisp/hfy-cmap.el (hfy-fallback-color-map)
70407         (hfy-rgb-txt-color-map, hfy-fallback-color-values):
70408         * lisp/htmlfontify.el (hfy-color-vals, hfy-color):
70409         Rename from names that used 'colour' instead of 'color'.
70411 2018-03-04  Paul Eggert  <eggert@cs.ucla.edu>
70413         Merge from origin/emacs-26
70415         f2caf08ca6 ; Spelling fixes
70416         f0e5f220b6 * lisp/progmodes/grep.el (zrgrep):
70417         a0f71260f8 Minor copyedits in doc/emacs/text.texi
70418         adfe2f580f Remove outdated comment in syntax.el
70419         b80e15b6a6 Prevent Flyspell from changing unrelated words
70420         e385599457 Avoid errors in flymake in builds --without-x
70421         d691e30cb0 More improvements of the Emacs manual
70423 2018-03-04  Daniel Colascione  <dancol@dancol.org>
70425         Rename marker_free_list to misc_free_list
70427         * src/alloc.c: 'marker_free_list' -> 'misc_free_list' throughout
70429 2018-03-03  Glenn Morris  <rgm@gnu.org>
70431         * lisp/epa-mail.el (epa-mail-default-recipients): Replace obsolete func.
70433 2018-03-03  Glenn Morris  <rgm@gnu.org>
70435         Replace some obsolete functions in gnus
70437         * lisp/gnus/mml-sec.el (mml-secure-epg-encrypt):
70438         * lisp/gnus/smime.el (smime-ask-passphrase): Replace obsolete functions.
70440 2018-03-03  Bill Wohler  <wohler@newt.com>
70442         Add missing findex entries for recently removed kindex entries
70444         * doc/misc/mh-e.texi:
70446 2018-03-03  Juri Linkov  <juri@linkov.net>
70448         * lisp/isearch.el (search-exit-option): Add options ‘shift-move’ and ‘move’.
70450         Change type from ‘boolean’ to ‘choice’.  Extend docstring.
70451         (isearch-pre-move-point): New variable.
70452         (isearch-pre-command-hook, isearch-post-command-hook):
70453         Handle search-exit-option for values ‘move’ and ‘shift-move’.
70455         * doc/emacs/search.texi (Not Exiting Isearch): Document new
70456         values ‘shift-move’ and ‘move’ of search-exit-option.
70458         https://lists.gnu.org/r/emacs-devel/2018-03/msg00013.html
70460 2018-03-03  Glenn Morris  <rgm@gnu.org>
70462         Quieten gud.el and gdb-mi.el compilation
70464         * lisp/progmodes/gud.el (gud-gdb):
70465         * lisp/progmodes/gdb-mi.el (gdb):
70466         Suppress "unused lexical argument" warning.
70468 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
70470         Improve commentary in simple,el
70472         * lisp/simple.el (next-error-last-buffer): Improve commentary.
70473         (Bug#20489)
70475 2018-03-03  Evgeni Kolev  <evgenysw@gmail.com>
70477         Fix font-lock in perl-mode
70479         * lisp/progmodes/perl-mode.el (perl-font-lock-keywords-1): Prevent
70480         the regexp from matching keywords if they start with a Perl sigil.
70481         (Bug#30549)
70483 2018-03-02  Glenn Morris  <rgm@gnu.org>
70485         Quieten eshell compilation
70487         * lisp/eshell/em-dirs.el (eshell-dirs-initialize, eshell/pwd):
70488         * lisp/eshell/em-script.el (eshell-script-initialize):
70489         * lisp/eshell/em-unix.el (eshell/whoami):
70490         * lisp/eshell/esh-proc.el (eshell/jobs): Mark unused arguments.
70492 2018-03-02  Glenn Morris  <rgm@gnu.org>
70494         * lisp/gnus/gnus.el (image-load-path): Declare for without-x builds.
70496 2018-03-02  Glenn Morris  <rgm@gnu.org>
70498         Merge from origin/emacs-26
70500         0213c8b (origin/emacs-26) mwheel minor consistency fix
70501         82f12b2 * src/window.c (Frecenter): Improve commentary.
70502         04da8f4 Fix downloading non-text files in EWW
70503         832b9ec ; Spelling fixes
70504         dd88499 ; Spelling fixes
70505         3968f72 Rename some mwheel options, for consistency
70506         d6e78de * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete...
70507         5fe0387 Improve the Emacs manual
70508         56ab8e3 * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#3...
70510         Conflicts:
70511                 etc/NEWS
70512                 lisp/mwheel.el
70514 2018-03-02  Glenn Morris  <rgm@gnu.org>
70516         Merge from origin/emacs-26
70518         304278c Further improvements on manuals
70520 2018-03-01  Noam Postavsky  <npostavs@gmail.com>
70522         Fix issues turned up by previous python.el change
70524         See [1] for more discussion.
70525         * lisp/progmodes/python.el (python--prettify-symbols-alist): Define
70526         the obsolete alias before the variable proper, so that we correctly
70527         get the user's settings regardless of which name they set.
70528         (python-nav-end-of-statement): Add missing backslash.
70529         (python-shell-send-file): Call `expand-file-name' before
70530         `file-local-name', the expansion of "~" could be different on remote
70531         filenames.
70532         (python-mode): Declare prettify-symbols-alist instead of checking if
70533         it's bound.  Use the non-obsolete python-prettify-symbols-alist name,
70534         rather than checking if the obsolete name is bound (it always is too,
70535         but the Emacs 24 byte compiler doesn't recognize that
70536         define-obsolete-variable-alias defines a variable).
70538         [1]: https://lists.gnu.org/r/emacs-devel/2018-02/msg00826.html
70540 2018-03-01  Glenn Morris  <rgm@gnu.org>
70542         * admin/automerge: Quieten initial reset.
70544 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70546         Arrange for loaddefs files to be greppable
70548         Without this change, ldefs-boot.el contains a couple of stray NUL
70549         bytes, which cause it to be considered to be a non-text file by
70550         tools like GNU grep.
70551         * lisp/emacs-lisp/autoload.el (autoload-print-form):
70552         Set print-escape-control-characters to t.
70554 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70556         Improve octal-escape output in bool vectors and strings
70558         * src/print.c (octalout): New function.
70559         (print_vectorlike): When printing bool vectors, use
70560         octal escapes for control characters when
70561         print-escape-control-characters is non-nil, so that
70562         the printed representation avoids encoding issues.
70563         Rename locals to avoid byte-vs-char confusion.
70564         (print_object): Don't output unnecessary zeros when
70565         printing octal escapes.  Simplify by using octalout.
70567 2018-03-01  Glenn Morris  <rgm@gnu.org>
70569         Quieten nnir.el compilation
70571         * lisp/gnus/nnir.el (gnus-inhibit-demon, gnus-article-decode-hook):
70572         Declare dynamic variables.
70573         (nnir-request-group, nnir-retrieve-headers)
70574         (nnir-request-move-article, nnir-request-update-mark)
70575         (nnir-run-swish++, nnir-run-swish-e, nnir-run-namazu)
70576         (nnir-run-notmuch, nnir-registry-action)
70577         (nnir-request-create-group, nnir-request-delete-group)
70578         (nnir-request-list, nnir-request-scan): Mark unused arguments.
70579         (nnir-warp-to-article, nnir-run-imap, nnir-run-gmane)
70580         (nnir-get-active): Remove unused local variables.
70582 2018-03-01  Glenn Morris  <rgm@gnu.org>
70584         * lisp/progmodes/sql.el (sql-comint-oracle): Silence compiler.
70586 2018-03-01  Glenn Morris  <rgm@gnu.org>
70588         Quieten url-auth.el compilation
70590         * lisp/url/url-auth.el (url-digest-auth-nonce-count):
70591         Mark unused argument.
70593 2018-03-01  Glenn Morris  <rgm@gnu.org>
70595         Quieten ses.el compilation
70597         * lisp/ses.el (ses--edit-cell-completion-at-point-function)
70598         (ses--read-printer-completion-at-point-function):
70599         Mark unused arguments.
70601 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70603         make-docfile: minor fixes and cleanups
70605         * lib-src/make-docfile.c: Include c-ctype.h.
70606         (read_c_string_or_comment, write_c_args, scan_c_stream, skip_white)
70607         (read_lisp_symbol, scan_lisp_file):
70608         Prefer c_isspace etc. to listing characters by hand.
70609         (read_c_string_or_comment): Simplify.
70610         (scan_c_stream, read_lisp_symbol): Use true for boolean 1.
70611         (scan_c_stream): Fix typo (c >= 'Z' && c <= 'Z').
70612         Minor rewrites to avoid duplicate code.
70613         (scan_c_stream, read_lisp_symbol, scan_lisp_file):
70614         Avoid infloop if at EOF.
70615         (skip_white, read_lisp_symbol): Don’t stuff getc result into
70616         ‘char’, as this mishandles EOF.
70618 2018-03-01  Glenn Morris  <rgm@gnu.org>
70620         * lisp/emulation/viper-ex.el (ex-cmd-read-exit): Silence compiler.
70622 2018-03-01  Glenn Morris  <rgm@gnu.org>
70624         Quieten defun-mh compilation
70626         * lisp/mh-e/mh-acros.el (defun-mh):
70627         Rewrite so the compiler can see it always defines target function.
70629 2018-03-01  Glenn Morris  <rgm@gnu.org>
70631         Quieten mh-compat compilation
70633         * lisp/mh-e/mh-compat.el (mh-assoc-string)
70634         (mh-replace-regexp-in-string): Silence compiler warnings.
70636 2018-03-01  Glenn Morris  <rgm@gnu.org>
70638         Simplify mh-thread-set-tables
70640         * lisp/mh-e/mh-thread.el (mh-thread-set-tables):
70641         Rewrite to simplify and remove compiler warning.
70643 2018-03-01  Glenn Morris  <rgm@gnu.org>
70645         Use select-message-coding-system in mh-comp
70647         * lisp/mh-e/mh-comp.el (mh-send-letter):
70648         Use select-message-coding-system.  (Bug#30060)
70650 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
70652         Remove redundant test in fns.c
70654         * src/fns.c (extract_data_from_object): Remove redundant
70655         CHECK_BUFFER test.
70657 2018-02-28  Glenn Morris  <rgm@gnu.org>
70659         Quieten without-x org compilation
70661         * lisp/org/org.el (image-refresh):
70662         * lisp/org/ox-odt.el (clear-image-cache, image-size): Declare.
70664 2018-02-28  Glenn Morris  <rgm@gnu.org>
70666         Quieten compilation of octave.el
70668         * lisp/progmodes/octave.el (compilation-forget-errors): Re-declare.
70670 2018-02-28  Glenn Morris  <rgm@gnu.org>
70672         * configure.ac (with_gconf): Respect --without-all.
70674 2018-02-28  Glenn Morris  <rgm@gnu.org>
70676         Quieten eshell compilation
70678         * lisp/eshell/em-tramp.el: Require esh-cmd.
70679         * lisp/eshell/esh-ext.el: Requie esh-io at runtime too.
70681 2018-02-28  Glenn Morris  <rgm@gnu.org>
70683         * lisp/url/url-handlers.el (mm-charset-to-coding-system): Declare.
70685 2018-02-28  Glenn Morris  <rgm@gnu.org>
70687         Fix header comment in generated bovine grammar file
70689         * lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1):
70690         Fix header comment in generated scm-by.el.
70692 2018-02-28  Glenn Morris  <rgm@gnu.org>
70694         Quieten cedet "might not be defined at runtime" compile warnings
70696         * admin/grammars/scheme.by (semantic-parse-region):
70697         * lisp/cedet/ede.el (ede--project-inode):
70698         * lisp/cedet/semantic/texi.el (semantic-analyze-context):
70699         Declare.
70701 2018-02-28  Glenn Morris  <rgm@gnu.org>
70703         Merge from origin/emacs-26
70705         fd50238 (origin/emacs-26) * doc/lispref/streams.texi (Output Variable...
70706         769ea57 Use "GTK+" where applicable in the manual
70707         5e69219 Document print-escape-control-characters
70708         c00fea9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
70709         a2ab0d0 * doc/emacs/killing.texi (Rectangles): Don't use @key for cha...
70710         6288c3d * lisp/emulation/viper.el: Unbreak it.
70711         bf3535e More fixes in the Emacs manual
70712         c87d04e Avoid aborts in 'md5'
70713         9743f48 Mark keys consistently in manuals
70714         ce557a9 Remove @key{} markups from @kindex entries in manuals
70715         71243f0 * doc/emacs/display.texi (Standard Faces): Fix markup of inde...
70716         7a069f3 Fix @kindex entries in manuals
70717         6218933 Fix @cindex entries in manuals
70718         57c9f12 Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
70719         e415309 Fix @cindex entries in org.texi
70720         560a23e Document reserved keys
70721         105d085 * doc/misc/ebrowse.texi: Use @key{} for keys.
70723         Conflicts:
70724                 doc/misc/tramp.texi
70725                 etc/NEWS
70727 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
70729         Some minor Tramp tweaks
70731         * lisp/net/tramp-adb.el (tramp-adb-get-ls-command): Fix docstring.
70733         * lisp/net/tramp-sh.el (tramp-vc-registered-read-file-names):
70734         Quote file.
70736         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name):
70737         Make it more robust.
70739 2018-02-28  Dmitry Gutov  <dgutov@yandex.ru>
70741         Support PREDICATE in ido-read-buffer
70743         * lisp/ido.el (ido-predicate): New variable.
70744         (ido-read-buffer): Bind it.
70745         (ido-make-buffer-list): Use it.
70747 2018-02-27  Dmitry Gutov  <dgutov@yandex.ru>
70749         xref--next-error-function: Move xref's window point
70751         * lisp/progmodes/xref.el (xref--next-error-function): Move
70752         xref's window point if it's visible.  When we don't do that,
70753         navigation can start looping after a while.
70755 2018-02-27  Dmitry Gutov  <dgutov@yandex.ru>
70757         Fix xref--next-error-function behavior WRT current buffer
70759         * lisp/progmodes/xref.el (xref--show-location): Make sure to
70760         make the target window selected at the end, and its buffer
70761         current (bug#20489).
70763 2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
70765         * lisp/gnus/mm-decode.el: Use lexical-binding and use cl-lib
70767         (mm-display-parts): Remove unused arg 'no-default'.  Use 'cond'.
70768         (mm-display-external): Use closures rather than `(lambda ...).
70769         Don't bother with 'lexical-let'.
70770         (mm-insert-part): No need for string-to-multibyte now that
70771         'insert' will do that for us now (it used to behave more like
70772         string-make-multibyte).
70773         (mm-pipe-part): Remove unused var 'name'.
70774         (shr-width, shr-content-function, shr-inhibit-images): Declare.
70775         (mm-shr): Use a closure rather than `(lambda ...).
70777 2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
70779         * lisp/gnus/mm-extern.el: Use lexical-binding
70781         Don't require 'cl'.
70782         (mm-extern-anon-ftp): Remove unused var 'mode'.
70784 2018-02-27  Noam Postavsky  <npostavs@gmail.com>
70786         Fix python.el for Emacs 24, bump ELPA version to 0.26.1 (Bug#30633)
70788         Since python.el is distributed via GNU ELPA, it should be functional
70789         in earlier Emacs versions.  Also fix some compile warnings.
70790         * lisp/progmodes/python.el: Bump version to 0.26.1.  Define
70791         `prog-first-column' and `file-local-name' also at compile time, as
70792         needed.
70793         (inferior-python-mode-hook): Declare for the benefit of Emacs 24.3.
70794         (python-nav-end-of-statement): Fix format string for assertion error.
70795         (python-shell-tramp-refresh-process-environment): Don't `function'
70796         quote a symbol which might not be fbound.
70797         (python-mode): Only use prettify-symbols settings if they're bound.
70799 2018-02-27  Glenn Morris  <rgm@gnu.org>
70801         * lisp/nxml/nxml-mode.el (nxml-mode): Remove warning due to #'.
70803 2018-02-27  Glenn Morris  <rgm@gnu.org>
70805         Quieten without-x gnus compilation
70807         * lisp/gnus/gnus-group.el (image-load-path-for-library):
70808         * lisp/gnus/gnus-sum.el (image-load-path-for-library):
70809         * lisp/gnus/message.el (image-load-path-for-library): Declare.
70810         * lisp/gnus/gnus-cloud.el (gnus-group-refresh-group):
70811         * lisp/gnus/mml.el (image-property): Autoload.
70813 2018-02-27  Juri Linkov  <juri@linkov.net>
70815         * lisp/simple.el (next-error-find-buffer-function): Set default to #'ignore.
70817         (next-error-find-buffer): Don't check next-error-find-buffer-function
70818         for nil.  (Bug#20489)
70820 2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
70822         * lisp/dired.el (dired-get-filename): Don't string-to-multibyte
70824         We don't need to convert manually to multibyte now that Emacs doesn't silently
70825         convert (uni)bytes into latin-N chars depending on locale any more.
70827 2018-02-27  Glenn Morris  <rgm@gnu.org>
70829         Remove last vestiges of obsolete font-lock-face-attributes
70831         * lisp/ps-print.el (ps-font-lock-face-attributes): Remove function.
70832         (ps-build-reference-face-lists):
70833         No longer call ps-font-lock-face-attributes.
70834         * lisp/font-lock.el (font-lock-face-attributes):
70835         Remove stale declaration.
70837 2018-02-27  Glenn Morris  <rgm@gnu.org>
70839         Remove free variable warning when compiling viper using .el files
70841         * lisp/emulation/viper-cmd.el (viper-saved-mark): Move definition...
70842         * lisp/emulation/viper-util.el (viper-saved-mark): ... to here.
70844 2018-02-27  Aaron Jensen  <aaronjensen@gmail.com>
70846         Require a larger stack size for threads (bug#30364)
70848         * src/systhread.c (sys_thread_create) [THREADS_ENABLED && HAVE_PTHREAD]:
70849         Require at least 8MB stack size for x64 and 4MB for x86.
70851 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
70853         Update from gnulib
70855         This includes:
70856         2018-02-27 environ: fix link error on 32-bit Cygwin
70857         * doc/misc/texinfo.tex, lib/unistd.in.h: Copy from gnulib.
70859 2018-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
70861         * lisp/gnus/mm-util.el: Use lexical-binding and use cl-lib
70863         (mm-iso-8859-x-to-15-region): Remove unused var 'charset'.
70864         (mm-with-unibyte-buffer, mm-with-multibyte-buffer): Use 'declare'.
70865         (mm-with-unibyte-current-buffer): Remove.
70867 2018-02-27  Michael Albinus  <michael.albinus@gmx.de>
70869         Add ".msu" to Tramp file archives
70871         * doc/misc/tramp.texi (Archive file names):
70872         * lisp/net/tramp-archive.el (tramp-archive-suffixes):  Add ".msu".
70874 2018-02-26  Glenn Morris  <rgm@gnu.org>
70876         * lisp/dired-aux.el (dired-create-destination-dirs): Doc fix.
70878 2018-02-26  Mathieu Othacehe  <mathieu.othacehe@parrot.com>  (tiny change)
70880         Add coreutils 'ls' support for tramp adb
70882         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Allow '.'
70883         character in file permissions. It indicates an SELinux security
70884         context.
70885         (tramp-adb-get-ls-command): Detect Coreutils version of 'ls'.
70886         Use 'ls -1' instead of passing COLUMNS=1 env variable. This is
70887         isofunctional.  (Bug#30594)
70889 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
70891         Fix problem in tramp-handle-substitute-in-file-name
70893         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name): Concat "/"
70894         only for local file "~".
70896 2018-02-26  Glenn Morris  <rgm@gnu.org>
70898         Remove leading * from two defcustom doc strings
70900         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
70901         * lisp/progmodes/cperl-mode.el (cperl-indent-subs-specially):
70902         Remove obsolete leading * from defcustom doc string.
70904 2018-02-26  Glenn Morris  <rgm@gnu.org>
70906         Quieten without-x, without-xml2 builds
70908         * lisp/help.el (x-display-pixel-height, x-display-pixel-width):
70909         * lisp/image.el (image-flush, image-size):
70910         * lisp/textmodes/sgml-mode.el (libxml-parse-html-region):
70911         Declare for compiler.
70913 2018-02-26  Glenn Morris  <rgm@gnu.org>
70915         Quieten without-x mwheel.el compilation
70917         * lisp/mwheel.el (mwheel-tilt-scroll-p, mwheel-flip-direction)
70918         (mwheel-scroll-left-function, mwheel-scroll-right-function)
70919         (mouse-wheel-left-event, mouse-wheel-right-event):
70920         Move definitions before use.
70922 2018-02-26  Glenn Morris  <rgm@gnu.org>
70924         * lisp/net/zeroconf.el (dbus-debug): Declare for builds without dbus.
70926 2018-02-26  Glenn Morris  <rgm@gnu.org>
70928         Quieten without-x lisp compilation
70930         * lisp/international/fontset.el (fontset-alias-alist):
70931         * lisp/term/ns-win.el (mouse-wheel-scroll-amount)
70932         (mouse-wheel-progressive-speed): Declare for without-x builds.
70934 2018-02-26  Glenn Morris  <rgm@gnu.org>
70936         * lisp/net/rcirc.el (rcirc-prompt-start-marker): Define before using.
70938         * lisp/term/ns-win.el (ns-version-string): Declare for non-ns builds.
70940 2018-02-26  Glenn Morris  <rgm@gnu.org>
70942         Remove compiler warnings due to #'
70944         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
70945         * lisp/ps-print.el (ps-print-region-function):
70946         Remove compiler warnings due to #'.
70948 2018-02-26  Glenn Morris  <rgm@gnu.org>
70950         Update some lisp function declarations
70952 2018-02-26  Daniel Colascione  <dancol@dancol.org>
70954         Make bare "make" in src actually build emacs again
70956         * src/Makefile.in (all): Move target ahead of dep-file inclusion.
70958 2018-02-26  Paul Eggert  <eggert@cs.ucla.edu>
70960         Update from gnulib
70962         * build-aux/config.guess, build-aux/config.sub: Copy from gnulib.
70964 2018-02-24  Glenn Morris  <rgm@gnu.org>
70966         Merge from origin/emacs-26
70968         560a23e (origin/emacs-26) Document reserved keys
70969         b0be19b ; * doc/emacs/xresources.texi (Table of Resources): Fix last ...
70971 2018-02-24  Glenn Morris  <rgm@gnu.org>
70973         Merge from origin/emacs-26
70975         7e7f2ea (origin/emacs-26) * src/keyboard.c (syms_of_keyboard): Doc fi...
70976         c0676d4 Improve documentation of X resources
70977         d806d69 ; Use @minus for negative numbers in some texi files
70978         4a8ea7d * lisp/international/mule.el (keyboard-coding-system): Doc fix.
70979         8a73b80 Minor doc fixes, mostly for timestamp issues
70980         361a8b9 * doc/emacs/mini.texi (Completion Styles): Improve indexing.
70981         2dc24d5 Fix @findex and @vindex entries in manuals
70982         76f5242 Document, in the Elisp manual, how to get a character's raw s...
70983         5fb2957 Improvements in the Emacs manual
70984         de17b8e Tiny doc/misc markup fixes
70986 2018-02-24  Robert Pluim  <rpluim@gmail.com>
70988         Describe 'view-lossage' changes in its docstring and NEWS
70990         * lisp/help.el (view-lossage): Mention that this now uses the same
70991         format as `edit-last-kbd-macro'.  (Bug#30560)
70993         * etc/NEWS: Improve the wording of the entry.
70995 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
70997         * .gitignore: revert latest change; not currently needed
70999 2018-02-23  Glenn Morris  <rgm@gnu.org>
71001         * lisp/vc/vc-git.el: Silence compiler.
71003         * admin/automerge: Quieten initial pull if start with reset.
71005 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
71007         Fix documentation from recent changes
71009         * lisp/isearch.el (isearch-yank-symbol-or-char): Doc fix.
71011         * doc/emacs/search.texi (Isearch Yank): Fix wording.
71012         * doc/emacs/building.texi (Grep Searching): Fix last change.
71014 2018-02-22  Daniel Colascione  <dancol@dancol.org>
71016         Add more build outputs to .gitignore
71018         * .gitignore: Add more generated files
71020 2018-02-22  Daniel Colascione  <dancol@dancol.org>
71022         Add isearch-yank-symbol-or-char
71024         * doc/emacs/search.texi (Isearch Yank): Document new
71025         function, keybindings.
71027         * etc/NEWS: Mention isearch changes.
71029         * lisp/isearch.el (isearch--yank-char-or-syntax): New function.
71030         (isearch-yank-word-or-char): Call it.
71031         (isearch-yank-symbol-or-char): New function.
71032         (isearch-mode-map): Change 'C-M-w' binding from
71033         'isearch-del-char' to isearch-yank-symbol-or-char; add 'C-M-d'
71034         binding for 'isearch-del-char'.
71036 2018-02-22  Daniel Colascione  <dancol@dancol.org>
71038         Remove unnecessary explicit subword-mode use from isearch
71040         * lisp/isearch.el (isearch-yank-word-or-char): Remove explicit
71041         use of subword-mode. These days, subword-mode use is an
71042         automatic side effect of forward-word.
71044 2018-02-22  Glenn Morris  <rgm@gnu.org>
71046         * lisp/vc/vc-git.el: Avoid bootstrap errors since recent grep change.
71048         The introduction of grep-find-hide-properties caused an
71049         "invalid read syntax" failure when saving ja-dic.el,
71050         when vc-git.el loaded grep.el.  Fortunately, vc-git doesn't
71051         actually need to load grep when being compiled.
71053 2018-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
71055         * test/lisp/emacs-lisp/package-tests.el: Improve signature tests
71057         (package-test-signed): Don't rely on return value of 'package-install'.
71058         Make sure 'package-install' does indeed install the package.
71060 2018-02-22  Juri Linkov  <juri@linkov.net>
71062         * lisp/help.el (view-lossage): Use the same format as in edit-last-kbd-macro.
71064         Call comment-indent with let-bound comment-start and comment-column.
71065         (Bug#30560)
71067 2018-02-22  Juri Linkov  <juri@linkov.net>
71069         * lisp/progmodes/grep.el (grep-find-hide): New defcustom (bug#30503).
71071         (grep-find-hide-properties): New variable.
71072         (grep-mode-font-lock-keywords): Put grep-find-hide-properties
71073         on part of grep command line.
71074         (grep-find-show): New function.
71075         * doc/emacs/building.texi (Grep Searching): Document grep-find-hide.
71077 2018-02-22  Glenn Morris  <rgm@gnu.org>
71079         Merge from origin/emacs-26
71081         83187cd (origin/emacs-26) Skip mouse-face overlap check when mouse-fa...
71082         a6d8f2b Fix capitalization of "Mail-Followup-To"
71083         f9640f9 * lisp/progmodes/grep.el (grep-compute-defaults):
71084         3a26c8a Semantic manual fixes
71085         106a9f6 More improvements in the Emacs manual
71086         244db85 * doc/misc/viper.texi (File and Buffer Handling): Add missing...
71087         f0d6a16 Fix documentation of 'x-underline-at-descent-line'
71088         69a8f45 * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
71089         05214c6 Correct variable markup in manuals
71090         355c644 Improve the "Sending Mail" chapter of Emacs manual
71092         Conflicts:
71093                 src/nsterm.m
71094                 src/w32term.c
71096 2018-02-22  Alexei Khlebnikov  <alexei.khlebnikov@gmail.com>
71098         Fix for: "25.0.50; auto-revert-mode breaks git rebase" (Bug#21559)
71100         * lisp/autorevert.el (auto-revert-handler):
71101         Set "revert-buffer-in-progress-p" flag before calling
71102         "vc-refresh-state".
71104         * lisp/vc/vc-git.el (vc-git-command):
71105         If "revert-buffer-in-progress-p" flag is set, prepend
71106         "GIT_OPTIONAL_LOCKS=0" to "process-environment".  (Bug#21559)
71108 2018-02-22  Michael Albinus  <michael.albinus@gmx.de>
71110         Fix Bug#30533
71112         * lisp/net/ange-ftp.el (ange-ftp-file-regular-p)
71113         (ange-ftp-real-file-regular-p): New defuns.  (Bug#30533)
71115 2018-02-21  Glenn Morris  <rgm@gnu.org>
71117         * admin/automerge (merge): Report no. of commits if too few.
71119 2018-02-21  Glenn Morris  <rgm@gnu.org>
71121         Speed up parallel make check by testing slower files first
71123         * test/Makefile.in (SLOW_TESTS): New variable.
71124         (ELFILES): Move slow tests to the front.
71126 2018-02-21  Glenn Morris  <rgm@gnu.org>
71128         * admin/automerge: Speed up check phase.
71130 2018-02-21  Juri Linkov  <juri@linkov.net>
71132         * lisp/simple.el (next-error-find-buffer-function): New defcustom.
71134         (next-error-last-buffer): Make variable buffer-local.
71135         (next-error-buffer-on-selected-frame): New function.
71136         (next-error-find-buffer): Use next-error-find-buffer-function
71137         at the first step instead of ad-hoc logic of using one window
71138         on the selected frame.
71139         (next-error, next-error-internal): Set default value of
71140         next-error-last-buffer.  Display message with the name of last
71141         next-error buffer.
71142         (next-error-select-buffer): New command.
71143         (Bug#20489)
71145 2018-02-21  Juri Linkov  <juri@linkov.net>
71147         * lisp/vc/vc-dispatcher.el (vc-do-command): Bind message-truncate-lines to t
71149         to keep entire commands in *Messages* but avoid resizing the echo area.
71150         Rephrase messages in a such way that the important parts are
71151         at the beginning.  (Bug#19045)
71153 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
71155         Another fix for cross-references
71157         * doc/emacs/package.texi (Package Installation): Fix references to
71158         "Early Init".  (Bug#30552)
71160 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71162         Port recent MAX_RW_COUNT checks to POSIX
71164         * src/sysdep.c (MAX_RW_COUNT): Verify that it fits in POSIX standard
71165         types, to go along with already-existing checks for MS-Windows types.
71166         (emacs_intr_read): eassert on all platforms, not just MS-Windows.
71168 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71170         Update from gnulib
71172         This includes:
71173         2018-02-18 warnings: Add support for Objective C
71174         2018-02-03 stdlib: Fix compilation error on OpenIndiana
71175         * lib/gnulib.mk.in: Regenerate.
71176         * lib/stdlib.in.h, m4/getloadavg.m4, m4/stdlib_h.m4, m4/warnings.m4:
71177         Copy from gnulib.
71179 2018-02-20  Sam Steingold  <sds@gnu.org>
71181         command-history-mode inherits from special-mode
71183         (command-history-mode-map): Add `special-mode-map' to parents.
71184         (command-history-mode): Parent is `special-mode', not
71185         `fundamental-mode', set `revert-buffer-function'.
71186         (command-history-revert): Define for `revert-buffer-function'.
71188 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
71190         Fix reference in Emacs manual
71192         * doc/emacs/custom.texi (Early Init File): Fix reference to ELisp
71193         manual.  (Bug#30552)
71195 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71197         Fix false alarm with recent GCC x86
71199         * src/lread.c (Fload): Use UNINIT to pacify -Wmaybe-uninitialized
71200         false alarm on Fedora 27 x86 with GCC 7.3.1 20180130 (Red Hat 7.3.1-2).
71202 2018-02-20  Sam Steingold  <sds@gnu.org>
71204         ns_appsrc is not disjoint with srcdir/ns_appsrc
71206         (links): Avoid "file already exists" errors
71207         by removing the existing file.
71209 2018-02-20  Glenn Morris  <rgm@gnu.org>
71211         Merge from origin/emacs-26
71213         226aca3 (origin/emacs-26) Fix documentation of 'flyspell-auto-correct...
71214         a8c8434 * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
71215         275e735 More changes in the Emacs manuals
71216         d962be5 More fixes in the Emacs manual
71217         6dc2846 * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
71218         36e729f Minor edit in tramp.texi
71219         6537f99 ; Fix oversight from last commit
71220         eb94588 ; * doc/emacs/maintaining.texi: Fix two typos.
71221         258135f More improvements in the Emacs manual
71222         f138bca Improve documentation of 'electric-pair-mode'
71223         f74ab96 ; Spelling and grammar fixes.
71224         42f9dc4 ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
71226 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
71228         Add assertion to guard 'read' calls on MS-Windows
71230         * src/sysdep.c (emacs_intr_read): Assert that NBYTES never
71231         overflows a 32-bit int.
71233 2018-02-19  Michael Albinus  <michael.albinus@gmx.de>
71235         Add ".xpi" to Tramp file archives
71237         * doc/misc/tramp.texi (Archive file names):
71238         * lisp/net/tramp-archive.el (tramp-archive-suffixes): Add ".xpi".
71240 2018-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
71242         * lisp/progmodes/elisp-mode.el (eval-sexp-add-defvars): Don't macroexpand.
71244         Otherwise it breaks C-M-x on (progn (defmacro x ..) (... (x ...))).
71245         Furthermore, many callers do their own macroexpansion anyway.
71246         (elisp--eval-last-sexp): Do macroexpansion to make up for it.
71248 2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>
71250         * lisp/vc/diff-mode.el (diff-wiggle): New command.
71252 2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>
71254         * lisp/startup.el (load-user-init-file): Use condition-case-unless-debug.
71256         (argv, argi): Silence compiler warning.
71258 2018-02-17  Stefan Monnier  <monnier@iro.umontreal.ca>
71260         * lisp/calendar/icalendar.el: Fix compilation warnings
71262         (icalendar-export-region): Remove unused vars 'start', 'sum', and
71263         'contents-n-summary'.
71264         (icalendar--parse-summary-and-rest): Remove unused var 'pos-sum' and 'sum'.
71265         (icalendar--convert-float-to-ical): Use calendar-let* to bind vars
71266         'date' and 'entry'.
71267         (icalendar--convert-non-recurring-all-day-to-diary):
71268         Remove 'event' arg.  Update callers.
71269         (icalendar--convert-non-recurring-not-all-day-to-diary): Remove 'event'
71270         and 'dtend-dec' args.  Update callers.
71272 2018-02-17  Glenn Morris  <rgm@gnu.org>
71274         * doc/lispref/package.texi (Packaging Basics): Fix xref.
71276 2018-02-17  Glenn Morris  <rgm@gnu.org>
71278         Merge from origin/emacs-26
71280         e5a2933 (origin/emacs-26) lisp/vc/: documentation fixes
71281         f21f8e6 Document 'desktop-files-not-to-save'
71282         d8917eb Improve documentation of Profiling features
71283         b228839 Improve indexing of "performance" in ELisp manual
71284         ab67b3e Minor change in Emacs manual's VC chapter
71285         c352434 Avoid memory corruption with specpdl overflow + edebug (Bug#3...
71286         593bbda Document comment-fill-column in the manual (Bug#11636)
71287         bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
71288         69107f3 ; Fix doc typos related to indefinite articles
71289         aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
71290         5906418 More fixes for the Emacs manual
71291         9ab3df1 ; Fix doc typos related to indefinite articles
71292         66a4e65 ; Fix doc typos related to indefinite articles
71293         35e5c57 ; Fix doc typos related to indefinite articles
71295 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
71297         Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
71299         * configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
71300         AC_SEARCH_LIBS.
71301         * src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
71302         instead of just LIBLCMS2.
71304 2018-02-17  Allen Li  <darkfeline@felesatra.moe>
71306         Preserve special abbrev properties when writing
71308         Fixes bug#29924
71310         * lisp/abbrev.el (abbrev--write): Write abbrev properties when set.
71312 2018-02-17  Alan Third  <alan@idiocy.org>
71314         Fix modifier key handling on macOS
71316         * configure.ac: Use the Carbon framework on macOS.
71317         * src/nsterm.m (ns_get_shifted_character) [NS_IMPL_COCOA]: New function.
71318         (EmacsView::keyDown) [NS_IMPL_COCOA]: Use ns_get_shifted_character
71319         when we have shift style modifiers.
71321 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
71323         Make echo-area buffers  almost always multibyte
71325         * src/xdisp.c (setup_echo_area_for_printing, set_message_1): Ensure
71326         the echo-area buffer is multibyte, unless
71327         unibyte-display-via-language-environment is non-nil, and the text
71328         we are to display is or could be unibyte.  (Bug#30405)
71330 2018-02-17  Radon Rosborough  <radon.neon@gmail.com>
71332         Add early init file, stop package-initialize insertion
71334         Discussion on emacs-devel leading up to this change (approximately 150
71335         messages):
71337         - https://lists.gnu.org/r/emacs-devel/2017-08/msg00154.html
71338         - https://lists.gnu.org/r/emacs-devel/2017-08/msg00433.html
71339         - https://lists.gnu.org/r/emacs-devel/2017-09/msg00023.html
71340         - https://lists.gnu.org/r/emacs-devel/2017-09/msg00599.html
71341         - https://lists.gnu.org/r/emacs-devel/2017-10/msg00332.html
71343         * lisp/startup.el (early-init-file): New variable.
71344         (load-user-init-file): New function.
71345         (command-line): Load the early init file using `load-user-init-file'.
71346         Move the check for an invalid username to just before that, and move
71347         the initialization of the package system to just after.  Load the
71348         regular init file using `load-user-init-file'.
71349         * lisp/emacs-lisp/package.el (package--ensure-init-file): Remove
71350         definition, usage, and documentation.
71351         (package--init-file-ensured): Remove definition and usage.
71353         * src/lread.c (Vuser_init_file): Note change in semantics due to its
71354         usage while loading the early init file.
71356         * doc/emacs/custom.texi: Document early init file.
71357         * doc/emacs/package.texi: Document changes to when package-initialize
71358         is called.  Change terminology for package 'loading'.
71359         * doc/lispref/os.texi: Document early init file.  Update startup
71360         summary.
71361         * doc/lispref/package.texi: Document changes to when
71362         package-initialize is called, and advise against calling it in the
71363         init file.  Change terminology for package 'loading'.
71364         * doc/misc/org.texi: Don't recommend to call package-initialize in the
71365         init file.
71367 2018-02-17  Alan Mackenzie  <acm@muc.de>
71369         Fix the change from 2018-02-15 which didn't mention literals
71371         * doc/emacs/programs.texi (Left Margin Paren): Document that opening
71372         delimiters at column 0 which are inside strings or comments aren't regarded as
71373         defun starts.
71375 2018-02-16  Glenn Morris  <rgm@gnu.org>
71377         Quieten compilation of icalendar.el
71379         * lisp/calendar/icalendar.el (icalendar-import-buffer)
71380         (icalendar--convert-ical-to-diary, icalendar--add-diary-entry):
71381         Eliminate "Lexical argument shadows the dynamic variable" warning.
71383 2018-02-16  Glenn Morris  <rgm@gnu.org>
71385         Merge from origin/emacs-26
71387         a06a8ed (origin/emacs-26) ; * lisp/vc/vc-git.el (vc-git--program-vers...
71388         edc06ad Make 'byte-compile-error-on-warn' a safe file variable
71389         9f5d8da ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
71390         f73905a Fix the doc string of flyspell-auto-correct-word
71391         e9c7ddc Improve the MS-Windows appendix of the Emacs manual
71392         6ddb4bd Fix 'vc-git--program-version'
71393         63c93f7 Fix typos and wording in the Emacs manual
71394         42f15b0 * doc/emacs/programs.texi (Semantic): Order programming langu...
71395         b46be29 More improvements for the Emacs manual
71396         874c0ed Minor wording change in Emacs manual
71397         53511f9 Another set of changes for the manual
71398         78426b8 Improvements on tramp.texi
71399         0dca618 Tramp minor doc fixes
71401         Conflicts:
71402                 doc/misc/tramp.texi
71404 2018-02-16  Matthias Dahl  <matthias.dahl@binary-island.eu>
71406         Fix wait_reading_process_output wait_proc hang
71408         * src/process.c (read_process_output): Track bytes read from
71409         a process.
71410         (wait_reading_process_output): If called recursively through
71411         timers and/or process filters via accept-process-output, it is
71412         possible that the output of wait_proc has already been read by
71413         one of those recursive calls, leaving the original call hanging
71414         forever if no further output arrives through that fd and no
71415         timeout has been set.  Fix that by using the process read
71416         accounting to keep track of how many bytes have been read and
71417         use that as a condition to break out of the infinite loop and
71418         return to the caller as well as to calculate the proper return
71419         value (if a wait_proc is given that is).
71421         * src/process.h (struct Lisp_Process): Add nbytes_read to track
71422         bytes read from a process.
71424 2018-02-16  Aaron Jensen  <aaronjensen@gmail.com>
71426         Don't flash previous buffer when connecting with emacsclient
71428         * lisp/server.el (server-execute): Accept lambda for creating
71429         frame rather than frame.  Ensure newly created tty frame
71430         initially shows the correct buffer.
71431         (server-process-filter): Pass a lambda to server-execute to create
71432         a frame.  (Bug#24218)
71434 2018-02-15  Alan Mackenzie  <acm@muc.de>
71436         Document open-paren-in-column-0-is-defun-start being of less importance
71438         * doc/emacs/programs.texi (Left Margin Paren): Update to reflect the recent
71439         change in syntax.c, whereby a paren at column 0 is no longer taken as a
71440         beginning of defun in moving backwards over comments.
71442 2018-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
71444         * lisp/calendar/diary-lib.el (diary-remind): Fix bug#30455.
71446         (diary-remind): Bind `days' as documented for diary-remind-message.
71448 2018-02-13  Glenn Morris  <rgm@gnu.org>
71450         Stop keeping multiple doc copies for items defined multiple times
71452         It was always a nuisance to keep all the copies in sync.
71453         * src/doc.c (Fsnarf_documentation): Don't skip entire files.
71454         Instead, skip individual doc strings starting with "SKIP".
71455         * doc/lispref/internals.texi (Writing Emacs Primitives):
71456         Mention this skipping.
71457         * lisp/term/ns-win.el, lisp/term/pc-win.el, src/dosfns.c:
71458         * src/frame.c, src/nsfns.m, src/nsmenu.m, src/nsterm.m:
71459         * src/w16select.c, src/w32fns.c, src/w32menu.c, src/w32select.c:
71460         * src/w32term.c, src/xmenu.c: Remove duplicated doc strings.
71461         * src/xfns.c: Merge in information from doc string duplicates.
71463 2018-02-13  Glenn Morris  <rgm@gnu.org>
71465         Doc tweak for x-use-underline-position-properties
71467         * src/xterm.c (syms_of_xterm) <x-use-underline-position-properties>:
71468         Remove ancient information from doc.
71469         * etc/PROBLEMS: Related edit.
71471 2018-02-13  Glenn Morris  <rgm@gnu.org>
71473         Merge from origin/emacs-26
71475         333d6f4 (origin/emacs-26) More changes in the Emacs manual
71476         52ca0d1 * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
71477         69e8046 Don't signal error in vc-deduce-backend
71478         f568c91 * doc/misc/tramp.texi: Index more user options.
71479         92ca881 Minor change in the Emacs manual
71480         e055a12 NEWS update about 'string-trim'
71481         96b6e24 Clarify TRAMP process-environment interaction (Bug#30419)
71482         4fa467e * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
71483         a22820a Avoid aborts in cm.c due to too small TTY frame
71484         26f6441 Another set of improvements in the Emacs manual
71485         cef3b42 Fix help in mode-line-mode-menu
71486         f8a493c Improve documentation of desktop restoring
71487         10637af Improve the Emacs manual's chapter "Frames"
71488         d924953 Fix unbound mm-uu-entry in mm-uu
71489         cb2487b Improve Emacs user manual in fixit.texi
71490         66e9527 Another minor change in the manual
71491         6a1c03d More minor changes in the Emacs manual
71492         32fb8c4 Avoid printing garbled error message from image.el
71494         Conflicts:
71495                 etc/NEWS
71496                 lisp/image.el
71498 2018-02-13  Philipp Stephani  <phst@google.com>
71500         Fix NS-related compilation errors.
71502         * src/nsterm.m (ns_set_represented_filename): Remove unused variable
71503         'view'.
71505         * src/nsfns.m (x_implicitly_set_name, syms_of_nsfns): The type of a
71506         variable defined with DEFVAR_BOOL is 'bool', not 'Lisp_Object'.
71508 2018-02-12  Rami Ylimäki  <rami.ylimaki@vincit.fi>
71510         Expand direct color description in Emacs FAQ
71512         * doc/misc/efaq.texi (Colors on a TTY): Show how to list direct
71513         mode TERM definitions.  (Bug#30429)
71515 2018-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
71517         * lisp/gnus/message.el (message-ecomplete-capf): Fix call convention.
71519 2018-02-12  Noam Postavsky  <npostavs@gmail.com>
71521         * lisp/progmodes/python.el: Bump package version to 0.26.
71523 2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71525         Work if libpng is in /usr/local (2nd try)
71527         Problem reported by Werner Lemberg in:
71528         https://lists.gnu.org/r/emacs-devel/2018-02/msg00304.html
71529         with a further fix suggested by Glenn Morris in Bug#30431#14.
71530         * configure.ac: Try pkg-config before libpng-config.
71531         Adjust LIBPNG accordingly, and append -lz regardless of
71532         whether it was pkg-config.
71534 2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71536         Finish renaming to internal--daemon-sockname
71538         * doc/lispref/processes.texi (Misc Network): Omit discussion of
71539         internal--daemon-sockname, as non-Emacs code shouldn't rely on it.
71540         * src/process.c (syms_of_process): Rename internal-daemon-sockname
71541         to internal--daemon-sockname.  All uses changed.
71543 2018-02-12  Matthew Leach  <matthew@mattleach.net>
71545         Rename internal--external-sockname and document (Bug#24218)
71547         * lisp/server.el: Rename `internal--external-sockname' to
71548           `internal-daemon-sockname'.
71549         * src/process.c: Likewise.
71550         * doc/lispref/processes.texi: Document `internal-daemon-sockname'.
71552 2018-02-12  Matthew Leach  <matthew@mattleach.net>
71554         Update `server-name' :version & document sockname (Bug#24218)
71556         * lisp/server.el: (server-name): Update :version tag.
71557         * etc/NEWS: Document that `server-name' and `server-socket-dir'
71558           automatically update.
71559         * doc/emacs/misc.texi: (Emacs Server): Likewise.
71561 2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71563         Minor cleanups for server-name fix (Bug#24218)
71565         * lisp/server.el (server--external-socket-initialized): Rename
71566         from server-external-socket-initialised, since it should be
71567         private and Emacs uses American spelling.  All uses changed.
71568         * src/emacs.c, src/lisp.h: Revert previous changes, as the
71569         initialization is now done in src/process.c, which already
71570         includes the relevant files.
71571         * src/process.c (union u_sockaddr): Move decl to top level.
71572         (external_sock_name, Fget_external_sockname): Remove, replacing
71573         with Vinternal__external_sockname.  All uses changed.
71574         (init_process_emacs): Deduce socket name ourselves rather than
71575         have main.c do it.  Use conv_sockaddr_to_lisp instead of doing
71576         it by hand.  Conditionalize it on HAVE_GETSOCKNAME.
71578 2018-02-12  Matthew Leach  <matthew@mattleach.net>
71580         Fix `server-name' and `server-socket-dir' for (Bug#24218)
71582         * lisp/server.el: (server-external-socket-initialised): New
71583         (server-name): Compute server name from `get-external-sockname'.
71584         (server-socket-dir): Compute socket dir from
71585         `get-external-sockname'.
71586         (server-start): Don't check for existing server when an
71587         uninitialised external socket has been passed to Emacs.
71588         * src/emacs.c: (main): Obtain socket name via getsockname and pass
71589         to `init_process_emacs'.
71590         * src/lisp.h: (init_process_emacs): Add second parameter.
71591         * src/process.c: (external_sock_name): New.
71592         (get-external-sockname): New.
71593         (init_process_emacs): Set `external_sock_name' to `sockname'
71594         parameter.
71596 2018-02-12  Tom Tromey  <tom@tromey.com>
71598         Minor fixes to .gdbinit
71600         * src/.gdbinit (xcompiled): Emit a final newline.
71601         (python): Define "long" if not already defined.  Use casts to long,
71602         not int.
71604 2018-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71606         Revert libpng /usr/local patch
71608         It broke builds on Arch, Debian, OpenSuSE; see thread containing:
71609         https://lists.gnu.org/r/2018-02/msg00330.html
71610         * configure.ac: Don't try pkg-config; just use libpng-config.
71612 2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>
71614         Work even if libpng is installed in /usr/local
71616         Problem reported by Werner Lemberg in:
71617         https://lists.gnu.org/r/emacs-devel/2018-02/msg00304.html
71618         * configure.ac: Try pkg-config before libpng-config.
71620 2018-02-11  Dmitry Gutov  <dgutov@yandex.ru>
71622         Fix an infloop in python-nav-beginning-of-statement
71624         * lisp/progmodes/python.el (python-nav-beginning-of-statement):
71625         Fix an infloop (bug#30277).
71627 2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>
71629         Merge from pkg-config
71631         * m4/pkg.m4: Copy from pkg-config 0.29.2.
71633 2018-02-11  Alan Third  <alan@idiocy.org>
71635         Fix modifier keys on NS port
71637         * src/nsterm.m (EV_MODIFIERS_OPTION):
71638         (EV_MODIFIERS_CONTROL):
71639         (EV_MODIFIERS_COMMAND): New macros.
71640         (ev_modifiers_helper): New function.
71641         (EV_MODIFIERS2): Use new helper function.
71642         (EmacsView::keyDown): Remove duplicate functionality and handle fn key
71643         correctly.
71645 2018-02-11  Alan Third  <alan@idiocy.org>
71647         Tidy up NS keybindings
71649         * lisp/term/ns-win.el: Remove unneeded mappings to super-shifted keys.
71651 2018-02-11  Alan Third  <alan@idiocy.org>
71653         Remove NS special handling of 'frame-title-format'
71655         * lisp/term/ns-win.el (frame-title-format, icon-title-format): Change
71656         default format to just the filename.
71657         * src/nsfns.m (ns-use-proxy-icon): New variable.
71658         (ns_set_name_as_filename): Remove function.
71659         (x_implicitly_set_name): Get rid of special handling of
71660         frame-title-format.
71661         * src/nsterm.h (ns_set_represented_filename): Use new definition.
71662         * src/nsterm.m (ns_set_represented_filename): Move some of the logic
71663         from ns_set_name_as_filename into this function.
71665 2018-02-11  Paul Eggert  <eggert@cs.ucla.edu>
71667         * src/xdisp.c (Vmessage_stack): Fix comment to match code.
71669 2018-02-11  Michael Albinus  <michael.albinus@gmx.de>
71671         Fix handling of file notifications in tramp-gvfs.el
71673         * lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
71674         Fix docstring.
71676         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
71677         Use consequently "gio monitor".
71678         (tramp-gvfs-monitor-process-filter): Rename from
71679         `tramp-gvfs-monitor-file-process-filter'.  Adapt implementation.
71681         * lisp/net/tramp-sh.el (tramp-gio-events): Move this ...
71682         * lisp/net/tramp.el (tramp-gio-events): ... here.
71684 2018-02-10  Juri Linkov  <juri@linkov.net>
71686         * lisp/window.el (display-buffer--maybe-at-bottom): New function (bug#30314).
71688         (display-buffer--maybe-pop-up-frame)
71689         (display-buffer--maybe-pop-up-window): New functions created from
71690         display-buffer--maybe-pop-up-frame-or-window.
71691         (display-buffer--maybe-pop-up-frame-or-window): Call
71692         display-buffer--maybe-pop-up-frame or
71693         display-buffer--maybe-pop-up-window.
71694         (display-buffer-at-bottom): Fix parens.
71696         * lisp/minibuffer.el (minibuffer-completion-help): Use
71697         display-buffer--maybe-pop-up-frame instead of let-binding
71698         pop-up-windows to nil.
71700         * lisp/files.el (hack-local-variables-confirm)
71701         (save-buffers-kill-emacs): Use display-buffer--maybe-at-bottom.
71703 2018-02-10  Juri Linkov  <juri@linkov.net>
71705         * lisp/comint.el (comint-after-pmark-p): Check if buffer has a live process.
71707         Return nil if not.
71708         (comint-history-isearch-setup): Don't check if process is live.
71709         Always check if shell prompt is empty regardless of the value
71710         of comint-history-isearch. (Bug#30187)
71712 2018-02-10  Rami Ylimäki  <rami.ylimaki@vincit.fi>
71714         Support standard Terminfo direct mode terminals
71716         Latest Terminfo introduces terminal definitions that support direct
71717         color mode.  The "Co"/"colors" capability is set to 0x1000000 on these
71718         terminals and Emacs is already compatible with them.
71719         However, if used Terminfo library hasn't been compiled with 32-bit
71720         value support, "Co"/"colors" is truncated to 0x7fff.  In this case
71721         direct color mode support can be detected from the "RGB" capability
71722         flag.
71723         There are some minor problems if the color count isn't corrected from
71724         0x7fff.  First eight standard colors defined in xterm-standard-colors
71725         are shown correctly.  However, their RGB values match the terminal
71726         settings, not the RGB values defined in xterm-standard-colors.  Bright
71727         versions of these colors are shown incorrectly.  They are interpreted
71728         as pixels #000008 - #000015, which are very dark shades of blue.
71730         * src/term.c (init_tty): Force terminal color count to 0x1000000 if
71731         "RGB" capability is present.
71732         * src/tparam.h: Define prototype for tigetflag.  (Bug#30308)
71734         * doc/misc/efaq.texi (Colors on a TTY): Add information about direct
71735         mode terminals supported by Terminfo.
71737 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
71739         Avoid infinite recursion in file_directory_p
71741         * src/fileio.c (file_directory_p) [DOS_NT]: Call faccessat on
71742         MS-DOS as well, to avoid infinite recursion introduced by last
71743         change in this function.
71745 2018-02-10  Martin Rudalics  <rudalics@gmx.at>
71747         Make tooltip code handle scenarios from Bug#30182 and Bug#30399
71749         Move calculation of the mode line default help echo from
71750         note_mode_line_or_margin_highlight to display_mode_lines
71751         (Bug#30182).  Fix cursor type for dragging the mode line.
71752         Normalize FRAME argument of Fx_show_tip before assigning it to
71753         tip_last_frame and handle the transition from GTK+ to Emacs
71754         tooltips and vice-versa in x_hide_tip (Bug#30399).
71756         * src/window.h (struct window): New Lisp member
71757         mode_line_help_echo.
71758         (wset_mode_line_help_echo): New function.
71759         * src/w32fns.c (Fx_show_tip): Normalize the FRAME argument
71760         before storing it in tip_last_frame (Bug#30399).
71761         * src/xdisp.c (display_mode_lines): Calculate mode line
71762         default help echo string here and store it in the window's
71763         mode_line_help_echo slot (Bug#30182).
71764         (note_mode_line_or_margin_highlight): Use value in window's
71765         mode_line_help_echo slot as mode line default help echo.  When
71766         the window is resizable show a vertical drag cursor instead of
71767         the vertical scroll bar cursor.
71768         * src/xfns.c (x_hide_tip): Rewrite the GTK+ part to correctly
71769         handle the transition from GTK+ system to Emacs tooltips and
71770         vice-versa (Bug#30399).
71771         (Fx_show_tip): Normalize the FRAME argument before storing it
71772         in tip_last_frame (Bug#30399).
71774 2018-02-10  Michael Albinus  <michael.albinus@gmx.de>
71776         Handle "gio monitor" in tramp-sh.el
71778         * lisp/net/tramp-sh.el (tramp-gio-events): New defconst.
71779         (tramp-sh-handle-file-notify-add-watch): Handle "gio monitor" extra.
71780         (tramp-sh-gio-monitor-process-filter)
71781         (tramp-get-remote-gio-monitor): New defuns.
71782         (tramp-sh-gvfs-monitor-dir-process-filter)
71783         (tramp-get-remote-gvfs-monitor-dir): Do not check for gio anymore.
71785 2018-02-09  Glenn Morris  <rgm@gnu.org>
71787         Merge from origin/emacs-26
71789         0276743 (origin/emacs-26) Doc string fix in latin-alt.el
71790         c9269af Minor improvements in package.texi
71791         898a3e4 Minor improvement in Emacs user manual
71792         8f7d718 * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
71793         989d0af Improve documentation of mini-window resizing
71794         923e415 More changes in the Emacs manual
71795         565adf2 Clarify that text-quoting-style doesn't affect *Info* (Bug#24...
71796         2dd273b Mention that shell quoting of % on w32 may fail (Bug#19350)
71797         19fa6d5 Fix --no-build-details for w32 and macOS
71798         979944c * doc/lispref/anti.texi (Antinews): Add some more antinews.
71799         c2727e3 Fix crashes when run with --no-build-details
71800         dc08490 More changes for the manual
71801         04c5bd5 Doc fixes for process functions (Bug#30349)
71802         e209034 Fix shr and CSS 4 color maps
71803         5fe8192 Yet another round of improvements in the manual
71805         Conflicts:
71806                 doc/emacs/files.texi
71807                 test/lisp/subr-tests.el
71809 2018-02-08  Daniel Colascione  <dancol@dancol.org>
71811         Fix iswitchb highlighting: don't mutate buffer name
71813         * lisp/obsolete/iswitchb.el (iswitchb-completions): Copy buffer name
71814           before applying face
71816 2018-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
71818         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Handle lambda!
71820         (cl--old-macroexpand): Remove.
71821         (cl--sm-macroexpand): Change its calling convention, so it can use
71822         advice-add.  Extend re-binding treatment of vars so it applies to all
71823         var-introducing forms rather than only to 'let'.
71824         (cl-symbol-macrolet): Use advice-add rather than fset.
71826 2018-02-08  Glenn Morris  <rgm@gnu.org>
71828         Remove unused duplicate of minibuffer-completion-contents
71830         * src/minibuf.c (Fminibuffer_completion_contents): Remove.
71831         Unused since introduction of minubuffer.el 2008-04-09.
71832         (syms_of_minibuf): Remove Sminibuffer_completion_contents.
71833         * lisp/minibuffer.el (minibuffer-completion-contents): Doc tweak.
71835 2018-02-06  Juri Linkov  <juri@linkov.net>
71837         * lisp/comint.el (comint-history-isearch-setup): Check if process is live.
71839         Don't activate comint-history isearch when shell prompt is empty
71840         like in all *Async Shell Command* buffers. (Bug#30187)
71842 2018-02-06  Juri Linkov  <juri@linkov.net>
71844         * lisp/dired.el (dired-get-marked-files): Add new optional arg 'error'.
71846         Call user-error when it's non-nil and result is empty (bug#30285).
71848         * lisp/dired-aux.el (dired-do-chxxx, dired-do-chmod)
71849         (dired-do-print, dired-do-async-shell-command)
71850         (dired-do-shell-command, dired-do-compress-to)
71851         (dired-mark-confirm, dired-do-create-files)
71852         (dired-do-isearch, dired-do-isearch-regexp)
71853         (dired-do-query-replace-regexp, dired-do-find-regexp):
71854         * lisp/dired-x.el (dired-do-find-marked-files):
71855         Set arg 'error' of dired-get-marked-files call to t.
71857 2018-02-06  Juri Linkov  <juri@linkov.net>
71859         Support occur command operating on the region from Isearch.
71861         * lisp/isearch.el (isearch-occur): Use region-bounds as region arg of occur.
71862         (isearch-query-replace): Use use-region-p.
71864         * lisp/replace.el (occur--region-start-line): Rename from
71865         occur--matches-threshold.
71866         (occur): Use complete lines when region is active for line-oriented occur.
71867         (occur-engine): Count lines either from occur--region-start-line or 1.
71869 2018-02-05  Paul Eggert  <eggert@cs.ucla.edu>
71871         Work around macOS faccessat bug
71873         * src/fileio.c (file_accessible_directory_p): Append an
71874         extra "/" to work around macOS bug in faccessat (Bug#30350).
71876 2018-02-05  Juri Linkov  <juri@linkov.net>
71878         Support list-matching-lines-jump-to-current-line for context lines.
71880         * lisp/replace.el (occur--orig-line-str): Remove.
71881         (occur): Remove occur--orig-line-str.
71882         (occur-engine): Use add-face-text-property to add the face
71883         list-matching-lines-current-line-face to the current line.
71884         Use previous-single-property-change to find occur--final-pos.
71885         (occur-context-lines): New args orig-line and multi-occur-p.
71886         Find the current line in context lines and add face to it.
71887         (Bug#30281)
71889 2018-02-05  Glenn Morris  <rgm@gnu.org>
71891         Merge from origin/emacs-26
71893         c787a49 (origin/emacs-26) * lisp/vc/vc-git.el (vc-git-print-log): Res...
71894         b654791 * doc/emacs/misc.texi (Interactive Shell): Refer to node "Min...
71895         f1102d2 Yet another round of fixing the Emacs manual
71896         76b5a68 * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
71897         b4ff8cc Two minor fixes in Antinews
71898         aafcd12 * etc/NEWS: Rename image-dired-thumb-job-limit
71899         a893924 * lisp/simple.el (async-shell-command, shell-command): Fix gr...
71900         699081f Fix deferred display of async shell-command buffers
71901         d2d5e54 Mention remote file name completion in Emacs manual
71902         f589f5a Yest another round of manual copyedits
71903         1ed4089 Update xdisp.c commentary
71904         e23de39 Fix Bug#30324
71905         e1a9dc0 Recognize Org as builtin package (bug#30310)
71907         Conflicts:
71908                 etc/NEWS
71910 2018-02-05  Michael Albinus  <michael.albinus@gmx.de>
71912         Fix inconsistency expanding "//" in Tramp
71914         * doc/misc/tramp.texi (File name completion): Adapt example
71915         expanding "//".
71917         * lisp/net/tramp.el (tramp-handle-substitute-in-file-name): "//" shall
71918         expand the localname only, even when on top of the local part.
71920         * test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
71921         Adapt test.
71923 2018-02-04  Philipp Stephani  <phst@google.com>
71925         Fix handling of modifier keys on macOS
71927         * src/nsterm.m (keyDown:): Distinguish between shift-like and
71928         control-like modifier keys.  Allow treating ⌘ as shift-like
71929         modifier (e.g. for the Gujarati – QUERTY input method, where ⌘
71930         switches to QUERTY.)
71932         * lisp/cus-start.el (standard): Change nil to none for
71933         ns-command-modifier; update description.
71935         * etc/NEWS: Add NEWS entry.
71937 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
71939         Make tramp-archive fit for older Emacsen
71941         * lisp/net/tramp-archive.el (tramp-archive-enabled)
71942         (tramp-archive-file-name-handler-alist)
71943         (tramp-archive-file-name-handler): Adapt docstring.
71944         (tramp-register-archive-file-name-handler): Remove it from
71945         `after-init-hook' when unloading.
71946         (tramp-archive-gvfs-host): New defsubst.
71947         (tramp-archive-dissect-file-name): Use it.
71949         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
71950         Check that `tramp-archive-enabled' is bound.
71952         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test42-auto-load):
71953         Check also that tramp-archive is not loaded when Tramp is loaded.
71954         (tramp-archive-test42-delay-load): Adapt test messages.
71956 2018-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71958         Avoid EOVERFLOW problems with file-directory-p
71960         This fixes a bug where (file-directory-p FOO) would fail if FOO
71961         had an inode number out of range for ‘stat’.
71962         * src/fileio.c (file_directory_p): Accept a Lisp string instead of
71963         a C string.  All callers changed.  On non-MS-Windows hosts, use
71964         openat with O_PATH|O_DIRECTORY if available, otherwise
71965         file_accessible_directory_p unless it fails due to EACCESS,
71966         otherwise stat.
71968 2018-02-03  Philipp Stephani  <phst@google.com>
71970         Add tests to verify error propagation in 'json-insert'.
71972         * test/src/json-tests.el (json-tests--error): New error symbol.
71973         (json-insert/signal, json-insert/throw): New tests.
71975 2018-02-03  Noam Postavsky  <npostavs@gmail.com>
71977         Don't require all file-attributes to be equal (Bug#30327)
71979         * test/lisp/files-tests.el (files-tests-file-attributes-equal): New
71980         function.
71981         (files-tests-file-name-non-special-directory-files-and-attributes)
71982         (files-tests-file-name-non-special-file-attributes): Use it instead of
71983         `equal'.
71985 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
71987         * test/lisp/files-tests.el (files-tests--with-temp-non-special):
71989         Expand `temporary-file-directory' by `file-truename', in case
71990         it is located on a symlinked directory.  (Bug#30327)
71992 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
71994         Prevent loading tramp-archive when it cannot be used
71996         * lisp/files.el (locate-dominating-file): Check, that FILE is
71997         a directory when traversing the tree.
71999         * lisp/net/tramp-archive.el (tramp-archive-enabled): New defvar.
72000         (tramp-archive-file-name-regexp): Protect against errors.
72001         (tramp-archive-file-name-handler)
72002         (tramp-register-archive-file-name-handler): Use it.
72003         (all) Call `tramp-register-archive-file-name-handler'.
72005         * lisp/net/tramp.el (tramp-register-file-name-handlers):
72006         Use `tramp-archive-enabled'.
72008         * test/lisp/net/tramp-archive-tests.el (all):
72009         Use `tramp-archive-enabled' instead of `tramp-gvfs-enabled'.
72010         (tramp-archive--test-emacs27-p): New defun.
72011         (tramp-archive-test42-auto-load): Skip for older Emacsen.
72012         (tramp-archive-test42-delay-load): Skip for older Emacsen.
72013         Test also behavior when `tramp-archive-enabled' is nil.
72015 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
72017         Autoload tramp-archive
72019         * doc/misc/tramp.texi (Archive file names): Do not require to
72020         load Tramp explicitly, this is autoloaded now also for file archives.
72022         * lisp/net/tramp-archive.el (tramp-archive-suffixes)
72023         (tramp-archive-compression-suffixes): Autoload them.
72024         (tramp-archive-autoload-file-name-regexp): New defmacro.
72025         (tramp-archive-file-name-regexp): Use it.
72026         (tramp-register-archive-file-name-handler): New defun.  Call
72027         it in `after-init-hook'.
72029         * test/lisp/net/tramp-archive-tests.el
72030         (tramp-archive-test40-file-system-info): Rename from
72031         `tramp-archive-test40-archive-file-system-info.
72032         (tramp-archive-test42-auto-load)
72033         (tramp-archive-test42-delay-load): New tests.
72035 2018-02-02  Glenn Morris  <rgm@gnu.org>
72037         Try to work around intermittent autogen failure on hydra.nixos.org
72039         * autogen.sh (check_version): Try to handle odd systems where
72040         /bin/sh does not define the "command" builtin.
72042 2018-02-02  Glenn Morris  <rgm@gnu.org>
72044         * autogen.sh: Remove temporary debug statements.
72046         * autogen.sh: Add some temporary debug statements, for hydra.nixos.org.
72048 2018-02-02  Alan Mackenzie  <acm@muc.de>
72050         CC Mode: Fix an enum intro being parsed as defun-block-intro
72052         * lisp/progmodes/cc-engine.el (c-inside-bracelist-p): Return a bufpos rather
72053         than t for the enum case.
72054         (c-add-stmt-syntax, c-guess-continued-construct): Replace
72055         c-looking-at-or-maybe-in-bracelist by c-inside-bracelist-p, since the former
72056         does not recognize enum brace lists, but the latter does.
72058         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Replace
72059         c-looking-at-or-maybe-in-bracelist by c-inside-bracelist-p.
72061 2018-02-02  Philipp Stephani  <phst@google.com>
72063         Properly integrate modules into the loading process (Bug#30164).
72065         * src/lread.c (Fload): Don't defer to module-load immediately when
72066         encountering a module, but use the normal loading machinery to
72067         properly set up load-history, check for recursive loads, print
72068         messages, etc.
72070         * test/src/emacs-module-tests.el (module/load-history): New test.
72071         (module/describe-function-1): Adapt test.
72073         * etc/NEWS: Mention fixed behavior.
72075 2018-02-02  Philipp Stephani  <phst@google.com>
72077         Use 'defalias' in test module instead of 'fset'.
72079         This puts functions defined in the module into the 'load-history'.
72081         * test/data/emacs-module/mod-test.c (bind_function): Use 'defalias'
72082         instead of 'fset'.
72084         * test/src/emacs-module-tests.el (module/describe-function-1): Adapt
72085         unit test.
72087 2018-02-02  Philipp Stephani  <phst@google.com>
72089         Add support for module functions to C-h f (Bug#30163).
72091         * lisp/help-fns.el (help-fns-function-description-header): Handle
72092         module functions.
72094         * test/src/emacs-module-tests.el (module/describe-function-1): New
72095         test.
72097 2018-02-02  Michael Albinus  <michael.albinus@gmx.de>
72099         Handle quoted remote file names for file notifications
72101         * lisp/filenotify.el (file-notify-add-watch): Do not suppress
72102         other file name handlers when FILE is quoted.
72104         * test/lisp/filenotify-tests.el
72105         (file-notify-test-remote-temporary-file-directory):
72106         Beware quoted `temporary-file-directory'.
72108         * test/lisp/files-tests.el
72109         (files-tests-file-name-non-special-quote-unquote): Improve test.
72111 2018-02-02  Michael Albinus  <michael.albinus@gmx.de>
72113         Minor tweaks in tramp-archive.el
72115         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
72116         Bind `tramp-unknown-id-integer' and `tramp-unknown-id-string'
72117         in order to have minimal ownership information.
72119 2018-02-02  Glenn Morris  <rgm@gnu.org>
72121         Merge from origin/emacs-26
72123         6f495ab (origin/emacs-26) Another round of manual fixups
72124         59344c4 * doc/lispref/customize.texi (Custom Themes): Clarify .el pre...
72125         6386efc * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
72126         e21f018 * doc/lispref/functions.texi (Inline Functions): Fix typo (Bu...
72127         1c2fb04 * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug...
72128         b90e91c Fix last change of @key markup
72129         f180075 * doc/emacs/entering.texi (Entering Emacs): Fix markup.
72131 2018-02-02  Glenn Morris  <rgm@gnu.org>
72133         Merge from origin/emacs-26
72135         56c37bb Use @key{} where it is missing in the manuals
72136         25c0198 Another round of manual fixes from proofreading
72138 2018-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
72140         * lisp/emacs-lisp/cconv.el (cconv-convert): Fix compiling compiled code
72142         Don't conv-convert the docstring arg of defvar/defconst.
72144 2018-02-02  Michael Albinus  <michael.albinus@gmx.de>
72146         Fix quoting in tramp-find-inline-compress for w32
72148         * lisp/net/tramp-sh.el (tramp-find-inline-compress): Improve command
72149         quoting for w32.  Reported by Chris Zheng <chriszheng99@gmail.com>.
72151 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
72153         Handle quoted file names in filenotify.el
72155         * lisp/filenotify.el (file-notify-add-watch): Do not save
72156         quoted file names in `file-notify-descriptors'.
72158         * test/lisp/files-tests.el
72159         (files-file-name-non-special-notify-handlers): Do not expect
72160         to fail.
72162 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
72164         Use file-name-quote{,d-p} in files-tests.el
72166         * test/lisp/files-tests.el
72167         (files-tests-file-name-non-special-quote-unquote): New test.
72168         (files-tests--file-name-non-special--subprocess): Simplify.
72169         (files-tests--file-name-non-special--buffers)
72170         (files-tests--with-temp-non-special)
72171         (files-tests-file-name-non-special-directory-file-name)
72172         (files-tests-file-name-non-special-file-in-directory-p)
72173         (files-tests-file-name-non-special-file-name-all-completions)
72174         (files-tests-file-name-non-special-file-name-as-directory)
72175         (files-tests-file-name-non-special-file-name-completion)
72176         (files-tests-file-name-non-special-file-name-directory)
72177         (files-tests-file-name-non-special-find-backup-file-name)
72178         (files-tests-file-name-non-special-make-nearby-temp-file):
72179         Use `file-name-quote' and `file-name-quoted-p', respectively.
72181 2018-02-01  Noam Postavsky  <npostavs@gmail.com>
72183         Test and fix "/:" quoted file name handlers (Bug#30243)
72185         Some w32 specific problems were discovered, but only worked around, as
72186         these are not serious, and not the focus of this bug fix:
72187             - The w32 implementation of `insert-directory doesn't handle a nil
72188             SWITCHES argument.
72189             - `dired-compress-file' does not operate correctly if the unquoted
72190             filename contains a ":" (e.g., C:/foo/bar).
72192         * lisp/files.el (file-name-non-special): Strip the "/:" from
72193         `default-directory' for `temporary-file-directory' operation; both
72194         arguments to `file-name-completion', `file-name-all-completion', and
72195         `file-equal-p' operations; `buffer-file-name' for
72196         `make-auto-save-file-name' and 'set-visited-file-modtime' operations.
72197         Don't touch any operands of `file-notify-rm-watch' and
72198         `file-notify-valid-p' as they receive descriptors; not file
72199         names (this is not sufficient to fix these operations for "/:" quoted
72200         file names though, these are fixed in a later commit).
72202         * test/lisp/files-tests.el (files-tests--with-temp-file): Give it a
72203         `debug' property.
72204         (files-tests--with-temp-non-special): New helper macro.
72205         (files-tests--file-name-non-special--subprocess): Simplify.
72206         (files-tests-file-name-non-special-quote-unquote)
72207         (files-file-name-non-special-notify-handlers)
72208         (files-file-name-non-special-handlers)
72209         (files-tests-file-name-non-special-access-file)
72210         (files-tests-file-name-non-special-add-name-to-file)
72211         (files-tests-file-name-non-special-byte-compiler-base-file-name)
72212         (files-tests-file-name-non-special-copy-directory)
72213         (files-tests-file-name-non-special-copy-file)
72214         (files-tests-file-name-non-special-delete-directory)
72215         (files-tests-file-name-non-special-delete-file)
72216         (files-tests-file-name-non-special-diff-latest-backup-file)
72217         (files-tests-file-name-non-special-directory-file-name)
72218         (files-tests-file-name-non-special-directory-files)
72219         (files-tests-file-name-non-special-directory-files-and-attributes)
72220         (files-tests-file-name-non-special-dired-uncache)
72221         (files-tests-file-name-non-special-dired-compress-handler)
72222         (files-tests-file-name-non-special-expand-file-name)
72223         (files-tests-file-name-non-special-file-accessible-directory-p)
72224         (files-tests-file-name-non-special-file-acl)
72225         (files-tests-file-name-non-special-file-attributes)
72226         (files-tests-file-name-non-special-file-directory-p)
72227         (files-tests-file-name-non-special-file-equal-p)
72228         (files-tests-file-name-non-special-file-executable-p)
72229         (files-tests-file-name-non-special-file-exists-p)
72230         (files-tests-file-name-non-special-file-in-directory-p)
72231         (files-tests-file-name-non-special-file-local-copy)
72232         (files-tests-file-name-non-special-file-modes)
72233         (files-tests-file-name-non-special-file-name-all-completions)
72234         (files-tests-file-name-non-special-file-name-as-directory)
72235         (files-tests-file-name-non-special-file-name-case-insensitive-p)
72236         (files-tests-file-name-non-special-file-name-completion)
72237         (files-tests-file-name-non-special-file-name-directory)
72238         (files-tests-file-name-non-special-file-name-nondirectory)
72239         (files-tests-file-name-non-special-file-name-sans-versions)
72240         (files-tests-file-name-non-special-file-newer-than-file-p)
72241         (files-tests-file-name-non-special-file-ownership-preserved-p)
72242         (files-tests-file-name-non-special-file-readable-p)
72243         (files-tests-file-name-non-special-file-regular-p)
72244         (files-tests-file-name-non-special-file-remote-p)
72245         (files-tests-file-name-non-special-file-selinux-context)
72246         (files-tests-file-name-non-special-file-symlink-p)
72247         (files-tests-file-name-non-special-file-truename)
72248         (files-tests-file-name-non-special-file-writable-p)
72249         (files-tests-file-name-non-special-find-backup-file-name)
72250         (files-tests-file-name-non-special-get-file-buffer)
72251         (files-tests-file-name-non-special-insert-directory)
72252         (files-tests-file-name-non-special-insert-file-contents)
72253         (files-tests-file-name-non-special-load)
72254         (files-tests-file-name-non-special-make-auto-save-file-name)
72255         (files-tests-file-name-non-special-make-directory)
72256         (files-tests-file-name-non-special-make-directory-internal)
72257         (files-tests-file-name-non-special-make-nearby-temp-file)
72258         (files-tests-file-name-non-special-make-symbolic-link)
72259         (files-tests-file-name-non-special-rename-file)
72260         (files-tests-file-name-non-special-set-file-acl)
72261         (files-tests-file-name-non-special-set-file-modes)
72262         (files-tests-file-name-non-special-set-file-selinux-context)
72263         (files-tests-file-name-non-special-set-file-times)
72264         (files-tests-file-name-non-special-set-visited-file-modtime)
72265         (files-tests-file-name-non-special-shell-command)
72266         (files-tests-file-name-non-special-start-file-process)
72267         (files-tests-file-name-non-special-substitute-in-file-name)
72268         (files-tests-file-name-non-special-temporary-file-directory)
72269         (files-tests-file-name-non-special-unhandled-file-name-directory)
72270         (files-tests-file-name-non-special-vc-registered)
72271         (files-tests-file-name-non-special-write-region): New tests.
72273 2018-02-01  Paul Eggert  <eggert@cs.ucla.edu>
72275         Update from gnulib
72277         This includes:
72278         2018-01-31 environ: Fix link error on 64-bit Cygwin
72279         2018-01-27 Fix malfunction of socket functions on HP-UX in 64-bit mode
72280         2018-01-26 manywarnings: fix maintainer comment
72281         2018-01-23 Merge strftime.c changes from glibc
72282         * build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
72283         * lib/gnulib.mk.in, lib/nstrftime.c, lib/unistd.in.h, m4/extensions.m4:
72284         * m4/manywarnings.m4: Update.
72286 2018-02-01  Paul Eggert  <eggert@cs.ucla.edu>
72288         * src/xfns.c: Make some non-exported vars static.
72290 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
72292         Adapt tramp-tests.el according to Bug#30243
72294         * test/lisp/net/tramp-tests.el (tramp--test-emacs27-p): New defun.
72295         (tramp-test11-copy-file, tramp-test12-rename-file)
72296         (tramp-test21-file-links, tramp-test24-file-acl)
72297         (tramp-test25-file-selinux, tramp--test-check-files): Use it.
72299 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
72301         * lisp/files.el (get-free-disk-space): Wrap body with `save-match-data'.
72303         Several `*-insert-directory' functions could fail otherwise.
72305 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
72307         * lisp/net/tramp-archive.el (tramp-archive-run-real-handler): New defun.
72309         (tramp-archive-file-name-handler): Use it.
72311 2018-01-31  Glenn Morris  <rgm@gnu.org>
72313         automerge: adjust meaning of -d option
72315         * admin/automerge (nocd): New variable, replacing $dir.
72316         (usage, -d): Option -d no longer takes an argument.
72318 2018-01-31  Glenn Morris  <rgm@gnu.org>
72320         automerge: add option to work in specific directory
72322         * admin/automerge (usage): Mention -d.
72323         (dir): New variable.
72324         (-d): New option.
72325         (main): If requested, cd to specified directory.
72327 2018-01-31  Glenn Morris  <rgm@gnu.org>
72329         automerge: add option to start with a reset
72331         * admin/automerge (usage): Mention -r.
72332         (reset): New variable.
72333         (-r): New option.
72334         (main): If requested, do a reset and pull.
72336 2018-01-31  Glenn Morris  <rgm@gnu.org>
72338         Merge from origin/emacs-26
72340         22922c7 (origin/emacs-26) * doc/emacs/entering.texi (Entering Emacs):...
72341         59657c4 Document 'window-at-side-p' in the Elisp manual
72342         2b35ed0 Document external-debugging-output in the Elisp Manual (Bug#2...
72343         db6564c Fix scroll-margin docstring (Bug#13791)
72344         732d1b9 Clarify that `ansi-term' is almost the same as `term' (Bug#18...
72345         f706c59 Update manual description of locate-file (Bug#23650)
72346         1602262 Clarify effect of print-gensym (Bug#27776)
72347         53e9fa2 * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
72348         607cc4e Define cl-type-definition button type as needed (Bug#28899)
72349         9e6889c Emphasize that GPG passphrase caching is temporary (Bug#29907)
72350         4b5711b Fix @examples in cc-mode.info, where lines were getting glued...
72351         71961f1 Minor change in "Mode Line" section of Emacs manual
72352         55a2b76 More fixes in the Emacs manual
72354 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
72356         Fix Bug#30293
72358         * lisp/net/tramp-archive.el (tramp-archive-file-name-for-operation):
72359         New defsubst.
72360         (tramp-archive-file-name-archive, tramp-archive-file-name-localname):
72361         New defuns.
72362         (tramp-archive-file-name-handler, tramp-archive-dissect-file-name)
72363         (tramp-archive-handle-not-implemented): Use them.  (Bug#30293)
72365         * test/lisp/net/tramp-archive-tests.el (tramp-archive-test-directory):
72366         New defconst.
72367         (tramp-archive-test01-file-name-syntax): Extend test.
72368         (tramp-archive-test05-expand-file-name-non-archive-directory):
72369         New test.  (Bug#30293)
72371         * test/lisp/net/tramp-archive-resources/foo.iso/foo: New file.
72373 2018-01-30  Glenn Morris  <rgm@gnu.org>
72375         automerge: handle upstream changes during operation
72377         * admin/automerge (merge): New function, split from pre-existing code.
72378         (main): If upstream changed during building and testing,
72379         reset local and try merging again.
72381 2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
72383         * test/lisp/mouse-tests.el: Fix tests broken by mouse.el change
72385         * test/lisp/mouse-tests.el (bug23288-use-return-value)
72386         (bug23288-translate-to-mouse-2): Don't rely as much on details of the
72387         implementation, so it also works with the new code.
72389 2018-01-30  Michael Albinus  <michael.albinus@gmx.de>
72391         Simplify last change in tramp-archive
72393 2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
72395         * lisp/mouse.el: Rework the mouse-1-click remapping
72397         Avoid peeking ahead at the next event because this had undesirable effects,
72398         such as making 'this-single-command-raw-keys' return bogus information.
72400         (mouse--last-down): New variable.
72401         (mouse--down-1-maybe-follows-link): Don't do the remapping here.
72402         Instead, just keep track of the time when the down happened.
72403         (mouse--down-1-maybe-follows-link): Do the remapping here.
72404         (key-translation-map): Add bindings for (double-)mouse-1.
72406 2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
72408         * lisp/help.el: Rework describe-key's handling of up and double clicks
72410         Use lexical-binding.
72411         (help--binding-undefined-p): New function, extracted from help--analyze-key.
72412         (help--analyze-key): Use it.
72413         (help--filter-info-list): New function.
72414         (describe-key-briefly): Change calling convention.
72415         Handle a list of key sequences now.
72416         (help--binding-locus): Remove unused var 'found'.
72417         (help--read-key-sequence): Rename from help-read-key-sequence.
72418         Almost complete rewrite, with a different return value.
72419         (help-downify-mouse-event-type): Remove.
72420         (describe-key): Change calling convention.
72421         Handle a list of key sequences now.
72423 2018-01-30  Michael Albinus  <michael.albinus@gmx.de>
72425         Fix Bug#30262
72427         * lisp/net/tramp-archive.el (tramp-archive-hash): Document (changed)
72428         layout.
72429         (tramp-archive-dissect-file-name): Merge with
72430         `tramp-archive-local-copy', which has been removed by this.
72431         (tramp-archive-cleanup-hash): Adapt to changed
72432         `tramp-archive-hash'.  (Bug#30262)
72434         * lisp/net/tramp-gvfs.el (tramp-gvfs-unmount): Flush
72435         connection properties.
72437         * test/lisp/net/tramp-archive-tests.el
72438         (tramp-archive-test01-file-name-syntax)
72439         (tramp-archive-test02-file-name-dissect)
72440         (tramp-archive-test16-directory-files)
72441         (tramp-archive-test26-file-name-completion): Adapt to changed
72442         test file.
72443         (tramp-archive-test08-file-local-copy): Be more robust in cleanup.
72445         * test/lisp/net/tramp-archive-resources/foo.tar.gz: Adapt to
72446         extended test.
72448 2018-01-30  Glenn Morris  <rgm@gnu.org>
72450         Merge from origin/emacs-26
72452         bc8dc37 (origin/emacs-26) Minor copyedits in "Distribution" chapter o...
72453         1c7a936 Minor copyedits in "Entering" chapter of Emacs manual.
72454         1d4498b Minor wording change in the Emacs manual
72455         2bf49e7 Fix a typo in the Emacs manual
72456         f3546a2 Improve the "Basic" chapter of the Emacs manual
72457         691431e Resurrect lost text in lispref
72458         956807b * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
72459         7d90d2e Proofread os.texi and files.texi
72460         490c736 Minor improvements in the "International" chapter of Emacs ma...
72461         79252d3 Minor improvement in "Text" chapter of Emacs manual
72463 2018-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
72465         * lisp/subr.el (atomic-change-group): Fix return value
72467         Suggested by Jarosław Rzeszótko <jrzeszotko@gmail.com>.
72469 2018-01-29  Glenn Morris  <rgm@gnu.org>
72471         Recognize more system descriptions in report-emacs-bug
72473         * lisp/mail/emacsbug.el (report-emacs-bug--os-description):
72474         New function, split from report-emacs-bug.  Also parse the
72475         standard /etc files that can contain release information.
72476         (report-emacs-bug): Call report-emacs-bug--os-description.
72478 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
72480         Simplify Fcall_interactively
72482         * src/callint.c (Fcall_interactively): Use C99 constructs to
72483         simplify the code a bit.  Stop worrying about circa-1990
72484         compiler bugs.
72486 2018-01-29  Glenn Morris  <rgm@gnu.org>
72488         Merge from origin/emacs-26
72490         8d45000 (origin/emacs-26) Fix some issues in the emacs/lispref manuals
72491         194ded5 Fix multiple spaces in Emacs manual
72492         57a5461 * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
72493         231474f Adjudicate comments to "International" chapter of Emacs manual
72495 2018-01-29  Glenn Morris  <rgm@gnu.org>
72497         Merge from origin/emacs-26
72499         6415b2d Allow read-passwd to hide characters inserted by C-y.  (Secur...
72500         8cb4ffb * etc/PROBLEMS: Document issues with double-buffering.  (Bug#...
72501         fd10070 * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
72502         e1a4403 Minor changes in the Emacs manual
72503         372fda6 Improve the "Files" chapter of the Emacs manual
72504         9afc86d Improve the "Search" chapter of the Emacs manual
72505         22f98b3 * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
72506         085ee43 Improve documentation of 'edebug-defun'
72507         4dd1b33 Mention crashes due to Noto Serif Kannada fonts
72509 2018-01-29  tino calancha  <tino.calancha@gmail.com>
72511         * test/lisp/simple-tests.el (simple-tests-async-shell-command-30280): Add test
72513 2018-01-28  Glenn Morris  <rgm@gnu.org>
72515         * configure.ac: Improve recent libtof version test.
72517 2018-01-28  Juri Linkov  <juri@linkov.net>
72519         * lisp/simple.el: Move definitions shell-command-saved-pos
72521         and shell-command-dont-erase-buffer closer to their usage.
72523 2018-01-28  Juri Linkov  <juri@linkov.net>
72525         * lisp/simple.el (upcase-dwim, downcase-dwim): Add region-noncontiguous-p
72527         to the calls of region functions to support rectangular regions.
72529 2018-01-28  Juri Linkov  <juri@linkov.net>
72531         * lisp/tar-mode.el (tar-summarize-buffer): Let-bind `create-lockfiles' to nil
72533         instead of `buffer-file-truename'.  (Bug#30215)
72535         * lisp/image-mode.el (image-toggle-display-image): Idem.
72537 2018-01-28  Philipp Stephani  <phst@google.com>
72539         Add missing module types to cl--typeof-types.
72541         * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add module
72542         types.
72544         * test/src/emacs-module-tests.el (emacs-module-tests--generic): New
72545         helper function.
72546         (module-function-object, mod-test-userptr-fun-test): Test that type
72547         dispatching works with module types.
72549 2018-01-28  Philipp Stephani  <phst@google.com>
72551         Test that module functions are functions.
72553         * test/src/emacs-module-tests.el (module-function-object): Verify that
72554         a module function is treated as a function.
72556 2018-01-28  Philipp Stephani  <phst@google.com>
72558         * src/lisp.h: Tell developers to add new types to cl--typeof-types.
72560 2018-01-28  Philipp Stephani  <phst@google.com>
72562         Prevent name clashes between CL structures and builtin types
72564         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
72565         structures with the same names as builtin types.
72566         (cl--typeof-types, cl--all-builtin-types): Move from cl-generic.el and
72567         rename.
72568         (cl--struct-name-p): New helper function.
72570         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
72571         with the same names as builtin types.
72573         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer)
72574         (cl-generic-generalizers): Adapt to name change.
72576         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
72577         * test/lisp/emacs-lisp/cl-preloaded-tests.el
72578         (cl-struct-define/builtin-type): New unit tests.
72580         * etc/NEWS: Document changed behavior.
72582 2018-01-28  Alan Mackenzie  <acm@muc.de>
72584         Fix some errors in c-display-defun-name when the type is "struct {..}", etc.
72586         Also fix some errors with c-display-defun-name when there are nested classes.
72588         * lisp/progmodes/cc-cmds.el (c-in-function-trailer-p): Deal with a struct {..}
72589         being merely the type of a function.
72590         (c-where-wrt-brace-construct): Deal with a struct {..} being merely the type
72591         of a function.  Rearrange the order of some Lisp forms.  Insert a check for
72592         c-protection-key ("private", etc.) alongside the checking for a label.
72593         (c-defun-name-1): New function extracted form c-defun-name, which works within
72594         the existing restriction.  Don't regard 'at-function-end as being within the
72595         defun any more.  Recognize "struct", etc., with the new
72596         c-defun-type-name-decl-key rather than c-type-prefix-key.  Make the
72597         recognition of a normal function more accurate.
72598         (c-defun-name): Part left after extracting the above function.  It now just
72599         widens and calls c-defun-name-1.
72600         (c-declaration-limits-1): New function extracted from c-declaration-limits,
72601         which works within the existing restriction.  Move LIM back one block to
72602         account for the possibility of struct {..} as a function type.  Check we're
72603         not inside a declaration without braces.
72604         (c-declaration-limits): Part left after extracting the above function.  It now
72605         just narrows to an enclosing decl block and calls c-declaration-limits-1.
72606         (c-defun-name-and-limits): New function which identifies the name and limits
72607         of the most nested enclosing declaration or macro.
72608         (c-display-defun-name): Use c-defun-name-and-limits rather than two separate
72609         functions (which didn't always agree on which function).
72611         * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): If we have struct
72612         {..} as the type of a function, go back over this, too.
72614         * lisp/progmodes/cc-langs.el (c-defun-type-name-decl-kwds)
72615         (c-defun-type-name-decl-key): New lang const/var.
72617 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
72619         Fix round tripping of read->print for symbols with strange quotes
72621         Since 2017-07-22 "Signal error for symbol names with strange
72622         quotes (Bug#2967)", symbol names beginning with certain quote
72623         characters require an escaping backslash.  However, the corresponding
72624         change for printing missed, so that (eq (read (prin1-to-string SYM))
72625         SYM) does not give `t' for such symbols.
72626         * src/character.c (confusable_symbol_character_p): New function,
72627         extracted from test `read1'.
72628         * src/lread.c (read1): Use it.
72629         * src/print.c (print_object): Use it to print a backslash for symbols
72630         starting with characters that `read1' requires to be escaped.
72631         * test/src/print-tests.el (print-read-roundtrip): New test.
72632         * etc/NEWS.26:
72633         * etc/NEWS: Clarify the announcement for the earlier reader
72634         change (Bug#30217).
72636 2018-01-28  Simen Heggestøyl  <simenheg@gmail.com>
72638         Shorten CSS hex colors when possible
72640         * lisp/textmodes/css-mode.el (css--format-hex): New function for
72641         shortening CSS hex colors when possible.
72642         (css--named-color-to-hex, css--rgb-to-named-color-or-hex): Use it.
72644         * test/lisp/textmodes/css-mode-tests.el (css-test-format-hex): New
72645         tests for 'css--format-hex'.
72646         (css-test-named-color-to-hex, css-test-cycle-color-format): Adjust for
72647         the changes to 'css--named-color-to-hex' and
72648         'css--rgb-to-named-color-or-hex'.
72650 2018-01-28  Simen Heggestøyl  <simenheg@gmail.com>
72652         Fix off-by-one error in 'css--hex-to-rgb'
72654         * lisp/textmodes/css-mode.el (css--hex-to-rgb): Fix off-by-one error.
72656         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-to-rgb): Add
72657         regression tests for the above fix.
72659 2018-01-27  tino calancha  <tino.calancha@gmail.com>
72661         Code refactoring assoc-delete-all assq-delete-all
72663         * lisp/subr.el (assoc-delete-all): Add optional arg TEST.
72664         (assq-delete-all): Use assoc-delete-all.
72666         * test/lisp/subr-tests.el (subr-tests--assoc-delete-all)
72667         (subr-tests--assq-delete-all): New tests.
72669         * doc/lispref/lists.texi (Association Lists): Document
72670         assoc-delete-all in the manual.
72672 2018-01-27  Simen Heggestøyl  <simenheg@gmail.com>
72674         Fix indentation bug with multi-line CSS values
72676         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
72677         multi-line CSS values that are separated by spaces.
72679         * test/manual/indent/css-mode.css: Add a test case for the fix.
72681 2018-01-27  Alan Third  <alan@idiocy.org>
72683         Allow configure to find Homebrew installed imagemagick
72685         * configure.ac: Add the imagemagick pkgconfig dir to pkg-config's
72686         search path.
72688 2018-01-26  Martin Rudalics  <rudalics@gmx.at>
72690         In bindings.el fix check whether mode line can be dragged
72692         * lisp/bindings.el (mode-line-default-help-echo): Use check
72693         whether mode line can be dragged from 'mouse-drag-mode-line'.
72695 2018-01-26  Glenn Morris  <rgm@gnu.org>
72697         Workaround a libotf crash with Kannada font (bug#30193)
72699         * configure.ac (HAVE_OTF_KANNADA_BUG): New define.
72700         * src/xfaces.c (syms_of_xfaces) <Vface_ignored_fonts>:
72701         Add problematic Kannada font if necessary.
72703 2018-01-26  Noah Friedman  <friedman@splode.com>
72705         Bring emacs-buffer.gdb up to date with recent lisp.h changes.
72707 2018-01-26  Noam Postavsky  <npostavs@gmail.com>
72709         Raise limit of regexp repetition (Bug#24914)
72711         * src/regex.h (RE_DUP_MAX): Raise limit to 2^16-1.
72712         * etc/NEWS: Announce it.
72713         * doc/lispref/searching.texi (Regexp Backslash): Document it.
72714         * test/src/regex-tests.el (regex-repeat-limit): Test it.
72716         * src/regex.h (reg_errcode_t): Add REG_ESIZEBR code.
72717         * src/regex.c (re_error_msgid): Add corresponding entry.
72718         (GET_INTERVAL_COUNT): Return it instead of the more generic REG_EBADBR
72719         when encountering a repetition greater than RE_DUP_MAX.
72721         * lisp/isearch.el (isearch-search): Don't convert errors starting with
72722         "Invalid" into "incomplete".  Such errors are not incomplete, in the
72723         sense that they cannot be corrected by appending more characters to
72724         the end of the regexp.  The affected error messages are:
72726         - REG_BADPAT "Invalid regular expression"
72727           - \\(?X:\\) where X is not a legal group number
72728           - \\_X where X is not < or >
72730         - REG_ECOLLATE "Invalid collation character"
72731           - There is no code to throw this.
72733         - REG_ECTYPE "Invalid character class name"
72734           - [[:foo:] where foo is not a valid class name
72736         - REG_ESUBREG "Invalid back reference"
72737           - \N where N is referenced before matching group N
72739         - REG_BADBR "Invalid content of \\{\\}"
72740           - \\{N,M\\} where N < 0, M < N, M or N larger than max
72741           - \\{NX where X is not a digit or backslash
72742           - \\{N\\X where X is not a }
72744         - REG_ERANGE "Invalid range end"
72745           - There is no code to throw this.
72747         - REG_BADRPT "Invalid preceding regular expression"
72748           - We never throw this.  It would usually indicate a "*" with no
72749             preceding regexp text, but Emacs allows that to match a literal
72750             "*".
72752 2018-01-26  Noam Postavsky  <npostavs@gmail.com>
72754         Merge from emacs-26
72756         463f96b481 * doc/lispref/searching.texi: Document regexp repetition l...
72757         08a6195571 ; test/README: Document TEST_LOAD_EL parameter.
72758         7bbea90b1a * src/syntax.c (char-syntax): Warn about ignoring text pro...
72759         50fcbb5f61 ; * src/process.c (Fprocess_contact): Fix docstring typo.
72760         81ae9c8c05 Load mm-util as needed for url-file and url-data (Bug#30258)
72761         5a1ee67ae1 Another minor copyedit in the manual's "Scroll Bars"
72762         226a651e9e Minor fix in documentation of 'equal'
72763         b26786c8d9 * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix....
72764         5699a824f0 Minor rewording in Emacs manual's "Help Mode" node
72765         f35ff0156e Fixes for Emacs manual in frames.texi
72766         6cd4e8dcc5 * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 t...
72767         1412cf3edd Fix a few issues with latest GTK scaling changes
72768         59db8dca03 Use scaled coordinates when calling into GTK
72769         2892f05792 Scale monitor dimensions obtained from GTK
72771 2018-01-26  Stefan Monnier  <monnier@iro.umontreal.ca>
72773         * lisp/emacs-lisp/cl-preloaded.el: Update cl-slot-descriptor name.
72775 2018-01-26  Francesco Potortì  <pot@gnu.org>
72777         Fix a typo in rmail.el
72779         * lisp/mail/rmail.el (rmail-simplified-subject): Fix a typo in the
72780         regexp.  (Bug#29659)
72782 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
72784         Minor fix for "M-x pdb"
72786         * lisp/progmodes/gud.el (gud-pdb-marker-regexp): Add @ and SPC to
72787         the regexp.  (Bug#30208)
72789 2018-01-26  Andy Moreton  <andrewjmoreton@gmail.com>
72791         Fix emacs-module-tests to work out of build tree
72793         * test/Makefile.in (test_module_dir): Build the test module library in
72794         a subdirectory of the build directory (not the source tree).
72795         (MODULE_CFLAGS): Fix location of emacs-module.h header file.
72796         (test_module): Move built library out of the source tree.
72797         * test/src/emacs-module-tests.el (mod-test-file): Locate the test module
72798         library relative to the running Emacs executable.
72800 2018-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
72802         * lisp/emacs-lisp/gv.el (char-table-range): Add gv-setter.
72804 2018-01-25  Juri Linkov  <juri@linkov.net>
72806         * lisp/arc-mode.el (archive-extract): Let-bind `create-lockfiles' to nil
72808         to prevent directory time modification by lock_file on visiting
72809         a file from archive.  (Bug#30215)
72810         (archive-summarize): Let-bind `create-lockfiles' to nil
72811         instead of `buffer-file-truename'.
72813 2018-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
72815         Replace (default-value 'enable-multibyte-characters) with t
72817         Since Emacs-24, (default-value 'enable-multibyte-characters) can't be
72818         changed any more, so we can remove all code which checks this value.
72820         * lisp/x-dnd.el (x-dnd-handle-file-name):
72821         * lisp/w32-fns.el (w32-set-default-process-coding-system):
72822         * lisp/textmodes/ispell.el (ispell-send-string):
72823         * lisp/term/internal.el (dos-codepage-setup):
72824         * lisp/tar-mode.el (tar-header-block-tokenize, tar--extract):
72825         * lisp/startup.el (command-line):
72826         * lisp/server.el (server-process-filter):
72827         * lisp/net/browse-url.el (browse-url-file-url):
72828         * lisp/menu-bar.el (menu-bar-options-menu, menu-bar-describe-menu):
72829         * lisp/mail/sendmail.el (mail-setup):
72830         * lisp/mail/rmail.el (rmail-mode, rmail-get-new-mail):
72831         * lisp/mail/rfc2047.el (rfc2047-encode-message-header):
72832         * lisp/mail/emacsbug.el (report-emacs-bug):
72833         * lisp/international/mule-diag.el (mule-diag):
72834         * lisp/files.el (find-file-noselect-1):
72835         * lisp/dos-fns.el (dos-set-default-process-coding-system):
72836         * lisp/arc-mode.el (archive-mode):
72837         * lisp/international/mule-cmds.el (mule-menu-keymap)
72838         (set-default-coding-systems, set-language-info)
72839         (set-language-environment, standard-display-european-internal)
72840         (set-locale-environment): Simplify code.
72842 2018-01-25  Michael Albinus  <michael.albinus@gmx.de>
72844         * lisp/simple.el (shell-command-to-string):
72846         Call `shell-command' in order to respect file name handlers.
72848 2018-01-25  Michael Albinus  <michael.albinus@gmx.de>
72850         * lisp/net/trampver.el: Simplify version check.
72852 2018-01-24  Juri Linkov  <juri@linkov.net>
72854         * lisp/dired.el (dired-internal-do-deletions): Remove nreverse
72856         to compensate the changes that added nreverse to dired-do-delete
72857         and dired-do-flagged-delete in 9ecbdee (bug#30162)
72859 2018-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
72861         * lisp/net/tramp.el: Require trampver here instead of...
72863         * lisp/net/tramp-compat.el: ... there.
72865 2018-01-24  Glenn Morris  <rgm@gnu.org>
72867         * admin/automerge: Disable rebasing.
72869 2018-01-24  Marcin Borkowski  <mbork@mbork.pl>
72871         Merge branch 'fix/bug-20871-cur'
72873 2018-01-23  Glenn Morris  <rgm@gnu.org>
72875         Avoid kill-emacs-hook errors hanging batch mode
72877         * src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
72878         hanging Emacs in batch mode.  (Bug#29955)
72880 2018-01-23  Philipp Stephani  <phst@google.com>
72882         Add unit test for Bug#30005.
72884         * test/src/callint-tests.el (call-interactively/embedded-nulls): New
72885         unit test.
72887 2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
72889         Remove final uses of 'cl' in lisp/net
72891         * lisp/net/pop3.el: Use lexical-binding and cl-lib.
72892         (pop3-write-to-file): Remove unused var 'start'.
72893         (pop3-make-date): Remove unused var 'sign'.
72895         * lisp/net/rfc2104.el: Use lexical-binding and cl-lib.
72897         * lisp/net/shr-color.el: Use lexical-binding and cl-lib.
72899         * lisp/net/sieve-manage.el: Use lexical-binding and cl-lib.
72901 2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
72903         * lisp/net/imap.el: Use lexical-binding and cl-lib
72905         Require packages instead of autoloading their functions.
72906         (imap-send-command): Remove unused vars 'stream' and 'eol'.
72907         (imap-parse-response): Use pcase.
72908         (imap-parse-fetch): Remove unused arg 'response'.
72910         * lisp/format-spec.el: Don't require CL.
72912 2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
72914         * lisp/gnus/message.el: Tweak header font-lock and ecomplete completion
72916         (message-font-lock-make-header-matcher): Delete.
72917         (message-match-to-eoh): New function to replace it.
72918         (message-font-lock-keywords): Use it.
72919         (message-strip-forbidden-properties): Remove redundant binding.
72920         (message-goto-body): Avoid called-interactively-p, only use
72921         push-mark when called interactively.
72922         (message-goto-body-1): Merge into message-goto-body.  Redefine as alias.
72923         (message-goto-eoh): Call message-goto-body interactively.
72924         (message--in-tocc-p): New function, extracted from message-display-abbrev.
72925         (message-ecomplete-capf): New function.
72927 2018-01-23  Stefan Monnier  <monnier@iro.umontreal.ca>
72929         * lisp/ecomplete.el: Add completion-table; use lexical-binding and cl-lib
72931         Also remove redundant :group args.
72932         (ecomplete-database-file): Use locate-user-emacs-file.
72933         (ecomplete-completion-table): New completion table.
72934         (completion-category-defaults): Set default behavior for that table.
72936 2018-01-23  Eli Zaretskii  <eliz@gnu.org>
72938         Support null characters in interactive specs
72940         * src/callint.c (Fcall_interactively): Support 'interactive'
72941         specifications with embedded null characters.  (Bug#30005)
72943 2018-01-22  Stefan Monnier  <monnier@iro.umontreal.ca>
72945         * lisp/emacs-lisp/ert.el (describe-symbol-backends): Add ourselves
72947         (ert-describe-test): Return the description text as well.
72948         Remove left over version check.
72949         * lisp/help-mode.el (describe-symbol-backends): Add docstring.
72951 2018-01-22  Philipp Stephani  <phst@google.com>
72953         Add a regression test for Bug#30004.
72955         * test/src/callint-tests.el
72956         (call-interactively/incomplete-multibyte-sequence): New unit test.
72958 2018-01-22  Philipp Stephani  <phst@google.com>
72960         * src/nsterm.m (x_set_offset): Remove unused variable 'screens'.
72962 2018-01-22  Juri Linkov  <juri@linkov.net>
72964         Restore isearch correctly after M-e in special modes (bug#30187)
72966         * lisp/isearch.el (isearch-suspended): New defvar.
72967         (with-isearch-suspended): Set isearch-suspended to t
72968         at the beginning, then set it back to nil at the end.
72970         * lisp/comint.el (comint-history-isearch-backward)
72971         (comint-history-isearch-backward-regexp): Set global value of
72972         comint-history-isearch to t.
72973         (comint-history-isearch-end): Reevaluate
72974         comint-history-isearch when isearch-edit-string finishes.
72976         * lisp/dired-aux.el (dired-isearch-filenames)
72977         (dired-isearch-filenames-regexp): Set global value of
72978         dired-isearch-filenames to t.
72979         (dired-isearch-filenames-end): Reevaluate
72980         dired-isearch-filenames when isearch-edit-string finishes.
72982 2018-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72984         Merge from origin/emacs-26
72986         1fc98ed073 ; Spelling fix
72987         bb396a369c Update Org to v9.1.6
72988         fa582153f7 Use text-pixels values only when saving framesets (Bug#30141)
72989         6b01b9475d Minor improvement in section "Pages" of the usere manual
72990         e8c8bd3de2 Minor improvements in user manual
72991         26b8b92e63 Improve the "Mark" chapter of the user manual
72992         759569fe40 Improve the "Buffers" chapter of the user manual
72993         c2e6d121ff * lisp/term.el (term-send-input): Fix text duplication in ...
72994         854a1c0a61 Improve "Buffers" in the user manual
72996         # Conflicts:
72997         #       etc/NEWS
72999 2018-01-22  Michael Albinus  <michael.albinus@gmx.de>
73001         Fix byte-compiler warning in tramp-sh.el
73003         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
73004         Use `set-process-coding-system' rather than interactive
73005         `set-buffer-process-coding-system'.
73007         * lisp/net/tramp.el (tramp-default-user-alist)
73008         (tramp-default-host-alist): Fix docstring.
73010 2018-01-22  Michael Albinus  <michael.albinus@gmx.de>
73012         Finish changes in autorevert from commit 530bb2dc68
73014         * lisp/autorevert.el (auto-revert-buffers):
73015         Check `auto-revert-timer' being a timerp.
73017         * test/lisp/filenotify-tests.el (file-notify-test04-autorevert):
73018         Adapt test in order to cover changed behavior of autorevert.
73020 2018-01-21  Juri Linkov  <juri@linkov.net>
73022         * lisp/vc/add-log.el (change-log-next-buffer): Check file for nil.
73024 2018-01-21  Juri Linkov  <juri@linkov.net>
73026         New function read-answer (bug#30073)
73028         * lisp/emacs-lisp/map-ynp.el (read-answer): New function.
73029         (read-answer-short): New defcustom.
73031         * lisp/dired.el (dired-delete-file): Use read-answer.
73032         (dired--yes-no-all-quit-help): Remove function.
73033         (dired-delete-help): Remove defconst.
73035         * lisp/subr.el (assoc-delete-all): New function.
73037 2018-01-21  Lars Ingebrigtsen  <larsi@gnus.org>
73039         (archive-rar-summarize): Adjust parsing to be more permissive
73041         * lisp/arc-mode.el (archive-rar-summarize): Adjust parsing to
73042         be more permissive.
73044         The previous code would stop parsing if we had a directory entry or a
73045         negative ratio as seen from the output of lsar on Debian jessie:
73047           0. D----    16221659  -----  Nr20  2005-12-24 19:30  foo/
73048           4. -----      466509  -0.0%  Nr20  2005-12-24 19:19  foo/bar.jpg
73050 2018-01-21  Alan Mackenzie  <acm@muc.de>
73052         Handle C99 Compound Literals in return statements and argument lists.
73054         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Recognize
73055         a brace list when preceded by "return" or inside parentheses, either
73056         immediately after the "(" or following a comma.
73057         (c-looking-at-inexpr-block): Test c-has-compound-literals rather than hard
73058         coded C++ Mode.
73059         (c-guess-basic-syntax, CASE 7B): Test additionally for not being just inside a
73060         parenthesis or being at a Java "new" keyword.  CASE 9: Remove the simple
73061         minded test on the contents of a block to determine a brace list.
73063         * lisp/progmodes/cc-langs.el (c-has-compound-literals): New lang const and lang var.
73065 2018-01-21  Simen Heggestøyl  <simenheg@gmail.com>
73067         Parse percent values in CSS alpha components
73069         * lisp/textmodes/css-mode.el (css--rgb-color): Support parsing percent
73070         values in the alpha component.
73072         * test/lisp/textmodes/css-mode-tests.el
73073         (css-test-rgb-to-named-color-or-hex, css-test-rgb-parser): Update for
73074         the above changes.
73076 2018-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73078         Fix tempfile creation when byte compiling
73080         This improves on the recent fix for master failing to build
73081         on FreeBSD.  Suggested by Stefan Monnier in:
73082         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
73083         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
73084         Put tempfile next to the target file, as was the original intent.
73086 2018-01-20  Michael Albinus  <michael.albinus@gmx.de>
73088         Extend tramp-test02-file-name-dissect* tests
73090         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
73091         (tramp-test02-file-name-dissect-simplified)
73092         (tramp-test02-file-name-dissect-separate): Test also
73093         `tramp-default-method-alist', `tramp-default-user-alist' and
73094         `tramp-default-host-alist'.
73096 2018-01-20  Jarosław Rzeszótko  <jrzeszotko@gmail.com>  (tiny change)
73098         * lisp/ielm.el: Bring up the debugger when requested
73101         (ielm-eval-input): Don't catch errors during evaluation
73102         of the expression if debug-on-error is set.
73104 2018-01-20  Glenn Morris  <rgm@gnu.org>
73106         Merge from origin/emacs-26
73108         cfc94fd (origin/emacs-26) Don't mention 'vc-stay-local' in the user m...
73109         8ce430b Fix a typo in calendar.texi
73110         bb748b3 Minor improvement in wording of the Emacs manual
73111         b603aff Revert "Fix tempfile creation when byte compiling"
73112         4fd446e Fix tempfile creation when byte compiling
73113         7f48a11 Improve the Emacs manual as suggested in emacs-manual-bugs
73114         728ded0 * lisp/emacs-lisp/bytecomp.el: Tweak last change
73115         c6c05e2 Unbreak building Emacs on FreeBSD
73116         a41ad3d Don't unnecessarily use non-ASCII characters in C sources
73117         c28d4b6 Portability fixes in emacs-module-tests
73118         1d50c18 Add tests for term.el
73120 2018-01-20  Glenn Morris  <rgm@gnu.org>
73122         Merge from origin/emacs-26
73124         297dc41 * configure.ac (emacs_config_features): Add threads.
73126         Conflicts:
73127                 configure.ac
73129 2018-01-20  Michael Albinus  <michael.albinus@gmx.de>
73131         Use file notification in autorevert also for recreated files
73133         * lisp/autorevert.el (auto-revert-mode)
73134         (global-auto-revert-mode, auto-revert-notify-add-watch)
73135         (auto-revert-notify-handler, auto-revert-handler): Do not use
73136         buffer local `auto-revert-use-notify' anymore.
73138         * test/lisp/autorevert-tests.el
73139         (auto-revert-test02-auto-revert-deleted-file): Adapt test in
73140         order to check, that file notification is reenabled when possible.
73142 2018-01-20  Michael Albinus  <michael.albinus@gmx.de>
73144         * doc/misc/tramp.texi: Highlight @cindex entries properly.
73146 2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>
73148         Improve and simplify 'map-y-or-n-p'
73150         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Do not follow a
73151         definite article with an action verb in C-h help text.  Use
73152         'with-help-window' instead of 'with-output-to-temp-buffer'.
73153         Simplify string concatenation.  (Bug#30064)
73155 2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>
73157         Use map-y-or-n-p in bibtex.el
73159         * lisp/textmodes/bibtex.el (bibtex-reformat): Use map-y-or-n-p.
73160         (Bug#30065)
73162 2018-01-20  Basil L. Contovounesios  <contovob@tcd.ie>
73164         Reverse bibtex-reference-keys in 'bibtex-parse-keys'
73166         * lisp/textmodes/bibtex.el (bibtex-parse-keys): Reverse
73167         bibtex-reference-keys.  (Bug#30048)
73169 2018-01-19  Michael Albinus  <michael.albinus@gmx.de>
73171         Add new entry in tramp-smb-errors
73173         * lisp/net/tramp-smb.el (tramp-smb-errors):
73174         Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
73176 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
73178         Fix posn-at-point in Flycheck buffers
73180         * src/dispnew.c (buffer_posn_from_coords): Improve commentary.
73182         * src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
73183         under truncate-lines if the glyph at TO_CHARPOS was not yet
73184         produced.  This avoids bailing out too early when we are at
73185         TO_CHARPOS, but didn't yet produce glyphs for that buffer
73186         position, because the last call to PRODUCE_GLYPHS at this position
73187         was for an object other than the buffer.  For further details, see
73188         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.
73190 2018-01-19  Reuben Thomas  <rrt@sc3d.org>
73192         etags(1): fix formatting problem
73194         * doc/man/etags.1: Remove spurious space.
73196 2018-01-19  Michael Albinus  <michael.albinus@gmx.de>
73198         * test/lisp/filenotify-tests.el (file-notify-test03-events): Cleanup subtests.
73200 2018-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>
73202         * lisp/calendar/calendar.el: Use lexical-binding
73204         (calendar-generate-window): Remove unused variable `day'.
73205         (calendar-generate-month): Use calendar-dlet* to provide the dynbind
73206         vars promised by the respective docstrings.
73207         (calendar-update-mode-line): Use calendar-dlet* to provide `date' to
73208         calendar-mode-line-format.  Don't call `eval' here since it's called in
73209         calendar-string-spread anyway!
73210         (calendar-date-string): Use calendar-dlet* to provide the dynbind
73211         vars promised by the docstring of calendar-date-display-form.
73213         * lisp/calendar/diary-lib.el (diary--date-string): Rename from date-string.
73215 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
73217         Switch term.el to lexical binding, and clean up code a bit
73219         * lisp/term.el (term-terminal-state): Remove.
73220         (term-do-line-wrapping): New variable, equivalent to state 1.
73221         (term-terminal-previous-parameter, term-terminal-parameter)
73222         (term-terminal-more-parameters)
73223         (term-terminal-previous-parameter-2)
73224         (term-terminal-previous-parameter-3)
73225         (term-terminal-previous-parameter-4): Remove.
73226         (term-move-to-column): New function, for absolute column movement.
73227         (term-control-seq-regexp, term-control-seq-prefix-regexp): New
73228         constants.
73229         (term-emulate-terminal, term-pager-discard): Use them via string-match
73230         instead of implementing a state machine in elisp.  Handle all
73231         unprocessed input via term-terminal-undecoded-bytes (this solves
73232         Bug#17231).
73233         (term-handle-ansi-escape): Take a list of escape sequence parameters
73234         as an argument, rather than via dynamic variables.
73235         (term-erase-in-display): Consult the argument, not the dynamically
73236         bound term-terminal-parameter (which happened to be the same as the
73237         argument up until now).
73239 2018-01-18  Glenn Morris  <rgm@gnu.org>
73241         * admin/automerge: New script.
73243 2018-01-18  Glenn Morris  <rgm@gnu.org>
73245         Merge from origin/emacs-26
73247         76040d1 (origin/emacs-26) Handle case-insensitive filenames for load-...
73248         0c9b050 ; * test/file-organization.org: Fix typo.
73250 2018-01-18  Glenn Morris  <rgm@gnu.org>
73252         Merge from origin/emacs-26
73254         779b2ac Use recommended long options syntax in man page
73255         c433e87 An overdue update of GNUstep emacs.tiff
73256         188a9d9 Add some test skip conditions
73258 2018-01-18  Glenn Morris  <rgm@gnu.org>
73260         Merge from origin/emacs-26
73262         7efb366 ; * etc/AUTHORS: Regenerate.
73263         3dc7f68 * admin/authors.el (authors-aliases): Tighten more entries.
73264         7428062 ; * lisp/vc/vc.el: Comment fixes.
73265         f4e6b6e Small startup fix for current-load-list
73266         5b776bf ; * etc/AUTHORS: Regenerate.
73267         d80295c authors-aliases is based on regexps, not literals
73269 2018-01-18  Stefan Monnier  <monnier@iro.umontreal.ca>
73271         * lisp/vc/vc-hg.el, lisp/vc/vc-git.el: Flush the 'vc-functions' cache.
73273 2018-01-18  Juri Linkov  <juri@linkov.net>
73275         Improve "*Process List*" and "*Local Variables*".  (Bug#30016)
73277         * lisp/files.el (save-buffers-kill-emacs): Display "*Process List*"
73278         buffer at bottom.
73279         (hack-local-variables-confirm): Display "*Local Variables*" buffer
73280         at bottom.
73282         * lisp/simple.el (process-menu-mode): Increase buffer column width
73283         from 15 to 25.
73285 2018-01-18  Philipp Stephani  <p.stephani2@gmail.com>
73287         Fix module support if threads are disabled (Bug#30106)
73289         * src/systhread.c (sys_thread_equal): New function.
73290         * src/thread.c (in_current_thread): Move from emacs-module.c; use
73291         sys_thread_equal.
73293 2018-01-18  Michael Albinus  <michael.albinus@gmx.de>
73295         * doc/misc/message.texi (Mail Aliases): Mention also down and up keys.
73297 2018-01-18  Lars Ingebrigtsen  <larsi@gnus.org>
73299         Bind up/down in ecomplete
73301         * lisp/ecomplete.el (ecomplete-display-matches): Allow using
73302         up/down in addition to M-p/M-n.
73304 2018-01-18  Martin Rudalics  <rudalics@gmx.at>
73306         Fix some tooltip related problems
73308         Replace 'tooltip' frame parameter with a 'tooltip' member in
73309         the frame structure.  For GTK+ builds use 'tip_last_frame' to
73310         find the frame for which the currently visible tooltip was
73311         made.  For modeline help-echoing have tooltips show applicable
73312         actions only.
73314         * lisp/bindings.el (mode-line-default-help-echo): New function
73315         as default value of homonymous option.
73316         * src/dispextern.h (tip_frame, tip_window): Remove
73317         declarations.
73318         * src/frame.c (make_frame): Initialize new frame structure
73319         member 'tooltip'.
73320         (Fframe_list, other_frames): Rewrite with new macro
73321         FRAME_TOOLTIP_P.
73322         * src/frame.h (struct frame): New member 'tooltip'.
73323         (FRAME_TOOLTIP_P): New macro.
73324         * src/gtkutil.c (xg_prepare_tooltip, xg_hide_tooltip): Rewrite
73325         using boolean return values.
73326         * src/nsfns.m (tip_frame): Remove declaration.
73327         * src/w32fns.c (w32_display_monitor_attributes_list)
73328         (w32_display_monitor_attributes_list_fallback): Rewrite with
73329         new macro FRAME_TOOLTIP_P.
73330         (tip_last_string, tip_last_frame, tip_last_parms): New Lisp
73331         scalars replacing Lisp vector last_show_tip_args.
73332         (x_create_tip_frame): Set new frame's 'tooltip' structure
73333         member to true.
73334         (x_hide_tip): Additionally test tip_frame for liveness.
73335         (Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
73336         tip_last_string and tip_last_parms conversion.
73337         (syms_of_w32fns): staticpro tip_last_frame, tip_last_string
73338         and tip_last_parms instead of last_show_tip_args.
73339         * src/w32term.c (w32_read_socket, x_new_font): Rewrite with
73340         new macro FRAME_TOOLTIP_P.
73341         * src/w32term.h (tip_window): Add external declaration.
73342         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars)
73343         (should_produce_line_number): Rewrite with new macro
73344         FRAME_TOOLTIP_P.
73345         (note_mode_line_or_margin_highlight): If
73346         `mode-line-default-help-echo' specifies a function, call it to
73347         produce help echo string.
73348         * src/xfns.c (x_make_monitor_attribute_list)
73349         (Fx_display_monitor_attributes_list): Rewrite with
73350         new macro FRAME_TOOLTIP_P.
73351         (tip_last_string, tip_last_frame, tip_last_parms): New Lisp
73352         scalars replacing Lisp vector last_show_tip_args.
73353         (x_create_tip_frame): Set new frame's 'tooltip' structure
73354         member to true.
73355         (x_hide_tip): Rewrite with additional tests of frames for
73356         liveness and taking into account that for GTK+ tips the
73357         reference frame is now stored in tip_last_frame instead of
73358         tip_frame.
73359         (Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
73360         tip_last_string and tip_last_parms conversion.  For GTK+ store
73361         FRAME argument in tip_last-frame.
73362         (syms_of_xfns): staticpro tip_last_frame, tip_last_string
73363         and tip_last_parms instead of last_show_tip_args.
73364         * src/xterm.c (x_update_begin, handle_one_xevent, x_new_font)
73365         (x_set_window_size): Rewrite with new macro FRAME_TOOLTIP_P.
73366         * src/xterm.h (tip_window): Add external declaration.
73367         * etc/NEWS: Mention new modeline tooltips behavior.
73369 2018-01-16  Glenn Morris  <rgm@gnu.org>
73371         Small cus-start fix for custom-delayed-init-variables
73373         * lisp/cus-start.el (custom-delayed-init-variables):
73374         Only modify it during startup.
73376 2018-01-16  Lars Ingebrigtsen  <larsi@gnus.org>
73378         Introduce a variable to control ecomplete sorting
73380         * lisp/ecomplete.el (ecomplete-sort-predicate): New variable.
73381         (ecomplete-get-matches): Use it.
73383 2018-01-16  Alan Mackenzie  <acm@muc.de>
73385         C++ Mode: Fontify correctly uniform initialisation with inner parentheses.
73387         E.g.: someStruct x ( (nullptr != y) ? 3 : 4 )
73388         Also fontify declarations of function pointers correctly.
73390         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While testing for a
73391         typeless declaration, additionally test the variable `got-prefix' to
73392         recognize a function pointer in parentheses.  Allow c-fdoc-shift-type-backward
73393         to be invoked when we have nested parens.
73395 2018-01-16  Lars Ingebrigtsen  <larsi@gnus.org>
73397         Add documentation to ecomplete.el
73399         * lisp/ecomplete.el: Add doc strings and document the format.
73401 2018-01-15  Paul Eggert  <eggert@cs.ucla.edu>
73403         Fix macOS breakage in make_lispy_event
73405         Problem reported by John Wiegley in:
73406         https://lists.gnu.org/r/emacs-devel/2018-01/msg00499.html
73407         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]:
73408         Act on used_mouse_menu here...
73409         (make_lispy_event) [HAVE_NS]: ... instead of here.
73411 2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
73413         * lisp/ielm.el (ielm-eval-input): Use cl-print.
73415 2018-01-15  Glenn Morris  <rgm@gnu.org>
73417         Merge from origin/emacs-26
73419         98e5fb9bf3 (origin/emacs-26) Remove incorrect documentation in comint.el
73420         8ba5b85161 An overdue update of src/emacs-icon.h
73421         155b211133 Minor copyedit in ELisp manual
73423 2018-01-15  Glenn Morris  <rgm@gnu.org>
73425         Merge from origin/emacs-26
73427         c9c1add6a4 * doc/lispref/variables.texi (File Local Variables): Fix l...
73428         752fba992b (tag: emacs-26.0.91) ; * Update ldefs-boot.el
73429         4f46a5098d * ChangeLog.3: Update
73430         8f705ba44d Update etc/AUTHORS
73431         6c63204b8c Fix an entry in authors-aliases
73432         5dd0e5c54d Mention trace.el facilities in the ELisp manual
73433         97b0e41c5d Improve documentation of safe values of variables
73434         a502ee9dc4 ; * doc/emacs/misc.texi (Amusements): Really add "games" t...
73435         106bf8adc3 Improve the Emacs manual's "Misc" node
73436         47aa85c7ec In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
73437         e9e32d3475 ; * Update ldefs-boot.el
73439 2018-01-15  Glenn Morris  <rgm@gnu.org>
73441         Merge from origin/emacs-26
73443         2c0cfa6455 * ChangeLog.3: Update
73444         4387bb44ae Update authors
73445         bce51bd6f7 * lisp/gnus/message.el (message-do-auto-fill): Prevent do-...
73446         bd2a2a1e84 Improve documentation of etags
73447         7ba75b9637 Teach etags new interpreters for some languages
73448         1f7f03742d * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-stri...
73449         dbb4aac212 * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#2...
73450         80463a43da Improve documentation of fill-separate-heterogeneous-words...
73451         4bd2416d55 Fix documentation of some x-* functions
73452         9c2b11484f Inherit query-on-exit flag to stderr process (Bug#30031)
73453         3efb1e7def Fix Bug#30057
73454         a9b884c60f Tag some unstable tests, and skip by default (bug#24503)
73456         # Conflicts:
73457         #       test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
73459 2018-01-15  Nicolas Petton  <nicolas@petton.fr>
73461         * admin/authors.el (authors-aliases): Additions.
73463 2018-01-15  Nicolas Petton  <nicolas@petton.fr>
73465         Update authors.el
73467         * admin/authors.el (authors-valid-file-names)
73468         (authors-renamed-files-alist): Additions.
73470 2018-01-15  Glenn Morris  <rgm@gnu.org>
73472         Small improvement for noninteractive gitmerge
73474         * admin/gitmerge.el (gitmerge-resolve-unmerged):
73475         In batch mode, report conflicted files.
73477 2018-01-15  Glenn Morris  <rgm@gnu.org>
73479         Small gitmerge-skip-regexp fix
73481         * admin/gitmerge.el (gitmerge-skip-regexp): Update for new format
73482         of "bump version" message that seems to have appeared.
73484 2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
73486         * src/print.c (syms_of_print) <print_quoted>: Set default to true
73488 2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
73490         * lisp/mail/smtpmail.el (smtpmail-send-data-1): No string-as-multibyte
73492         This is not needed any more since unibyte strings will be sent as-is
73493         anyway by process-send-string.
73494         (smtpmail-via-smtp): Avoid set-buffer-process-coding-system.
73496 2018-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
73498         (set-buffer-process-coding-system): Mark as interactive-only.
73500         * lisp/international/mule.el (set-buffer-process-coding-system):
73501         Mark as interactive-only.
73503 2018-01-15  Jeremie Courreges-Anglas  <jca@wxcvbn.org>
73505         Use fcntl.h in kqueue.c
73507         * src/kqueue.c: Use fcntl.h (specified by POSIX) instead of
73508         non-standard sys/file.h to access O_* open(2) flags.
73510 2018-01-14  Marcin Borkowski  <mbork@mbork.pl>
73512         Add simple tests for the `fill-polish-nobreak-p' function
73514         * test/lisp/textmodes/fill-tests.el:
73515         (fill-test-no-fill-polish-nobreak-p): New test
73517 2018-01-14  Marcin Borkowski  <mbork@mbork.pl>
73519         Add the function `fill-polish-nobreak-p'
73521         * lisp/textmodes/fill.el (fill-polish-nobreak-p): Prevent
73522         line-breaking after a single-letter word even if this word is not
73523         preceded by a space.  Fixes bug #20871.
73525 2018-01-13  Ken Brown  <kbrown@cornell.edu>
73527         Add battery support to all Cygwin builds
73529         It already exists in the Cygwin-w32 build.
73530         * src/w32fns.c (Fw32_battery_status): Move to...
73531         * src/w32cygwinx.c: New file, to be used for functions common to
73532         the MS Windows and Cygwin builds.
73533         (syms_of_w32cygwinx): New function.
73534         * src/lisp.h: Add prototype of syms_of_w32cygwinx.
73535         * src/emacs.c (main) [HAVE_NTGUI or CYGWIN]: Call syms_of_w32cygwinx.
73536         * src/Makefile.in (SOME_MACHINE_OBJECTS):
73537         * configure.ac (W32_OBJ) [HAVE_W32]: Add w32cygwinx.o.
73538         (W32_LIBS) [CYGWIN]: Set equal to "-lkernel32" in non-w32 build.
73539         (W32_OBJ) [CYGWIN]: Set equal to "w32cygwinx.o" in non-w32 build.
73540         * etc/NEWS: Document the new battery support.
73542 2018-01-13  Shuguang Sun  <shuguang@gmail.com>
73544         Fix Bug#29149 in dired-aux.el
73546         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
73547         commands on w32 properly.  (Bug#29149)
73549 2018-01-13  Michael Albinus  <michael.albinus@gmx.de>
73551         Fix Bug#29149 in shell.el
73553         * lisp/shell.el (shell): Change order of `file-local-name' and
73554         `expand-file-name' calls.  Otherwise, the local file name
73555         would be extended by a drive letter, even when it is a remote
73556         file, seen from w32.  (Bug#29149)
73558 2018-01-13  Michael Albinus  <michael.albinus@gmx.de>
73560         Improve Tramp robustness
73562         * lisp/net/tramp.el (tramp-message, tramp-process-actions)
73563         (tramp-read-passwd, tramp-interrupt-process):
73564         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
73565         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
73566         (tramp-gvfs-maybe-open-connection):
73567         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
73568         (tramp-process-sentinel)
73569         (tramp-sh-handle-file-notify-add-watch)
73570         (tramp-barf-if-no-shell-prompt, tramp-maybe-open-connection)
73571         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
73572         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
73573         (tramp-smb-maybe-open-connection): Use process property rather
73574         than connection property "vector".
73576         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
73577         Fix scoping error.  Let error traces use process buffer.
73579         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
73580         Move "inotifywait" up.  GVFS based monitoring is not stable.
73581         Let error traces use process buffer.
73582         (tramp-sh-gvfs-monitor-dir-process-filter): Check more error
73583         messages.
73584         (tramp-get-remote-gvfs-monitor-dir): Search also for "gio".
73586         * lisp/net/tramp.el (tramp-get-debug-buffer):
73587         Use `special-mode-map' as parent map in debug buffer.
73588         (tramp-message): Ensure, that proper process buffer is dumped
73589         in error case.
73591 2018-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>
73593         * src/keyboard.c: Consolidate code into make_lispy_event
73595         (clear_event): Change arg type.  Adjust callers.
73596         (kbd_buffer_get_event): Move most special event handling to
73597         make_lispy_event.
73598         (make_lispy_event): Add missing cases, taken from kbd_buffer_get_event.
73599         <SAVE_SESSION_EVENT>: Change return value to match what used to be built
73600         in kbd_buffer_get_event.
73602 2018-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>
73604         * src/keyboard.c (kbd_buffer_get_event): Use 'switch' ...
73606         ...rather than a sequence of else-if.
73608 2018-01-12  Alan Mackenzie  <acm@muc.de>
73610         Make Fzlib_decompress_region always call the change hooks in a balanced way.
73612         This means there will be exactly one call of each of before- and
73613         after-change-functions, regardless of whether or not the decompression
73614         succeeds, and these calls will refer to corresponding buffer regions.
73616         src/decompress.c (struct decompress_unwind_data): add a new field, orig.
73617         (unwind_decompress): Use del_range_2 and update_compositions in place of
73618         del_range, to avoid unwanted change hook calls.  Call signal_after_change for
73619         the failed case.
73620         (Fzlib_decompress_region): Call modify_txt for a before-change-functions.  Set
73621         the new field orig of unwind_data to the region's start.  Use del_range_2 and
73622         update_compositions in place of del_range to avoid unwanted change hook
73623         calls.  Call signal_after_change for the successful case.
73625 2018-01-11  Juri Linkov  <juri@linkov.net>
73627         * lisp/frame.el (toggle-frame-maximized/fullscreen): Add frame arg.
73629         (Bug#29986)
73631 2018-01-11  Juri Linkov  <juri@linkov.net>
73633         * lisp/windmove.el (windmove-default-keybindings): Allow list of modifiers.
73635         (Bug#29985)
73637 2018-01-11  Ken Brown  <kbrown@cornell.edu>
73639         Unbreak the Cygwin-w32 build
73641         * src/keyboard.c (input_polling_used) [CYGWIN]: Restore.  This was
73642         removed on Cygwin in the commit "On non-MS-Windows, omit unnecessary
73643         polling functions".  But it is used in w32fns.c:x_make_frame_visible
73644         in the Cygwin-w32 build.
73646 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
73648         * lisp/mail/smtpmail.el: Use lexical-binding and cl-generic
73650         (smtpmail-auth-supported): Mark it as non-constant.
73651         (smtpmail-try-auth-methods): Remove unused var 'ret'.
73652         Test non-nullness of mech user and password before calling
73653         smtpmail-try-auth-method.
73654         (smtpmail-try-auth-method): Make it into a generic function.
73655         (smtpmail-via-smtp): Remove unused var 'response-code'.
73657 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
73659         * lisp/org/org-element.el: Add comment about use of internal functions
73661 2018-01-10  Glenn Morris  <rgm@gnu.org>
73663         Remove some more face aliases obsolete since 22.1
73665         * lisp/generic-x.el (show-tabs-tab-face, show-tabs-space-face):
73666         * lisp/eshell/em-prompt.el (eshell-prompt-face):
73667         * lisp/vc/smerge-mode.el (smerge-base-face, smerge-markers-face):
73668         Remove face "-face" aliases, obsolete since 22.1.
73670 2018-01-10  Glenn Morris  <rgm@gnu.org>
73672         Remove message.el face aliases obsolete since 22.1
73674         * lisp/gnus/message.el: Remove face "-face" aliases,
73675         obsolete since 22.1.
73677 2018-01-10  Glenn Morris  <rgm@gnu.org>
73679         Remove Gnus face aliases obsolete since 22.1
73681         * lisp/gnus/gnus-art.el, lisp/gnus/gnus-cite.el:
73682         * lisp/gnus/gnus-srvr.el, lisp/gnus/gnus.el:
73683         * lisp/gnus/spam.el: Remove face "-face" aliases, obsolete since 22.1.
73685 2018-01-10  Glenn Morris  <rgm@gnu.org>
73687         Remove obsolete variable sun-raw-prefix-hooks
73689         * lisp/term/sun.el (sun-raw-prefix-hooks): Remove, obsolete since 21.1.
73690         (terminal-init-sun): No longer consult sun-raw-prefix-hooks.
73692 2018-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
73694         * lisp/calendar/appt.el: Use lexical-binding
73696         (appt-display-message): Remove unused variable 'err'.
73697         (appt-check): Fix typo in search for a function on a hook.
73698         (number, original-date): Move declaration into 'appt-make-list'.
73700 2018-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
73702         * lisp/calendar/diary-lib.el: Fix bug#30051
73704         (diary-list-entries): Dynamically bind 'number' and 'original-date' around
73705         diary-hook as documented in the docstring.
73707 2018-01-09  Glenn Morris  <rgm@gnu.org>
73709         Remove some obsolete calendar functions and variables
73711         * lisp/calendar/cal-tex.el (cal-tex-list-holidays):
73712         Remove alias, obsolete since 24.4.
73713         * lisp/calendar/calendar.el (calendar-mode):
73714         No longer use calendar-font-lock-keywords.
73715         (calendar-font-lock-keywords): Delete variable, obsolete since 24.4.
73717 2018-01-09  Glenn Morris  <rgm@gnu.org>
73719         Remove some obsolete compat code in supercite.el
73721         * lisp/mail/supercite.el (sc-ask, sc-cite-original):
73722         Remove obsolete compat code.  This file uses modern features.
73724 2018-01-09  Glenn Morris  <rgm@gnu.org>
73726         Remove some obsolete compat code in f90.el
73728         * lisp/progmodes/f90.el (f90-mark-subprogram, f90-indent-region)
73729         (f90-fill-region): Remove obsolete compat code.
73730         This file uses modern features.
73732 2018-01-09  Glenn Morris  <rgm@gnu.org>
73734         Remove some obsolete compat code in fortran.el
73736         * lisp/progmodes/fortran.el (fortran-abbrev-start):
73737         Remove obsolete compat code.  This file uses modern features.
73739 2018-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73741         Merge from origin/emacs-26
73743         7668717d6f Merge from Gnulib
73744         9e4d523427 * lisp/epg.el (epg-start-sign): Replace obsolete functions.
73745         26c58f31a8 Small fix for erc-logging-enabled
73746         34b41e3bc6 Quieten semantic normal usage
73747         e25f961e37 Avoid irrelevant hyperlink in doc string of 'epa-pinentry-...
73748         ec2636513c * doc/misc/tramp.texi (Remote processes): Mention gdb rest...
73749         918a052a42 Query background for gnome terminal version 3.22 (Bug#29716)
73750         1dfc27576a Make pixel-wise scrolling less laggy
73751         f92264fc2a Fix child frame placement issues (bug#29953)
73752         a5f718c4c5 ; * doc/lispref/text.texi (Change Hooks): Fix last change.
73753         e876f5f9fb Describe the precise interaction of complex primitives wit...
73754         3a22097cf6 Fix valgrind report in call-interactively
73755         d5f1c87bfe * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
73756         b8d74c4578 Fix mark-defun when there's no spaces between successive d...
73757         a377c652b5 Fix Dired display and operations on file names with raw bytes
73758         d9d6e8a04c ; Comments related to src/termcap.c
73759         f8a07fa6b1 Improve documentation of 'gdb-many-windows'
73760         f82400798e Fix failures in smerge-mode on MS-Windows
73762 2018-01-09  Paul Eggert  <eggert@cs.ucla.edu>
73764         Merge from origin/emacs-26
73766         d382d2bfc5 * etc/DEBUG (Getting control to the debugger): Fix grammar.
73767         687af4c8e8 * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset h...
73768         43e2aafae3 Don't bind dframe events on load (Bug#29599)
73769         ab31bf3c5f * lisp/textmodes/picture.el (picture-mode-exit): Doc fix. ...
73770         ed44d92fa6 * lisp/textmodes/picture.el (picture-open-line): Doc fix. ...
73771         b87a772612 Fix description of 'emacs-internal'
73772         a5256da588 Update PROBLEMS with selection-related issues
73773         c59ecb005e New customization variable for python-mode indentation (Bu...
73774         4e20c8f220 Fix menu keyboard shortcuts on macOS (Bug#29595)
73776         # Conflicts:
73777         #       etc/NEWS
73779 2018-01-09  Michael Albinus  <michael.albinus@gmx.de>
73781         Fix Bug#30038
73783         * lisp/net/tramp.el (tramp-make-tramp-file-name): Check, that
73784         method is not empty.  (Bug#30038)
73786 2018-01-08  Tino Calancha  <tino.calancha@gmail.com>
73788         cl-loop: Add missing guard condition
73790         Consider the expansion of `cl-loop' with a `for' clause and more
73791         than one internal variables, X, Y, processed in parallel.
73792         Each step updates X and Y right after update the loop variable, K; if
73793         either X or Y depend on K, then some forms of the body are
73794         evaluated with the wrong K (Bug#29799).
73796         For instance, consider the following code:
73797         (cl-loop for k below 2
73798                  for x = (progn (message "k = %d" k) 1)
73799                  and y = 1)
73801         This code should show in *Messages*:
73802         k = 0
73803         k = 1
73805         Instead, the code shows:
73806         k = 0
73807         k = 1
73808         k = 2
73810         To prevent this we must ensure that the loop condition is still
73811         satisfied right after update the loop variable.
73812         In the macro expansion of the example above, right after:
73813         (setq k (+ k 1))
73815         evaluate the rest of the body forms if the condition
73816         (< k 2)
73817         is still valid.
73819         * lisp/emacs-lisp/cl-macs.el (cl--loop-guard-cond): New variable.
73820         (cl--parse-loop-clause): Set it non-nil if the loop contains
73821         a for/as clause.
73822         (cl-loop): After update the loop variable, evaluate the remaining of
73823         the body forms just if the loop condition is still valid (Bug#29799).
73825         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-for-as-equals-and):
73826         New test.
73828 2018-01-07  Alan Third  <alan@idiocy.org>
73830         Add macOS character-palette (bug#29837)
73832         * lisp/term/ns-win.el (ns-do-show-character-palette): New function.
73833         * src/nsfns.m (Sns_show_character_palette): New function.
73834         * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
73836 2018-01-07  Alan Third  <alan@idiocy.org>
73838         Fix build issues on macOS (bug#29931)
73840         * configure.ac: On darwin add check for Homebrew texinfo install, and
73841         fix incorrect quoting of libxml2 includes.
73843 2018-01-07  Philipp Stephani  <phst@google.com>
73845         Allow inserting non-BMP characters
73847         * src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
73848         from coding.c and document.
73849         (surrogates_to_codepoint): New function.
73851         * src/nsterm.m (insertText:): Properly handle surrogate pairs.
73853 2018-01-07  Michael Albinus  <michael.albinus@gmx.de>
73855         Make tramp-tests.el more robust on w32
73857         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
73858         Do not call `make-symbolic-link' on w32.
73859         (tramp-test36-find-backup-file-name): Call also
73860         `convert-standard-filename' due to w32.
73861         (tramp--test-windows-nt): New defun.
73862         (tramp-test42-auto-load, tramp-test42-delay-load)
73863         (tramp-test42-recursive-load, tramp-test42-remote-load-path):
73864         Quote command due to w32.
73866 2018-01-07  Philipp Stephani  <phst@google.com>
73868         Remove incorrect use of AUTO_STRING
73870         * src/lread.c (load_error_old_style_backquotes): Remove incorrect use
73871         of AUTO_STRING.
73873 2018-01-07  Tino Calancha  <tino.calancha@gmail.com>
73875         cl-loop: Calculate the array length just once
73877         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
73878         Dont calculate the array length on each iteration (Bug#29866).
73880 2018-01-07  Philipp Stephani  <phst@google.com>
73882         Improve error message for old-style backquotes
73884         * src/lread.c (load_error_old_style_backquotes): Improve error message
73885         if no file is being loaded.
73887         * test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
73888         Adapt test.
73890 2018-01-07  Philipp Stephani  <phst@google.com>
73892         Add new variable to force new-style backquote interpretation.
73894         * src/lread.c (syms_of_lread): Add new variable
73895         'force-new-style-backquotes'.
73896         (read_internal_start): Use it.
73898         * test/src/lread-tests.el (lread-tests--force-new-style-backquotes):
73899         New test.
73901         * etc/NEWS: Document new variable.
73903 2018-01-07  Philipp Stephani  <phst@google.com>
73905         Revert "Prevent name clashes between CL structures and builtin types"
73907         This reverts commit 151496a4b96430924bc148f85b9c8471d1e132b1.
73908         That commit breaks bootstrap builds due to a cyclic dependency.
73910 2018-01-07  Philipp Stephani  <phst@google.com>
73912         Ignore escape characters for context-sensitive quotes (Bug#29812)
73914         * lisp/electric.el (electric-quote-post-self-insert-function): Skip
73915         over escape characters when determining whether a context-sensitive
73916         quote should be opening or closing.
73918         * test/lisp/electric-tests.el
73919         (electric-quote-replace-double-escaped-open)
73920         (electric-quote-replace-double-escaped-close): New unit tests.
73922 2018-01-07  Philipp Stephani  <phst@google.com>
73924         Fix a small bug in electric quoting.
73926         Before this commit, if 'electric-quote-replace-double' is non-nil,
73927         typing " '" turned into " ‘" even if
73928         'electric-quote-context-sensitive' was nil.
73930         * lisp/electric.el (electric-quote-post-self-insert-function): Insert
73931         context-sensitive double quote only if the last character is actually
73932         a double quote character.
73934         * test/lisp/electric-tests.el
73935         (electric-quote-replace-double-no-context-single): New unit test.
73937 2018-01-07  Philipp Stephani  <phst@google.com>
73939         Prevent name clashes between CL structures and builtin types
73941         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
73942         structures with the same names as builtin types.
73943         (cl--struct-name-p): New helper function.
73945         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
73946         with the same names as builtin types.
73948         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
73949         * test/lisp/emacs-lisp/cl-preloaded-tests.el
73950         (cl-struct-define/builtin-type): New unit tests.
73952         * etc/NEWS: Document changed behavior.
73954 2018-01-07  Alan Mackenzie  <acm@muc.de>
73956         * src/fns.c (base64-decode-region): Add signal_after_change call for insertion.
73958 2018-01-06  Noam Postavsky  <npostavs@gmail.com>
73960         Revert "Fix command repetition with lexical-binding (Bug#29334)"
73962         It does not work with more complicated interactive forms, because
73963         byte-compile-lambda actually receives an intermediate form of code
73964         rather than valid lisp source (Bug#29988).
73965         * src/callint.c (Fcall_interactively):
73966         * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Revert previous
73967         change, and update commentary.
73969 2018-01-06  Alan Third  <alan@idiocy.org>
73971         Allow setting tooltip colors in NS port
73973         * src/nsfns.m (Fx_show_tip): Get face colors and apply them to the
73974         tooltip.
73975         * src/nsmenu.m (EmacsTooltip::setBackgroundColor):
73976         (EmacsTooltip::setForegroundColor): New functions.
73977         * src/nsterm.h (EmacsTooltip::setBackgroundColor):
73978         (EmacsTooltip::setForegroundColor): New function prototypes.
73980 2018-01-06  Alan Mackenzie  <acm@muc.de>
73982         Make transpose-regions invoke before-change-functions only once.
73984         In the case of two non-contiguous regions the same size, transpose-regions has
73985         been calling before-change-functions twice, once for each region.  It now
73986         calls it just once, for the minimal region spanning both single regions.
73988         * src/editfns.c (Ftranspose_regions): Combine two calls of modify_text into
73989         one.
73991 2018-01-06  Michael Albinus  <michael.albinus@gmx.de>
73993         Minor tramp-gvfs.el cleanup
73995         * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Move up.
73996         (top): Delete goa methods only when `tramp-gvfs-enabled' is not nil.
73998 2018-01-05  Michael Albinus  <michael.albinus@gmx.de>
74000         Add new Tramp connection method "owncloud"
74002         * doc/misc/tramp.texi (all): Use @acronym{GNOME} thoroughly.
74003         (Using GNOME Online Accounts based methods): Rename from
74004         "Using Google Drive".  Add `owncloud'.
74005         (GVFS based methods): Add `owncloud'.
74007         * etc/NEWS: Add Tramp connection method "owncloud".
74009         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "owncloud".
74010         Remove goa methods if not supported.
74011         (tramp-goa-methods, tramp-goa-service, tramp-goa-path)
74012         (tramp-goa-path-accounts, tramp-goa-interface-documents)
74013         (tramp-goa-interface-printers, tramp-goa-interface-files)
74014         (tramp-goa-interface-contacts, tramp-goa-interface-calendar)
74015         (tramp-goa-interface-oauth2based)
74016         (tramp-goa-interface-account, tramp-goa-identity-regexp)
74017         (tramp-goa-interface-mail, tramp-goa-interface-chat)
74018         (tramp-goa-interface-photos, tramp-goa-path-manager)
74019         (tramp-goa-interface-documents)
74020         (tramp-gvfs-owncloud-default-prefix)
74021         (tramp-gvfs-owncloud-default-prefix-regexp): New defconst.
74022         (tramp-goa-name): New defstruct.
74023         (tramp-gvfs-stringify-dbus-message): Handle all consp messages.
74024         (tramp-dbus-function, tramp-gvfs-get-remote-prefix)
74025         (tramp-get-goa-accounts): New defun.
74026         (with-tramp-dbus-call-method): Use it.
74027         (with-tramp-dbus-get-all-properties): New defmacro.
74028         (tramp-gvfs-url-file-name)
74029         (tramp-gvfs-handler-mounted-unmounted)
74030         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
74031         Map between "owncloud" and "davs".
74032         (tramp-gvfs-maybe-open-connection): Set "vector" connection property.
74034         * test/lisp/net/tramp-tests.el (tramp-gvfs-handler-askquestion):
74035         Suppress run in tests.
74036         (tramp--test-owncloud-p): New defun.
74037         (tramp-test11-copy-file, tramp-test12-rename-file): Use it.
74039 2018-01-05  Jay Kamat  <jaygkamat@gmail.com>
74041         Make eshell history expansion more like bash (Bug#29821)
74043         - Prevent expansion of quick substitutions when the initial "^" is not
74044           at start of line (Bug#29157).
74045         - Allow spaces inside substitutions, so "^foo bar^baz" works.
74046         - Allow trailing characters after substitution, so "^foo^bar^trailing"
74047           works.
74048         - Throw an error when substitution does not match.
74050         * lisp/eshell/em-hist.el (eshell-expand-history-references): Expand
74051         history substitution before other types of expansions, and expand them
74052         with the whole line.
74053         (eshell-history-substitution): New function to expand only
74054         substitutions, taking in the entire typed line rather than individual
74055         arguments.
74057 2018-01-04  Michael Albinus  <michael.albinus@gmx.de>
74059         Improve backward compatibility in tramp-archive
74061         * lisp/net/tramp-archive.el
74062         (tramp-archive-handle-temporary-file-directory):
74063         Use `tramp-compat-temporary-file-directory'.
74065         * test/lisp/net/tramp-archive-tests.el
74066         (tramp-archive-test37-make-nearby-temp-file):
74067         Wrap `temporary-file-directory' call with `with-no-warnings'.
74069 2018-01-04  Michael Albinus  <michael.albinus@gmx.de>
74071         Write proper `write-region' message in Tramp backends
74073         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
74074         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
74075         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
74076         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
74077         Write proper message.
74079         * lisp/net/tramp.el (tramp-message-show-message): Change default.
74081         * test/lisp/net/tramp-tests.el (ert-x): Require it.
74082         (tramp-test10-write-region): Extend test.
74084 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
74086         Fix command repetition with lexical-binding (Bug#29334)
74088         `call-interactively' relies on analyzing the source of `interactive'
74089         forms in order to preserve arguments like (region-end) in the command
74090         history, rather than just storing the resulting position.  However,
74091         the byte-compiler does not preserve the source of the interactive form
74092         when lexical-binding is in effect, because `call-interactively' would
74093         evaluate the form with dynamic binding in that case.
74095         To fix this, change `call-interactively' so that it checks compiled
74096         functions for lexical-binding as well.  Then the byte-compiler can
74097         preserve the source of interactive forms regardless of the value of
74098         lexical-binding.
74100         * src/callint.c (Fcall_interactively): Functions compiled with
74101         lexical-binding have their arglist encoded as an integer, use this to
74102         choose the right kind of binding for compiled functions too.
74103         * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Preserve the
74104         uncompiled form of the interactive form when lexical-binding is
74105         enabled too.
74107 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
74109         Fix .gdbinit to work with Lisp_Word
74111         Problem reported by Stefan Monnier (Bug#29957).
74112         * src/.gdbinit (xgetptr, xgetint, xgettype):
74113         Cast Lisp_Word value to EMACS_INT, since it might be a pointer now.
74115 2018-01-02  Stephen Leake  <stephen_leake@stephe-leake.org>
74117         Fix description of 'struct' generic function specializer
74119         * doc/lispref/functions.texi (Generic Functions): Fix description of
74120         'struct' specializer; it must be the named struct or a child, not a
74121         parent.
74123 2018-01-02  Michael Albinus  <michael.albinus@gmx.de>
74125         Remove superfluous test data for Tramp
74127 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
74129         * etc/NEWS: Improve -fcheck-pointer-bounds wording.
74131         Merge from gnulib, mostly to fix copyright years
74133 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
74135         Update copyright year to 2018
74137         Run admin/update-copyright.
74139 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
74141         Merge from origin/emacs-26
74143         63b04c11d5 Fix copyright years by hand
74144         5c7dd8a783 Update copyright year to 2018
74145         220a9ecba1 Merge from Gnulib
74146         312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
74147         39ca289a7a Allow customization of decoding of "man" command
74148         f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
74149         0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
74150         acd289c5a4 Fix problems with indexing in User manual
74151         b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
74152         e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
74153         81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
74154         7175496d7a Fix doc string of 'enable-recursive-minibuffers'
74155         5b38406491 Fix documentation of delsel and of killing text
74157         # Conflicts:
74158         #       etc/NEWS
74159         #       etc/refcards/ru-refcard.tex
74161 2017-12-30  Philipp Stephani  <phst@google.com>
74163         Improve error reporting when serializing non-Unicode strings to JSON
74165         * src/coding.c (utf8_string_p): New helper function.
74166         (syms_of_coding) <utf-8-unix>: Move from json.c.
74168         * src/json.c (json_check_utf8): New helper function.
74169         (lisp_to_json_toplevel_1, lisp_to_json): Use it.  To save a bit of
74170         time, check for invalid UTF-8 strings only after encountering an
74171         error, since Jansson already rejects them.
74173         * test/src/json-tests.el (json-serialize/invalid-unicode): Adapt
74174         expected error symbol.
74176 2017-12-30  David McFarland  <corngood@gmail.com>  (tiny change)
74178         Fix regex stack overflow in gdb-mi.el when parsing complex locals
74180         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer): Skip string
74181         literals with (forward-sexp) instead of matching with regex.
74182         (Bug#29868)
74184 2017-12-30  Sebastian Reuße  <seb@wirrsal.net>  (tiny change)
74186         Fix output alignment in 'find-dired' for "ls -h"
74188         * lisp/find-dired.el (find-dired-filter): Fix alignment of
74189         the file size column when the -h ls option is used in
74190         'find-ls-option'.  (Bug#29803)
74192 2017-12-28  Eric Abrahamsen  <eric@ericabrahamsen.net>
74194         Make gnus-alter-articles-to-read-function a constant lambda
74196         * lisp/gnus/gnus-sum.el (gnus-alter-articles-to-read-function):
74197           Default to a no-op lambda form, mention the use of `add-function' in
74198           the docstring.
74199         * lisp/gnus/gnus-sum.el (gnus-articles-to-read): Check if the option
74200           value is callable.
74202 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
74204         * lisp/net/ange-ftp.el: Use lexical-binding
74206 2017-12-28  Michael Albinus  <michael.albinus@gmx.de>
74208         Fix Bug#29874
74210         * lisp/net/ange-ftp.el (ange-ftp-file-accessible-directory-p)
74211         (ange-ftp-real-file-accessible-directory-p): New defuns.
74212         (ange-ftp-nslookup-host, ange-ftp-start-process):
74213         Use `ange-ftp-real-file-accessible-directory-p'.
74214         (file-accessible-directory-p): Put `ange-ftp' property.  (Bug#29874)
74216 2017-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
74218         Remove uses of `cl` from test/ subdirectory
74220         * test/lisp/gnus/gnus-tests.el: Remove unneeded (require 'cl).
74222         * test/lisp/net/gnutls-tests.el: Use cl-lib and pcase.
74224 2017-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
74226         (delayed-after-hook-functions): Tighten the code a bit
74228         * lisp/subr.el (delayed-mode-hooks, delayed-after-hook-functions):
74229         Use defvar-local.
74230         (run-mode-hooks): Reset delayed-after-hook-functions before running
74231         those functions, in case an error is signaled.
74233         * lisp/emacs-lisp/derived.el (define-derived-mode): Don't duplicate code.
74235 2017-12-27  Glenn Morris  <rgm@gnu.org>
74237         Fix recent rfc2231 avoidance of cl
74239         * lisp/mail/rfc2231.el (rfc2231-parse-string)
74240         (rfc2231-encode-string): Replace cl forms with cl-lib versions.
74242 2017-12-27  Glenn Morris  <rgm@gnu.org>
74244         Merge from origin/emacs-26
74246         fd35804971 (origin/emacs-26) * doc/lispref/strings.texi (Case Convers...
74247         89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar.
74248         a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes.
74249         2ebc8dc3b6 Fix curved quotes in printed manual
74250         e4a881b5cf Say that "gnus-cloud" is a parody name
74251         13c59d0a83 More improvements for text.texi
74252         7850b7620e Adjudicate review comments for the "Text" chapter of user ...
74253         d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f...
74254         f3819ad13e In C-h k <mouse-n>, alert user to existence of any matchin...
74255         99054fbef9 * net/eww.el (eww): Handle URLs without host part.
74256         de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc...
74257         720ed0b533 Avoid crashes when ':eval' deletes our frame
74258         9105c9aa34 Fix scrolling up in pixel-scroll.el
74259         b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual
74260         289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent...
74261         cf36c82127 Avoid some overfull lines in PDF lispref
74262         b07b56a351 Avoid some overfull lines in PDF manual
74263         6b3118f025 * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M...
74264         7ffb7b1e01 ; lispref nil/t markup fixes
74266         # Conflicts:
74267         #       doc/emacs/text.texi
74269 2017-12-26  Stefan Monnier  <monnier@iro.umontreal.ca>
74271         Eliminate last uses of 'cl' in lisp/mail/
74273         * lisp/mail/binhex.el: Use lexical-binding and avoid cl.
74274         (binhex-push-char): Remove unused arg 'count'.
74275         (binhex-decode-region-external): Remove unused var 'status'.
74277         * lisp/mail/flow-fill.el: Use lexical-binding and avoid cl.
74279         * lisp/mail/footnote.el: Reduce redundancy.
74280         (footnote-roman-lower-regexp, footnote-roman-upper-regexp)
74281         (footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
74282         (footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
74283         (footnote--hebrew-numeric): Simplify.
74284         (footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.
74286         * lisp/mail/hashcash.el: Use lexical-binding and avoid cl.
74287         (hashcash-verify-payment): Use pcase.
74289         * lisp/mail/ietf-drums.el: Use lexical-binding and avoid cl.
74290         (ietf-drums-token-to-list): Remove unused var 'e'.
74292         * lisp/mail/rfc2231.el: Use lexical-binding and avoid cl.
74294         * lisp/mail/uudecode.el: Use lexical-binding and avoid cl.
74295         (uudecode-char-int): Remove unused 'eval-and-compile' wrapper.
74296         (uudecode-decode-region-external): Remove unused 'status' var.
74297         (uudecode-string-to-multibyte): Remove.
74298         (uudecode-decode-region-internal): Use decode-coding-string instead.
74300         * lisp/mail/yenc.el: Use lexical-binding and avoid cl.
74302 2017-12-26  Charles A. Roelli  <charles@aurox.ch>
74304         Fix highlighting in query-replace with non-nil replace-char-fold
74306         * lisp/replace.el (replace-highlight): Bind
74307         'isearch-regexp-function' in the same way that function
74308         'replace-search' does, so as to respect the value of
74309         'replace-char-fold'.  (Bug#24356)
74311 2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
74313         * lisp/mail/footnote.el: Reduce redundancy in roman&hebrew defs
74315         (footnote-roman-lower-regexp, footnote-roman-upper-regexp)
74316         (footnote-roman-upper-list): Auto-generate from footnote-roman-lower-list.
74317         (footnote-hebrew-numeric-regex): Auto-generate from footnote-hebrew-numeric.
74318         (footnote--hebrew-numeric): Simplify.
74319         (footnote-hebrew-symbolic-regex): Generate from footnote-hebrew-symbolic.
74321 2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
74323         * lisp/mail/footnote.el: Use lexical-binding
74325         (footnote--renumber): Mark arg 'from' as unused.
74326         (footnote-add-footnote, footnote-renumber-footnotes)
74327         (footnote-back-to-message): Remove unused argument 'arg'.
74329 2017-12-25  Boruch Baum  <boruch_baum@gmx.com>
74331         * lisp/mail/footnote.el: Replace "Footnote-" prefix with "footnote--"
74333         (footnote-section-tag): Remove trailing space.
74335 2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
74337         * lisp/register.el: Use cl-generic
74339         (registerv): Make it a "normal"struct.
74340         (registerv-make): Declare obsolete.
74341         (register-val-jump-to, register-val-describe, register-val-insert):
74342         New generic functions.
74343         (jump-to-register, describe-register-1, insert-register): Use them.
74345         * lisp/emacs-lisp/cl-generic.el: Prefill a combination of struct+typeof.
74346         (cl--generic-prefill-dispatchers): Allow a list of specializers.
74348 2017-12-25  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
74350         Fix MS-Windows build broken by recent changes in json.c
74352         * src/json.c [WINDOWSNT] (fn_json_object_get): Define.
74353         (init_json_functions) [WINDOWSNT]: Load json_object_get from DLL.
74354         (Bug#29848)
74356 2017-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
74358         * lisp/rtree.el: Use lexical-binding and not 'cl'.
74360 2017-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
74362         lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.
74364         * lisp/net/mailcap.el (mailcap-file-name-to-mime-type): New function.
74366 2017-12-25  Michael Albinus  <michael.albinus@gmx.de>
74368         Fix Bug#29822
74370         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
74371         Fix handling of restricted shells.  (Bug#29822)
74373 2017-12-24  Paul Eggert  <eggert@cs.ucla.edu>
74375         Make main_thread_id private
74377         * src/sysdep.c (main_thread_id) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
74378         Now static.
74380 2017-12-24  Paul Eggert  <eggert@cs.ucla.edu>
74382         On non-MS-Windows, omit unnecessary polling functions
74384         * src/keyboard.c (poll_for_input_1) [!CYGWIN && !DOS_NT]: Remove.
74385         (input_polling_used) [!DOS_NT]: Remove.
74387 2017-12-24  Philipp Stephani  <phst@google.com>
74389         Add more Unicode test cases for JSON conversion
74391         * test/src/json-tests.el (json-parse-string/string)
74392         (json-serialize/string, json-serialize/invalid-unicode)
74393         (json-parse-string/invalid-unicode): Add more Unicode test cases.
74395 2017-12-24  Philipp Stephani  <phst@google.com>
74397         Accept alists when serializing JSON
74399         * src/json.c (lisp_to_json_toplevel_1): Also accept alists
74400         representing objects.
74402         * src/json.c (Fjson_serialize): Update docstring.
74404         * test/src/json-tests.el (json-serialize/object): Add unit tests for
74405         serializing alists.
74407         * doc/lispref/text.texi (Parsing JSON): Document that serialization
74408         functions accept alists.
74410 2017-12-24  Philipp Stephani  <phst@google.com>
74412         JSON serialization: reject duplicate keys in hashtables
74414         * src/json.c (lisp_to_json_toplevel_1): Reject duplicate keys in
74415         hashtables.
74417         * test/src/json-tests.el (json-serialize/object-with-duplicate-keys):
74418         Add unit tests.
74420 2017-12-22  Boruch Baum  <boruch_baum@gmx.com>
74422         * lisp/mail/footnote.el (footnote-align-to-fn-text): New config var
74424         (footnote-mode): Declare.
74425         (Footnote--get-area-point-min): Fix last change to use 'car` instead of
74426         the undefined 'first'.
74427         (Footnote--calc-fn-alignment-column, Footnote--fill-prefix-string)
74428         (Footnote--adaptive-fill-function): New functions.
74429         (footnote-mode): Use them.
74431 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
74433         * lisp/textmodes/fill.el (adaptive-fill-function): Change default
74435         Use 'ignore' rather than nil since they behave identically, except that
74436         'ignore' interacts correctly with add/remove-function.
74438 2017-12-22  Boruch Baum  <boruch_baum@gmx.com>
74440         * lisp/mail/footnote.el: Misc changes in preparation for more
74442         (footnote-section-tag-regexp): Don't require the trailing space.
74443         (Footnote--point-in-body-p, Footnote--get-area-point-min)
74444         (Footnote--get-area-point-max): New functions.
74445         (Footnote-narrow-to-footnotes, Footnote-text-under-cursor): Use them.
74447 2017-12-22  Glenn Morris  <rgm@gnu.org>
74449         Merge from origin/emacs-26
74451         34fcfc5 (origin/emacs-26, emacs-26) * lisp/emacs-lisp/inline.el (defi...
74452         f7a62c2 Fix doc string of 'footnote-style-alist'
74453         c3b6742 Improve documentation of selecting windows
74454         861d110 Improve documentation of records
74455         22b3075 * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
74456         689526b Fix interactive spec of 'semantic-ia-show-variants'
74457         90ca37f Fix documentation of 'mouse-drag-and-drop-region' and friends
74458         d60faf3 Improve detection of speller version in ispell.el
74459         a0e3b06 Document 'mouse-drag-and-drop-region' options and mention the...
74460         164e84c Fix uses of 'nil' and 'non-nil' in manuals and a few more min...
74461         798f07f Document that mode commands should be idempotent.
74462         ad2a47c ; * src/xdisp.c (extend_face_to_end_of_line): Fix last change.
74463         88ddf53 Fontify a CPP construct correctly when a comment follows with...
74464         de7de9c Prevent infloop in redisplay on TTY frames
74465         293720e Fix loss of documentation face in certain CC Mode doc comment...
74467         # Conflicts:
74468         #       etc/NEWS
74469         #       lisp/mail/footnote.el
74471 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
74473         * lisp/progmodes/cperl-mode.el: Split table for electric kwd abbrevs
74475         (cperl-mode-electric-keywords-abbrev-table): New abbrev table.
74476         (cperl-mode-abbrev-table): Use it.
74478 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
74480         * lisp/progmodes/cperl-mode.el: Use cl-lib.  Fix comment convention
74482         (defgroup, defcustom, defface, x-color-defined-p, uncomment-region)
74483         (ps-extend-face-list, eval-after-load, turn-on-font-lock):
74484         Assume defined.
74485         (cperl-calculate-indent): Use 'functionp' to test if a value is a function.
74487 2017-12-22  Boruch Baum  <boruch_baum@gmx.com>
74489         Support Hebrew-style footnotes in footnote.el
74491         * lisp/mail/footnote.el (footnote-hebrew-numeric-regex)
74492         (footnote-hebrew-symbolic-regex): New defconsts.
74493         (Footnote-hebrew-numeric, Footnote-hebrew-symbolic): New functions.
74494         (footnote-style-alist): Add new Hebrew styles.  Doc fix.
74495         (footnote-style): Add new Hebrew styles.  (Bug#29759)
74497 2017-12-22  Ian Johnson  <ianprime0509@gmail.com>  (tiny change)
74499         Support French password prompts in shell
74501         French punctuation rules require a space (preferably non-breaking)
74502         before the colon.
74504         * lisp/comint.el (comint-password-prompt-regexp): Support
74505         spaces (including non-breaking spaces) before and after password
74506         prompt colon.  (Bug#29729)
74508 2017-12-22  Ted Zlatanov  <tzz@lifelogs.com>
74510         * lisp/registry.el (registry-collect-prune-candidates): Skip invalid entries
74512 2017-12-22  Francesco Potortì  <pot@gnu.org>
74514         Improve Rmail Subject normalization when replying
74516         * lisp/mail/rmail.el (rmail-simplified-subject): A more thorough
74517         implementation which removes more prefixes from Subject.
74518         (Bug#29659)
74520 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
74522         Improve the description of 'electric-quote-replace-double'
74524         * etc/NEWS: Improve the description of 'electric-quote-replace-double'.
74525         (Bug#29806)
74527 2017-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
74529         * lisp/progmodes/cperl-mode.el: Use lexical-binding
74531         Drop some support code for Emacs-19.  Remove unused args and vars.
74532         (cperl-mark-active): Remove, use region-active-p.
74533         (cperl-use-region-p): Remove, use use-region-p.
74534         (cperl-can-font-lock, cperl-enable-font-lock, cperl-emacs-can-parse):
74535         Remove, obsolete.
74536         (cperl-mode-map): Move initialization into declaration.
74538 2017-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
74540         * lisp/progmodes/cperl-mode.el: Merge from Jonathan Rockway's version
74542         (cperl-indent-subs-specially): New var.
74543         (cperl-mode-abbrev-table): Add '=begin'.  Obey cperl-electric-keywords.
74544         (cperl-sub-keywords, cperl-sub-regexp): New vars.
74545         (cperl-char-ends-sub-keyword-p): New function.
74546         (cperl-mode): Use them.
74547         (cperl-db): Pass `-d` arg to perl.
74548         (cperl-electric-keyword, cperl-linefeed): Accept also '=end'.
74549         (cperl-sniff-for-indent): Obey cperl-indent-parens-as-block and
74550         cperl-indent-subs-specially.
74551         (cperl-calculate-indent): Fix handling of numbers in
74552         cperl-indent-rules-alist, and add a case for functions.
74553         (cperl-find-pods-heres): Use cperl-sub-regexp and allow =begin/=end.
74554         Also recognize 'say'.
74555         (cperl-block-p): Use cperl-sub-regexp
74556         (cperl-after-block-p): Use cperl-char-ends-sub-keyword-p and
74557         cperl-sub-regexp.
74558         (cperl-after-block-and-statement-beg): Accept 'say'.
74559         (cperl-indent-exp): Accept 'state'.
74560         (cperl-fix-line-spacing): Accept 'state'.
74561         (cperl-init-faces): Add 'given', 'when', 'default', 'break', 'try',
74562         'catch', 'finally', 'evalbytes', 'state', '__SUB__', 'fc', 'sysseek'.
74563         Use cperl-sub-regexp.
74564         (cperl-etags): Use cperl-sub-regexp.
74565         (cperl-not-bad-style-regexp): Add '//'.
74566         (cperl-short-docs): Add ~~, UNITCHECK, 'break', 'default', 'evalbytes',
74567         'given', 'say', 'state', //, 'fc', 'prototype', =begin', and '=end'.
74569 2017-12-21  Philipp Stephani  <phst@google.com>
74571         Add a few more unit tests for JSON
74573         * test/src/json-tests.el (json-serialize/invalid-unicode)
74574         (json-parse-string/null): Add more tests.
74575         (json-parse-string/invalid-unicode): New test.
74577 2017-12-21  Philipp Stephani  <phst@google.com>
74579         JSON: improve some comments
74581         * src/json.c (json_make_string, json_build_string): Document why
74582         these functions are OK as-is.
74584 2017-12-21  Philipp Stephani  <phst@google.com>
74586         Simplify a JSON test
74588         * test/src/json-tests.el (json-serialize/invalid-unicode):
74589         Simplify test.  Hexadecimal escape sequences allow putting
74590         non-Unicode characters in strings directly.
74592 2017-12-21  Philipp Stephani  <phst@google.com>
74594         Fix bugs in JSON test
74596         * test/src/json-tests.el (json-serialize/invalid-unicode): Fix two
74597         bugs that canceled each other out.  "a\xCCb" is actually a valid
74598         Unicode string because the hexadecimal character escape isn't
74599         terminated by the "b".  But this was masked by an incorrect
74600         closing parentheses, causing an unrelated error.
74602 2017-12-20  Glenn Morris  <rgm@gnu.org>
74604         Merge from origin/emacs-26
74606         b3f4a3a (origin/emacs-26) Special-case %DUMBFW for GnuTLS between 3.2...
74607         c2ae057 Work around GnuTLS version issues with %DUMBFW (tiny change)
74608         2f9d9ef ; Remove the mention of "plain C code" in the docstring as well
74609         aca827b Merge branch 'widen-less' into emacs-26
74610         87548f5 ; Rephrase NEWS entry a bit
74611         da0d773 (emacs-26) ; * lisp/erc/erc.el: Update URL.
74612         3a60515 * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler...
74613         471b6c1 ; Replace non-ascii quote characters in doc strings etc
74614         7af7f5e Fix some more aliases to user options
74615         79fb4b5 Fix some flymake aliases
74616         b9fbc03 (origin/widen-less) Widen in indent-for-tab-command in the no...
74617         446faf3 Replace the mention of c-indent-defun with js-indent-line
74618         7e9eef0 Consolidate 'widen' calls
74620         # Conflicts:
74621         #       etc/NEWS
74622         #       lisp/progmodes/flymake-proc.el
74624 2017-12-20  Glenn Morris  <rgm@gnu.org>
74626         Merge from origin/emacs-26
74628         4122d54 Fix updating scrollbar sizes when scaling is in effect
74629         21a212f Collect GnuTLS extensions and use them to set %DUMBFW if supp...
74630         936136e * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste lefto...
74631         07b7fb9 * lisp/subr.el (delayed-after-hook-functions): Rename from .....
74632         a5b0a4e * lisp/net/shr.el (shr-string-pixel-width): Return pixel-widt...
74633         c51e797 python.el doc fixes
74634         c62ced5 Make 'mouse-drag-and-drop-region' more robust and customizable
74636 2017-12-20  Glenn Morris  <rgm@gnu.org>
74638         Merge from origin/emacs-26
74640         89cfdbf Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
74641         c5061d8 * etc/emacs.appdata.xml: Update file format.
74642         080f227 Use utf-8-hfs-unix on macOS (Bug#29712)
74643         28e0261 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
74644         ac53084 Improve fix for Bug#29712
74645         ffd4771 * doc/lispref/sequences.texi (Sequence Functions): Improve in...
74646         f274cbd Avoid reordering of output in 'shr-insert-document'
74647         7890864 Improve documentation of 'invisible-p'
74648         a1327bb Remove one more check that Vframe_list is non-nil
74649         63b6281 Fix off-by-one error in 'css--hex-color'
74650         804b37c Save and restore text-pixel height and width of frames (Bug#2...
74651         777fe94 Partially revert "Mention new strictness for &optional, &rest...
74652         ad17db7 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-m...
74653         5a7d009 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete al...
74654         e019c35 FOR_EACH_FRAME no longer assumes frame-list
74655         d64b88d * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
74656         92b2604 Modernise message.el face spec syntax
74657         b1efbe6 Update message.el obsolete face aliases
74658         2494c14 ; * lisp/comint.el (comint-terminfo-terminal): Add a :version...
74659         12ad276 Improve documentation of TERM environment variable
74660         8ed529f Add option to configure comint TERM
74661         889f07c Better support utf-8-with-signature and utf-8-hfs in XML/HTML
74662         a2697fa * lisp/menu-bar.el (menu-bar-mode): Doc fix.
74663         ffb50ea ; * etc/NEWS: Fix last change.
74664         95606af Fix Bug#29712 in tramp-tests.el
74665         9bf66c6 Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
74666         c2a88ec * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loada...
74667         b178870 Remember password change for IMAP in Gnus (Bug#29692)
74668         a21dac1 Add %DUMBFW to the default GnuTLS priority strings
74669         780407c Small fixes prompted by make check-declare
74670         541a601 Fix some custom groups
74671         e220d6e Fix fontification of first declaration within a C++ lambda form.
74672         aa66da2 * src/data.c (Fadd_variable_watcher): Doc fix.
74673         f838210 Fix misfontification of C++ member initialization list after ...
74674         232c646 Fix doc-string of Fbuffer_list
74675         3f9aac6 Don't raise an extraneous frame (bug#29696)
74676         e7b1111 Mention new strictness for &optional, &rest in arglists (Bug#...
74677         4cb8696 Don't misfontify "foo ()" inside C++ initialization parenthes...
74678         ce31e72 Fixes for defcustoms, prompted by cus-test-opts
74679         aacd1e1 * lisp/net/newst-backend.el (newsticker--raw-url-list-default...
74680         7e2f4d3 * lisp/htmlfontify.el (hfy-which-etags): Fix it.
74681         52d2a69 Add missing :version tags revealed by cusver-check
74682         f5d0360 Escape column-zero doc parens
74683         45099bb Remove ObjC blocks (Bug#23753)
74684         b0369d0 Import the latest IVD_Sequences.txt
74685         cd53b63 Fix dired-do-compress when tar doesn't default to stdin (Bug#...
74686         51911da Suppress warnings during elisp completion macroexpansion
74687         a36a090 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bu...
74688         6a6e8e6 Make tramp-interrupt-process more robust
74689         5bcd468 Make quail-input-method work when inhibit-read-only is non-ni...
74690         87baf12 Fix 'fontset-name-p'
74691         d231587 Fix fontset documentation inconsistencies for bug#29630
74692         a829cb8 Remove sentence from child frames section in Elisp manual
74693         ad491c8 Avoid crashes in 'font-at' after 'set-fontset-font'
74694         c73d2cd * lisp/files-x.el (connection-local-set-profile-variables): F...
74695         cefca2b Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
74696         122e726 Fix tool-tip display when display margins are non-zero by def...
74697         e1cc203 Handle hash tables and vectors when reading/writing EIEIO obj...
74698         cda219c Improve interactive debugging commands in xdisp.c
74699         1056b3c Fix calculation of continuation_pixel_width in display engine
74700         90e2080 Improve documentation of 'save-abbrevs'.
74701         14f0230 Improve documentation of Dired
74702         161b0e5 * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
74703         7eea314 Minor Tramp fixes
74704         c0a670a * lisp/help-mode.el (help-function-def): Allow help-make-xref...
74705         0572016 Fix doc-string of 'display-buffer-in-side-window'
74706         a1bbc49 Fix Bug#29579
74707         cb3d979 ; NEWS: Update Org version number
74708         445eefd Backport: Update Org to v9.1.4
74709         5381c70 In windows.texi mention special splitting behavior of side an...
74710         46d62b9 * lisp/gnus/gnus-group.el (gnus-group-mode-map): Bind [follow...
74711         1ef1dbd Avoid compilation warning in xterm.c
74712         5cf3c26 * README: Document all the top-level directories.  (Bug#29558)
74713         e9ea206 Don't enable erc modules on simply loading erc.el
74714         4b06af0 Allow shr to use data: URLs without encoding
74715         1fdac2d Don't add newlines in minibuffer history
74716         de68f33 modhelp.py: Support Python 3 (Bug#24954)
74717         afb04f7 Use forward slashes for python w32 config example (Bug#21656)
74718         04e5b28 Fix bug in i18n/l10n optimization
74719         8227087 Let autoload-compute-prefix be set file-locally (Bug#29471)
74720         98ca7d5 Improve edit-kbd-macro prompting in case of remapped keys (Bu...
74721         c02c1f6 Add tests on electric-indentation and Python multiline string...
74722         946bb6d Disable electric indent for python strings (Bug#29305)
74723         35f1ed1 ; ChangeLog.2: Fix bug reference.
74724         ac31663 Fix buffer overflow in fontname conversion (Bug#29523)
74725         bf9b972 Fix byte compilation of files with leading directories
74726         ac144dc * lisp/files.el (make-backup-file-name-1): Fix scoping error.
74727         1b351c8 Revert Tramp commit from 2017-11-20
74728         77cf972 Improve documentation of buffer-list commands and features
74729         66ec92a Fix backing up remote files in local directories on MS-Windows
74730         7e61e74 * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
74731         1e25cd7 Revert "Fix backing up remote files in local directories on M...
74732         f52d795 Fix a typo in ELisp manual
74733         bf26fc3 * lisp/composite.el (find-composition): Fix a typo in the doc...
74734         34a21c3 ; Auto-commit of loaddefs files.
74735         8c8b673 Fix backing up remote files in local directories on MS-Windows
74736         8eb6870 Fix vertical cursor motion in pixel-scroll.el
74737         625e84f Fix typos in doc strings of message.el
74738         9292276 Fix a typo in the Emacs manual
74739         42509c0 Improve the documentation of 'table-insert-sequence'
74740         93dc7ae Port better to QNX
74741         ad99550 Make tramp-test42-auto-load more robust
74742         af0ce33 ; * lisp/composite.el (find-composition): Fix a typo in last ...
74743         bdbcdba Avoid assertions in find-composition
74744         408862f ; * lisp/emacs-lisp/bytecomp.el: Tweak message formatting in ...
74745         9964db4 Restore obsolete method of changing byte-compile-dest-file
74746         3dd25ae Some minor Tramp corrections
74747         d670a15 * doc/misc/url.texi (http/https): Fix typo
74748         99d07e8 Remove some bogus definition-prefixes from loaddefs
74750 2017-12-20  Charles A. Roelli  <charles@aurox.ch>
74752         Fix vc-region-history when narrowed
74754         * lisp/vc/vc.el (vc-region-history): Fix behavior when narrowed, by using
74755         line numbers starting from (point-min).
74757 2017-12-20  Charles A. Roelli  <charles@aurox.ch>
74759         Ensure current buffer is version-controlled in vc-region-history
74761         * lisp/vc/vc.el (vc-region-history): Ensure buffer is
74762         version-controlled.  Otherwise if a user runs it in a
74763         non-version-controlled buffer, they get the error:
74765           Cannot open load file: No such file or directory, vc-nil
74767 2017-12-20  Philipp Stephani  <phst@google.com>
74769         Define helper functions only if needed
74771         * src/json.c (JSON_HAS_ERROR_CODE): New define.
74772         (json_parse_error): Use it.
74773         (json_has_prefix, json_has_suffix): Define only if needed.
74775 2017-12-20  Philipp Stephani  <phst@google.com>
74777         * src/json.c (json_parse_error): Fix embarrassing bug.
74779 2017-12-20  Philipp Stephani  <phst@google.com>
74781         Fix a few compiler warnings in auth-source.el
74783         * lisp/auth-source.el (json): Add missing require.
74784         (auth-source-json-search): Remove unused argument.
74786 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
74788         * lisp/auth-source.el (auth-source-backends-parser-file): Fix missing stringp.
74790 2017-12-19  Philipp Stephani  <phst@google.com>
74792         Use Jansson's error code support if available
74794         * src/json.c (json_parse_error): Use Jansson's error code support if
74795         available.
74797 2017-12-19  Glenn Morris  <rgm@gnu.org>
74799         * doc/misc/auth.texi: Fix use of {} and wrapping in previous change.
74801 2017-12-19  Philipp Stephani  <phst@google.com>
74803         Allow JSON parser functions to return alists
74805         * src/json.c (Fjson_parse_string, Fjson_parse_buffer): Give these
74806         functions a keyword argument to specify the return type for JSON
74807         objects.
74808         (json_to_lisp): Convert objects to alists if requested.
74809         (json_parse_object_type): New helper function to parse keyword
74810         arguments.
74812         * test/src/json-tests.el (json-parse-string/object): Add a unit test.
74814         * doc/lispref/text.texi (Parsing JSON): Document new functionality.
74816 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
74818         * doc/misc/auth.texi (Help for users): Mention JSON backend.
74820 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
74822         auth-source: support JSON backend with .json extension
74824         * lisp/auth-source.el (auth-source-backends-parser-file): Look
74825         for .gpg extension and make backend decision without it. Add
74826         JSON case to backends.
74828         (auth-source-json-check): Parse JSON data.
74830 2017-12-18  Glenn Morris  <rgm@gnu.org>
74832         Add a Makefile rule for running gitmerge
74834         * Makefile.in (GITMERGE_EMACS, GITMERGE_NMIN): New variables.
74835         (gitmerge): New phony target.
74837 2017-12-18  Glenn Morris  <rgm@gnu.org>
74839         Set minimum number of commits for gitmerge in batch mode
74841         * admin/gitmerge.el (gitmerge-minimum-missing): New variable.
74842         (gitmerge): In batch mode, respect gitmerge-minimum-missing.
74844 2017-12-18  Glenn Morris  <rgm@gnu.org>
74846         * admin/gitmerge.el (gitmerge-skip-regexp): Be stricter in batch mode.
74848 2017-12-18  Glenn Morris  <rgm@gnu.org>
74850         Make gitmerge usable in batch mode
74852         * admin/gitmerge.el (gitmerge-missing): Add progress messages.
74853         (gitmerge-maybe-resume): In batch mode, never resume.
74854         (gitmerge): Handle batch mode.
74856 2017-12-18  Philipp Stephani  <phst@google.com>
74858         JSON: Add tests for Unicode edge cases
74860         * test/src/json-tests.el (json-serialize/string): Add test for
74861         serializing the null character.
74862         (json-parse-string/null): Add test for parsing the null character.
74863         (json-serialize/invalid-unicode): Add tests for invalid Unicode
74864         strings.
74865         (json-serialize/roundtrip): Add Unicode
74866         noncharacter, non-BMP characters, and syntactic characters.
74868 2017-12-18  Charles A. Roelli  <charles@aurox.ch>
74870         Fix infinite loop in vc-dir-mark-unmark
74872         * lisp/vc/vc-dir.el (vc-dir-mark-unmark): Prevent from getting
74873         stuck on the same line in an infinite loop.  (Bug#24017)
74875 2017-12-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
74877         Fix Gnus registry header extraction
74879         * lisp/gnus/gnus-registry.el (gnus-registry-fetch-recipients-fast,
74880           gnus-registry-fetch-sender-fast): First, delete
74881           `gnus-registry-fetch-header-fast'. It was being called with reversed
74882           arguments, and thus always returned nil, but even if the argument
74883           order was correct it would have raised an error, as it was trying to
74884           `assq' a string in a vector. Instead, just have these two functions
74885           do their own work, as they're doing fairly different things.
74887 2017-12-17  Paul Eggert  <eggert@cs.ucla.edu>
74889         Default CHECK_LISP_OBJECT_TYPE to "no"
74891         * configure.ac: Go back to not defining CHECK_LISP_OBJECT_TYPE by
74892         default for developer builds, since it is no longer that useful.
74893         We can make it a no-op entirely later, if in practice it's not
74894         that helpful to enable it.
74896 2017-12-17  Michael Albinus  <michael.albinus@gmx.de>
74898         Minor fixes in Tramp
74900         * lisp/net/tramp-archive.el
74901         (tramp-archive-handle-temporary-file-directory): New defun.
74902         (tramp-archive-file-name-handler-alist): Use it.
74904         * test/lisp/net/tramp-archive-tests.el
74905         (tramp-archive-test99-libarchive-tests): Rename it.
74907         * test/lisp/net/tramp-tests.el (tramp-test34-vc-registered):
74908         Skip for older Emacsen.
74910 2017-12-17  Simen Heggestøyl  <simenheg@gmail.com>
74912         Add command for cycling between CSS color formats
74914         * lisp/textmodes/css-mode.el (css-mode-map): Add keybinding for
74915         'css-cycle-color-format'.
74916         (css--rgb-color): Add support for extracting alpha component.
74917         (css--hex-alpha, css--color-to-4-dpc, css--named-color-to-hex)
74918         (css--format-rgba-alpha, css--hex-to-rgb)
74919         (css--rgb-to-named-color-or-hex): New functions.
74920         (css-cycle-color-format): New command for cycling between color
74921         formats.
74923         * test/lisp/textmodes/css-mode-tests.el (css-test-color-to-4-dpc):
74924         (css-test-named-color-to-hex, css-test-format-rgba-alpha)
74925         (css-test-hex-to-rgb, css-test-rgb-to-named-color-or-hex)
74926         (css-test-cycle-color-format, css-test-hex-alpha): New tests for the
74927         changes mentioned above.
74929         * etc/NEWS: Mention the new command.
74931 2017-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
74933         * lisp/textmodes/css-mode.el (css--hex-color): Trivial simplification
74935 2017-12-16  Glenn Morris  <rgm@gnu.org>
74937         Merge from origin/emacs-26
74939         28e0261890 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
74940         ac53084f9b Improve fix for Bug#29712
74941         ffd4771560 * doc/lispref/sequences.texi (Sequence Functions): Improve...
74942         f274cbd185 Avoid reordering of output in 'shr-insert-document'
74943         7890864413 Improve documentation of 'invisible-p'
74944         a1327bbc64 Remove one more check that Vframe_list is non-nil
74945         63b6281fdd Fix off-by-one error in 'css--hex-color'
74946         804b37ca63 Save and restore text-pixel height and width of frames (Bu...
74947         777fe94661 Partially revert "Mention new strictness for &optional, &r...
74948         ad17db7964 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-loc...
74949         5a7d0095a4 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete...
74950         e019c35df6 FOR_EACH_FRAME no longer assumes frame-list
74951         d64b88da2f * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
74952         92b2604a7f Modernise message.el face spec syntax
74953         b1efbe6564 Update message.el obsolete face aliases
74954         2494c14e76 ; * lisp/comint.el (comint-terminfo-terminal): Add a :vers...
74955         12ad276d15 Improve documentation of TERM environment variable
74956         8ed529f0f3 Add option to configure comint TERM
74957         889f07c352 Better support utf-8-with-signature and utf-8-hfs in XML/HTML
74958         a2697fac0e * lisp/menu-bar.el (menu-bar-mode): Doc fix.
74959         ffb50eace6 ; * etc/NEWS: Fix last change.
74960         95606af8b0 Fix Bug#29712 in tramp-tests.el
74961         9bf66c6bee Don't run FOR_EACH_FRAME when there's no frame left (Bug#2...
74962         c2a88ec8e8 * lisp/textmodes/tex-mode.el: Ensure uncompiled file is lo...
74963         b178870528 Remember password change for IMAP in Gnus (Bug#29692)
74964         a21dac18bb Add %DUMBFW to the default GnuTLS priority strings
74965         780407cff1 Small fixes prompted by make check-declare
74966         541a60108d Fix some custom groups
74967         e220d6e112 Fix fontification of first declaration within a C++ lambda...
74968         aa66da220c * src/data.c (Fadd_variable_watcher): Doc fix.
74969         f838210b01 Fix misfontification of C++ member initialization list aft...
74970         232c6465ce Fix doc-string of Fbuffer_list
74971         3f9aac68d7 Don't raise an extraneous frame (bug#29696)
74972         e7b1111155 Mention new strictness for &optional, &rest in arglists (B...
74973         4cb8696e47 Don't misfontify "foo ()" inside C++ initialization parent...
74974         ce31e726ad Fixes for defcustoms, prompted by cus-test-opts
74975         aacd1e14fc * lisp/net/newst-backend.el (newsticker--raw-url-list-defa...
74976         7e2f4d3d41 * lisp/htmlfontify.el (hfy-which-etags): Fix it.
74977         52d2a690f6 Add missing :version tags revealed by cusver-check
74978         f5d0360234 Escape column-zero doc parens
74980         # Conflicts:
74981         #       etc/NEWS
74983 2017-12-16  Philipp Stephani  <phst@google.com>
74985         Remove two unused variables in macfont.m
74987         * src/macfont.m (macfont_get_glyph_for_character): Remove two unused
74988         variables.
74990 2017-12-16  Alan Third  <alan@idiocy.org>
74992         Use utf-8-hfs-unix on macOS (Bug#29712)
74994         * lisp/term/ns-win.el: Use utf-8-hfs-unix instead of utf-8-hfs.
74996 2017-12-16  Alan Third  <alan@idiocy.org>
74998         Silence macOS 10.13 deprecation notices (Bug#29643)
75000         * src/nsfns.m (Fx_display_backing_store):
75001         (Fx_display_save_under): Don't use NSBackingStoreRetained or
75002         NSBackingStoreNonretained on macOS 10.13+.
75003         * src/nsselect.m (symbol_to_nsstring):
75004         (ns_string_to_symbol):
75005         (nxatoms_of_nsselect): Replace NSGeneralPboard with
75006         NSPasteboardNameGeneral.
75007         * src/nsterm.h: #define NSPasteboardNameGeneral to NSGeneralPboard on
75008         GNUstep and macOS < 10.13.
75009         * src/nsterm.m (EmacsView::resetCursorRects):
75010         (EmacsScroller::resetCursorRects): Don't use setOnMouseEntered on
75011         macOS 10.13+.
75013 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
75015         Suppress timers in Tramp operations
75017         * lisp/net/tramp.el (tramp-accept-process-output):
75018         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
75019         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
75020         (tramp-sh-handle-start-file-process):
75021         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
75022         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
75023         (tramp-smb-handle-set-file-acl)
75024         (tramp-smb-handle-start-file-process): Suppress timers.
75026         * test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
75027         Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
75028         Add instrumentation messages.
75030 2017-12-15  Oscar Fuentes  <ofv@wanadoo.es>
75032         Don't compare arguments that can be nil
75034         copy-region-as-kill can be called passing nil as `beg' and
75035         `end'. Magit does that, which caused an error when this advice was in
75036         effect.
75038         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
75039           unless `beg' and `end' are non-nil.
75041 2017-12-15  Glenn Morris  <rgm@gnu.org>
75043         Automatically evaluate top-level define-obsolete-function-alias etc
75045         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-make-obsolete):
75046         New handler.
75048 2017-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75050         Spelling fix
75052         * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
75053         Fix misspelling of ‘delete-directory’.
75055 2017-12-14  Glenn Morris  <rgm@gnu.org>
75057         Make w32-fns.el loadable on any platform (bug#6997)
75059         * lisp/w32-fns.el (find-file-visit-truename): Only set on MS Windows.
75060         (set-message-beep, w32-charset-info-alist): Check bound before using.
75062 2017-12-14  Glenn Morris  <rgm@gnu.org>
75064         Improve Custom's treatment of obsolete options (bug#5742)
75066         * lisp/cus-edit.el (custom-variable-obsolete): New face.
75067         (custom-variable-documentation): Include obsolescence information.
75068         (custom-variable-value-create): Use different face for obsolete items.
75069         (custom-face-documentation): New function.
75070         (custom-face): Use custom-face-documentation.
75071         * lisp/info-look.el (info-lookup-guess-custom-symbol):
75072         Add custom-variable-obsolete face.
75074 2017-12-14  Eric Abrahamsen  <eric@ericabrahamsen.net>
75076         Clarify manual section on &context specializer for methods
75078         * doc/lispref/functions.texi (Generic Functions): Provide a little
75079           more information on how they work.
75081 2017-12-13  Stefan Monnier  <monnier@iro.umontreal.ca>
75083         Don't get fooled by open parens in column 0 within strings
75085         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw):
75086         Skip defun-prompt-regexp and open-paren-in-0 within strings and comments.
75088 2017-12-12  Glenn Morris  <rgm@gnu.org>
75090         * admin/gitmerge.el (gitmerge-missing):
75091         Don't get confused by decorations.
75093 2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
75095         * src/syntax.c (find_defun_start): Use syntax-ppss
75097         (syms_of_syntax): New variable comment-use-syntax-ppss.
75099 2017-12-12  Glenn Morris  <rgm@gnu.org>
75101         Merge from origin/emacs-26
75103         b0369d0536 Import the latest IVD_Sequences.txt
75104         cd53b6399b Fix dired-do-compress when tar doesn't default to stdin (B...
75105         51911dae14 Suppress warnings during elisp completion macroexpansion
75106         a36a090a95 * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo ...
75107         6a6e8e6e8d Make tramp-interrupt-process more robust
75108         5bcd468a9e Make quail-input-method work when inhibit-read-only is non...
75109         87baf1242e Fix 'fontset-name-p'
75110         d23158777d Fix fontset documentation inconsistencies for bug#29630
75111         a829cb8c8b Remove sentence from child frames section in Elisp manual
75112         ad491c80e4 Avoid crashes in 'font-at' after 'set-fontset-font'
75113         c73d2cdfd7 * lisp/files-x.el (connection-local-set-profile-variables)...
75114         cefca2b8ac Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
75115         122e7264b8 Fix tool-tip display when display margins are non-zero by ...
75116         e1cc2037a9 Handle hash tables and vectors when reading/writing EIEIO ...
75117         cda219c3df Improve interactive debugging commands in xdisp.c
75118         1056b3cbcd Fix calculation of continuation_pixel_width in display engine
75119         90e20804f5 Improve documentation of 'save-abbrevs'.
75120         14f0230a48 Improve documentation of Dired
75121         161b0e5493 * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
75123 2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
75125         * lisp/subr.el (backtrace--print-frame): Use cl-prin1
75127         * lisp/emacs-lisp/cl-print.el (cl-prin1): Catch errors, since callers
75128         generally don't expect errors.
75130 2017-12-12  Glenn Morris  <rgm@gnu.org>
75132         Fix gitmerge handling of automatic conflict reslution
75134         * admin/gitmerge.el (gitmerge-resolve): Reenable NEWS handling.
75135         (gitmerge-resolve-unmerged): Commit after successful resolution.
75136         (gitmerge-commit): New function, extracted from gitmerge-maybe-resume.
75137         (gitmerge-maybe-resume): Use gitmerge-commit.
75139 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
75141         Fix recently-introduced cast typo
75143         * src/alloc.c (SDATA_OF_STRING): Put cast in right spot.
75144         This matters only if GC_CHECK_STRING_BYTES, which is sort
75145         of a coals-to-Newcastle situation if pointer bounds checking
75146         is also enabled.
75148 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
75150         Port --fcheck-pointer-bounds to --with-wide-int
75152         * src/lisp (XSYMBOL) [__CHKP__ && !USE_LSB_TAG]:
75153         Bypass pointer bounds checking here,
75154         instead of failing the entire build.
75155         (make_lisp_symbol): Improve comment.
75157 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
75159         Narrow pointer bounds when appropriate
75161         This typically occurs in a storage manager, where the caller
75162         is expected to access only the newly-allocated object,
75163         instead of using the returned value to access unrelated
75164         parts of the heap.
75165         * src/alloc.c (allocate_string, allocate_string_data)
75166         (compact_small_strings, find_string_data_in_pure)
75167         (sweep_strings, setup_on_free_list, allocate_vectorlike
75168         (pure_alloc):
75169         * src/bytecode.c (exec_byte_code):
75170         * src/callint.c (Fcall_interactively):
75171         * src/dispnew.c (scrolling):
75172         * src/editfns.c (styled_format):
75173         * src/frame.c (xrdb_get_resource, x_get_resource_string):
75174         * src/fringe.c (Fdefine_fringe_bitmap):
75175         * src/gmalloc.c (malloc, realloc, aligned_alloc):
75176         Narrow pointer bounds when appropriate.
75177         * src/alloc.c (SDATA_OF_STRING):
75178         * src/lisp.h (make_lisp_symbol) [__CHKP__]:
75179         Widen bounds here, though.
75180         * src/bytecode.c, src/callint.c, src/dispnew.c, src/editfns.c:
75181         * src/emacs.c, src/frame.c, src/fringe.c:
75182         Include ptr-bounds.h.
75183         * src/ptr-bounds.h (ptr_bounds_clip): New function.
75185 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
75187         Port to gcc -fcheck-pointer-bounds
75189         This is a minimal port, just to get Emacs running;
75190         it does not attempt to make the pointer bounds at all tight.
75191         * src/ptr-bounds.h: New file.
75192         * src/alloc.c, src/gmalloc.c: Include it.
75193         * src/alloc.c (live_string_holding, live_cons_holding)
75194         (live_symbol_holding, live_misc_holding, garbage_collect_1)
75195         (sweep_conses, sweep_floats):
75196         * src/gmalloc.c (malloc_initialize_1, _free_internal_nolock)
75197         (_realloc_internal_nolock):
75198         Widen pointer bounds as necessary.
75199         We're in a memory allocator so this is OK.
75200         * src/lisp.h (lisp_h_XSYMBOL, make_lisp_symbol) [__CHKP__]:
75201         Do not convert from pointer to integer and back again, so
75202         that GCC does not lose track of pointer bounds.
75203         (XSYMBOL) [__CHKP__ && !USE_LSB_TAG]: Now a compile-time error.
75204         Although it's possible to support both -fcheck-pointer-bounds and
75205         --with-wide-int, it's more work; keep things simple for now.
75206         (DEFINE_LISP_SYMBOL) [__CHKP__]: Now a no-op, to avoid
75207         trouble with unbounded pointers.
75209 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
75211         Reimplement Lisp_Object as pointer-to-incomplete
75213         This makes Lisp_Object values opaque pointers instead of integers,
75214         which helps avoid the same sort of typos that
75215         CHECK_LISP_OBJECT_TYPE helps to avoid, without having to wrap
75216         pointers inside structures.  This also looks forward to supporting
75217         -fcheck-pointer-bounds.
75218         * etc/DEBUG:
75219         * src/.gdbinit (Lisp_Object_Printer.to_string):
75220         Lisp_Object can be a pointer type now.
75221         * src/alloc.c (macro_XPNTR, XPNTR):
75222         * src/emacs-module.c (value_to_lisp_bits, lisp_to_value_bits):
75223         * src/lisp.h (lisp_h_XLI, lisp_h_XIL):
75224         (lisp_h_XUNTAG) [USE_LSB_TAG]:
75225         (XUNTAG) [!USE_LSB_TAG]:
75226         (Lisp_Object, TAG_PTR, make_lisp_symbol):
75227         Support new Lisp_Object implementation as a pointer to an
75228         incomplete type.  Keep pointers pointers, as much as possible.
75229         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, XPNTR_OR_SYMBOL_OFFSET):
75230         Remove.  All uses replaced by plain XPNTR.
75231         * src/emacs-module.c: Work around GCC bug 83162.
75232         * src/lisp.h (LISP_WORDS_ARE_POINTERS, lisp_h_XLP, lisp_h_XPL):
75233         (XLP, XPL) [DEFINE_KEY_OPS_AS_MACROS]:
75234         New macros.
75235         (Lisp_Word, untagged_ptr, Lisp_Word_tag): New types.
75236         (XLP, XPL): New inline functions.
75237         (TAG_PTR): Now expands to an initializer, not an expression.
75238         All uses changed.
75239         (TAG_SYMOFFSET, XLI_BUILTIN_LISPSYM): Remove.  All uses removed.
75240         (LISPSYM_INITIALLY): Redo in terms of the new TAG_PTR.
75241         (NIL_IS_ZERO): Redo without XLI_BUILTIN_LISPSYM.
75242         * src/xwidget.c (webkit_javascript_finished_cb): Use XPL
75243         instead of XIL with a non-EMACS_INT arg.
75244         (Fxwidget_webkit_execute_script): Use XLP instead of XLI
75245         followed by two conversions.
75247 2017-12-12  Ted Zlatanov  <tzz@lifelogs.com>
75249         Rename gnus-cloud method setter
75251         * lisp/gnus/gnus-srvr.el (gnus-server-set-cloud-method-server)
75252           (gnus-server-make-menu-bar, gnus-server-mode-map): Rename
75253           `gnus-server-toggle-cloud-method-server' to
75254           `gnus-server-set-cloud-method-server' (Bug#28845).
75255           (gnus-server-toggle-cloud-server): Use "toggle" in docstring.
75257         * lisp/gnus/gnus-cloud.el: Fix docstring.
75259 2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
75261         * lisp/subr.el (run-mode-hooks): Fix last change
75263 2017-12-12  Alan Third  <alan@idiocy.org>
75265         Remove ObjC blocks (Bug#23753)
75267         * src/macfont.m (macfont_get_glyph_for_character):
75268         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
75270 2017-12-12  Michael Albinus  <michael.albinus@gmx.de>
75272         Extend tramp-cache.el interface
75274         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
75275         (tramp-handle-dired-uncache):
75276         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory)
75277         (tramp-adb-handle-delete-directory, tramp-adb-handle-delete-file)
75278         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
75279         (tramp-adb-handle-set-file-times, tramp-adb-handle-copy-file)
75280         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
75281         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
75282         (tramp-adb-maybe-open-connection):
75283         * lisp/net/tramp-cache.el (tramp-flush-file-properties)
75284         (tramp-flush-directory-properties, tramp-flush-file-function):
75285         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
75286         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
75287         (tramp-gvfs-handle-delete-directory, tramp-gvfs-handle-delete-file)
75288         (tramp-gvfs-handle-file-system-info, tramp-gvfs-handle-make-directory)
75289         (tramp-gvfs-handle-write-region, tramp-gvfs-handler-mounted-unmounted)
75290         (tramp-gvfs-send-command):
75291         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
75292         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
75293         (tramp-sh-handle-set-file-selinux-context, tramp-sh-handle-set-file-acl)
75294         (tramp-sh-handle-add-name-to-file, tramp-sh-handle-copy-directory)
75295         (tramp-do-copy-or-rename-file, tramp-do-copy-or-rename-file-out-of-band)
75296         (tramp-sh-handle-make-directory, tramp-sh-handle-delete-directory)
75297         (tramp-sh-handle-delete-file, tramp-sh-handle-dired-compress-file)
75298         (tramp-process-sentinel, tramp-sh-handle-start-file-process)
75299         (tramp-sh-handle-process-file, tramp-sh-handle-write-region):
75300         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
75301         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
75302         (tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
75303         (tramp-smb-handle-file-acl, tramp-smb-handle-make-directory-internal)
75304         (tramp-smb-handle-make-symbolic-link, tramp-smb-handle-process-file)
75305         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
75306         (tramp-smb-handle-set-file-modes, tramp-smb-handle-start-file-process)
75307         (tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
75308         Use them.
75310         * lisp/net/tramp-cache.el (tramp-flush-file-properties)
75311         (tramp-flush-directory-properties, tramp-flush-connection-properties):
75312         Rename from `tramp-flush-file-property',`tramp-flush-directory-property'
75313         and `tramp-flush-connection-property', respectively.
75314         (tramp-flush-file-property, tramp-flush-connection-property):
75315         New defuns.
75317 2017-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
75319         * lisp/subr.el (run-mode-hooks): Set parse-sexp-lookup-properties
75321         if syntax-propertize-function is set (bug#24749).
75322         * lisp/progmodes/sh-script.el (sh-set-shell):
75323         * lisp/textmodes/texinfo.el (texinfo-mode):
75324         * lisp/textmodes/mhtml-mode.el (mhtml-mode):
75325         * lisp/progmodes/js.el (js-mode): Don't set parse-sexp-lookup-properties.
75327 2017-12-12  Glenn Morris  <rgm@stanford.edu>
75329         Make functions invocation-directory and invocation-name obsolete
75331         * lisp/subr.el (invocation-directory, invocation-name):
75332         Mark the function versions as obsolete.  (Bug#10476)
75333         * lisp/startup.el (tty-handle-args):
75334         * lisp/term/common-win.el (x-handle-xrm-switch, x-handle-name-switch):
75335         * lisp/term/ns-win.el (top-level):
75336         * lisp/term/pc-win.el (top-level):
75337         * lisp/term/w32-win.el (window-system-initialization):
75338         * lisp/term/x-win.el (top-level, x-handle-parent-id)
75339         (x-handle-smid, window-system-initialization):
75340         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468):
75341         Use invocation-directory and invocation-name as variables.
75343 2017-12-11  Glenn Morris  <rgm@gnu.org>
75345         * lisp/mail/emacsbug.el (report-emacs-bug): Try "sw_vers" on Darwin.
75347         * admin/gitmerge.el (gitmerge-resolve): Disable buggy NEWS handling.
75349 2017-12-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
75351         Obsolete gnus-remove-if and gnus-remove-if-not
75353         Use seq-remove and seq-filter, respectively, instead.
75355         * lisp/gnus/gnus-util.el: Remove functions and replace with
75356           define-obsolete-function-alias calls.
75357         * lisp/gnus/gnus.el: Require seq here.
75358         * lisp/gnus/gnus-art.el (gnus-mime-view-part-as-type):
75359         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--get-attendee-names):
75360         * lisp/gnus/gnus-score.el (gnus-summary-score-effect):
75361         * lisp/gnus/gnus-sum.el (gnus-read-move-group-name):
75362         * lisp/gnus/gnus-topic.el (gnus-group-prepare-topics):
75363         * lisp/gnus/gnus-win.el (gnus-get-buffer-window):
75364         * lisp/gnus/nnmail.el (nnmail-purge-split-history):
75365         * lisp/gnus/nnmaildir.el (nnmaildir-request-scan):
75366         * lisp/gnus/nnrss.el (nnrss-make-hash-index): Replace calls in all
75367           these locations.
75369 2017-12-10  Philipp Stephani  <phst@google.com>
75371         Skip tests for json.c unless compiled with native JSON support.
75373         * test/src/json-tests.el (json-serialize/roundtrip)
75374         (json-serialize/object, json-parse-string/object)
75375         (json-parse-string/string, json-serialize/string)
75376         (json-parse-string/incomplete, json-parse-string/trailing)
75377         (json-parse-buffer/incomplete, json-parse-buffer/trailing): Skip if
75378         JSON functions aren't available.
75380 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
75382         Support dynamic loading of libjansson on MS-Windows
75384         * src/json.c [WINDOWSNT]: Define fn_* function pointers to jansson
75385         functions.
75386         (json_delete) [WINDOWSNT]: A wrapper around fn_json_delete, needed
75387         by json_decref.
75388         (init_json_functions) [WINDOWSNT]: New function.
75389         (Fjson_serialize, Fjson_insert, Fjson_parse_string)
75390         (Fjson_parse_buffer) [WINDOWSNT]: Call init_json_functions if
75391         needed, and record JSON in Vlibrary_cache.
75392         * src/emacs.c (main): Don't call init_json on WINDOWSNT.
75393         * src/w32fns.c (syms_of_w32fns): DEFSYM "json".
75395         * lisp/term/w32-win.el (dynamic-library-alist): Add JSON DLL to
75396         the list.
75398         * configure.ac (HAVE_JSON): Empty JSON_LIBS for MinGW.
75400         * nt/INSTALL.W64:
75401         * nt/INSTALL: Add information about libjansson.
75403 2017-12-10  Philipp Stephani  <phst@google.com>
75405         * configure.ac: Fix minimum Jansson version requirement.
75407 2017-12-10  Wilfred Hughes  <me@wilfred.me.uk>
75409         Ensure that we can find definitions when buffer is narrowed
75411         find-function-search-for-symbol will reuse the existing buffer if
75412         we've already opened the file that contains this symbol. However, if
75413         the user has narrowed that buffer, we can't find definitions outside
75414         the narrowed area.
75416         Instead, search the whole file to find definitions, and teach the help
75417         buttons to widen if necessary.
75419         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol):
75420           Search the whole buffer for the target symbol.
75422         * lisp/help-mode.el: Help buttons now widen the target buffer, if
75423           narrowing is in effect and the target position is not in that range.
75425 2017-12-10  Philipp Stephani  <phst@google.com>
75427         Implement native JSON support using Jansson
75429         * configure.ac: New option --with-json.
75431         * src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
75432         (Fjson_parse_buffer): New defuns.
75433         (json_malloc, json_free, json_has_prefix, json_has_suffix)
75434         (json_make_string, json_build_string, json_encode)
75435         (json_out_of_memory, json_parse_error)
75436         (json_release_object, check_string_without_embedded_nulls, json_check)
75437         (lisp_to_json, lisp_to_json_toplevel, lisp_to_json_toplevel_1)
75438         (json_insert, json_insert_callback, json_to_lisp)
75439         (json_read_buffer_callback, Fjson_parse_buffer, define_error): New
75440         helper functions.
75441         (init_json, syms_of_json): New file.
75443         * src/lisp.h: Declaration for init_json and syms_of_json.
75445         * src/emacs.c (main): Enable JSON functions.
75447         * src/eval.c (internal_catch_all, internal_catch_all_1): New helper
75448         functions to catch all signals.
75449         (syms_of_eval): Add uninterned symbol to signify out of memory.
75451         * src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
75452         (base_obj, LIBES): Compile json.c if --with-json is enabled.
75454         * test/src/json-tests.el (json-serialize/roundtrip)
75455         (json-serialize/object, json-parse-string/object)
75456         (json-parse-string/string, json-serialize/string)
75457         (json-parse-string/incomplete, json-parse-string/trailing)
75458         (json-parse-buffer/incomplete, json-parse-buffer/trailing): New unit
75459         tests.
75461         * doc/lispref/text.texi (Parsing JSON): New manual section.
75463 2017-12-10  Michael Albinus  <michael.albinus@gmx.de>
75465         * doc/misc/tramp.texi (Archive file names): Precise example.
75467 2017-12-09  Glenn Morris  <rgm@gnu.org>
75469         * test/lisp/net/tramp-archive-tests.el
75470         (tramp-archive-test06-directory-file-name): Add skip condition.
75472 2017-12-09  Philipp Stephani  <phst@google.com>
75474         * lisp/emacs-lisp/advice.el: Stop using old-style backquotes
75476 2017-12-09  Philipp Stephani  <phst@google.com>
75478         Raise an error when detecting old-style backquotes.
75480         They have been deprecated for a decade now.
75482         * src/lread.c (Fload): Don't use record_unwind_protect to warn about
75483         old-style backquotes any more.  They now generate a hard error.
75484         (read1): Signal an error when detecting old-style backquotes.  Remove
75485         unused label.
75486         (syms_of_lread): Remove unused internal variable
75487         'lread--old-style-backquotes'.
75488         (load_error_old_style_backquotes): Rename from
75489         'load_warn_oldstyle_backquotes'.  Signal an error.
75491         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove check
75492         from byte compiler.  It isn't triggered any more.
75494         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Adapt
75495         unit test.
75497         * test/lisp/emacs-lisp/bytecomp-tests.el
75498         (bytecomp-tests--old-style-backquotes)
75499         (bytecomp-tests-function-put): Adapt unit tests.
75501         * etc/NEWS: Document change.
75503 2017-12-09  Philipp Stephani  <phst@google.com>
75505         Work around reader limitations for old-style backquotes.
75507         See Bug#28759.
75509         * admin/grammars/make.by: Escape ,@ to avoid old-style backquote
75510         detection
75512 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
75514         Support for archive file names
75516         * doc/misc/tramp.texi (Top, Usage): Add entry "Archive file names".
75517         (History): Mention archive file names.
75518         (GVFS based methods): Mentio "http" and "https" methods.
75519         (Archive file names): New node.
75520         (Frequently Asked Questions): Add Emacs 27 as supported version.
75522         * etc/NEWS: Mention tramp-archive.el.
75524         * lisp/net/tramp.el (tramp-run-real-handler)
75525         (tramp-register-file-name-handlers)
75526         (tramp-register-file-name-handlers, tramp-unload-file-name-handlers):
75527         Add `tramp-archive-file-name-handler'.
75528         (tramp-handle-file-name-completion): Do not insist in Tramp
75529         file names.
75531         * lisp/net/tramp-archive.el: New package.
75533         * lisp/net/tramp-cache.el (tramp-dump-connection-properties): Check for
75534         "archive" method.
75536         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Cleanup also
75537         local copies of archives.
75539         * lisp/net/tramp-compat.el (tramp-compat-use-url-tramp-p): New defconst.
75541         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "http" and "https".
75542         (tramp-gvfs-gio-mapping): Add "gvfs-mount".
75543         (tramp-gvfs-handler-mounted-unmounted)
75544         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
75545         Handle "uri" and "http".
75546         (tramp-gvfs-unmount): New defun.
75548         * test/lisp/net/tramp-archive-tests.el: New package.
75550 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
75552         * test/Makefile.in (url-tramp-test.log): Do not handle special.
75554 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
75556         Sync with Tramp 2.4.0-pre
75558         * doc/misc/trampver.texi:
75559         * lisp/net/trampver.el: Change version to "2.4.0-pre".
75561         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
75562         Use `tramp-handle-file-directory-p'.
75563         (tramp-adb-parse-device-names)
75564         (tramp-adb-handle-expand-file-name)
75565         (tramp-adb-handle-file-truename, tramp-adb-handle-process-file):
75566         Adapt `tramp-make-tramp-file-name' call.
75567         (tramp-adb-handle-file-directory-p): Remove.
75568         (tramp-adb-maybe-open-connection): Do not set
75569         tramp-current-*.
75571         * lisp/net/tramp-cache.el (tramp-get-hash-table):
75572         Adapt `tramp-make-tramp-file-name' call.
75574         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Do not set
75575         tramp-current-*.
75577         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
75578         Use `tramp-handle-file-directory-p'.
75579         (tramp-gvfs-dbus-event-error): Trace with verbosity 6.
75580         (tramp-gvfs-do-copy-or-rename-file): Use `file-truename'.
75581         (tramp-gvfs-handle-file-directory-p): Remove.
75582         (tramp-gvfs-handler-askpassword): Do not set tramp-current-*.
75584         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
75585         (tramp-sh-handle-start-file-process)
75586         (tramp-maybe-open-connection, tramp-get-remote-path): Do not
75587         set tramp-current-*.
75588         (tramp-maybe-open-connection): Set "password-vector" property.
75590         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
75591         Use `tramp-handle-file-accessible-directory-p' and
75592         `tramp-handle-file-directory-p'.
75593         (tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
75594         (tramp-smb-handle-set-file-acl)
75595         (tramp-smb-maybe-open-connection): Do not set tramp-current-*.
75596         (tramp-smb-handle-file-directory-p): Remove.
75597         (tramp-smb-handle-make-symbolic-link):
75598         Use `tramp-get-connection-buffer' rather than `buffer-name'.
75600         * lisp/net/tramp.el (tramp-current-method, tramp-current-user)
75601         (tramp-current-domain, tramp-current-host)
75602         (tramp-current-port): Remove.
75603         (tramp-dissect-file-name): No special handling of localname anymore.
75604         (tramp-make-tramp-file-name): Reimplemnt with new signature.
75605         (tramp-completion-make-tramp-file-name): Fix docstring.
75606         (tramp-get-buffer, tramp-handle-file-name-as-directory)
75607         (tramp-handle-file-name-directory)
75608         (tramp-check-cached-permissions, tramp-local-host-p)
75609         (tramp-get-remote-tmpdir, tramp-clear-passwd):
75610         Adapt `tramp-make-tramp-file-name' call.
75611         (tramp-completion-handle-file-name-all-completions)
75612         (tramp-action-login, tramp-read-passwd): Do not set
75613         tramp-current-*.
75614         (tramp-handle-file-directory-p): New defun.
75615         (tramp-handle-verify-visited-file-modtime): Remove superfluous
75616         `with-parsed-tramp-file-name'.
75617         (tramp-process-actions, tramp-read-passwd):
75618         Use "password-vector" property.
75619         (tramp-call-process, tramp-call-process-region): No special
75620         setting of vec.
75621         (tramp-read-passwd): Handle "login-as" property.
75623         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
75624         Special code for "smb".
75626 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
75628         Minor Tramp fixes
75630         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
75631         Fix a bug when renaming.
75633         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
75634         (tramp-test42-delay-load, tramp-test42-remote-load-path):
75635         Skip unless Emacs >= 26.
75637 2017-12-09  Glenn Morris  <rgm@gnu.org>
75639         * lisp/help-mode.el (help-function-def):
75640         Allow help-make-xrefs to call with one argument.  (Bug#29611)
75642 2017-12-09  Martin Rudalics  <rudalics@gmx.at>
75644         Fix doc-string of 'display-buffer-in-side-window'
75646         * lisp/window.el (display-buffer-in-side-window): In doc-string
75647         clarify why the window returned gets dedicated to its buffer.
75649 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
75651         Fix Bug#29579
75653         * lisp/files.el (file-name-non-special):
75654         Inhibit `file-name-handler-alist' only for some operations.
75655         Add missing operations.  (Bug#29579)
75657         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
75658         Do not quote if it is quoted already.
75660         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
75661         Use `copy-tree' but `copy-sequence'.
75663         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
75664         trailing slashes correctly.
75666         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
75667         (tramp-test12-rename-file, tramp-test24-file-acl)
75668         (tramp-test25-file-selinux, tramp--test-check-files):
75669         Handle also quoted file names.
75670         (tramp-test21-file-links): Fix file name quoting test.
75671         (tramp-test24-file-acl): Be more robust for "smb" method.
75672         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
75674 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
75676         Merge from origin/emacs-26
75678         7eea3144d4 Minor Tramp fixes
75679         c0a670a8b5 * lisp/help-mode.el (help-function-def): Allow help-make-x...
75680         05720162c1 Fix doc-string of 'display-buffer-in-side-window'
75681         a1bbc49015 Fix Bug#29579
75682         cb3d979b74 ; NEWS: Update Org version number
75684 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
75686         Merge from origin/emacs-26
75688         5381c70b7a In windows.texi mention special splitting behavior of side...
75689         46d62b9f36 * lisp/gnus/gnus-group.el (gnus-group-mode-map): Bind [fol...
75690         1ef1dbdbc5 Avoid compilation warning in xterm.c
75691         5cf3c26f2d * README: Document all the top-level directories.  (Bug#29...
75692         e9ea2065a8 Don't enable erc modules on simply loading erc.el
75694 2017-12-09  Michael Albinus  <michael.albinus@gmx.de>
75696         Merge from origin/emacs-26
75698         1fdac2d65c Don't add newlines in minibuffer history
75699         de68f337e3 modhelp.py: Support Python 3 (Bug#24954)
75700         afb04f7f3c Use forward slashes for python w32 config example (Bug#21656)
75702 2017-12-08  Paul Eggert  <eggert@cs.ucla.edu>
75704         Fix core dump from (format "%#08x" n) patch
75706         Problem reported by Glenn Morris (Bug#29609#13).
75707         * src/editfns.c (styled_format): Null-terminate output,
75708         as later code now expects this.
75710 2017-12-08  Paul Eggert  <eggert@cs.ucla.edu>
75712         Fix daylight-saving inference for Irish time
75714         * lisp/calendar/cal-dst.el (calendar-dst-find-data): Do not assume
75715         that daylight-saving time has a greater UT offset than standard
75716         time.  The reverse is true in Ireland, where standard time "IST"
75717         is UTC +01 in summer and daylight-saving time "GMT" is UTC +00 in
75718         winter.  The current Irish rules are given by the POSIX setting
75719         TZ='IST-1GMT0,M10.5.0,M3.5.0/1'.
75721 2017-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75723         Fix zero-padding bug with (format "%#08x" n)
75725         Problem reported by Gustaf Waldemarson (Bug#29609).
75726         * src/editfns.c (styled_format):
75727         Put zero padding after a leading "0x", not before.
75728         * test/src/editfns-tests.el (format-sharp-0-x): New test.
75730 2017-12-06  Rasmus  <rasmus@gmx.us>
75732         Revert "; Add entry for new Org version in NEWS file"
75734         This reverts commit 793ba92c50d69e1796ea2122520dea872007bca7.
75736 2017-12-06  Rasmus  <rasmus@gmx.us>
75738         Update Org to v9.1.4
75740         Please note this is a bugfix release. See etc/ORG-NEWS for details.
75742 2017-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
75744         * lisp/files.el (find-alternate-file): Use selected-window even if dedicated
75746 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
75748         * lisp/calendar/diary-lib.el: Use lexical-binding
75750         (diary-pull-attrs): Avoid let...setq.
75751         (diary-list-entries-2, diary-mark-entries-1)
75752         (diary-font-lock-date-forms, diary-fancy-date-pattern):
75753         Use calendar-dlet* around uses of diary-date-forms.
75754         (list-only, number, date, entry): Don't declare globally.
75755         (diary-including): Declare.
75756         (diary-saved-point, date-string): Move before first use.
75757         (diary-list-entries): Use calendar-dlet* around
75758         diary-nongregorian-listing-hook and 'diary-list-entries-hook.
75759         (displayed-year, displayed-month): Move before first use.
75760         (diary-sexp-entry): Use calendar-let* around evaluation of the sexp.
75761         (diary-remind): Use calendar-let* around evaluation of sexp.
75763 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
75765         * lisp/calendar/cal-dst.el: Use lexical-binding
75767         (calendar-time-zone-daylight-rules, calendar-dst-starts)
75768         (calendar-dst-ends, dst-in-effect): Bind `year' explicitly around `eval'.
75770 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
75772         * lisp/calendar/todo-mode.el: Use calendar-dlet*
75774         (dayname, monthname, day, month, year): Don't declare globally.
75775         (todo-date-pattern, todo-edit-item--header)
75776         (todo-convert-legacy-date-time, todo-read-date):
75777         Use calendar-dlet* around uses of calendar-date-display-form.
75779 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
75781         * lisp/calendar/solar.el: Use lexical-binding
75783         (date): Don't declare globally.
75784         (solar-time-string): Use calendar-dlet*.
75786         * lisp/calendar/calendar.el (calendar-dlet*): New macro.
75788 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
75790         * lisp/emacs-lisp/faceup.el: Don't require CL
75792         (faceup-markup-start-char, faceup-markup-end-char): Use char immediates.
75794 2017-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
75796         * lisp/emacs-lisp/elint.el (elint-init-form): Remove outdated CL hack
75798 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
75800         Fix an omission in lookup_basic_face
75802         * src/xfaces.c (lookup_basic_face): Handle 'vertical-border' face
75803         as well.  (Bug#29557)
75805 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75807         allocate_vectorlike minor cleanup
75809         * src/alloc.c (allocate_vectorlike): Move a bit of code out of the
75810         critical section.  Although this doesn’t really help performance,
75811         it cleans up the code a bit and should make it easier to add
75812         pointer bounds checking.
75814 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75816         Omit exprintf if modules but no X
75818         * src/doprnt.c (exprintf): Do not define if HAVE_MODULES &&
75819         !(have_X_WINDOWS || USE_X_TOOLKIT), as the modules code no longer
75820         uses exprintf.
75822 2017-12-03  Paul Eggert  <eggert@union>
75824         Pacify GCC on Ubuntu 17.10 x86-64
75826         * src/xfns.c (x_real_pos_and_offsets): Pull out parent frame
75827         into a local, so that GCC doesn't warn about dereferencing
75828         a possibly-null pointer.
75830 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
75832         Allow shr to use data: URLs without encoding
75834         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
75835         image data: URLs that have no base64 encoding like
75836         (shr-image-from-data
75837         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
75839 2017-12-03  Alan Third  <alan@idiocy.org>
75841         Add image resizing and rotation to NS port
75843         * lisp/image.el (image--get-imagemagick-and-warn): Bypass imagemagick
75844         check when using NS.
75845         * src/nsimage.m (ns_load_image): Add rotation and resizing
75846         functionality. Move the getMetaData call to before the resize/rotation
75847         so it returns correct metadata.
75848         (EmacsImage::setSizeFromSpec, EmacsImage::rotate): New functions.
75849         * src/nsterm.h (EmacsImage): Add new function prototypes.
75850         (NSCompositingOperationCopy): Add define to older equivalent for
75851         GNUstep and pre-10.12 macOS.
75852         * configure.ac: Don't use libjpeg on Cocoa.
75854 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
75856         Disable history expansion in eshell (Bug#29157)
75858         History expansion is not so useful since interactive history commands
75859         are already provided.  It can produce surprising errors when the user
75860         is not aware of the history designator syntax.
75861         * lisp/eshell/em-hist.el (eshell-hist-initialize): Don't add
75862         eshell-expand-history-references to eshell-expand-input-functions.
75863         * etc/NEWS: Announce it.
75865 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
75867         * lisp/emacs-lisp/package.el (package-read-from-string): Simplify.
75869 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
75871         Fix faceup tests when run from elc
75873         String literals may be shared by the compiler, so the test string
75874         needs to be copied before adding properties to it.  For single
75875         properties, just use a string literal with properties.
75876         * test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el
75877         (faceup-markup): Split into...
75878         (faceup-markup-basics, faceup-markup-escaping, faceup-markup-plain)
75879         (faceup-markup-plain-full-text, faceup-markup-anonymous-face)
75880         (faceup-markup-anonymous-face-2keys, faceup-markup-anonymous-nested)
75881         (faceup-markup-nested, faceup-markup-overlapping)
75882         (faceup-markup-multi-face, faceup-markup-multi-property): New tests.
75884 2017-12-02  Paul Eggert  <eggert@cs.ucla.edu>
75886         Merge from origin/emacs-26
75888         04e5b28ff1 Fix bug in i18n/l10n optimization
75889         8227087194 Let autoload-compute-prefix be set file-locally (Bug#29471)
75890         98ca7d5f26 Improve edit-kbd-macro prompting in case of remapped keys ...
75891         c02c1f6be7 Add tests on electric-indentation and Python multiline str...
75892         946bb6d225 Disable electric indent for python strings (Bug#29305)
75893         35f1ed10e4 ; ChangeLog.2: Fix bug reference.
75894         ac316634e4 Fix buffer overflow in fontname conversion (Bug#29523)
75895         bf9b972843 Fix byte compilation of files with leading directories
75896         ac144dc835 * lisp/files.el (make-backup-file-name-1): Fix scoping error.
75897         1b351c8a47 Revert Tramp commit from 2017-11-20
75898         77cf972592 Improve documentation of buffer-list commands and features
75899         66ec92af00 Fix backing up remote files in local directories on MS-Win...
75900         7e61e74da7 * doc/emacs/mule.texi (Output Coding): Clarify sendmail co...
75901         1e25cd79ff Revert "Fix backing up remote files in local directories o...
75902         f52d79500b Fix a typo in ELisp manual
75903         bf26fc3656 * lisp/composite.el (find-composition): Fix a typo in the ...
75905 2017-12-02  Paul Eggert  <eggert@cs.ucla.edu>
75907         Merge from origin/emacs-26
75909         8c8b673288 Fix backing up remote files in local directories on MS-Win...
75910         8eb6870be6 Fix vertical cursor motion in pixel-scroll.el
75911         625e84f156 Fix typos in doc strings of message.el
75912         9292276a44 Fix a typo in the Emacs manual
75913         42509c0649 Improve the documentation of 'table-insert-sequence'
75914         93dc7ae4a4 Port better to QNX
75915         ad99550610 Make tramp-test42-auto-load more robust
75916         af0ce33d08 ; * lisp/composite.el (find-composition): Fix a typo in la...
75917         bdbcdbac43 Avoid assertions in find-composition
75919 2017-12-02  Alan Mackenzie  <acm@muc.de>
75921         For help commands, ensure all keys of a mouse sequence are reported.
75923         This solves the problem where read_key_sequence initializes and uses a global
75924         buffer raw_keybuf, yet is called recusrsively.  The initialization is now done
75925         elsewhere, avoiding the reinitialization of that global buffer.
75927         * src/keyboard.c (command_loop_1, read_key_sequence_vs): Initialize
75928         raw_event_count before calling read_key_sequence.
75929         (read_char_x_menu_prompt): Call x_popup_menu_1 in place of Fx_popup_menu.
75930         (init_raw_keybuf_count): New function.
75931         (read_key_sequence): Remove initialization of raw_event_count.  Add a missing
75932         GROW_RAW_KEYBUF invocation.
75934         * src/keyboard.h: (init_raw_keybuf_count): New declaration.
75936         * src/menu.c: (x_popup_menu_1): New function with the functionality of the
75937         former Fx_popup_menu.
75938         (Fx_popup_menu): Replace with function which initializes raw_event_count then
75939         calls x_popup_menu_1.
75941         * src/menu.h: (x_popup_menu_1): New declaration.
75943 2017-12-01  Vibhav Pant  <vibhavp@gmail.com>
75945         lisp/erc/erc.el: Use inline-letevals for when args are buffer local.
75947         * lisp/erc/erc.el: (erc-get-server-user, erc-add-server-user,
75948           erc-remove-server-user): Use inline-letevals for when the arguments
75949           refer to buffer-local variables.
75951 2017-12-01  Glenn Morris  <rgm@gnu.org>
75953         * admin/gitmerge.el (gitmerge-resolve): Handle NEWS.  (Bug#29366)
75955 2017-12-01  Glenn Morris  <rgm@gnu.org>
75957         Don't hard-code gitmerge.el's default merge branch
75959         * admin/gitmerge.el (gitmerge-default-branch): Make it a variable,
75960         defaulting to nil.
75961         (gitmerge-emacs-version, gitmerge-default-branch): New functions.
75962         (gitmerge): Guess the branch to merge from.
75964 2017-12-01  Glenn Morris  <rgm@gnu.org>
75966         * admin/gitmerge.el (gitmerge-resolve):
75967         Fix treatment of generated files.
75969 2017-11-30  Michael Heerdegen  <michael_heerdegen@web.de>
75971         Add macros `thunk-let' and `thunk-let*'
75973         * lisp/emacs-lisp/thunk.el (thunk-let, thunk-let*): New macros.
75974         * test/lisp/emacs-lisp/thunk-tests.el:
75975         (thunk-let-basic-test, thunk-let*-basic-test)
75976         (thunk-let-bound-vars-cant-be-set-test)
75977         (thunk-let-laziness-test, thunk-let*-laziness-test)
75978         (thunk-let-bad-binding-test): New tests for `thunk-let' and
75979         `thunk-let*.
75981         * doc/lispref/eval.texi (Deferred Eval): New section.
75982         * doc/lispref/elisp.texi: Update menu.
75984 2017-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
75986         Add date to dependency and source zips for snapshots
75988         * admin/nt/dist-build/build-zips.sh,
75989           admin/nt/dist-build/build-dep-zips.py: Support snapshot naming
75991 2017-11-30  Glenn Morris  <rgm@gnu.org>
75993         Make truncate-lines permanently local (bug#15396)
75995         Width of lines relative to display is rarely a function of major mode.
75996         * src/buffer.c (init_buffer_once) <truncate-lines>:
75997         Flag as permanently local.
75998         * lisp/bindings.el (truncate-lines): Add permanent-local property.
76000 2017-11-29  Glenn Morris  <rgm@gnu.org>
76002         Merge from origin/emacs-26
76004         408862f02a (origin/emacs-26) ; * lisp/emacs-lisp/bytecomp.el: Tweak m...
76005         9964db4c34 Restore obsolete method of changing byte-compile-dest-file
76006         3dd25aeecb Some minor Tramp corrections
76007         d670a15f25 * doc/misc/url.texi (http/https): Fix typo
76008         99d07e8d5e Remove some bogus definition-prefixes from loaddefs
76009         6067f0c702 Shell-quote wildcards when invoking 'vc-git-grep'
76010         0540df10e6 Update documentation of '.dir-locals-2.el'
76011         f2441ab320 ; Fix some tiny doc and comment typos
76012         22ff46e6d8 ; Fix some comment typos
76014         # Conflicts:
76015         #       etc/NEWS
76017 2017-11-29  Glenn Morris  <rgm@gnu.org>
76019         Merge from origin/emacs-26
76021         f2e6961a1b ; * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file): ...
76022         1c8bd8a119 A few small doc fixes for bytecomp.el
76024 2017-11-29  Glenn Morris  <rgm@gnu.org>
76026         Merge from origin/emacs-26
76028         02d114d6b8 * lisp/tree-widget.el (tree-widget-end-guide): Escape it. ...
76029         0a85d12474 Fix ELisp "Warning Tips"
76030         06d05fec84 Fix Bug#29163
76031         ac64fdb248 Harden exec_byte_code against redefining 'error'
76032         700f74e4c8 Fix Edebug specs for if-let* and and-let* (Bug#29236)
76033         0ded1b41a9 Fix Edebug's handling of dotted specs (bug#6415)
76034         16358d4fcb Improve documentation of "constant" symbols
76036 2017-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
76038         * lisp/gnus/message.el: Use pcase and cl-lib
76040         (message-check-news-body-syntax): Avoid string-to-multibyte.
76042 2017-11-28  Glenn Morris  <rgm@gnu.org>
76044         Put most erc autoloads in a dedicated file erc-loaddefs.el
76046         These are features that are only useful after erc.el is loaded.
76047         * lisp/erc/erc.el (top-level): Load erc-loaddefs.
76048         * lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el:
76049         * lisp/erc/erc-capab.el, lisp/erc/erc-compat.el:
76050         * lisp/erc/erc-dcc.el, lisp/erc/erc-desktop-notifications.el:
76051         * lisp/erc/erc-ezbounce.el, lisp/erc/erc-fill.el:
76052         * lisp/erc/erc-identd.el, lisp/erc/erc-imenu.el:
76053         * lisp/erc/erc-join.el, lisp/erc/erc-list.el, lisp/erc/erc-log.el:
76054         * lisp/erc/erc-match.el, lisp/erc/erc-menu.el:
76055         * lisp/erc/erc-netsplit.el, lisp/erc/erc-notify.el:
76056         * lisp/erc/erc-page.el, lisp/erc/erc-pcomplete.el:
76057         * lisp/erc/erc-replace.el, lisp/erc/erc-ring.el:
76058         * lisp/erc/erc-services.el, lisp/erc/erc-sound.el:
76059         * lisp/erc/erc-speedbar.el, lisp/erc/erc-spelling.el:
76060         * lisp/erc/erc-stamp.el, lisp/erc/erc-track.el:
76061         * lisp/erc/erc-truncate.el, lisp/erc/erc-xdcc.el:
76062         Set generated-autoload-file to "erc-loaddefs.el".
76064 2017-11-27  Glenn Morris  <rgm@gnu.org>
76066         Fix probable typo in elisp-mode constant name
76068         * lisp/progmodes/elisp-mode.el (emacs-lisp-byte-code-comment-re):
76069         Rename from emacs-list-byte-code-comment-re.  Add doc string.
76070         (elisp--byte-code-comment, elisp-byte-code-syntax-propertize):
76071         Update for the above.
76073 2017-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
76075         Update Build files for Emacs-27
76077         * admin/nt/dist-build/README-windows-binaries,
76078           admin/nt/dist-build/build-dep-zips.py,
76079           admin/nt/dist-build/build-zips.sh: Update Version
76081 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
76083         * lisp/emacs-lisp/cl-macs.el: Fix bug#26073.
76085         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand):
76086         Implement Common-Lisp's behavior for symbol-macro's let-rebindings.
76087         (cl--letf, cl-letf): Don't get fooled into using a plain `let` for
76088         symbol-macros.
76090         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet-hide):
76091         New test.
76093 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
76095         * lisp/emacs-lisp/cl-macs.el: Fix &key with no key arg
76097         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-empty-keyargs): New test.
76098         * lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Fix it.
76100 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
76102         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5.
76104 2017-11-26  Paul Eggert  <eggert@union>
76106         Pacify --enable-gcc-warnings on Ubuntu 17.10 x86-64
76108         * src/process.c (Fmake_network_process):
76109         Avoid duplicate test of NILP (host), which apparently confuses
76110         GCC into thinking that portstringlen might be used uninitialized.
76112 2017-11-26  Charles A. Roelli  <charles@aurox.ch>
76114         * src/process.c (wait_reading_process_output): Deduplicate check.
76116         (Bug#29454)
76118 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76120         Merge from origin/emacs-26
76122         a89f0b6f33 maint: shorten https://lists.gnu.org/r/... links
76123         8be3aee281 Merge from Gnulib
76124         265cee553f Work around GCC bug 80776 on Fedora 27 x86
76125         dc7a97fb84 Tweak copy-file, rename-file doc
76126         cfa2a944d4 Change font-lock-extend-region-multiline handling in mhtml...
76127         a8664cc998 Minor cleanup in tramp-gvfs-handle-file-local-copy
76128         55c5b12fa0 Add test for Bug#29423 in Tramp.
76129         3198a1646e Avoid jumbled order in HTML rendered by shr.el
76130         23bfc2d2db Make sure 'dired-filename' property is always put by ls-lisp
76131         f7fdaea4c0 A better solution for bug#29347
76132         86e6ed8521 ; * src/thread.c (acquire_global_lock): Fix thinko in last...
76133         f300852037 Avoid a hang after C-g while sit-for on a Unix TTY
76134         d7fc719ff1 Improve the doc string of 'list-packages'
76135         b4f67ebb92 Improve discoverability of 'defvar' for suppressing warnings
76136         8a2b204e64 Improve discoverability of 'read-buffer-completion-ignore-...
76137         eea4e9194c Improve documentation of self-insert-uses-region-functions
76138         e6e41dac87 Reflect changes in copy-file and rename-file in doc strings
76139         0ec534070f * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (...
76140         1d0dbdff6c Reorder type predicates in ELisp manual
76141         b081ec9dd7 Fix backward scrolling in buffers with header-line
76142         8e40429c96 ; Fix some doc typos
76143         ed2c542920 * lisp/bindings.el (buffer-file-coding-system): Add explic...
76144         d82474e452 * src/fns.c (syms_of_fns) <overriding-plist-environment>: ...
76145         292c09ff6d Fix incorrect interaction of drag/drop and double click (b...
76146         d6fadb1d26 * lisp/menu-bar.el (menu-bar-options-save): Add display-li...
76147         daa959efbc * lisp/menu-bar.el (menu-bar-options-save): Add global-dis...
76148         17fc74d1b9 * lisp/follow.el (follow-mode): Restore mode line lighter....
76149         f20c2e2f3d ; Compare process status against 127 exactly
76150         2d203ffb7e Extract the common part of ruby-flymake-simple and ruby-fl...
76151         09944d499a Add Rubocop Flymake backend
76152         c65a0ae7c4 ; Fix a typo
76153         7ab7603125 Update nt/INSTALL.W64 (Bug#28601)
76154         11db253c08 Remove incorrect NEWS item about VC state indicator (Bug#2...
76155         2fdc01c036 * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
76156         735c8b516e Make c-defun-name analyze more thoroughly a function type ...
76157         92f0c4cd56 Avoid bogus abbreviated file names if HOME changes
76158         8d450453fa * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
76159         37a3b4ea40 Fix erc keep-place module with new defaults (Bug#29111)
76160         6c312605bf Add window divider faces to NS (bug#29353)
76162         # Conflicts:
76163         #       etc/NEWS
76164         #       lisp/ruler-mode.el
76166 2017-11-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
76168         Obsolete gnus-copy-sequence and gnus-last-element
76170         (Bug#28856, Bug#28867)
76172         * lisp/gnus/gnus-range.el: Leave gnus-last-element in place, but
76173           obsolete it and point to car of last. Remove gnus-copy-sequence and
76174           define as an obsolete alias for copy-tree.
76175           (gnus-remove-from-range):
76176         * lisp/gnus/gnus-cache.el (gnus-cache-generate-active):
76177         * lisp/gnus/gnus-sum.el (gnus-summary-insert-articles,
76178           gnus-select-newsgroup, gnus-summary-read-group-1,
76179           gnus-select-newsgroup, gnus-update-marks,
76180           gnus-summary-insert-articles, gnus-summary-insert-new-articles):
76181           Replace calls in these locations.
76182         * lisp/gnus/gnus-agent.el (gnus-agent-catchup,
76183           gnus-agent-summary-fetch-series, gnus-category-copy):
76184         * lisp/gnus/gnus-cus.el (gnus-group-customize):
76185         * lisp/gnus/gnus-group.el (gnus-group-edit-group-done,
76186           gnus-group-make-useful-group):
76187         * lisp/gnus/gnus-score.el (gnus-score-adaptive):
76188         * lisp/gnus/gnus-srvr.el (gnus-server-copy-server): Replace calls in
76189           these locations.
76191 2017-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
76193         * src/data.c: Fix regression in last clone-buffer change
76195         * src/data.c (Fmake_local_variable, Fmake_variable_buffer_local):
76196         Signal more precise error when applied to read-only variable.
76198 2017-11-24  Sam Steingold  <sds@gnu.org>
76200         Fix last patch: ensure the return value of tags-verify-table.
76202         * lisp/progmodes/etags.el (tags-verify-table): Since `(tags-table-mode)'
76203         always return nil now that it is a derived mode, call
76204         `verify-tags-table-function' explicitly.
76206 2017-11-24  Pip Cet  <pipcet@gmail.com>
76208         Use NULL for NULL rather than false
76210         * src/xdisp.c (x_draw_bottom_divider): Fix type typo.
76212 2017-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
76214         * lisp/macros.el (insert-kbd-macro): Recognize kmacros reliably
76216         * lisp/macros.el (name-last-kbd-macro): Make it an alias of
76217         kmacro-name-last-macro.
76218         (insert-kbd-macro): Use kmacro-keyboard-macro-p so it also works for
76219         kmacros that fail to have a `kmacro' property.
76220         (see https://emacs.stackexchange.com/questions/37065, for an example).
76222         * lisp/kmacro.el: Remove redundant :group args.
76223         (kmacro-insert-counter): Simplify.
76224         (kmacro-extract-lambda): Use car/cdr-safe.
76225         (kmacro-p, kmacro-keyboard-macro-p): New functions.
76226         (kmacro-name-last-macro): Use them.
76228 2017-11-24  Daiki Ueno  <ueno@gnu.org>
76230         Remove pinentry.el
76232         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
76233         * lisp/net/pinentry.el: Remove (bug#27445).
76235 2017-11-24  Jaesup Kwak  <veshboo@gmail.com>  (tiny change)
76237         Avoid unnecessary xwidget_view creations
76239         * src/xwidget.c (x_draw_xwidget_glyph_string): Don't create new
76240         xwidget view if we have a usable one already.
76242 2017-11-24  Alex Branham  <branham@utexas.edu>
76244         More informative error when autosave file is not available
76246         * lisp/files.el (recover-file): Distinguish in error messages
76247         between autosave file not existing and not being current.
76248         (Bug#29179)
76250 2017-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
76252         * lisp/simple.el (clone-buffer): Adjust `mark-ring'
76254 2017-11-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
76256         Marked groups should always be visible in *Group* buffer
76258         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat): Check for the
76259           mark in these two locations.
76260         * lisp/gnus/gnus-topic.el (gnus-topic-find-groups)
76262 2017-11-22  Sam Steingold  <sds@gnu.org>
76264         Use special-mode for read-only buffers.
76266         * lisp/progmodes/etags.el (tags-table-mode): Define using
76267         `define-derived-mode', inheriting from `special-mode'.
76268         Not only the buffer is now read-only, but you can bury it with "q".
76269         (select-tags-table-mode): No need to set `buffer-read-only'
76270         explicitly, `special-mode' takes care of that.
76271         * lisp/vc/log-edit.el (log-edit-show-files): Use `special-mode'
76272         instead of setting `buffer-read-only' explicitly.
76274 2017-11-22  Sam Steingold  <sds@gnu.org>
76276         Remove variable alias executing-macro, obsolete since before 19.34.
76278 2017-11-22  Sam Steingold  <sds@gnu.org>
76280         Remove *-yank-hooks aliases for -citation-hook, obsolete since 19.34.
76282         * lisp/simple.el (compose-mail): Use `mail-citation-hook'
76283         instead of `mail-yank-hooks'.
76284         * lisp/mail/sendmail.el (mail-yank-hooks): Remove.
76285         (mail-yank-original, mail-yank-region): Drop `mail-yank-hooks'.
76286         * lisp/mh-e/mh-letter.el (mh-yank-hooks): Remove.
76287         (mh-insert-prefix-string): Drop `mh-yank-hooks'.
76289 2017-11-20  Phillip Lord  <phillip.lord@russet.org.uk>
76291         Fix lower case installer name
76293         * admin/nt/dist-build/build-zips.sh (build_installer):
76295 2017-11-20  Eric Abrahamsen  <eric@ericabrahamsen.net>
76297         Use message instead of gnus-message in gnus-summary-current-score
76299         * lisp/gnus/gnus-score.el (gnus-summary-current-score): The only point
76300           of this function is to display the score to the user, there's no
76301           need to do gnus-message filtering.
76303 2017-11-20  Phillip Lord  <phillip.lord@russet.org.uk>
76305         Add date to snapshot file
76307         * admin/nt/dist-build/build-zips.sh: Add date to all out files.
76308         * admin/nt/dist-build/emacs.nsi: Lower case and date installer.
76310 2017-11-20  Alan Mackenzie  <acm@muc.de>
76312         read_key_sequence: correct the handling of raw_keybuf in recursive calls
76314         This fixes bug #29349.
76316         * src/keyboard.c (raw_keybuf_buffer, raw_keybuf_count_buffer): New variables
76317         pointed to by ...
76318         (raw_keybuf, raw_keybuf_count): Variables converted to pointers.
76319         (GROW_RAW_KEYBUF): enhance with a length argument.
76320         (command_loop_1): Initialize the above two pointers to their canonical values.
76322         (read_key_sequence): In recursive calls (for menus) the function was
76323         overwriting the raw event buffer of the outer call.  Correct this by
76324         introducing a local buffer for each level of call, and setting this up to be
76325         used by the call to read_char.  Any contents of this local buffer are appended
76326         to the global buffer afterwards.
76328 2017-11-20  Glenn Morris  <rgm@gnu.org>
76330         Merge from origin/emacs-26
76332         fc5b8f1 Fix Bug#29149
76333         5622b2e Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
76334         4da8799 (emacs-26) Fix misbehavior when drawing three-pixel high hori...
76335         1b082c8 MH-E: don't automatically download external-body parts
76336         069f978 ; * lisp/emacs-lisp/byte-run.el: Fix a typo in a comment.
76337         504a56c ; Fix last commit
76338         a34e44e ; Fix last commit
76339         a8892b4 Further fix for Bug#29291
76340         d14923b Fix divider frame params on NS (bug#29352)
76341         b2518ac Spelling fixes
76343         # Conflicts:
76344         #       etc/NEWS
76345         #       test/lisp/net/tramp-tests.el
76347 2017-11-20  Glenn Morris  <rgm@gnu.org>
76349         Merge from origin/emacs-26
76351         6e6bf60 Don't let delete_frame select a tooltip frame (Bug#27647)
76352         e9dd580 Filter obtrusive events in help-read-key-sequence.
76353         90075e8 Fix symlink flag in tramp-gvfs-handle-file-attributes
76354         c355529 Fix bug in tramp-handle-file-truename
76355         4c21d04 Fix a typo in doc string of electric-indent-functions-without...
76356         319c2de Avoid assertion violations in echo_area_display
76357         63c7733 ; * lisp/ido.el (ido-find-alternate-file): Doc fix.  (Bug#29278)
76358         cbd319a Fix case-folding in Occur
76359         29520b0 Fix quick-calc in C mode with hex values
76360         3e80124 Improve documentation of dired-next/prev-marked-file
76361         90add18 Prevent aborts in line-move-visual
76362         648c128 More fixes in src/.gdbinit
76363         104f3e5 Document how to enter whitespace when using grep-read-files
76365 2017-11-20  Glenn Morris  <rgm@gnu.org>
76367         Merge from origin/emacs-26
76369         42c8768 Fix .gdbinit following lisp.h changes
76370         720322a ; Spelling fixes
76371         617c556 * lisp/simple.el (shell-command): Doc fixes.
76372         1faade8 Fix marker adjustment for undo (Bug#29118)
76374 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
76376         * lisp/erc/erc-services.el: Use lexical-binding
76378 2017-11-20  Olaf Rogalsky  <olaf.rogalsky@t-online.de>  (tiny change)
76380         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
76383         (read_key_sequence): Recompute first_event
76384         after replay_sequence, since it might have changed (bug#29104).
76386 2017-11-19  Johan Bockgård  <bojohan@gnu.org>
76388         copyright.el: Avoid inadvertent point motion
76390         * lisp/emacs-lisp/copyright.el (copyright-update-year): Enlarge the
76391         scope of save-excursion. Reported in:
76392         https://lists.gnu.org/r/emacs-devel/2017-04/msg00271.html
76394 2017-11-19  Vibhav Pant  <vibhavp@gmail.com>
76396         lisp/erc/erc-services.el: Fix arg eval order of inline functions.
76398         * lisp/erc/erc-services.el (erc-nickserv-alist-sender,
76399           erc-nickserv-alist-regexp, erc-nickserv-alist-nickserv,
76400           erc-nickserv-alist-ident-keyword, erc-nickserv-alist-use-nick-p,
76401           erc-nickserv-alist-ident-command,
76402           erc-nickserv-alist-identified-regexp): Use `inline-letevals' to make
76403           sure that `network' is evaluated first and independently of `entry'.
76405 2017-11-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
76407         Further fixes to writing of object names
76409         Pursuant to 1ef6d2b0e6
76411         * lisp/emacs-lisp/eieio.el (object-write): Only write the name in the
76412           comment when the comment's also present. Newline should only be
76413           printed if the name is.
76415 2017-11-18  Vibhav Pant  <vibhavp@gmail.com>
76417         Reimplement inline functions in ERC with define-inline.
76419         * lisp/erc/erc-backend.el: (erc-server-reconnect-p): Reimplement using
76420           define-inline.
76422         * lisp/erc/erc-dcc.el: (erc-dcc-unquote-filename, erc-dcc-get-parent):
76423           Reimplement using define-inline.
76425         * lisp/erc/erc-services.el: (erc-nickserv-alist-sender,
76426           erc-nickserv-alist-regexp, erc-nickserv-alist-nickserv,
76427           erc-nickserv-alist-ident-keyword, erc-nickserv-alist-use-nick-p,
76428           erc-nickserv-alist-ident-command,
76429           erc-nickserv-alist-identified-regexp): Reimplement using define-inline.
76431         * lisp/erc/erc.el: (erc-get-channel-user, erc-get-server-user,
76432           erc-add-server-user, erc-remove-server-user, erc-channel-user-owner-p,
76433           erc-channel-user-admin-p, erc-channel-user-op-p,
76434           erc-channel-user-halfop-p, erc-channel-user-voice-p, erc-log):
76435           Reimplement using define-inline.
76437 2017-11-17  Phillip Lord  <phillip.lord@russet.org.uk>
76439         Rebrand Uninstaller
76441         * admin/nt/dist-build/emacs.nsi: Add MUI_UNICON
76443 2017-11-17  Phillip Lord  <phillip.lord@russet.org.uk>
76445         Fix install location for windows installer
76447 2017-11-15  Phillip Lord  <phillip.lord@russet.org.uk>
76449         Rebrand Windows installer
76451          * admin/nt/dist-build/emacs.nsi: Use two icons.
76452          * etc/images/splash.bmp,etc/images/icons/hicolor/scalable/apps/emacs.ico:
76453            New files.
76455 2017-11-14  Glenn Morris  <rgm@gnu.org>
76457         Merge from origin/emacs-26
76459         796c7f7 (origin/emacs-26) ; Fix last fix of 'mouse-drag-and-drop-region'
76460         40d41dd (emacs-26) Fix Bug#28139
76461         a5ec644 Fix Bug#29291
76462         8b900e5 Fix Bug#2928
76463         ff7bd84 Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect...
76464         0491de8 * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
76465         caa39f4 Fix cookie handling (bug#29282)
76466         93304e3 Improve documentation of Edebug and macros
76468 2017-11-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
76470         Fix name of gnus-summary-sort-by-mark(s)
76472         * lisp/gnus/gnus-sum.el (gnus-summary-sort-by-marks): Needs the
76473           "s", according to docs and keymap both.
76475 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
76477         Merge from origin/emacs-26
76479         79108894db Port to IBM xlc 12.01
76480         d14956099d Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
76481         b1573a97e1 Use alignas to fix GCALIGN-related bugs
76482         5d68dc9a2f Change vectorlike from struct to union
76483         6aa0a26b46 Don't enable cursor-sensor-mode in mhtml-mode
76484         2b8ef8dddf * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
76485         fe85ce1e16 Unbreak interactive run of a flymake test (bug#29267)
76486         48ad00390d Fix Bug#29225
76487         42daf83f08 CC Mode: Fix defun-open being recognized as brace-list-ope...
76488         7775c47298 Merge from Gnulib
76489         e470d16448 Pacify GCC when configured --with-x-toolkit=no
76490         49450d0951 * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
76491         e286b3381f Fix more flymake-diag-region eob corner cases and add test...
76493         # Conflicts:
76494         #       src/lisp.h
76496 2017-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
76498         * lisp/gnus/gnus-srvr.el: Avoid custom-set-variables
76500         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
76501         Prefer customize-set-variable.
76503 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
76505         Rename Man-build-section-alist (bug#28998)
76507         The defsubst Man-build-section-alist builds and returns a list of
76508         strings, so rename it to Man-build-section-list and make it a defun.
76510         * lisp/man.el (Man-build-section-alist): Do it and reduce syntax.
76511         (Man-goto-page):
76512         * lisp/woman.el (woman-find-file): Use it.
76514 2017-11-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
76516         Provide more control over writing of objects in object-write
76518         * lisp/emacs-lisp/eieio.el (eieio-print-indentation,
76519           eieio-print-object-name): New variables controlling whether an
76520           object name is printed for each object, and whether an object's
76521           contents are indented or not. Object names are obsoleted; omitting
76522           indentation reduces the size of persistence files.
76524 2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76526         Merge from origin/emacs-26
76528         9e59de9449 Use GCALIGNED properly for GCC
76529         b9d7c90260 In f90.el, set fill-paragraph-function to a useful value
76531         # Conflicts:
76532         #       src/lisp.h
76534 2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76536         Merge from origin/emacs-26
76538         6c3031399b * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc t...
76539         98288ecaff Further workaround for faulty localtime() under macOS 10.6
76541 2017-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76543         Merge from origin/emacs-26
76545         255ba01148 Fix handling of nil PRED2 arg for completion-table-with-pr...
76546         949b70a7d8 ; Minor comment copyedit in window.c
76547         20f9bf30f0 Describe Lao rendering problem
76548         3d61657694 Fix docstring of arabic-shaper-ZWNJ-handling
76549         db949166ec Handle single-line comments correctly (Bug#26049)
76550         795bb233a5 * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-w...
76551         ba00ea7d0d * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
76552         4a6015811e ; In text.texi fix typo spotted by Štěpán Němec
76553         93cd8415b2 Document new treatment of 'comment-auto-fill-only-comments'
76554         ca2d94ba61 Do not load Tramp unless `tramp-mode' is non-nil
76555         709478eaa8 Prefer `customize-set-variable' in tramp.texi
76556         5d36f2227f Fix last change in hscroll_window_tree
76557         72d07d1950 Ediff: add some missing documentation
76558         18af404ef3 Support python virtualenv on w32 (Bug#24464)
76559         efd0371c23 Improve dired deletion error handling (Bug#28797)
76560         5d744e032f Don't replace user input when completion prefix is empty (...
76561         ec6cf35c5f ; Describe xt-mouse problems with Evil mode
76562         c572e1f329 Return non-nil from gnutls-available-p under GnuTLS 2.x
76563         a2cc6d74c5 Fix Flymake help-echo functions across windows (bug#29142)
76564         58bb3462ee Add tests for Flymake backends for Ruby and Perl
76565         58e742b21d Add a Flymake backend for Perl
76566         9dee764165 Add a Flymake backend for Ruby
76567         3ad712ebc9 Add a Flymake backend for Python (bug#28808)
76568         8db2b3a79b Allow "%" in Tramp host names
76569         8c50842790 ; Fix typo in test/file-organization.org
76570         00fa4449cd ; Fix typo
76571         918a2dda07 Use hybrid malloc for FreeBSD (Bug#28308)
76572         725ab635d9 Add html-, mhtml- and python-mode support to semantic symref
76573         369da28702 Improve documentation of 'window-scroll-functions'
76574         93818eed8a Fix subtle problems in tabulated-list-mode with line numbers
76575         1f1de8e872 Make gdb-non-stop-setting default to nil on MS-Windows
76576         680e8e119b Fix gdb-mi prompt after "attach PID" command
76577         ff33074546 Fix doc string of 'window-configuration-change-hook'
76578         787b75ad71 Improve documentation of window hooks
76579         d9be8704ae Fix hscroll suspension after cursor motion
76580         6f43d29d29 ; * CONTRIBUTE, admin/make-tarball.txt: Doc tweaks re 'ema...
76581         a0d30d6369 Introduce a function to CC Mode which displays the current...
76582         383abc8898 ; Fix some comment typos
76583         b02c2714c3 Fix typos in ediff-wind.el
76584         4f38bdec74 Examine tex-chktex--process in the correct buffer
76585         94b490529a * nt/INSTALL.W64: Update to current mingw64 install instru...
76586         c25113d4ac Don't resignal errors in flymake-diag-region
76587         e950f329c0 New xref-quit-and-goto-xref command bound to TAB (bug#28814)
76588         5d34e1b288 Allow split-window-sensibly to split threshold in further ...
76589         2a973edeac Honor window-switching intents in xref-find-definitions (b...
76590         78e9065e9f * lisp/emacs-lisp/generator.el (iter-do): Add a debug decl...
76591         caa63cc96c * lisp/progmodes/flymake.el (flymake-start): Fix dead buff...
76592         9f4f130b79 Fix buffer name comparison in async shell-command
76594         # Conflicts:
76595         #       etc/NEWS
76596         #       lisp/vc/ediff-wind.el
76598 2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
76600         * lisp/net/tramp-cmds.el, lisp/allout.el: Avoid custom-set-variables
76602         * lisp/net/tramp-cmds.el (tramp-change-syntax):
76603         * lisp/allout.el (allout-init): Avoid custom-set-variables.
76605 2017-11-07  John Mastro  <john.b.mastro@gmail.com>
76607         Increase DUMPED_HEAP_SIZE in w32heap.c
76609         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]: Bump
76610         up DUMPED_HEAP_SIZE to 22 MiB.  (Bug#29180)
76612 2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
76614         * lisp/minibuffer.el: Put completions-common-part on all common parts
76616         (completion-pcm--pattern-point-idx): New function.
76617         (completion-pcm--hilit-commonality): Use it.
76618         Put completions-common-part on all the common parts.
76620 2017-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
76622         * lisp/filecache.el: Use lexical-binding.  Simplify.
76624         Remove redundant :group args, use with-tmep-buffer and let
76625         completion-all-completions do its work.
76627         (file-cache-minibuffer-complete): Skip `completion-hilit-commonality`
76628         since `completion-all-completions' already hilighted its output.
76629         Call our setup function directly rather than via `completion-setup-hook`.
76630         (file-cache-buffer): Remove variable.
76631         (file-cache-buffer-default-regexp): Make it a defvar.
76632         (file-cache--add-from-buffer): Rename from
76633         file-cache-add-from-file-cache-buffer and use current-buffer and
76634         match-string-no-properties.
76635         (file-cache-add-directory-using-find)
76636         (file-cache-add-directory-using-locate): Adjust accordingly and use
76637         with-temp-buffer.
76639 2017-11-07  Chris Feng  <chris.w.feng@gmail.com>
76641         Handle unread-command-events consistently (bug#23980)
76643         * src/keyboard.c (read_char): Events put into `unread-command-events'
76644         with the form (t . EVENT) should always have the t stripped when read
76645         out.
76646         * test/src/keyboard-tests.el: New tests for `unread-command-events'.
76648 2017-11-07  Sam Steingold  <sds@gnu.org>
76650         Mark flymake-diagnostic-functions as save to set locally to nil.
76652         * lisp/progmodes/flymake.el (flymake-diagnostic-functions): Set
76653         `safe-local-variable' property to `null'.
76654         Now one can disable flymake-mode locally in a file by setting
76655         `flymake-diagnostic-functions' to nil, see `(Emacs)File Variables'.
76657 2017-11-06  Juri Linkov  <juri@linkov.net>
76659         Override possible change of next-error-last-buffer in next-error-function
76661         * lisp/simple.el (next-error, next-error-internal):
76662         Setq next-error-last-buffer after next-error-function call.
76663         (Bug#28864)
76665 2017-11-05  Phillip Lord  <phillip.lord@russet.org.uk>
76667         Add support for Windows installer build
76669         * etc/images/slash.bmp:
76670         * admin/nt/dist-build/emacs.nsi: New files
76671         * admin/nt/dist-build/build-zips.sh: Support building installer
76673 2017-11-04  Andreas Politz  <politza@hochschule-trier.de>
76675         Make filecache use extended completion
76677         * lisp/filecache.el (file-cache-minibuffer-complete): Use
76678         completion-try-completion and completion-all-completions.
76680         * etc/NEWS: Add news entry.
76682 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
76684         Allow 'make-string' callers force creation of multibyte strings
76686         * src/alloc.c (Fmake_string): Accept additional argument
76687         MULTIBYTE, and produce a multibyte string if it is non-nil.
76688         (make_event_array):
76689         * src/lread.c (read0):
76690         * src/editfns.c (Ftranslate_region_internal):
76691         * src/coding.c (Fdefine_coding_system_internal):
76692         * src/cmds.c (internal_self_insert):
76693         * src/xdisp.c (build_desired_tool_bar_string)
76694         (store_mode_line_string): All C callers changed.
76696         * doc/lispref/strings.texi (Creating Strings): Document the new
76697         optional argument.
76699         * etc/NEWS: Mention the new optional argument.
76701         * lisp/ruler-mode.el (ruler-mode-ruler): Call make-string with the
76702         3rd argument non-nil.
76704 2017-11-04  Łukasz Jędrzejewski  <jedrzejewskiluk@gmail.com>  (tiny change)
76706         Extract user from host when searching for entries in auth-source-pass
76708         * lisp/auth-source-pass.el (auth-source-pass--user): New function.
76709         (auth-source-pass--find-match): Use it.  When the user is not
76710         explicitly specified and no entry is found, extract the user from
76711         the host and then search again.  (Bug#29045)
76712         * test/lisp/auth-source-pass-tests.el
76713         (auth-source-pass-find-match-matching-extracting-user-from-host):
76714         Add a new test case.
76716 2017-11-03  Sam Steingold  <sds@gnu.org>
76718         Finish the Bug#11728 work: hg & git
76720         * lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
76721         Do not set `compilation-error-regexp-alist', this is done in
76722         `vc-compilation-mode'.
76723         (vc-git-error-regexp-alist): Tweak the regexp.
76724         * lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
76725         (vc-hg--pushpull): Accept `post-processing' argument.
76726         Call them after the `command'.
76727         (vc-hg-pull): Pass the `post-processing' commands that show which
76728         are to be modified by the `update', and then run `update'.
76730 2017-11-03  Sam Steingold  <sds@gnu.org>
76732         Add colors to faces that lack them.
76734         (gnus-group-news-X-empty): Add colors for X=3,4,5.
76736 2017-11-03  Robert Pluim  <rpluim@gmail.com>
76738         New function 'libxml-available-p'
76740         * src/emacs.c (main): Call syms_of_xml unconditionally.
76741         * src/lisp.h: Provide syms_of_xml prototype even when
76742         HAVE_LIBXML2 is not defined.
76743         * src/xml.c (Flibxml_available_p): New function, cloned from
76744         Fgnutls_available_p.
76745         (syms_of_xml): Provide Slibxml_available_p.
76747         * doc/lispref/text.texi (Parsing HTML/XML): Document libxml-available-p.
76748         (GnuTLS Cryptography, Format of GnuTLS Cryptography Inputs)
76749         (Document Object Model): Fix indentation of the first paragraph.
76751         * etc/NEWS (libxml-available-p): Mention libxml-available-p.
76753 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76755         Merge from origin/emacs-26
76757         c911b27 Change GCALIGNMENT back to an integer literal
76759 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76761         Simplify by assuming !_MSC_VER.
76763         Emacs has not been portable to MSVC for some time (Bug#29040#57).
76764         * admin/CPP-DEFINES (_MSC_VER): Remove.
76765         * src/lisp.h (ENUM_BF, DEFUN):
76766         * src/regex.c (re_char):
76767         Simplify by assuming _MSC_VER is not defined.
76768         * src/regex.c (const_re_char): Remove.
76769         All uses replaced by re_char.
76771 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76773         * etc/NEWS.26: Copy from emacs-26/etc/NEWS.
76775 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76777         Merge from origin/emacs-26
76779         a87ce5c4b4 * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
76780         8a31e9993f ; etc/NEWS: Add cpp-message-min-time-interval.  (Bug#28961)
76781         ac0bb9a192 Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
76782         36400c7dc9 Fix mouse-scrollbar offset on GNUstep and old macOS (bug#2...
76783         04bc1410c2 Merge from Gnulib
76784         6b08ad5263 Fix alignment portability problems
76785         a9f8706fa8 Fix completion of colon after CSS property (Bug#29056)
76786         9031dec527 ; * src/alloc.c (sweep_symbols): Fix last change.
76787         fdd3dcfa4e * src/alloc.c (sweep_symbols): Tweak last change
76788         27964af438 In frame parameters documentation mention desktop saving/r...
76789         1bd4e7c243 ; Fix typo in ChangeLog.3
76790         4182a60d31 Don't have frameset save the 'client' parameter (Bug#29067)
76791         9d31a97092 ; Spelling fixes
76792         460a25f212 Handle generic variables in cl-defgeneric Edebug spec
76793         dc0a25c2f9 Give a more sensible message if file-attributes fails (Bug...
76794         8453423c7c Avoid wrong value from file-attributes on Linux kernel bef...
76795         70621e2571 Fix customization of debugger-print-function (Bug#29077)
76797         # Conflicts:
76798         #       etc/NEWS
76800 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76802         Merge from origin/emacs-26
76804         460fe4a1bc ; Doc fixes
76805         41adf3281e Avoid duplicate calls to xfree for the same pointer
76806         3e7ebbe1bd Don't clobber docstrings of explicitly-defined mode hook v...
76807         9c8fe0248b Avoid fullscreen ediff control frames by default (Bug#29026)
76808         7d32176acc Fix the bug#24034 change (revno 9eb028f) causing infloop (...
76809         ee493663ba Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
76810         ca5eb0d0b7 Fix a typo in the ELisp manual
76811         d10c9479ca Fix doc and doc-strings for minibuffer window related func...
76812         18331d00da Fix "Args out of range" error in c-determine-limit.  Fixes...
76813         edde35e6f8 * lisp/progmodes/perl-mode.el: Fix electric indentation wi...
76814         056587c45f Extend mhtml submode region when in comment
76815         4c4ad80848 Fix mthml submode lighting at end of buffer
76816         557e252aa2 Remember more variables in mhtml-mode
76817         336cd0a11a ; * lisp/select.el (select-enable-primary): Add missing pe...
76818         134099bc90 ; * etc/NEWS (EUDC): Mark as not requiring documentation.
76819         1a340274bf * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
76820         4189d0ef7b Fix minibuffer window related docs and strings (Bug#28978)
76821         2ebdde6e9c Add ChkTeX flymake backend for latex-mode
76822         5b59841791 Fix doc typos
76823         82a16c547b Fix some duplicate word typos
76824         266888b1d7 * doc/lispref/commands.texi (Adjusting Point): Fix wording...
76825         00c3c6d88d Avoid segfaults in 64-bit Windows builds
76826         a8e6741066 Fix conversion of pixel coordinates to buffer position
76827         d43b486f6c Fix doc strings in desktop.el
76828         9102fb603e Add Index to ERT manual
76829         68182a4710 Make manuals and NEWS consistent
76830         451823b0e5 Don't allow (minibuffer-window-active-p nil) to return t
76831         cc8f72ca22 Clarify obsolescence message for 'whitespace-tab'
76832         50f711e7fa Fix some duplicate words typos
76833         8bd9524a7c * lisp/button.el (button-activate): Fix doc typo.
76834         0b0d91e60a * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix ...
76835         e6b4e5ffdf Fix some doc typos
76836         e8636ac8cc Fix startup display on Cygwin
76837         3926c5ad83 * src/fileio.c (Fset_default_file_modes): Fix typo in doc ...
76838         9715317dfd * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bu...
76839         9e442a001a Improve documentation of how faces are applied to display ...
76840         1bda71ec3b Improve pixel-scroll-mode
76841         196106d37d Support Certification Authority Authorization in dns-mode.el
76842         ec08d70b4f Improve documentation of set-default-file-modes
76844         # Conflicts:
76845         #       etc/NEWS
76847 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76849         Merge from origin/emacs-26
76851         7f089aa5f6 Require seq in rmc.el
76852         53aaad1dfc Make an example code introduced in the Gnus info work (bug...
76853         7b29db222f Enable gnus-read-ephemeral-* to run multiple times (bug#29...
76854         015f0bb2d8 Port thread.c to OpenBSD ARM
76855         ad68bbd0da Fix another "wrong side of point" error in CC Mode.
76856         646e56e150 Fix Bug#28959
76857         685fd77959 Fix duplicate .o file on QNX
76858         e562356c3f Fix two js indentation problems
76859         b8cf159bbc Update documentation for windows build
76860         46540a1c7a Fix a "wrong side of point" error in CC Mode.  Fixes bug #...
76861         57ca409111 Fix autoload of flymake from elisp-mode during bootstrap (...
76862         aee0bc8775 Fix non-native fullscreen on NS (bug#28872)
76863         d6c1a9cb8a ; Fix author email address in test/lisp/url/url-tramp-test...
76864         761c630766 Fix Bug#28982
76865         628b653209 Fix windows build errors
76866         e8a06a5f9a Fix compile warning for non-w32 builds
76867         0c536a20fb Display commit in package description, if available (Bug#2...
76868         1d83257a1d Port to QNX
76869         19667f44ef * configure.ac: Tweak libcurses diagnostic.
76870         3fc05cfaec Scripts to automate windows binary distribution
76871         928a106939 Fix Edebug specs for map-let and with-maps-do
76872         46f2ee0d4c * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): ...
76873         b51009d7f0 * admin/authors.el (authors-canonical-author-name): Ignore...
76874         a015db90e3 * test/lisp/progmodes/sql-tests.el (sql-tests-postgres-lis...
76875         529a9c09d3 Further work on Bug#28889
76876         c6deabaf4d Improve Tramp backward compatibility
76877         8093e82e42 Improve backward compatibility of tramp-tests.el
76878         46cdc01daa Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
76879         6360611457 Port to OpenIndiana
76880         a012ec766c Don't fill keywords after Emacs Lisp docstring
76881         b7c4aa951c Refactor c-forward-token-2 with new function c-forward-ove...
76882         3aee7be62e Avoid unnecessary rounding errors in timestamps
76883         2bfa42855b Fix xdg timestamp error on 32-bit Emacs
76884         237e96bc52 Test that advice doesn't trigger bytecomp warnings (Bug#28...
76885         d719ea6ad5 Another fix for unsafe directory error message (Bug#865)
76886         b060e091c3 Handle https url for debbugs mbox (Bug#28831)
76887         9e4265ef91 Ignore string properties when saving eshell history (Bug#2...
76888         0f286ca85a Fix Bug#28889
76890 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
76892         * lisp/gnus/gnus.el: Use lexical-binding and cl-lib
76894         Remove unneeded use of `eval-when' for gnus-splash hack.
76895         (gnus-find-subscribed-addresses): Don't use `add-to-list' with local var.
76896         (gnus-info-buffer): Declare var.
76897         (gnus-interactive): Remove unused arg `params'.
76898         (gnus-symbolic-argument): Remove unused arg `arg`.
76899         (gnus-sloppily-equal-method-parameters): Use \' to match end of string.
76900         (gnus-short-group-name): Remove unused var `name'.
76902 2017-11-02  Sam Steingold  <sds@gnu.org>
76904         make all related faces inherit from each other
76906         * lisp/gnus/gnus.el (gnus-group-A-B): Inherit from `gnus-group-A-B-empty',
76907         where "A" is "mail" and "news" and "B" is "1".."6" and "low".
76908         (gnus-summary-high-A, gnus-summary-low-A): Inherit from
76909         `gnus-summary-normal-A', where "A" is "ticked", "ancient",
76910         "undownloaded", "unread", "read".
76912 2017-11-01  Sam Steingold  <sds@gnu.org>
76914         Fix Bug#11728: show files updated by git
76916         * lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
76917         `compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
76918         (vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
76919         (vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
76921 2017-11-01  Michael Heerdegen  <michael_heerdegen@web.de>
76923         * lisp/emacs-lisp/thunk.el: Assert lexical-binding
76925         This fixes Bug#28990.  Also add a note to the file header that
76926         creating thunks requires lexical-binding.
76927         (thunk-delay): `cl-assert' lexical-binding.
76929 2017-11-01  Sam Steingold  <sds@gnu.org>
76931         User can specify files never subject to flymake.
76933         * lisp/progmodes/flymake-proc.el (flymake-proc-ignored-file-name-regexps):
76934         Add user customization option.
76935         (flymake-proc--get-file-name-mode-and-masks): Check it before
76936         `flymake-proc-allowed-file-name-masks'.
76938 2017-10-31  Sam Steingold  <sds@gnu.org>
76940         The user can now specify the time stamp format.
76942         * lisp/textmodes/remember.el (remember-time-format): New user variable.
76943         (remember-append-to-file): Pass it to `format-time-string' instead of
76944         calling `current-time-string'.
76946 2017-10-31  Sam Steingold  <sds@gnu.org>
76948         Highlight CL `with-' (context) and `do-' (iteration)
76950         * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
76951         Highlight the Common Lisp conventional names as described in
76952         https://www.cliki.net/Naming+conventions.
76953         (lisp-el-font-lock-keywords-2): Remove the already commented out
76954         code for `do-' and `with-' because Emacs Lisp does not have a similar
76955         convention.
76957 2017-10-31  Sam Steingold  <sds@gnu.org>
76959         Highlight uninterned symbols.
76961         * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
76962         Highlight uninterned symbols, often used as string designators to
76963         avoid namespace pollution (https://stackoverflow.com/a/46981940/850781).
76965 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
76967         * lisp/progmodes/ebnf2ps.el: Use lexical-binding; fix warnings
76969         (ebnf-eps-executing): Declare var.
76970         (ebnf-eps-string): Clarify regexp; don't use string-as-unibyte since we're
76971         manipulating chars rather than bytes.
76972         (ebnf-tree): Move declaration before first use.
76973         (ebnf-generate-eps, ebnf-generate): Don't use dyn-var as argument.
76974         (ebnf-generate-eps): Use cl-letf and unwind-protect.
76975         (ebnf-eps-production-list): Get a ref rather than a symbol.
76976         (ebnf-generate-eps): Adjust call accordingly.
76978 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
76980         * lisp/net/newst-backend.el: Use lexical scoping and fix warnings
76982         (newsticker-stop, newsticker-get-all-news)
76983         (newsticker--decode-rfc822-date, newsticker--lists-intersect-p)
76984         (newsticker--update-process-ids, newsticker--cache-read)
76985         (newsticker-opml-export, newsticker--run-auto-mark-filter)
76986         (newsticker--do-run-auto-mark-filter): Use dolist.
76987         (newsticker--insert-bytes): New function, to avoid string-to-multibyte.
76988         (newsticker--get-news-by-funcall, newsticker--get-news-by-url-callback)
76989         (newsticker--image-download-by-url-callback): Use it.
76990         (newsticker--parse-rss-0.91, newsticker--parse-rss-0.92):
76991         Remove unused var `pub-date`.
76992         (newsticker--parse-generic-feed): Remove unused var `old-item`.
76993         (newsticker--parse-generic-items): Use dolist and let rather than mapc
76994         and setq.
76995         (newsticker--image-download-by-url-callback): Simplify boolean expression.
76997 2017-10-30  viniciusjl  <viniciusjl.gnu@gmail.com>
76999         Remove last entry.
77001 2017-10-29  viniciusjl  <viniciusjl.gnu@gmail.com>
77003         Email replacement.
77005 2017-10-28  Paul Pogonyshev  <pogonyshev@gmail.com>
77007         Add 'ert-quiet' variable
77009         * lisp/emacs-lisp/ert.el (ert-quiet): New variable.
77010         (ert-run-tests-batch): When 'ert-quiet' is non-nil, don't
77011         print non-important information.  (Bug#29025)
77013         * doc/misc/ert.texi (Running Tests in Batch Mode): Document it.
77015         * etc/NEWS: Mention the new variable.
77017 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
77019         Fix documentation of `newsticker-new-item-functions' (bug#29023).
77021         * lisp/net/newst-backend.el (newsticker-new-item-functions),
77022         (newsticker-new-item-functions-sample),
77023         (newsticker-download-enclosures): Fix docstring, rename
77024         variable feed to feedname (bug#29023).
77026         * doc/misc/newsticker.texi (Automatic Processing)
77027         (Automatic Processing): Fix documentation of
77028         `newsticker-new-item-functions' (bug#29023).
77030 2017-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
77032         * lisp/vc/ediff-wind.el: Don't pop spurious frame in corner case
77034         (ediff-setup-windows-multiframe-compare): Clarify control-flow.
77035         Postpone the initial call to ediff-skip-unsuitable-frames until we're
77036         sure it's needed to avoid creating a spurious new frame.
77037         (ediff-setup-windows, ediff-setup-windows-plain)
77038         (ediff-setup-windows-plain-merge, ediff-setup-control-frame)
77039         (ediff-setup-windows-plain-compare, ediff-setup-windows-multiframe)
77040         (ediff-setup-windows-multiframe-merge): Use with-current-buffer.
77042 2017-10-26  Lars Ingebrigtsen  <larsi@gnus.org>
77044         Fix up svg text encoding
77046         * lisp/svg.el (svg--encode-text): The SVG driver doesn't like
77047         it if we use &apos; for apostrophe, so use our own encoding
77048         function instead of relying on the xml one.
77050 2017-10-26  Anders Lindgren  <andlind@gmail.com>
77052         New package, `faceup'
77054         `faceup' is a framework for regression testing of font-lock
77055         keywords in ert.  It is based on a human-readable markup
77056         language.  (Bug#16063 and bug#28311).
77058         * lisp/emacs-lisp/faceup.el:
77059         * test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el:
77060         * test/lisp/emacs-lisp/faceup-tests/faceup-test-files.el:
77061         * test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el:
77062         * test/lisp/emacs-lisp/faceup-resources/faceup-test-this-file-directory.el:
77063         * test/lisp/emacs-lisp/faceup-resources/files/test1.txt:
77064         * test/lisp/emacs-lisp/faceup-resources/files/test1.txt.faceup:
77065         New files.
77067 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
77069         Fix misleading error during autoload (bug#28994)
77071         * src/eval.c (Fautoload_do_load): Don't silence `load` errors when
77072         autoloading a macro.  If silencing load errors, also silence the
77073         subsequent check.
77075 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
77077         * lisp/play/gamegrid.el: Use lexical-binding to silence warnings
77079         (gamegrid-init-buffer): Silence another warning.
77081 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
77083         Make Snake, Tetris and Pong adjust to display DPI
77085         Replace gamegrid's constant 16x16 glyph with a generated one based
77086         on display dimensions (bug#24658).
77087         * lisp/play/gamegrid.el (gamegrid-glyph-height-mm): New variable.
77088         (gamegrid-glyph-height): Deleted.
77089         (gamegrid-xpm, gamegrid-xbm): Constants replaced with functions.
77090         (gamegrid-colorize-glyph): Use new functions instead of constants.
77091         (gamegrid-calculate-glyph-size, gamegrid-insert-xbm-bits): New
77092         functions.
77094 2017-10-23  Glenn Morris  <rgm@gnu.org>
77096         * configure.ac (AC_INIT): Use https for package url.
77098         * lisp/format.el (format-alist): Use internal rot13.
77100 2017-10-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
77102         Fix to 2fddfb7ce7
77104         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
77105           Fix bogus paren wrapping.
77107 2017-10-22  Gemini Lasswell  <gazally@runbox.com>
77109         Change Edebug's behavior-changing hooks to variables
77111         * lisp/emacs-lisp/edebug.el (edebug-after-instrumentation-functions)
77112         (edebug-new-definition-functions): Deleted.
77113         (edebug-after-instrumentation-function)
77114         (edebug-new-definition-function): New variables.
77115         (edebug-behavior-alist): Update docstring.
77116         (edebug-read-and-maybe-wrap-form1, edebug-make-form-wrapper): Use new
77117         variables.
77119         * lisp/emacs-lisp/testcover.el (testcover-start)
77120         (testcover-this-defun): Use `edebug-after-instrumentation-function' and
77121         `edebug-new-definition-function'.
77122         (testcover-after-instrumentation): Return passed form.
77123         (testcover-init-definition): Use argument instead of `edebug-def-name'.
77125         * doc/lispref/edebug.texi (Edebug Options): Replace descriptions of
77126         `edebug-after-instrumentation-functions' and `edebug-new-definition-functions'
77127         with `edebug-after-instrumentation-function' and
77128         `edebug-new-definition-function'.
77130 2017-10-22  Masatake YAMATO  <yamato@redhat.com>
77132         Put cpp config file to ~/.emacs.d/cpp.el if possible (Bug#28685)
77134         If `cpp-config-file` starts with '.', remove the '.'
77135         when putting the file to ~/.emacs.d.
77136         Suggested by Noam Postavsky <npostavs@users.sourceforge.net>
77138         * lisp/progmodes/cpp.el (cpp-locate-user-emacs-file): New
77139         function wrapping `locate-user-emacs-file`.
77140         (cpp-edit-load, cpp-edit-save): Use it.
77142 2017-10-22  Masatake YAMATO  <yamato@redhat.com>
77144         Fix reading and writing cpp-config-file under home directory (Bug#28685)
77146         * lisp/progmodes/cpp.el (cpp-edit-load): Load ~/.cpp.el when
77147         it is readable.
77148         (cpp-edit-save): Write to ~/.cpp.el when it is wriable.
77150 2017-10-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
77152         Handle object string name in eieio-persistent-convert-list-object
77154         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
77155           Starting to phase out the printing of object names in
77156           `object-write', handle either case.
77158 2017-10-21  Glenn Morris  <rgm@gnu.org>
77160         Merge from origin/emacs-26
77162         888e51f220 (origin/emacs-26) Update describe-function for recent Fdoc...
77163         75bb482763 Make flymake's mouse-wheel interaction portable (Bug#28732)
77164         035d7ac7e4 Prevent eldoc from changing the mode line
77165         c9d71b31bf Fix doc strings in simple.el
77166         0d8e4f45d6 Avoid creating inconsistent buffer states in term-char-mode
77167         79d57f4b7a New input method 'usbek-cyrillic'
77168         4587d8e0ef Document 'minibuffer-with-setup-hook'
77170         # Conflicts:
77171         #       etc/NEWS
77173 2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>
77175         * etc/NEWS.26: Sync from emacs-26 etc/NEWS.
77177 2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>
77179         Merge from origin/emacs-26
77181         868eb74f91 Simplify make-progress-reporter vs float-time
77182         83db9a1bba Fix two more minor Gnus typos
77183         e655946ce0 Fix two minor Gnus typos
77184         6a00914d6d Tweak Fdocumentation's error for an undefined function
77185         7c63655e39 Tweak format of list of old files in NEWS header
77187         # Conflicts:
77188         #       etc/NEWS
77190 2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>
77192         Merge from origin/emacs-26
77194         11bd8aa24b Fix flymake's loading of subr-x
77195         b500e06f4d Fix Bug#28896
77196         d815de017b Skip a Flymake test for old gcc versions
77197         fd3d8610b2 Make :align-to account for display-line-numbers
77198         831eafc8ae Augment Flymake API for third-party extensions
77199         ddd547fada Improve treatment of Fortran's "class default"
77200         234b1e3864 Flymake backends must check proc obsoleteness in source bu...
77201         3ea6a4d4ba Skip an rsync test in tramp-tests.el
77202         25f83fa7c5 ; Indentation fixes
77203         4d578d432d On Windows default a frame's border width to zero (Bug#28873)
77204         6f1dea5c74 Spelling fixes
77205         b8433b0954 Use pop-to-buffer-same-window instead of switch-to-buffer
77206         2f7163fb72 Fix the MSDOS build.
77207         2551d28fe8 Fix line number display after 'widen'
77208         dc8812829b Remove resizable attribute on macOS undecorated frames (bu...
77209         b970a4a52a Fix handling of `border-width' in `frameset--restore-frame...
77210         445e92658f Mention how to send CC to > 1 address in a bug report
77211         8ca6fa585a Improve format-time-string doc
77212         2e1b3522b8 Improve documentation of 'line-number-display-width'
77213         5b6e59cfdb Implement vc-default-dir-extra-headers for vc-rcs
77214         22adeca42a In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
77215         2c3e6f1ddc Dont update primary selection with winner-undo
77216         b38724ab67 Work around ImageMagick bug 825
77217         20cc68e871 Document rectangle-preview option more (Bug#27974)
77218         a0b7b301dd Do not reject https://gnu.org in commit messages
77219         fb4200a875 Fix Edebug spec for cl-defun (bug#24255)
77220         db68cefe72 Fix errors in kmacro.el post-command-hook
77221         c63b344c3d Fix range-error in image-dired.el
77222         081d2187c4 Fix 'line-number-display-width' in hscrolled windows
77223         16e85456e7 Fix error in tramp-smb-handle-insert-directory
77224         613db8d35c Don't reject PBM header whitespace unnecessarily
77225         3205b12a78 Fix regression in display of PPM images
77226         1ca9ae7069 Require subr-x when compiling nnimap.el
77227         de60992053 Fix ert-test finding by symbol (Bug#28849)
77228         51615a8082 Don't remember old debugger window (Bug#17882)
77229         5980de3727 Disable python native completion on w32 (Bug#28580)
77230         616b4c5956 Let select-frame-by-name choose any frame when called from...
77231         8eb3c01dbd * lisp/dired-aux.el (dired-create-directory): Doc fix.
77232         325dfdae13 Avoid compilation warnings in optimized builds
77233         f79382819c ; * src/composite.c (Fclear_composition_cache): Fix last c...
77234         f95cd5cd70 Improve customization of arabic-shaper-ZWNJ-handling.
77235         a7f154688d Improve customization type of 'mouse-drag-and-drop-region'
77236         864734d112 ; Prefer https: to http: in GNU URLs
77237         3c78960a47 Encourage https: in commit messages
77238         def9715282 ; Cleanup of etc/NEWS
77239         4e59ecc646 Fix wording in Elisp manual's child frames section (Bug#28...
77240         eda9f5018c Another fix for C mode fontification of w32 source files
77241         05aadd8990 Fix fontification of ALIGN_STACK functions
77242         aa0c38f358 Make sure thread stack is properly aligned on MS-Windows
77243         d7038020aa Do not under-align pseudovectors
77244         ff33053012 Fix indentation bug in multi-line CSS selectors
77245         8968be822e ; * etc/NEWS: Grammar and spelling fixes
77246         716b84034d gnutls_mac_get_nonce_size has been added in gnutls 3.3
77247         55e313f7be ; * CONTRIBUTE: More suggestions for using US English.
77248         622c675648 * CONTRIBUTE: Suggest American English.
77250         # Conflicts:
77251         #       etc/NEWS
77252         #       msdos/sed2v2.inp
77254 2017-10-20  Tino Calancha  <tino.calancha@gmail.com>
77256         Allow to copy/rename file into a non-existent dir
77258         * lisp/dired-aux.el (dired-create-destination-dirs): New option.
77259         (dired-maybe-create-dirs): New defun.
77260         (dired-copy-file-recursive, dired-rename-file): Use it (Bug#28834).
77261         * test/lisp/dired-aux-tests.el (dired-test-bug28834): Add test.
77262         * doc/emacs/dired.texi (Operating on Files): Update manual.
77263         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 27.1)
77264         Announce this change.
77266 2017-10-20  Paul Eggert  <eggert@cs.ucla.edu>
77268         Prefer nil to (current-time) when either works
77270         * doc/misc/gnus.texi (Category Syntax):
77271         * lisp/allout-widgets.el (allout-widgets-post-command-business):
77272         * lisp/cedet/ede/detect.el (ede-detect-qtest):
77273         * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay)
77274         (pulse-tick):
77275         * lisp/cedet/semantic.el (bovinate):
77276         * lisp/cedet/semantic/analyze.el:
77277         (semantic-analyze-current-symbol-default, semantic-adebug-analyze):
77278         * lisp/cedet/semantic/analyze/refs.el (semantic-analyze-current-tag):
77279         * lisp/cedet/semantic/lex.el (semantic-lex-test):
77280         * lisp/cedet/semantic/symref/filter.el:
77281         (semantic-symref-test-count-hits-in-tag):
77282         * lisp/cedet/srecode/dictionary.el (srecode-adebug-dictionary):
77283         * lisp/cedet/srecode/map.el (srecode-adebug-maps):
77284         * lisp/desktop.el (desktop-create-buffer):
77285         * lisp/emacs-lisp/benchmark.el (benchmark-elapse):
77286         * lisp/emacs-lisp/elp.el (elp--make-wrapper):
77287         * lisp/epa.el (epa--show-key):
77288         * lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p):
77289         * lisp/gnus/gnus-agent.el (gnus-agent-fetch-articles)
77290         (gnus-agent-expire-group-1, gnus-agent-store-article):
77291         * lisp/gnus/gnus-art.el (article-lapsed-string):
77292         * lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data)
77293         (gnus-cloud-collect-full-newsrc):
77294         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
77295         * lisp/gnus/gnus-html.el (gnus-html-cache-expired):
77296         * lisp/gnus/gnus-score.el (gnus-score-load-file)
77297         (gnus-decay-scores):
77298         * lisp/gnus/nndiary.el (nndiary-expired-article-p):
77299         * lisp/gnus/nnmail.el (nnmail-expired-article-p):
77300         * lisp/gnus/nnmaildir.el (nnmaildir--scan):
77301         * lisp/gnus/score-mode.el (gnus-score-edit-insert-date):
77302         * lisp/image/gravatar.el (gravatar-cache-expired):
77303         * lisp/net/newst-backend.el (newsticker--image-get)
77304         (newsticker--cache-mark-expired):
77305         * lisp/nxml/rng-maint.el (rng-time-function):
77306         * lisp/org/org-agenda.el (org-agenda-to-appt):
77307         * lisp/org/org-clock.el (org-clock-resolve-clock)
77308         (org-clock-resolve, org-resolve-clocks-if-idle):
77309         * lisp/org/org-colview.el (org-columns-edit-value, org-columns)
77310         (org-columns-compute-all, org-agenda-columns):
77311         * lisp/org/org-element.el (org-element--cache-interrupt-p)
77312         (org-element--cache-sync):
77313         * lisp/org/org-habit.el (org-habit-get-faces)
77314         (org-habit-insert-consistency-graphs):
77315         * lisp/org/org-indent.el (org-indent-add-properties):
77316         * lisp/org/org-timer.el (org-timer-start)
77317         (org-timer-pause-or-continue, org-timer-seconds)
77318         (org-timer-show-remaining-time, org-timer-set-timer):
77319         * lisp/org/org.el (org-babel-load-file, org-current-time)
77320         (org-today, org-auto-repeat-maybe, org-read-date-analyze)
77321         (org-small-year-to-year, org-goto-calendar):
77322         * lisp/org/ox.el (org-export-insert-default-template):
77323         * lisp/time.el (emacs-uptime):
77324         * lisp/type-break.el (type-break-mode, type-break)
77325         (type-break-time-warning-schedule, type-break-check):
77326         * lisp/url/url-cache.el (url-cache-expired):
77327         * lisp/url/url.el (url-retrieve-synchronously):
77328         * test/lisp/char-fold-tests.el (char-fold--speed-test):
77329         * test/manual/cedet/semantic-ia-utest.el:
77330         (semantic-symref-test-count-hits-in-tag):
77331         * test/manual/cedet/semantic-tests.el (semantic-idle-pnf-test)
77332         (semantic-lex-test-full-depth):
77333         Use nil instead of (current-time) where either will do, as nil is
77334         a bit more efficient and should have less timing error.
77336 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
77338         * lisp/emacs-lisp/debug.el: Use cl-print more systematically
77340         (debugger-return-value, debugger-eval-expression, debugger--insert-locals):
77341         Use debugger--print.
77343 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
77345         * lisp/emacs-lisp/eieio.el (eieio-object-name-string): De-obsolete
77347         This is apparently the advertised method to use for `eieio-named' objects.
77348         Also use sxhash-eq to get a more precise default "object name".
77349         (eieio-object-set-name-string): Clarify obsolescence message.
77351         * lisp/emacs-lisp/eieio-base.el (eieio-object-name-string): Delegate to
77352         the default method when applicable.
77354 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
77356         * lisp/help-fns.el (describe-function-1): Fix help-fns-test-dangling-alias.
77358 2017-10-20  Wilfred Hughes  <me@wilfred.me.uk>
77360         css-mode: Don't confuse variable names with class names
77362         This fixes highlighting for class names that contain --, for example:
77364         .foo--bar {
77365             display: none;
77366         }
77368         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Make regular
77369           expression stricter.
77371 2017-10-20  Tino Calancha  <tino.calancha@gmail.com>
77373         ibuffer: new filter to list buffers running a process
77375         * lisp/ibuf-ext.el (ibuffer-filter-by-process): Add new filter (Bug#28825).
77376         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to '/E'.
77378 2017-10-20  Tino Calancha  <tino.calancha@gmail.com>
77380         Make ibuffer filters idempotent
77382         * lisp/ibuf-ext.el (ibuffer-push-filter): Check if the
77383         filter is already in effect (Bug#28826).
77384         * lisp/ibuf-macs.el (define-ibuffer-filter):
77385         Report to user if the filter was already enabled.
77387 2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>
77389         * lisp/svg.el (svg--encode-text): Fix off-by-one error in previous patch.
77391 2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>
77393         (svg--encode-text): Make strings even more valid
77395         * lisp/svg.el (svg--encode-text): Quote &<>, too.
77397 2017-10-18  Lars Ingebrigtsen  <larsi@gnus.org>
77399         Encode non-ASCII SVG texts
77401         * lisp/svg.el (svg--encode-text): Encode non-ASCII texts.
77403 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
77405         Documentation and error-message edits re gnus-server-alist
77407         * lisp/gnus/gnus.el (gnus-server-alist): Expand docstring.
77408         * lisp/gnus/gnus-srvr.el (gnus-server-kill-server,
77409           gnus-server-edit-server): Return error messages that tell the user
77410           what the actual problem is.
77411         * doc/misc/gnus.texi (Server Commands): Note that not all servers are
77412           editable via the server buffer.
77414 2017-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
77416         * lisp/emacs-lisp/debug.el: Don't bail on errors inside cl-print
77418         (debugger--print): New function.
77419         (debugger-insert-backtrace, debugger-setup-buffer): Use it.
77421 2017-10-12  Thien-Thi Nguyen  <ttn@gnu.org>
77423         [admin] Add some notes on US-v-UK spelling; nfc.
77425 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77427         Merge from origin/emacs-26
77429         59b5dc60d6 Fix this-command-keys for "M-x foo" commands
77430         2f4bd2fbda Let rename-file rename dirs across filesystems
77431         413978727c Simplify Flymake user documentation
77432         6ff18c3995 * etc/NEWS: Mention the new version of Org.
77433         b78332c3c6 Don't use (format "%s" ...) for string copying (Bug#28774)
77434         078fb7f6df Make frame-list-z-order on NS match Windows behaviour (bug...
77436         # Conflicts:
77437         #       etc/NEWS
77439 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77441         Merge from origin/emacs-26
77443         05d0c0f802 ; * ChangeLog.3: ChangeLog fixes.
77444         fbabae6b24 * ChangeLog.3: Update.
77445         eab051991e Fix docstring style for 'functionp'
77446         e8a7c41b4e Format shell commands in tramp.texi
77447         0526aac4eb Unbreak the button in the Flymake diagnostics buffer again
77448         c89f001de1 Add mode map to Flymake diagnostic button
77449         f9cd8ee681 Tweak the Flymake diagnostics buffer again
77450         0e83f5f279 Simplify Flymake diagnostics buffer UX
77451         cf4a15b9b6 First stab at a Flymake diagnostics buffer
77452         e4a1556392 * etc/NEWS (Flymake): Rewrite entry.
77453         00adeb43e9 Improve the Flymake manual
77454         44c6401733 ; * etc/NEWS: Clarify the description of "---" and "+++".
77455         042b3cfbd2 Fix two Flymake bugs
77456         3dfa2ca4dc Don't log "emergencies" in the Flymake legacy backend
77457         1c2e188440 Add full documentation on new Flymake API
77458         0f7f677f82 Fix some Flymake docstrings and messages
77459         21e7075781 Make three new Flymake commands for debugging common problems
77460         c9be9a3678 ; INSTALL.REPO: Add -d to "thorough cleaning" suggestion.
77461         5d51403ceb ; Typo fixes, mostly repeated words
77462         0d004ed01a ; Spelling fixes
77463         0485aa76c9 ; * src/lread.c (syms_of_lread) <module-file-suffix>: Fix ...
77464         ba7fb37d6a * admin/authors.el (authors-renamed-files-alist): addition.
77465         14dca4a79a ; ChangeLog.3 fixes
77466         f352d0257c Fix PWD check on DOS_NT
77467         934f08f3de Fix unlikely overflows with wd length
77468         6c2b1e89ef * lisp/gnus/message.el: Improve last commit
77469         7ed7360855 Fix problems when editing raw undecoded message (Bug#28671)
77470         aca5f0072b Avoid encoding errors in message.el
77471         0c36663db5 Improve doc string and prompt of 'grep-read-files'
77472         2da83c9d36 Avoid assertion violations when line numbers are displayed
77473         5b81f65ad0 ; * lisp/emacs-lisp/rmc.el: Minor fix for copyright and li...
77474         11b37b4a9f Be lazy when starting Flymake checks
77475         36ed9a9ede Fix last change in frameset.el
77476         62e5c119af Describe how window dividers can replicate vertical border...
77477         e2150d994a Add line-number faces to the display-line-numbers group
77478         89b0023044 Increase xterm click count only within double-click-fuzz
77479         745aea2296 Change pause in fullscreen toggling for NS port (bug#28496)
77480         1cd334cd47 Handle PARENTS properly in tramp-*-handle-make-directory
77481         f1c73de47d ; Merge from Gnulib (comment changes only)
77482         7c2c117c91 Improve test for unreachable dirs
77483         2202952b83 * src/xsmfns.c (x_session_initialize): Fix memory leak.
77484         a9b72976de Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs i...
77485         64baaff8c5 New option for handling ZWNJ in Arabic text rendering
77486         c194fb61c6 Make python prettify symbols into a defvar (Bug#28713)
77487         6dfc778d54 Fix fullscreen crash on macOS (bug#28496)
77488         3db0dc2168 Fix crash when closing fullscreen frame on macOS (bug#28661)
77489         bc80da5bd3 Support gio tool in Tramp
77490         349e0eb5ff Fix flymake-goto-next-error when message has %-constructs
77491         0fa353b504 * src/gnutls.c (syms_of_gnutls): Remove duplicated call to...
77492         dc6ae15a8d Move the entry about 'format' into Incompatible Lisp Changes
77493         75174a632d Fix glitches in displaying TTY menus
77494         238fbcb20e Create new Edebug spec for docstrings and use it in closures
77495         2d58d51329 Avoid byte-compilation warnings in message.el
77497         # Conflicts:
77498         #       etc/NEWS
77500 2017-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
77502         * lisp/gnus/message.el (message-check-recipients): Bogus adr is a user error.
77504         * test/lisp/help-fns-tests.el (help-fns-test-dangling-alias): New test.
77506         * lisp/ansi-color.el (ansi-color-make-extent): Let overlays evaporate.
77508 2017-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
77510         * lisp/url/url-cookie.el: Fix warning and miscompilation
77512         (url-cookie-parse-file-netscape): Remove unused var `match', fix
77513         undefined `incf' misuse.
77515 2017-10-10  Aurelien Aptel  <aaptel@suse.com>
77517         Add parser for Netscape/Mozilla cookie file format
77519         * lisp/url/url-cookie.el (url-cookie-parse-file-netscape): New function.
77521 2017-10-09  Philipp Stephani  <phst@google.com>
77523         Revert "Raise an error when detecting old-style backquotes."
77525         This reverts commit 9613690f6e51e2f2aa2bcbbede3e209d08cfaaad.
77527 2017-10-09  Mark Oteiza  <mvoteiza@udel.edu>
77529         Disable XTerm titles (Bug#28591)
77531         * etc/NEWS: Mention it.
77532         * lisp/term/xterm.el (xterm-set-window-title): Disable it.
77534 2017-10-08  Gemini Lasswell  <gazally@runbox.com>
77536         Stop Testcover from producing spurious 1value errors
77538         Fix bug#25351 by copying results of form evaluations for later
77539         comparison.
77540         * lisp/emacs-lisp/testcover.el (testcover-after): Copy the result
77541         of a form's first evaluation and compare subsequent evaluations to
77542         the copy. Improve the error message used when a form's value
77543         changes.
77544         (testcover--copy-object, testcover--copy-object1): New functions.
77545         * test/lisp/emacs-lisp/testcover-resources/testcases.el
77546         (by-value-vs-by-reference-bug-25351): Remove expected failure tag.
77547         (circular-lists-bug-24402): Add another circular list case.
77549 2017-10-08  Gemini Lasswell  <gazally@runbox.com>
77551         Rewrite Testcover's internals, fixing several bugs
77553         * lisp/emacs-lisp/testcover.el: Rewrite the internals of Testcover
77554         to analyze instrumented code instead of reinstrumenting it.  Use new
77555         hooks in Edebug to collect code coverage information at runtime
77556         using Edebug's instrumentation.
77557         Includes fixes for: (bug#11307) (bug#24509) (bug#24688) (bug#24743)
77558         (bug#25316) (bug#25326).
77559         (testcover-compose-functions): Remove mapcar.
77560         (testcover-start, testcover-this-defun): Analyze code instead of
77561         reinstrumenting it. Set edebug-behavior for each definition.
77562         (testcover--read, testcover-1value, testcover-reinstrument)
77563         (testcover-reinstrument-list, testcover-reinstrument-compose):
77564         Deleted.
77565         (testcover-after-instrumentation, testcover-init-definition)
77566         (testcover-before): New functions.
77567         (testcover-enter): Change call signature to match edebug-enter.
77568         (testcover-after, testcover-mark): Add handling of 'maybe and
77569         'noreturn.
77570         (testcover-analyze-coverage, testcover-analyze-coverage-progn)
77571         (testcover-analyze-coverage-edebug-after)
77572         (testcover-analyze-coverage-wrapped-form)
77573         (testcover-analyze-coverage-wrapped-application)
77574         (testcover-analyze-coverage-compose)
77575         (testcover-analyze-coverage-backquote)
77576         (testcover-analyze-coverage-backquote-form)
77577         (testcover-coverage-combine): New functions to analyze instrumented
77578         code.
77580         * lisp/emacs-lisp/gv.el: Modify edebug-after's gv-expander to
77581         instrument in the setter as well as the getter.
77583         * test/lisp/emacs-lisp/testcover-tests.el
77584         (testcover-tests-run-test-case): Use `edebug-default-enter'
77585         instead of `edebug-enter' to detect Edebug invocation
77586         during tests.
77588         * test/lisp/emacs-lisp/testcover-resources/testcases.el
77589         (constants-bug-25316)
77590         (customize-defcustom-bug-25326)
77591         (1-value-symbol-bug-25316)
77592         (quotes-within-backquotes-bug-25316)
77593         (backquote-1value-bug-24509)
77594         (pcase-bug-24688)
77595         (defun-in-backquote-bug-11307-and-24743)
77596         (closure-1value-bug)
77597         (backquoted-vector-bug-25316)
77598         (vector-in-macro-spec-bug-25316)
77599         (mapcar-is-not-compose): Remove expected failure tags.
77600         (function-with-edebug-spec-bug-25316): Remove expected failure tag
77601         and modify expected result.
77602         (quoted-backquote): New test.
77604         * lisp/textmodes/rst.el: Remove workarounds for bugs in Testcover.
77605         (rst-testcover-defcustom): Deleted.
77607         * lisp/subr.el (1value): Remove incorrect description of
77608         testcover-1value from docstring, replace with description of
77609         Testcover's treatment of 1value.
77611 2017-10-08  Gemini Lasswell  <gazally@runbox.com>
77613         Allow Edebug's instrumentation to be used for other purposes
77615         * lisp/emacs-lisp/edebug.el:
77616         (edebug-after-instrumentation-functions)
77617         (edebug-new-definition-functions): New hook variables.
77618         (edebug-behavior-alist): New variable.
77619         (edebug-read-and-maybe-wrap-form): Run a hook after a form is
77620         wrapped.
77621         (edebug-make-form-wrapper): Run a hook after a definition is
77622         wrapped. Remove message for each definition.
77623         (edebug-announce-definition): New function.
77624         (edebug-enter): Rewritten to change behavior of Edebug based
77625         on symbol property `edebug-behavior' and `edebug-behavior-alist'.
77626         (edebug-default-enter): New function which does what `edebug-enter'
77627         used to do.
77628         (edebug-run-slow, edebug-run-fast): Modify edebug-behavior-alist.
77629         (edebug-before, edebug-after): Function definitions are now set by
77630         `edebug-enter'.
77632 2017-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
77634         * lisp/emacs-lisp/checkdoc.el: cl-defstruct + minor simplifications
77636         (checkdoc-make-overlay, checkdoc-overlay-put, checkdoc-delete-overlay)
77637         (checkdoc-overlay-start, checkdoc-overlay-end, checkdoc-char=)
77638         (checkdoc-mode-line-update): Remove old compatibility aliases.
77639         (checkdoc, checkdoc-interactive-loop):
77640         Consolidate common code in if branches.
77641         (checkdoc-error): New struct type.
77642         (checkdoc-error-text, checkdoc-error-start, checkdoc-error-end)
77643         (checkdoc-error-unfixable): Now defined by cl-defstruct.
77645 2017-10-08  Philipp Stephani  <phst@google.com>
77647         Raise an error when detecting old-style backquotes.
77649         They have been deprecated for a decade now.
77651         * src/lread.c (Fload): Don't use record_unwind_protect to warn about
77652         old-style backquotes any more.  They now generate a hard error.
77653         (read1): Signal an error when detecting old-style backquotes.  Remove
77654         unused label.
77655         (syms_of_lread): Remove unused internal variable
77656         'lread--old-style-backquotes'.
77657         (load_error_old_style_backquotes): Rename from
77658         'load_warn_oldstyle_backquotes'.  Signal an error.
77660         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove check
77661         from byte compiler.  It isn't triggered any more.
77663         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Adapt
77664         unit test.
77666         * test/lisp/emacs-lisp/bytecomp-tests.el
77667         (bytecomp-tests--old-style-backquotes)
77668         (bytecomp-tests-function-put): Adapt unit tests.
77670         * etc/NEWS: Document change.
77672 2017-10-08  Philipp Stephani  <phst@google.com>
77674         Say that side effect-free functions don't change the matchd data
77676         * lisp/help-fns.el (describe-function-1): Add note if a function is
77677         known not to change the match data.
77679 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
77681         New defcustom 'tooltip-resize-echo-area'
77683         * lisp/tooltip.el (tooltip-resize-echo-area): New defcustom.
77684         (tooltip-show-help-non-mode): Use it to avoid truncating the
77685         tooltip text in the echo area.  (Bug#28724)
77687         * etc/NEWS: Mention 'tooltip-resize-echo-area'.
77689 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77691         Merge from origin/emacs-26
77693         9226cf3254 Fix bug in recent styled_format change
77694         fa92f0c447 Cleanup emacs-lisp-mode's use of Flymake
77695         0d0265bf50 Fix @include directive in Flymake doc
77696         295457ae52 Move read-multiple-choice to its own library
77697         560dd9b573 * src/process.c (syms_of_process): Remove duplicated call ...
77699 2017-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
77701         Merge emacs-26
77703 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
77705         Add file name handler support for file-system-info
77707         * doc/lispref/files.texi (Magic File Names): Add file-system-info.
77709         * etc/NEWS: Mention get-free-disk-space working on remote systems.
77711         * lisp/files.el (get-free-disk-space): Do not block on remote systems.
77713         * src/w32fns.c (Ffile_system_info):
77714         * src/fileio.c (Ffile_system_info): Call file name handler if exists.
77715         (syms_of_fileio): Add Qfile_system_info.
77717 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77719         Merge from Gnulib
77721         This incorporates:
77722         2017-10-02 fsusage: fix typo in previous change
77723         * lib/fsusage.c: Copy from Gnulib.
77725 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
77727         Port file-system-info to non-Microsoft
77729         * admin/merge-gnulib (GNULIB_MODULES): Add fsusage.
77730         * doc/emacs/files.texi (Directories): Remove documentation of
77731         now-obsolete directory-free-space-program and
77732         directory-free-space-args.
77733         * etc/NEWS: Mention change.
77734         * etc/PROBLEMS: Slow df is no longer a problem.
77735         * lib/fsusage.c, lib/fsusage.h, m4/fsusage.m4:
77736         New files, copied from Gnulib.
77737         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
77738         * lisp/dired.el (dired-free-space-program)
77739         (dired-free-space-args): These aliases are now obsolete.
77740         * lisp/files.el (directory-free-space-program)
77741         (directory-free-space-args): Now obsolete.
77742         (get-free-disk-space): Just call file-system-info instead
77743         of the now-obsolete directory-free-space-program.
77744         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_fsusage): New macro.
77745         * src/fileio.c: Include fsusage.h.
77746         (blocks_to_bytes, Ffile_system_info) [!DOS_NT]: New functions.
77747         (syms_of_fileio) [!DOS_NT]: Defsubr file-system-info.
77749 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
77751         Merge from origin/emacs-26
77753         5172fa02cc Prefer HTTPS to HTTP for gnu.org
77754         8cdd8b920a Merge from Gnulib
77755         60b7668b89 Keep eww buffer current when looking up CSS on MDN
77756         bd49b6f1b3 Workaround for faulty localtime() under macOS 10.6
77757         913808e224 Doc amendment for syntax-ppss.
77758         98dc91fda8 Remove incorrect NEWS entry about 'find-library'
77759         539d8626cd Remove inadvertent changes to syntax.texi in last commit.
77760         8c18dcbc78 Amend documentation for text-quoting-style becoming a user...
77761         5f76ac150a Make the value nil in text-quoting-style mean what it does...
77762         d5e4e004fa Make text-quoting-style customizable.  Introduce t and new...
77763         1ba3471b9b eshell.texi improvements
77764         7abb5c3960 Fix ns-win.el on GNUstep
77765         07ea5ef99a Fix reference style in org.texi
77766         b03b4f6d79 Improve handling of iconification of child frames (Bug#28611)
77767         ba9139c501 Revert "Don't lose arguments to eshell aliases (Bug#27954)"
77768         43fac3beae Make "unsafe directory" error message more informative (Bu...
77769         c59ddb2120 Fix slot typecheck in eieio-persistent
77770         8b2ab5014b Fix semantic-ia-fast-jump
77771         5b45e7e1c3 Bind vc-region-history
77772         f172894595 Exit macro definition on undefined keys
77773         289fe6c0d1 Reset bidi-paragraph-direction on article rendering
77774         a4f7518817 Fix url-http use of url-current-object
77775         4a755ed421 Avoid assertions in vc-hg.el on MS-Windows
77776         cb93a6ce72 Improve documentation of 'copy-sequence'
77777         200ef6f721 Minor update of ack.texi
77778         cb407d3e87 * doc/emacs/emacs.texi (Acknowledgments): Add more contrib...
77779         82b6c765ff Improve indexing of multi-file/buffer Isearch commands
77780         645ff6c702 Add CAM02 JCh and CAM02-UCS J'a'b' conversions
77781         157007b58e Fix uses of @kindex in the Emacs manual
77782         63a45e8837 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
77783         3ab2f9bbb9 Merge from gnulib
77784         cbc8324488 Prefer HTTPS to HTTP for gnu.org
77785         bbda601d1d ; Spelling fixes
77786         695cf5300b Wait for frame visibility with timeout in w32term too
77787         e1f6e3127a Bring back the busy wait after x_make_frame_visible (Bug#2...
77788         bccf635217 ; * src/gtkutil.c (xg_check_special_colors): Add another G...
77789         f428757cdb Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
77790         26d58f0c58 ; Standardize license notices
77791         73dba0f466 Fix last doc string change in simple.el
77793 2017-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
77795         * lisp/electric.el: Break recursive loading loop
77797         (electric-pair-text-pairs): Declare instead of requiring elec-pair.
77799 2017-10-01  Philipp Stephani  <phst@google.com>
77801         * src/editfns.c (Fchar_after): Small optimization.
77803 2017-10-01  Eli Zaretskii  <eliz@gnu.org>
77805         Avoid compilation warning in electric.el
77807         * lisp/electric.el: Require 'elec-pair' when compiling, to avoid a
77808         compiler warning.
77810 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
77812         Make logcount act like CL on negative arg
77814         Behaving like Common Lisp is less likely to lead to surprises,
77815         as it yields the same answers on 32- vs 64-bit machines.
77816         * doc/lispref/numbers.texi (Bitwise Operations):
77817         Document behavior on negative integers.
77818         * src/data.c (Flogcount):
77819         Behave like Common Lisp for negative arguments.
77820         * test/src/data-tests.el (data-tests-popcnt)
77821         (data-tests-logcount): Test negative args too.
77823 2017-09-30  Philipp Stephani  <phst@google.com>
77825         Electric quote mode: Conditionally replace " (Bug#24710)
77827         * lisp/electric.el (electric-quote-replace-double): New user option.
77828         (electric-quote-post-self-insert-function): Use it.
77830         * test/lisp/electric-tests.el (electric-quote-replace-double-disabled)
77831         (electric-quote-replace-double-bob)
77832         (electric-quote-replace-double-bol)
77833         (electric-quote-replace-double-after-space)
77834         (electric-quote-replace-double-after-letter)
77835         (electric-quote-replace-double-after-paren): New unit tests.
77837         * doc/emacs/text.texi (Quotation Marks): Document
77838         'electric-quote-replace-double'.
77840 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
77842         Simplify logcount implementation
77844         * src/data.c (HAVE_BUILTIN_POPCOUNTLL, logcount32, logcount64):
77845         Remove.
77846         (Flogcount): Simplify by using count_one_bits.
77848 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
77850         Add logcount (Bug#22689)
77852         * doc/lispref/numbers.texi (Bitwise Operations): Add documentation.
77853         * etc/NEWS: Mention.
77854         * src/data.c (logcount32, logcount64): New functions.
77855         (logcount): New Lisp function.
77856         (syms_of_data): Declare it.
77857         * test/src/data-tests.el (data-tests-popcnt, data-tests-logcount): New
77858         test.
77860 2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77862         Merge from origin/emacs-26
77864         3ab2f9bbb9 Merge from gnulib
77865         cbc8324488 Prefer HTTPS to HTTP for gnu.org
77866         bbda601d1d ; Spelling fixes
77867         695cf5300b Wait for frame visibility with timeout in w32term too
77868         e1f6e3127a Bring back the busy wait after x_make_frame_visible (Bug#2...
77869         bccf635217 ; * src/gtkutil.c (xg_check_special_colors): Add another G...
77870         26d58f0c58 ; Standardize license notices
77871         61225964ed Revert "bug#28609: simple.el"
77872         a75ab3b3fb bug#28609: simple.el
77873         c7a21430c1 ; * etc/NEWS: Fix last change.
77874         33401b26b1 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
77875         d4b2bbdc73 Merge branch 'emacs-26' into scratch/org-mode-merge
77876         c1ac8c170f Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
77877         af130f900f Fix ert backtrace saving for non-`signal'ed errors (Bug#28...
77878         7476eeaa23 Revert "Fix build on macOS (bug#28571)"
77879         fec63089d5 Fix build on macOS (bug#28571)
77880         0f9a78e770 Add tests for `css-current-defun-name'
77881         88a0dd71f1 In w32fullscreen_hook don't add decorations to undecorated...
77882         18073beb14 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/e...
77883         1eef11b7be Fix doc string of 'dired-listing-switches'
77884         eaefbc26d5 ; Add files missing in ab351d442d7
77885         ab351d442d Update Org to v9.1.1
77887 2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77889         Merge from origin/emacs-26
77891         a3f647c5c8 * src/editfns.c (styled_format): Fix typo in previous change.
77892         0e82fa3416 Avoid some unnecessary copying in Fformat etc.
77894 2017-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77896         Merge from origin/emacs-26
77898         1e5949642a ; * src/gtkutil.c (xg_create_frame_widgets): Add FIXME re....
77899         e7c8da4d05 bug#28609: simple.el
77900         827db6b559 Use a separate syntax-ppss cache for narrowed buffers
77901         a2244f417a Improve python3-compatibility of fallback completion (Bug#...
77902         79162cb0db Fix subr-x-tests when running from elc
77903         66d35ae49d * lisp/eshell/esh-util.el (eshell-condition-case): Add deb...
77904         f5e72b04d9 Make sh-indentation into an alias for sh-basic-offset (Bug...
77905         a58d0c590a Fix loading of smie-config rules (Bug#24848)
77906         3a68dec327 ; Update NEWS for the change in eldoc-message
77907         5a41dd0a1f Reset default-directory inside *xref-grep* buffer
77908         49cd561dc6 * test/lisp/tramp-tests.el (tramp-test21-file-links): Spec...
77909         b719f6b20b Loosen strict parsing requirement for desktop files
77910         c7a0c13777 * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
77911         dc6b3560e5 Fix documentation of `make-frame' and related variables an...
77912         3d3778d82a Accept new `always' value for option `buffer-offer-save'
77913         638f64c40a Improve new NS scrolling variable names
77914         d93301242f Document 'replace-buffer-contents' in the manual.
77915         00e4e3e9d2 Fix undecorated frame resizing issues on NS (bug#28512)
77916         820739bbb5 ; * doc/emacs/display.texi (Display Custom): Fix wording.
77917         f2b2201594 ; Spelling and URL fixes
77918         0e143b1fc5 Documentation improvements for 'display-line-numbers'
77919         f656ccdb43 ; Fix typo
77920         d64da52d57 Fix last change in bat-mode.el
77921         908af46abd Fix restoring in GUI sessions desktop saved in TTY sessions
77922         51cbd85454 Improve syntax highlighting in bat-mode
77923         0273916618 Document the 'list-FOO' convention
77924         d24ec58540 Expose viewing conditions in CAM02-UCS metric
77925         a81d5a3d3f Revert "Set frame size to actual requested size (bug#18215)"
77926         0bf066d4b2 Add tests for Edebug
77927         68baca3ee1 Catch more messages in ert-with-message-capture
77928         28e0c410c9 ; * lisp/mouse.el (secondary-selection-exist-p): Doc fix.
77929         31e1d9ef2f Support setting region from secondary selection and vice v...
77930         047f02f00f Fix new copy-directory bug with empty dirs
77931         fbd15836af * doc/lispref/strings.texi (Formatting Strings): Improve i...
77932         f16a8d5dbd Fix 2 testsuite tests for MS-Windows
77933         965cffd89c Rename timer-list to list-timers
77934         a5fec62b51 Provide native touchpad scrolling on macOS
77935         7b3d1c6beb Fix MinGW64 build broken by recent MinGW64 import libraries
77936         c83d0c5fdf Fix crashes in 'move-point-visually' in minibuffer windows
77937         7f3d5f929d * src/emacs.c (usage_message): Don't mention 'find-file'.
77938         6845282200 Fix a minor inaccuracy in the Emacs manual
77939         74d7bb9498 Fix errors in flyspell-post-command-hook
77940         40fdbb01d0 Work on Tramp's file-truename
77941         1a01423b3c Fix bug with make-directory on MS-Windows root
77942         066efb8666 Fix log-view-diff-common when point is after last entry
77943         3f006b56cd Adapt fileio-tests--symlink-failure to Cygwin
77944         ee512e9a82 Ignore buffers whose name begins with a space in save-some...
77945         9e1b5bd92c Improve tramp-interrupt-process robustness
77946         8d4223e61b Minor Tramp doc update
77947         331d0e520f Fix gensym
77948         466df76f7d Cleanup in files-tests.el
77949         6359fe630a Remove old cl-assert calls in 'newline'
77950         059184e645 Avoid crash with C-g C-g in GC
77951         541006c536 Fix format-time-string %Z bug with negative tz
77952         679e05eeb9 message-citation-line-format %Z is now tz name
77953         4e8888d438 Use doc-view or pdf-tools on any window-system
77954         5f28f0db73 Fix bug with min and max and NaNs
77955         37b5e661d2 Fix recently-introduced copy-directory bug
77956         6bbbc38b34 Merge from Gnulib
77957         57249fb297 Fix compatibility problem in Tramp
77958         411bec82c4 Avoid GCC 7 compilation warning in eval.c
77959         34a6774daa ; Partially revert c3445aed5194
77960         3003ac0469 Adapt Tramp version.  Do not merge
77961         48d39c39e8 Search for Syntax section when viewing MDN
77962         9d101376b4 Allow smerge-keep-current to work for empty hunks
77963         13aba24add Call vc-setup-buffer in vc-git-log-{in,out}going
77964         1d599df5e0 Fix last change to textmodes/page-ext.el
77965         a726e09a9a * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcm...
77966         546413e1ac * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 ...
77967         96aaeaaffa ; * src/lcms.c: Minor stylistic changes in comments.
77968         c3df816585 Fix compilation warning in etags.c
77970 2017-09-29  Philipp Stephani  <phst@google.com>
77972         Revert "GTK+: Stop querying for background colors."
77974         This reverts commit f6818e761eaafe095e07249180dc8f9a329f1473.
77976 2017-09-28  Charles A. Roelli  <charles@aurox.ch>
77978         Fix 'point-to-register' prompt with prefix arg
77980         * lisp/register.el (point-to-register): Fix prompt when a prefix
77981         argument is given.
77983 2017-09-28  Mark Oteiza  <mvoteiza@udel.edu>
77985         Add indent spec to easy-mmode macros
77987         Ideally these macros should expand to the proper code instead of
77988         relegating all the work to a function call.
77989         * lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap):
77990         (easy-mmode-define-syntax): Add indent spec.
77992 2017-09-27  Mark Oteiza  <mvoteiza@udel.edu>
77994         Mark some functions as pure
77996         * lisp/emacs-lisp/byte-opt.el: Add some functions that return integral
77997         values to the builtin list of pure functions.
77999 2017-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
78001         * lisp/textmodes/page-ext.el: Misc cleanup, add RET binding
78003         Use lexical-binding.
78004         Remove redundant :group args.
78005         (pages-directory-mode-map): Bind RET.
78006         (pages-buffer, pages-pos-list): Define as buffer-local.
78007         (pages-directory-map): Define as alias *before* the defvar.
78008         Mark as obsolete.
78009         (pages-buffer-original-position, pages-buffer-original-page):
78010         Move declaration to before the first use.
78011         (pages-directory): Remove unused var `linenum`.
78012         (pages-directory-goto): Add optional `event` arg and make it work when
78013         bound to mouse events.
78014         (pages-directory-goto-with-mouse): Make it an obsolete alias.
78016 2017-09-26  Mark Oteiza  <mvoteiza@udel.edu>
78018         Add MIME apps spec utilities
78020         Facilitates finding associations between MIME types and desktop files
78021         that report an association with that type.  Combined with mailcap.el's
78022         MIME facilities, it should be easy to use desktop files.
78023         * lisp/xdg.el (xdg-mime-table): New variable.
78024         (xdg-mime-apps-files, xdg-mime-collect-associations, xdg-mime-apps):
78025         New functions.
78026         * test/data/xdg/mimeapps.list: New file.
78027         * test/data/xdg/mimeinfo.cache: New file.
78028         * test/lisp/xdg-tests.el (xdg-mime-associations): New test.
78030 2017-09-26  John Wiegley  <johnw@newartisans.com>
78032         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
78034 2017-09-26  Philipp Stephani  <phst@google.com>
78036         Revert "Don't attempt to disable double buffering in newer GTK+ versions"
78038         This reverts commit c0af83b6ccf2dab9a515dd7f52eb9d4500275ae3.
78040 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
78042         bug#28609: simple.el
78044         Correct grammar; also, call a pair a pair.
78046 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78048         * etc/NEWS.26: Copy from emacs-26/etc/NEWS.
78050 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78052         Merge from origin/emacs-26
78054         49cd561dc6 * test/lisp/tramp-tests.el (tramp-test21-file-links): Spec...
78055         b719f6b20b Loosen strict parsing requirement for desktop files
78056         c7a0c13777 * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
78057         dc6b3560e5 Fix documentation of `make-frame' and related variables an...
78058         3d3778d82a Accept new `always' value for option `buffer-offer-save'
78059         638f64c40a Improve new NS scrolling variable names
78060         d93301242f Document 'replace-buffer-contents' in the manual.
78061         00e4e3e9d2 Fix undecorated frame resizing issues on NS (bug#28512)
78062         820739bbb5 ; * doc/emacs/display.texi (Display Custom): Fix wording.
78063         f2b2201594 ; Spelling and URL fixes
78064         0e143b1fc5 Documentation improvements for 'display-line-numbers'
78065         f656ccdb43 ; Fix typo
78066         d64da52d57 Fix last change in bat-mode.el
78067         908af46abd Fix restoring in GUI sessions desktop saved in TTY sessions
78068         51cbd85454 Improve syntax highlighting in bat-mode
78069         0273916618 Document the 'list-FOO' convention
78070         d24ec58540 Expose viewing conditions in CAM02-UCS metric
78071         a81d5a3d3f Revert "Set frame size to actual requested size (bug#18215)"
78072         0bf066d4b2 Add tests for Edebug
78073         68baca3ee1 Catch more messages in ert-with-message-capture
78074         28e0c410c9 ; * lisp/mouse.el (secondary-selection-exist-p): Doc fix.
78075         31e1d9ef2f Support setting region from secondary selection and vice v...
78076         047f02f00f Fix new copy-directory bug with empty dirs
78077         fbd15836af * doc/lispref/strings.texi (Formatting Strings): Improve i...
78078         f16a8d5dbd Fix 2 testsuite tests for MS-Windows
78079         965cffd89c Rename timer-list to list-timers
78080         a5fec62b51 Provide native touchpad scrolling on macOS
78081         7b3d1c6beb Fix MinGW64 build broken by recent MinGW64 import libraries
78082         c83d0c5fdf Fix crashes in 'move-point-visually' in minibuffer windows
78083         7f3d5f929d * src/emacs.c (usage_message): Don't mention 'find-file'.
78084         6845282200 Fix a minor inaccuracy in the Emacs manual
78085         74d7bb9498 Fix errors in flyspell-post-command-hook
78086         40fdbb01d0 Work on Tramp's file-truename
78087         1a01423b3c Fix bug with make-directory on MS-Windows root
78088         066efb8666 Fix log-view-diff-common when point is after last entry
78089         3f006b56cd Adapt fileio-tests--symlink-failure to Cygwin
78090         ee512e9a82 Ignore buffers whose name begins with a space in save-some...
78091         9e1b5bd92c Improve tramp-interrupt-process robustness
78092         8d4223e61b Minor Tramp doc update
78093         331d0e520f Fix gensym
78094         466df76f7d Cleanup in files-tests.el
78095         6359fe630a Remove old cl-assert calls in 'newline'
78096         059184e645 Avoid crash with C-g C-g in GC
78097         541006c536 Fix format-time-string %Z bug with negative tz
78098         679e05eeb9 message-citation-line-format %Z is now tz name
78099         4e8888d438 Use doc-view or pdf-tools on any window-system
78100         5f28f0db73 Fix bug with min and max and NaNs
78101         37b5e661d2 Fix recently-introduced copy-directory bug
78102         6bbbc38b34 Merge from Gnulib
78103         57249fb297 Fix compatibility problem in Tramp
78104         411bec82c4 Avoid GCC 7 compilation warning in eval.c
78105         34a6774daa ; Partially revert c3445aed5194
78107 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78109         Merge from origin/emacs-26
78111         48d39c39e8 Search for Syntax section when viewing MDN
78112         9d101376b4 Allow smerge-keep-current to work for empty hunks
78113         13aba24add Call vc-setup-buffer in vc-git-log-{in,out}going
78114         1d599df5e0 Fix last change to textmodes/page-ext.el
78115         a726e09a9a * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcm...
78117 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78119         Merge from origin/emacs-26
78121         96aaeaaffa ; * src/lcms.c: Minor stylistic changes in comments.
78122         c3df816585 Fix compilation warning in etags.c
78123         5490ccc5eb Add lisp variable lcms-d65-xyz
78124         dee96f4a17 * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (b...
78125         12e864eb30 Avoid MinGW64 compiler warnings in unexw32.c
78126         625cee5316 Start emacs-26 release branch
78128         # Conflicts:
78129         #       README
78130         #       configure.ac
78131         #       msdos/sed2v2.inp
78132         #       nt/README.W32
78134 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78136         emacs-25 → emacs-26
78138         * admin/gitmerge.el (gitmerge-default-branch): Now emacs-26.
78140 2017-09-24  Mark Oteiza  <mvoteiza@udel.edu>
78142         Expand recognized time intervals for MPC seeking
78144         Now accepts [+-]H:M:S and subsets.  Also accepts some odd variations of
78145         it since the regexp is not strict.  One unpleasant caveat is that
78146         string-to-number simply returns zero on failure instead of signaling an
78147         error.  At the moment, there are cases where instead of getting
78148         a user-error, the seek may simply not go where one expects it.
78149         * lisp/mpc.el (mpc-read-seek): New function.
78150         (mpc-seek-current): Use it.
78152 2017-09-24  Philipp Stephani  <phst@google.com>
78154         Add configuration for clang-format.
78156         This allows developers to auto-format the C code with clang-format.
78157         It’s not 100% accurate, but works pretty well for most of the C code.
78159 2017-09-24  Philipp Stephani  <phst@google.com>
78161         Make FILENAME argument of 'file-name-base' mandatory
78163         * lisp/files.el (file-name-base): Make FILENAME argument mandatory.
78165         * lisp/autoinsert.el (auto-insert-alist):
78166         * lisp/progmodes/cperl-mode.el (cperl-electric-pod):
78167         * lisp/progmodes/idlwave.el (idlwave-parse-definition):
78168         * lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes): Fix
78169         all callers.
78171 2017-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
78173         * lisp/newcomment.el (comment-search-backward): Obey the docstring (bug#28428)
78175 2017-09-23  Philipp Stephani  <phst@google.com>
78177         Don't attempt to disable double buffering in newer GTK+ versions
78179         * src/gtkutil.c (xg_create_frame_widgets): Stop calling deprecated
78180         function gtk_widget_set_double_buffered.
78182 2017-09-23  Philipp Stephani  <phst@google.com>
78184         GTK+: Stop querying for background colors.
78186         * src/gtkutil.c (xg_check_special_colors): Don't call deprecated
78187         function gtk_style_context_get_background_color in newer versions of
78188         GTK+.
78190 2017-09-23  Philipp Stephani  <phst@google.com>
78192         GTK+: stop calling 'gtk_window_set_wmclass' in new versions
78194         * src/gtkutil.c (xg_create_frame_widgets): Stop calling deprecated
78195         function 'gtk_window_set_wmclass' in GTK+ 3.22.
78197 2017-09-23  Philipp Stephani  <phst@google.com>
78199         GTK+: Use a style provider instead of deprecated function
78201         * src/gtkutil.c (xg_set_widget_bg): Use a CSS style provider instead
78202         of the deprecated gtk_widget_override_background_color.
78204 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
78206         Teach Emacs to set XTerm window titles
78208         * lisp/term/xterm.el (terminal-init-xterm): Add initialization.
78209         (xterm--init-frame-title, xterm-set-window-title-flag):
78210         (xterm-unset-window-title-flag, xterm-set-window-title): New functions.
78211         (xterm-window-title-flag): New variable.
78212         (xterm-set-window-title): New custom variable.
78213         * etc/NEWS: Mention it.
78215 2017-09-19  Philipp Stephani  <phst@google.com>
78217         Don't call deprecated GTK function gtk_adjustment_changed
78219         * src/gtkutil.c (xg_set_toolkit_scroll_bar_thumb)
78220         (xg_set_toolkit_horizontal_scroll_bar_thumb): Remove calls to
78221         deprecated function gtk_adjustment_changed.  This function has been
78222         deprecated since GTK+ 3.18.
78224 2017-09-18  Sam Steingold  <sds@gnu.org>
78226         Fix bug#28435: "all" score file is ignored
78228         (gnus-score-find-bnews): Fix removing the empty suffix.
78230 2017-09-18  Sam Steingold  <sds@gnu.org>
78232         Add define-thing-chars and use it for filename.
78234         (define-thing-chars): New defmacro.
78235         (filename): Define this thing using `define-thing-chars'.
78237 2017-09-18  Philipp Stephani  <phst@google.com>
78239         Revert "Implement native JSON support using Jansson"
78241         This reverts commit cb99cf5a99680af7dc2c49fdf5b840d1ff4dd928.
78243 2017-09-18  Philipp Stephani  <phst@google.com>
78245         Implement native JSON support using Jansson
78247         * configure.ac: New option --with-json.
78249         * src/json.c (Fjson_serialize, Fjson_insert, Fjson_parse_string)
78250         (Fjson_parse_buffer): New defuns.
78251         (json_out_of_memory, json_parse_error, json_release_object)
78252         (check_string_without_embedded_nulls, json_check, lisp_to_json)
78253         (json_insert, json_insert_callback, json_to_lisp)
78254         (json_read_buffer_callback, Fjson_parse_buffer, define_error): New
78255         helper function.
78256         (syms_of_json): New file.
78258         * src/lisp.h: Declaration for syms_of_json.
78260         * src/emacs.c (main): Enable JSON functions.
78262         * src/Makefile.in (JSON_LIBS, JSON_CFLAGS, JSON_OBJ, EMACS_CFLAGS)
78263         (base_obj, LIBES): Compile json.c if --with-json is enabled.
78265         * test/src/json-tests.el (json-serialize/roundtrip)
78266         (json-serialize/object, json-parse-string/object): New unit tests.
78268 2017-09-18  Alan Mackenzie  <acm@muc.de>
78270         Fix irregularities with CC Mode fontification, particularly with "known types"
78272         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
78273         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
78274         type.
78275         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
78276         have a construct like the above.  Pass this as argument to
78277         c-font-lock-declarators.
78278         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
78279         being processed starts before the function's starting position.
78280         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
78281         preceded by, e.g., "struct"".
78283         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
78284         (c-template-typename-key): New lang defconsts and defvar.
78286 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
78288         * lisp/net/trampver.el (customize-package-emacs-version-alist):
78290         Add Tramp version integrated in Emacs 26.1.
78292 2017-09-16  Glenn Morris  <rgm@gnu.org>
78294         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
78296 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
78298         Increment Emacs version to 27.0.50
78300         * README:
78301         * configure.ac:
78302         * nt/README.W32:
78303         * src/msdos.c (internal_terminal_init):
78304         * msdos/sed2v2.inp:
78305         * etc/refcards/ru-refcard.tex: Increment Emacs version to 27.0.50.
78306         * etc/NEWS: New file with sections for Emacs 27.1.
78307         * etc/NEWS.26: Renamed from etc/NEWS.
78309 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
78311         * etc/AUTHORS: Update.
78313 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
78315         * etc/NEWS: Delete temporary markup.
78317 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78319         Fix process filter documentation (Bug#13400)
78321         * doc/lispref/processes.texi (Asynchronous Processes): Note that input
78322         may read when sending data as well.
78323         (Output from Processes): Note that functions which send data may also
78324         trigger reading from processes.
78325         (Input to Processes, Filter Functions): Note that filter functions may
78326         be called recursively.
78328 2019-08-29  Tino Calancha  <tino.calancha@gmail.com>
78330         Fix query-replace-regexp undo feature
78332         Ensure that non-regexp strings used with `looking-at' are quoted.
78333         * lisp/replace.el (perform-replace): Quote regexp (Bug#37073).
78334         * test/lisp/replace-tests.el (replace-tests-perform-replace-regexp-flag):
78335         New variable.
78336         (replace-tests-with-undo): Use it.
78337         (query-replace-undo-bug37073): Add tests.
78339 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78341         Support the new Japanese era name
78343         * admin/unidata/NormalizationTest.txt:
78344         * admin/unidata/UnicodeData.txt: Add U+32FF SQUARE ERA NAME REIWA.
78345         Do not merge to master.
78347         * test/lisp/international/ucs-normalize-tests.el
78348         (ucs-normalize-tests--failing-lines-part1)
78349         (ucs-normalize-tests--failing-lines-part2): Update.  Do not
78350         merge to master.
78352         * etc/NEWS: Mention the change.
78354 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78356         Fix a typo in char-width-table
78358         * lisp/international/characters.el (char-width-table): Fix a
78359         typo in zero-width characters.
78361 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78363         Minor update in admin/notes/unicode
78365         * admin/notes/unicode: Mention changes to be done in
78366         setup-default-fontset in fontset.el.  (Bug#14461)
78368 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78370         Fix lisp indent infloop on unfinished strings (Bug#37045)
78372         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): Stop trying to
78373         skip over strings if we've hit the end of buffer.
78374         * test/lisp/emacs-lisp/lisp-mode-tests.el
78375         (lisp-indent-unfinished-string): New test.
78377 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78379         Improve commentary in composite.el
78381         * lisp/composite.el (compose-gstring-for-graphic)
78382         (compose-gstring-for-terminal): Add comments that explain
78383         Unicode General Category mnemonics in human-readable terms.
78384         (Bug#14461)
78386 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78388         Fix markup in dired-x.texi
78390         * doc/misc/dired-x.texi (Omitting Variables)
78391         (Local Variables, Shell Command Guessing)
78392         (Advanced Cleaning Variables, Special Marking Function): Fix
78393         markup and indexing.  (Bug#14212)
78395 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78397         * src/callproc.c (Fcall_process): Doc fix.
78399 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78401         Improve documentation of features that use the fringes
78403         * doc/emacs/display.texi (Fringes): Add cross-reference to
78404         where indicate-empty-lines is described.
78405         (Useless Whitespace): Add an @anchor for a more accurate
78406         cross-reference in "Fringes".
78408 2019-08-29  Mauro Aranda  <maurooaranda@gmail.com>
78410         Fix docstrings in pong
78412         * lisp/play/pong.el (pong-move-left pong-move-right): Refer to the
78413         right bats and directions of movement.  (Bug#36959)
78415 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78417         Improve doc strings of 'append-to-buffer' and friends
78419         * lisp/simple.el (append-to-buffer, prepend-to-buffer)
78420         (copy-to-buffer): Doc fixes.
78422 2019-08-29  Mauro Aranda  <maurooaranda@gmail.com>
78424         Fix octave-mode ElDoc support
78426         * lisp/progmodes/octave.el (octave-eldoc-function-signatures): Fix the
78427         regexp used, so no match happens when there is no defined function FN.
78428         Also, tweak the regexp to support GNU Octave 4.2.x and newer.  (Bug#36459)
78430 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78432         Avoid Groff hanging on MS-Windows when invoked by "M-x man"
78434         * lisp/man.el (Man-build-man-command): On MS-Windows, redirect
78435         stdin of 'man' to the null device, to make sure Groff exits
78436         immediately after formatting the man page.
78438 2019-08-29  Philipp Stephani  <p.stephani2@gmail.com>
78440         Ignore pending_signals when checking for quits.
78442         pending_signals is often set if no quit is pending.  This results in
78443         bugs in module code if the module returns but no quit is actually
78444         pending.
78446         * src/emacs-module.c (module_should_quit): Use QUITP macro to check
78447         whether the caller should quit.
78449         * src/eval.c: Remove obsolete comment.
78451 2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>
78453         Fix nnmail-expiry-wait docs and custom :types
78455         * doc/misc/gnus.texi (Group Parameters, Expiring Mail):
78456         * lisp/gnus/gnus-cus.el (gnus-group-parameters): Clarify
78457         descriptions of nnmail-expiry, nnmail-expiry-wait, and
78458         nnmail-expiry-wait-function.
78459         * lisp/gnus/nnmail.el (nnmail-expiry-wait)
78460         (nnmail-expiry-wait-function): Clarify docstrings and fix custom
78461         :types (bug#36850).
78463 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78465         * lisp/simple.el (kill-do-not-save-duplicates): Doc fix.  (Bug#36827)
78467 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78469         Improve documentation of debugging Lisp syntax error
78471         * doc/lispref/debugging.texi (Syntax Errors, Excess Open)
78472         (Excess Close): Name the commands invoked by the key
78473         sequences.  Add cross-references to appropriate sections of
78474         the Emacs manual.  (Bug#21385)
78476         (cherry picked from commit faafd467a374c9398ee4668cdc173611d35693ed)
78478 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78480         Add index for "\( in strings" (Bug#25195)
78482         * doc/emacs/programs.texi (Left Margin Paren): Add index for "\( in
78483         strings".
78484         * doc/lispref/positions.texi (List Motion): Add index, and cross
78485         reference.
78487 2019-08-29  Martin Rudalics  <rudalics@gmx.at>
78489         Fix doc-string of 'fit-window-to-buffer' (Bug#36848)
78491         * lisp/window.el (fit-window-to-buffer): Fix doc-string.
78493         Suggested by Drew Adams <drew.adams@oracle.com>
78495 2019-08-29  Tino Calancha  <tino.calancha@gmail.com>
78497         Update view-mode docstring
78499         Not all the kill commands save the text in the kill ring
78500         by default (e.g. `kill-rectangle').
78501         It is more precise to just say that the kill commands save
78502         the text and do not change the buffer (Bug#36741).
78503         * lisp/view.el (view-mode): Update docstring.
78505 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78507         Fix subproc listening when setting filter to non-t (Bug#36591)
78509         * src/process.c (Fset_process_filter): Call add_process_read_fd
78510         according to the state of process filter before it's updated.  This
78511         restores the correct functioning as it was before 2016-02-16 "Allow
78512         setting the filter masks later".  Inline the set_process_filter_masks
78513         call instead of fixing it that function, because it is also called
78514         from connect_network_socket, and we don't want to change the behavior
78515         of that function so close to release.
78516         * test/src/process-tests.el (set-process-filter-t): New test.
78518 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78520         * etc/NEWS.25: Belatedly announce rcirc-reconnect-delay.
78522 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78524         Mention term.el's \032 dir tracking in commentary (Bug#19524)
78526         * lisp/term.el: Mention both forms of directory tracking in
78527         commentary.  Remove obsolete ChangeLog comments.  Move more relevant
78528         summary comments to the top.
78530 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
78532         Remove upload functionality of package-x from the elisp manual
78534         Suggested by Stefan Monnier.
78535         Ref: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19537#8
78537         * doc/lispref/package.texi (Package Archives): Don't document
78538         package-x upload functions in the elisp manual, since they are not
78539         very commonly used.  (Bug#19537)
78540         * lisp/emacs-lisp/package-x.el (package-archive-upload-base)
78541         (package-upload-buffer, package-upload-file): Add to the doc strings
78542         any details removed from the elisp manual that would otherwise be
78543         missing.
78545 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
78547         * etc/AUTHORS: Update.
78549 2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>
78551         Clarify Gravatar docs
78553         For discussion, see the following thread:
78554         https://lists.gnu.org/r/emacs-devel/2019-07/msg00528.html
78555         * doc/misc/gnus.texi (X-Face): Fix cross-reference.
78556         (Gravatars):
78557         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-too-ugly):
78558         * lisp/image/gravatar.el (gravatar-cache-ttl, gravatar-rating)
78559         (gravatar-size): Clarify user option descriptions.
78560         (gravatar-retrieve, gravatar-retrieve-synchronously): Document
78561         return value.
78563 2019-08-29  Alan Mackenzie  <acm@muc.de>
78565         * doc/lispref/display.texi (Defining Faces): Say a face can't be undefined.
78567 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78569         Handle completely undecoded input in term (Bug#29918)
78571         * lisp/term.el (term-emulate-terminal): Avoid errors if the whole
78572         decoded string is eight-bit characters.  Don't attempt to save the
78573         string for next iteration in that case.
78574         * test/lisp/term-tests.el (term-decode-partial)
78575         (term-undecodable-input): New tests.
78577 2019-08-29  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
78579         * doc/misc/forms.texi (Control File Format): Fix a doc error.
78581         (Bug#36693)
78583 2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>
78585         Fix typo in package-alist docstring
78587         Pointed out by Michael Heerdegen <michael_heerdegen@web.de>.
78588         * lisp/emacs-lisp/package.el (package-alist): Fix docstring
78589         grammar (bug#17403).
78591 2019-08-29  Markus Triska  <triska@metalevel.at>
78593         * doc/lispref/text.texi (Mode-Specific Indent): Fix a typo (bug#36646).
78595 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78597         Improve doc string of 'bidi-display-reordering'
78599         * src/buffer.c (syms_of_buffer) <bidi-display-reordering>:
78600         Further doc fix.
78602 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
78604         Add warning to bidi-display-reordering doc string
78606         This explanation was given by Eli Zaretskii on emacs-devel.
78607         For discussion, see:
78608         https://lists.gnu.org/r/emacs-devel/2019-07/msg00294.html
78610         * src/buffer.c (syms_of_buffer): Add warning to doc string of
78611         bidi-display-reordering to explain that it should only be used for
78612         debugging.
78614 2019-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
78616         Raise required librsvg version so as to match the current use
78618         * configure.ac: Set RSVG_REQUIRED to 2.14.0 as rsvg_handle_get_dimensions
78619         needs it.
78621 2019-08-29  Michael Albinus  <michael.albinus@gmx.de>
78623         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size): Set nil on w32.
78625 2019-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
78627         * lisp/progmodes/verilog-mode.el: One more ELPA Version:
78629 2019-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
78631         * lisp/svg.el, lisp/progmodes/ada-mode.el: Fix bug#36360.
78633         Tell package.el their version number, for better behavior w.r.t the
78634         versions available in GNU ELPA
78636 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78638         Minor copyedit of "Font Lock" in user manual
78640         * doc/emacs/display.texi (Font Lock): Make the wording about
78641         "enabling Font Lock" crystal clear.  (Bug#36529)
78643 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78645         Improve description of image descriptors
78647         * doc/lispref/display.texi (Image Descriptors): More accurate
78648         description of where image files are looked up.  (Bug#36523)
78650 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78652         Improve documentation of secondary selections
78654         * doc/emacs/killing.texi (Secondary Selection): Improve
78655         wording.  Mention that 'M-mouse-1' can be used to cancel
78656         secondary selections.  (Bug#36365)
78658 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78660         * src/fns.c (Fmapconcat): Doc fix.  (Bug#36418)
78662 2019-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
78664         Avoid crash inside CFCharacterSetIsLongCharacterMember (Bug#36507)
78666         * src/macfont.m (macfont_supports_charset_and_languages_p)
78667         (macfont_has_char): Don't pass integers outside the Unicode codespace to
78668         CFCharacterSetIsLongCharacterMember.  Do not merge to master.
78670 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78672         Fix python.el docstring (Bug#36458)
78674         * lisp/progmodes/python.el (python-shell--prompt-calculated-output-regexp):
78675         python-shell-set-prompt-regexp doesn't exist, presumably
78676         python-shell-prompt-set-calculated-regexps was meant.
78678 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78680         * lisp/hi-lock.el (hi-lock-line-face-buffer): Doc fix.  (Bug36448)
78682 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
78684         Fix typo in doc string of file-exists-p (bug#36408)
78686         * src/fileio.c (Ffile_exists_p): Fix typo in doc string.
78688 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78690         * test/lisp/url/url-file-tests.el (url-file): Fix for POSIX filenames.
78692 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
78694         Fix typo in windows.texi
78696         * doc/lispref/windows.texi (Window History): Fix typo.  (Bug#36412)
78698 2019-08-29  Basil L. Contovounesios  <contovob@tcd.ie>
78700         Clarify & update (elisp) Writing Emacs Primitives
78702         * doc/lispref/internals.texi (Writing Emacs Primitives): Update some
78703         of the sample code listings, fixing argument lists and parentheses.
78704         Replace ... with @dots{}.  Describe UNEVALLED special forms as
78705         taking a single argument. (bug#36392)
78707 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78709         Clarify a subtle issue in the Internals chapter of lispref
78711         * doc/lispref/internals.texi (Writing Emacs Primitives):
78712         Clarify the issue with relocation of buffer or string text as
78713         side effect of Lisp evaluation.  (Bug#36392)
78715 2019-08-29  Noam Postavsky  <npostavs@gmail.com>
78717         Fix sgml-mode handling of quotes within parens (Bug#36347)
78719         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize): Use
78720         syntax-ppss-table if set.  This is only needed on the release branch,
78721         on master the caller (syntax-propertize) already does this.
78722         (sgml-mode): Set syntax-ppss-table to sgml-tag-syntax-table.  This
78723         correctly classifies parens as punctuation, so they won't confuse the
78724         parser.
78725         * test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
78726         New test copied from master, with two cases added for this bug.
78728 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78730         Rename 'make-symbolic-link' argument NEWNAME to LINKNAME
78732         * src/fileio.c (Fmake_symbolic_link): Fix docstring.
78733         * doc/lispref/files.texi (Changing Files): Doc fix.
78735 2019-08-29  Robert Pluim  <rpluim@gmail.com>
78737         Check that length of data returned by sysctl is non-zero
78739         The length of the data returned by sysctl can be zero, which was not
78740         checked for.  This could cause crashes, e.g. when querying
78741         non-existent processes.  (Bug#36279)
78743         * src/sysdep.c (list_system_processes) [DARWIN_OS || __FreeBSD__]:
78744         (system_process_attributes) [__FreeBSD__]:
78745         (system_process_attributes) [DARWIN_OS]:
78746         * src/filelock.c (get_boot_time) [CTL_KERN && KERN_BOOTTIME]: Check
78747           for zero length data returned by sysctl.
78749 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78751         * test/lisp/progmodes/python-tests.el (python-virt-bin): Doc fix.
78753 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78755         Fix Python tests depending on system-type
78757         * test/lisp/progmodes/python-tests.el (python-virt-bin): New function.
78758         (python-shell-calculate-exec-path-2)
78759         (python-shell-calculate-exec-path-3)
78760         (python-shell-calculate-exec-path-4)
78761         (python-shell-with-environment-1, python-shell-with-environment-2):
78762         Use it.
78764 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78766         Fix problem with wdired test when symlinks cannot be created.
78768         * test/lisp/wdired-tests.el (wdired-test-symlink-name):
78769         Skip test if 'make-symbolic-link' fails for whatever reason;
78770         that's not what's being tested.
78772 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78774         Improve wording of documentation of click events
78776         * doc/lispref/commands.texi (Click Events, Accessing Mouse):
78777         Improve and clarify wording.  (Bug#36232)
78779 2019-08-29  Mattias Engdegård  <mattiase@acm.org>
78781         Backport: Fix typo in regexp-opt example code
78783         * doc/lispref/searching.texi (Regexp Functions):
78784         Fix typo in example code (Bug#34596).
78786 2019-08-29  Stefan Kangas  <stefankangas@gmail.com>
78788         Remove outdated comment in winner.el (Bug#36185)
78790         * lisp/winner.el: Remove outdated comment.
78792 2019-08-29  Michael Albinus  <michael.albinus@gmx.de>
78794         Fix accidental change in tramp-tests; do not merge with master
78796         * lisp/net/trampver.el: Change version to "2.3.5.26.3".
78797         (customize-package-emacs-version-alist): Add Tramp version
78798         integrated in Emacs 26.3.
78800         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
78801         Add skip for w32.
78803 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78805         tramp-test42-auto-load: Add expected-result.
78807         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
78808         Expect a failed result if remote file access is not enabled,
78809         as it happens while doing the test on Windows.
78811 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78813         * test/lisp/url/url-file-tests.el (url-file): Use file:///, not file://.
78815 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78817         Fix doc of srecompile-compile-split-code (Bug#36200)
78819         * lisp/cedet/srecode/compile.el (srecode-compile-split-code):
78820         Remove leftover text from docstring.
78822 2019-08-29  Eric Abrahamsen  <eric@ericabrahamsen.net>
78824         Make sure Gnus imap group names are decoded before searching
78826         do not merge (fix unnecessary in Emacs 27)
78828         * lisp/gnus/nnir.el (nnir-run-imap): Ensure that non-ascii group names
78829           have been fully decoded before passing them to imap search.
78831 2019-08-29  Eli Zaretskii  <eliz@gnu.org>
78833         Remove failing test erroneously added in backport
78835         * test/src/thread-tests.el (threads-test-bug33073): Remove
78836         test which cannot work on the emacs-26 branch.  Do not merge
78837         to master.  Reported by Juanma Barranquero <lekktu@gmail.com>.
78839 2019-08-29  Juanma Barranquero  <lekktu@gmail.com>
78841         * lisp/net/sieve-manage.el (sieve-manage-parse-capability): Doc fix.
78843 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
78845         Bump Emacs version to 26.2.90
78847         * README:
78848         * configure.ac:
78849         * msdos/sed2v2.inp:
78850         * nt/README.W32: Bump Emacs version.
78852 2019-08-29  Nicolas Petton  <nicolas@petton.fr>
78854         * etc/AUTHORS: Update.
78856 2019-08-29  Martin Rudalics  <rudalics@gmx.at>
78857 2019-06-15  Martin Rudalics  <rudalics@gmx.at>
78859         Fix description of 'display-buffer-in-previous-window' again (Bug#36161)
78861         * lisp/window.el (display-buffer-in-previous-window): Make
78862         doc-string more explicit (Bug#36161).
78863         * doc/lispref/windows.texi (Buffer Display Action Functions):
78864         Make description of 'display-buffer-in-previous-window' more
78865         explicit.
78866         (Buffer Display Action Alists): Mention
78867         'display-buffer-in-previous-window' in description of
78868         'reusable-frames' entry.
78870 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78872         Consistently use @minus{} for negative arguments
78874         * doc/emacs/mark.texi (Marking Objects):
78875         * doc/misc/gnus.texi (Selecting a Group):
78876         * doc/emacs/programs.texi (Comment Commands):
78877         * doc/emacs/killing.texi (Deletion):
78878         * doc/emacs/display.texi (Recentering):
78879         * doc/lispref/display.texi (Face Attributes):
78880         * doc/lispref/searching.texi (String Search, Regexp Search):
78881         Make the markup of "-N" use @minus{} uniformly.  (Bug#35885)
78883 2019-06-15  Martin Rudalics  <rudalics@gmx.at>
78885         Fix doc of 'display-buffer-in-previous-window' (Bug#36161)
78887         * doc/lispref/windows.texi (Buffer Display Action Functions):
78888         * lisp/window.el (display-buffer-in-previous-window): Tell
78889         that 'display-buffer-in-previous-window' prefers
78890         non-selected windows (Bug#36161).
78892 2019-06-15  Juanma Barranquero  <lekktu@gmail.com>
78894         lisp/*.el: Minor docstring fixes
78896         * lisp/subr.el (definition-prefixes): Reflow docstring.
78898         * lisp/svg.el (svg-create): Doc fix to allow arg highlighting.
78899         (svg-gradient, svg-rectangle): Improve docstring formatting.
78901 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78903         Avoid assertion violation when comparing with main-thread
78905         * src/thread.c (unmark_main_thread): New function.
78906         * src/lisp.h (unmark_main_thread): Prototype it.
78907         * src/alloc.c (garbage_collect_1): Call it after sweeping.
78908         (Bug#33073)
78910         * test/src/thread-tests.el (threads-test-bug33073): New test.
78912 2019-06-15  Andreas Schwab  <schwab@linux-m68k.org>
78914         Revert "Don't mark main_thread (Bug#36155)"
78916         This reverts commit 1877b7b4d79b3434379fd5a4abd85906c25df00c.
78918 2019-06-15  Andreas Schwab  <schwab@linux-m68k.org>
78920         Don't mark main_thread (Bug#36155)
78922         * src/thread.c (mark_threads_callback): Don't mark main_thread.
78924 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78926         More quotation fixes (Bug#35885)
78928         * doc/emacs/text.texi (Quotation Marks): Fix a typo.
78929         * doc/emacs/modes.texi (Minor Modes): Fix another case of
78930         showing quotations.
78932 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78934         Minor copyedits in efaq-w32
78936         * doc/misc/efaq-w32.texi (Grep, Recursive grep): More accurate
78937         description of using 'findstr' as a poor-man's replacement for
78938         'grep'.  Reported by 范凯 <m_pupil@163.com>
78940 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78942         Tiny improvement of documentation of major mode conventions
78944         * doc/lispref/modes.texi (Major Mode Conventions): More
78945         accurate advice regarding customization of 'C-M-a' by major
78946         modes.
78948 2019-06-15  Juanma Barranquero  <lekktu@gmail.com>
78950         * nt/addpm.c (main): Fix buffer overflow
78952 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78954         Resurrect display-line-number-mode in client frames
78956         * lisp/linum.el (linum-on): Mention bug#35726 in a comment.
78957         * lisp/display-line-numbers.el
78958         (display-line-numbers--turn-on): Don't check for daemon.
78959         (Bug#35726)
78961 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78963         * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
78965 2019-06-15  Phillip Lord  <phillip.lord@russet.org.uk>
78967         Fix typo
78969         * nt/README.W32:
78971 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78973         * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36083)
78975 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78977         Fix styling of Unicode codepoints in manuals
78979         * doc/lispref/nonascii.texi (Character Properties):
78980         * doc/lispref/display.texi (Glyphless Chars)
78981         (Bidirectional Display):
78982         * doc/emacs/search.texi (Lax Search):
78983         * doc/emacs/text.texi (Quotation Marks):
78984         * doc/emacs/basic.texi (Inserting Text): Canonicalize the
78985         style of "U+NNNN CHARACTER NAME".  (Bug#35885)
78987 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78989         Fix a few uses of quotes in user manual
78991         * doc/emacs/text.texi (Quotation Marks):
78992         * doc/emacs/display.texi (Text Display):
78993         * doc/emacs/basic.texi (Inserting Text): Fix some more
78994         quotes.  (Bug#35885)
78996 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
78998         More minor copyedits in the Emacs manual
79000         * doc/emacs/basic.texi (Arguments):
79001         * doc/emacs/display.texi (Recentering, Text Display):
79002         * doc/emacs/regs.texi (Text Registers, Rectangle Registers):
79003         * doc/emacs/mark.texi (Disabled Transient Mark): Fix
79004         inaccuracies and typos.  (Bug#35885)
79006 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79008         Fix minor issues in the Emacs manual
79010         * doc/emacs/search.texi (Regexp Replace, Regexps):
79011         * doc/emacs/kmacro.texi (Keyboard Macro Query)
79012         (Save Keyboard Macro): Fix inaccuracies and typos.
79013         (Bug#35885)
79015 2019-06-15  Martin Rudalics  <rudalics@gmx.at>
79017         Try to improve text on atomic windows in Elisp manual
79019         * doc/lispref/windows.texi (Deleting Windows): Mention how
79020         'delete-window' and 'delete-other-windows' handle atomic
79021         windows.  Minor rewrite.
79022         (Quitting Windows): Mention how 'quit-restore-window' handles
79023         atomic windows and that it tries to avoid raising an error.
79024         (Atomic Windows): Tell how to dissolve atomic windows.
79026 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79028         Don't recommend insert-before-markers in process filters
79030         See <https://lists.gnu.org/r/emacs-devel/2019-05/msg00062.html> and
79031         Bug#35334.
79032         * doc/lispref/processes.texi (Filter Functions): Go back to using
79033         plain insert in the example filter.  Add note about updating window
79034         point.
79036 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79038         Disable byte-compile-cond-use-jump-table (Bug#35770)
79040         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set
79041         to nil by default.
79043         Don't merge to master, the bug is already fixed there.
79045 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79047         Allow macros autoloaded as functions during bytecomp (Bug#36022)
79049         * lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't pass
79050         symbols which don't have a known definition to
79051         byte-compile--function-signature, it fails to compile code which
79052         previously compiled successfully (for example, gnus.el until
79053         2019-06-01 "* lisp/gnus/gnus.el: Mark autoloaded macros as such" which
79054         autoloads some macros as if they were functions).
79056 2019-06-15  Glenn Morris  <rgm@gnu.org>
79058         * lisp/gnus/gnus.el: Mark autoloaded macros as such.
79060         This avoids a build failure.
79062 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79064         Speed up redisplay of HELLO
79066         * etc/HELLO: Set 'inhibit-compacting-font-caches' non-nil
79067         locally.  (Bug#36032)
79069         * lisp/files.el: Add 'inhibit-compacting-font-caches' to the
79070         list of built-in variables for which we set up
79071         'safe-local-variable' properties.
79073 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79075         Improve documentation of 'safe-local-variable' property
79077         * doc/lispref/variables.texi (File Local Variables): Document
79078         how to define 'safe-local-variable' properties for built-in
79079         variables.
79081 2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
79083         * lisp/emacs-lisp/package.el: Obey buffer-file-coding-system (bug#35739)
79085         `url-insert-file-contents` saves in buffer-file-coding-system
79086         the coding-system used to decode the contents.  Preserve this
79087         as the contents is moved from buffer to string to buffer, and use
79088         it when saving the contents to file, so as to try and better preserve
79089         the original byte sequence.
79091         (package--buffer-string, package--cs): New functions.
79092         (package--check-signature): Encode `string` if a coding-system
79093         was specified in buffer-file-coding-system.
79094         (package--download-one-archive, package-install-from-archive):
79095         Obey and preserve the buffer-file-coding-system if specified.
79097         Do not merge.
79099 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79101         Warn about wrong number of args for subrs (Bug#35767)
79103         * lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't
79104         assume byte-compile-fdefinition will return non-nil.
79105         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn-wrong-args)
79106         (bytecomp-warn-wrong-args-subr): New tests.
79108 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79110         Use plain symbols for eieio type descriptors (Bug#29220)
79112         Since Emacs 26, eieio objects use a class record (with circular
79113         references) as the type descriptor of the object record.  This causes
79114         problems when reading back an object from a string, because the class
79115         record is not `eq' to the canonical one (which means that read objects
79116         don't satisfy the foo-p predicate).
79117         * lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set
79118         the record's type descriptor to a plain symbol for the type descriptor
79119         when eieio-backward-compatibility is non-nil (the default).
79120         * lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call
79121         eieio--class-object on the type tag when eieio-backward-compatibility
79122         is non-nil.
79123         (eieio-object-p): Use eieio--object-class instead of
79124         eieio--object-class-tag.
79125         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
79126         (eieio-test-persist-hash-and-vector)
79127         (eieio-test-persist-interior-lists): Make into functions.
79128         (eieio-persist-hash-and-vector-backward-compatibility)
79129         (eieio-persist-hash-and-vector-no-backward-compatibility)
79130         (eieio-test-persist-interior-lists-backward-compatibility)
79131         (eieio-test-persist-interior-lists-no-backward-compatibility): New
79132         tests which call them, eieio-backward-compatibility let-bound.
79134 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
79136         Pacify GCC 9 -Wredundant-decls
79138         * src/gmalloc.c (_fraghead) [!HYBRID_MALLOC]:
79139         Make it static in this case, too.  This avoids having both
79140         ‘extern struct list _fraghead[];’ and
79141         ‘static struct list _fraghead[BLOCKLOG];’, which
79142         GCC 9 complains about.
79144 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
79146         Pacify librsvg 2.45.1 and later
79148         * src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
79149         and add a FIXME comment about the deprecated librsvg functions.
79150         Backport from master.
79152 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
79154         Simplify xd_signature to pacify GCC 9
79156         * src/dbusbind.c (xd_signature): Use simpler way to set up
79157         the subsignature.  This also pacifies GCC 9 on Fedora 30 x86-64.
79158         Backport from master.
79160 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
79162         Pacify GCC when compiling unexelf.c on Fedora 30
79164         * src/unexelf.c (unexec): Pacify GCC 9.
79166 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
79168         Suppress GCC 9 “no longer supported” messages
79170         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wchkp.
79171         This suppresses a boatload of warnings of the form
79172         “gcc: warning: switch ‘-Wchkp’ is no longer supported”.
79173         when using GCC 9.  Do not merge to master.
79175 2019-06-15  Stefan Kangas  <stefankangas@gmail.com>
79177         Fix docstring of bookmark-get-bookmark
79179         * lisp/bookmark.el (bookmark-get-bookmark): Document optional
79180         argument NOERROR. (bug#20148)
79182 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79184         Avoid infloop in read-multiple-choice (Bug#32257)
79186         * lisp/emacs-lisp/rmc.el (read-multiple-choice): When `read-char'
79187         signals an error "Non-character input-event", call `read-event' to
79188         take the non-character event out of the queue.  Don't merge to master,
79189         we just use `read-event' directly there, rather than this solution
79190         which relies a particular error message.
79192 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79194         Improve documentation of decoding into a unibyte buffer
79196         * doc/lispref/nonascii.texi (Explicit Encoding): Document what
79197         happens when DESTINATION of decoding is a unibyte buffer.
79199         * src/coding.c (Fdecode_coding_region)
79200         (Fdecode_coding_string): Document what happens if DESTINATION
79201         is a unibyte buffer.
79203 2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>
79205         Remove redundants "See" before @xref or @pxref (Bug#35793)
79207         * doc/lispref/control.texi (Control Structures):
79208         * doc/lispref/modes.texi (Search-based Fontification):
79209         * doc/misc/cc-mode.texi (Filling and Line Breaking Commands)
79210         (Auto-newline Insertion, Other Special Indentations):
79211         * doc/misc/dbus.texi (Errors and Events):
79212         * doc/misc/dired-x.texi (Find File At Point):
79213         * doc/misc/eudc.texi (Display of Query Results, Inline Query Expansion):
79214         * doc/misc/gnus-faq.texi (FAQ 3-11):
79215         * doc/misc/gnus.texi (Group Parameters, Posting Styles)
79216         (Spam Package Introduction):
79217         * doc/misc/org.texi (LaTeX fragments, Previewing LaTeX fragments):
79218         * doc/misc/reftex.texi (Commands):
79219         Remove redundant "See" before cross references.
79220         * doc/lispref/functions.texi (Function Safety): Redundant "see" is in
79221         ignored text, but remove it anyway.
79222         * doc/lispref/positions.texi (Skipping Characters): Remove redundant
79223         "See" before cross references.  Change @xref to @pxref, which is
79224         more suitable when at the end of a sentence.
79226         Most of the redundants "See" found by Noam Postavsky.
79228 2019-06-15  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>
79230         Fix customization type of recentf-max-saved-items
79232         Change the customization type of recentf-max-saved-items to include
79233         nil, as it is an allowed value (Bug#35771).
79234         * lisp/recentf.el (recentf-max-saved-items): Change the customization
79235         type in the defcustom.
79237 2019-06-15  Tom Levy  <tomlevy93@gmail.com>  (tiny change)
79239         Fix a typo in ELisp manual
79241         * doc/lispref/sequences.texi (Sequence Functions): Fix a typo.
79242         (Bug#35817)
79244 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79246         Add option to disable help completion autoloading (Bug#28607)
79248         * lisp/help-fns.el (help-enable-completion-auto-load): New option.
79249         (help--symbol-completion-table): Consult it.
79250         * doc/emacs/building.texi (Lisp Libraries): Document it.
79251         * etc/NEWS: Announce it.
79252         * doc/lispref/loading.texi (Autoload by Prefix): New section.
79253         (Autoload): Reference it.
79255 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79257         Don't segfault on force-window-update of deleted window
79259         * src/window.c (Fforce_window_update): Do nothing for deleted
79260         windows (Bug#35784).
79262 2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>
79264         Fix typo in ELisp manual
79266         * doc/lispref/variables.texi (Directory Local Variables): Fix typo in
79267         dir-locals-set-class-variables description.  (Bug#35799)
79269 2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>
79271         Remove repeated function call in picture.el
79273         * lisp/textmodes/picture.el (picture-mode-map):  Remove repeated
79274         define-key call.  (Bug#35772)
79276 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
79278         Fix Hideshow key binding typo in Emacs manual
79280         * doc/emacs/programs.texi (Hideshow): Add missing function and key
79281         index entries.  Fix hs-toggle-hiding binding typo. (bug#35798)
79283 2019-06-15  Eric Abrahamsen  <eric@ericabrahamsen.net>
79285         Backport: Fix name of gnus-summary-sort-by-mark(s)
79287         * lisp/gnus/gnus-sum.el (gnus-summary-sort-by-marks): Needs the
79288           "s", according to docs and keymap both. (bug#35765)
79290         (cherry picked from commit 13248f7444630508cfc3b78a07e8d96613af11c8)
79292 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79294         Remove from docs references to obsolete MULE variables
79296         * src/search.c (search_buffer): Remove obsolete text from a
79297         comment.
79298         * src/fns.c (Fstring_make_unibyte): Remove obsolete text from
79299         a doc string.
79301 2019-06-15  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
79303         Do potentially destructive operations in prepare-commit-msg
79305         * build-aux/git-hooks/prepare-commit-msg: If someone occasionally puts
79306         Signed-off line, it will likely get there through -s option of git.
79307         Exploit this fact to abort before a user got a chance to type commit
79308         message.  (Bug#35368)
79310 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
79312         Backport: fix broken build on m68k
79314         The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
79315         Simplify string allocation a bit to make similar problems less
79316         likely in the future.
79317         * src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
79318         Use the same implementation as with !GC_CHECK_STRING_BYTES,
79319         as the special case is no longer needed.
79320         (SDATA_ALIGN): New constant.
79321         (SDATA_SIZE): Remove this macro, replacing with ...
79322         (sdata_size): ... this new function.  All uses changed.
79323         Properly account for sizes and alignments even in the m68k case,
79324         and even if GC_CHECK_STRING_BYTES is not defined.
79326 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79328         Handle GNUTLS_E_AGAIN in emacs_gnutls_read (Bug#34341)
79330         Don't merge to master, this has already been fixed there by 2019-01-15
79331         "Fix unlikely races with GnuTLS, datagrams".
79332         * src/gnutls.c (emacs_gnutls_read): Similar to emacs_gnutls_write,
79333         when gnutls_record_recv returns GNUTLS_E_AGAIN set errno to EGAIN.
79335 2019-06-15  Neil Roberts  <bpeeluk@yahoo.co.uk>
79337         Let dir locals for more specific modes override those from less
79339         The list of dir local variables to apply is now sorted by the number
79340         of parent modes of the mode used as the key in the association list.
79341         That way when the variables are applied in order the variables from
79342         more specific modes will override those from less specific modes.
79344         If there are directory entries in the list then they are sorted in
79345         order of name length.  The list of modes for that dir is then
79346         recursively sorted with the same mechanism.  That way variables tied
79347         to a particular subdirectory override those in a parent directory.
79349         Previously the behavior didn’t seem to be well defined anyway and was
79350         dependent on the order they appeared in the file.  However this order
79351         was changed in version 26.1 and it probably also depended on the
79352         number of dir-local files that are merged.
79354         Bug#33400
79356         * lisp/files.el (dir-locals-get-sort-score, dir-locals-sort-variables)
79357         (dir-locals-read-from-dir): Sort the dir locals so that more precise
79358         modes and directory-specific entries have override lesser ones.
79359         * doc/emacs/custom.texi (Directory Variables): Document the priority.
79361 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79363         Improve documentation of Hexl mode
79365         * doc/emacs/misc.texi (Editing Binary Files): Clarify
79366         "insertion".  Improve wording.  Add a few Hexl commands.
79367         (Bug#35580)
79369 2019-06-15  Alan Mackenzie  <acm@muc.de>
79371         Fix description of (move-to-column <n> t) when column <n> is inside a tab
79373         This fixes bug #35647.  State that when indent-tabs-mode is non-nil, spaces
79374         are inserted before the tab rather than the tab being replaced by spaces.
79376         * doc/lispref/text.texi (columns)
79377         * src/indent.c (move-to-column): Make the above documentation amendment.
79379 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79381         Recognize single quote attribute values in nxml and sgml (Bug#35381)
79383         * lisp/textmodes/sgml-mode.el (sgml-specials): Add single quote.
79384         (sgml-syntax-propertize-rules): Handle single quote.
79385         * test/lisp/nxml/nxml-mode-tests.el (nxml-mode-font-lock-quotes): New
79386         test.
79387         * test/lisp/textmodes/sgml-mode-tests.el
79388         (sgml-delete-tag-bug-8203-should-not-delete-apostrophe): Now passes.
79390 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79392         Disable extra display of &#10; in nxml-mode (Bug#32897)
79394         * lisp/nxml/nxml-mode.el (nxml-char-ref-display-extra): Don't put
79395         display for the newline, it makes the indentation look wrong.
79397 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79399         Fix nxml-get-inside (Bug#32003)
79401         The change from 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
79402         made nxml-get-inside return non-nil for any string or comment,
79403         including attribute strings.  This caused incorrect and therefore
79404         indentation.
79405         * lisp/nxml/nxml-rap.el: Update commentary to reflect changes to
79406         nxml-mode parsing.
79407         (nxml-get-inside): Only return non-nil when inside comments and
79408         generic strings, not normal quote-delimited strings.
79409         * test/lisp/nxml/nxml-mode-tests.el: New tests.
79411 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79413         Fix positioning client buffer as instructed by emacsclient
79415         * lisp/server.el (server-switch-buffer): Let-bind
79416         switch-to-buffer-preserve-window-point to nil when switching
79417         to the client buffer, when the client requested a specific
79418         position.  (Bug#35602)
79420 2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
79422         * etc/package-keyring.gpg: Add the 2019 key (backport)
79424 2019-06-15  Vitalie Spinu  <spinuvit@gmail.com>
79426         Fix incorrect cloning of eieio-instance-inheritor objects (Bug#34840)
79428         * lisp/emacs-lisp/eieio-base.el (clone): Unbound slots of
79429           eieio-instance-inheritor objects as documented in the docs string
79430           and implemented in the original eieio implementation.
79432 2019-06-15  Vitalie Spinu  <spinuvit@gmail.com>
79434         Fix cloning of eieio-named objects (Bug#22840)
79436         * lisp/emacs-lisp/eieio-base.el (clone): Correctly set the name of the
79437           cloned objects from eieio-named instances.
79439 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
79441         Fix ibuffer-unmark-backward synopsis (bug#35572)
79443         * lisp/ibuffer.el (ibuffer-mode): Fix synopsis of
79444         ibuffer-unmark-backward along with other minor copy-edits.
79446 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79448         Clarify handling of long options (Bug#24949)
79450         * doc/emacs/cmdargs.texi (Emacs Invocation): Note that space can be
79451         used instead of "=" only if an option requires an argument.
79453 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79455         Improve documentation of the daemon and emacsclient
79457         * doc/emacs/misc.texi (emacsclient Options):
79458         * doc/emacs/cmdargs.texi (Initial Options): Document that
79459         using --daemon=NAME will need to specify the same NAME when
79460         invoking 'emacscilent'.  (Bug#35547)
79462 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79464         * etc/NEWS.24: Belatedly announce delete-consecutive-dups.
79466 2019-06-15  Glenn Morris  <rgm@gnu.org>
79468         * admin/update_autogen: Handle git worktree.
79470 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79472         Update process filter example (Bug#35044)
79474         * doc/lispref/processes.texi (Filter Functions): Use
79475         insert-before-markers in the "ordinary" filter example, like
79476         internal-default-process-filter does.
79478 2019-06-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
79480         * src/macfont.m (macfont_shape): Use convenient LGLYPH_NEW.
79482 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79484         Recommend using font-lock-face over face (Bug#35044)
79486         * doc/lispref/modes.texi (Precalculated Fontification): Explain
79487         advantages of using font-lock-face over face.
79489 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79491         Check if mouse_face_overlay was deleted (Bug#35273)
79493         * src/xdisp.c (note_mouse_highlight): Check if the mouse_face_overlay
79494         actually points to a buffer, before calling
79495         mouse_face_overlay_overlaps on it.
79497 2019-06-15  Paul Eggert  <eggert@cs.ucla.edu>
79499         Port to platforms where tputs is in libtinfow
79501         * configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).
79503         (cherry picked from commit a3d52b3057c98bce581bc94912ef3ced6fad6f14)
79505 2019-06-15  Glenn Morris  <rgm@gnu.org>
79507         * admin/admin.el (set-version): Check for increase in version length,
79508         rather than a .50 version.
79510 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79512         Be more careful about indent-sexp going over eol (Bug#35286)
79514         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only go over multiple
79515         sexps if the end of line is within a sexp.
79516         * test/lisp/emacs-lisp/lisp-mode-tests.el
79517         (indent-sexp-stop-before-eol-comment)
79518         (indent-sexp-stop-before-eol-non-lisp): New tests.
79520 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
79522         Backport: Improve pure and side-effect-free docs
79524         For discussion, see thread starting at:
79525         https://lists.gnu.org/r/emacs-devel/2019-04/msg00316.html
79526         * doc/lispref/customize.texi (Composite Types): Do not overspecify
79527         :match-alternatives predicates.
79528         * doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
79529         effect" for cross-referencing...
79530         * doc/lispref/functions.texi (What Is a Function): ...from here.
79531         Define what a pure function is.
79532         * doc/lispref/internals.texi (Writing Emacs Primitives): Describe
79533         currently preferred approach to marking primitives as pure and
79534         side-effect-free.
79535         * doc/lispref/symbols.texi (Standard Properties): Expand description
79536         of pure and side-effect-free properties.
79538         (cherry picked from commit 4430a9b54fca266e48d0eb8b72d83706910f10b8)
79540 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
79542         Backport: Avoid using obsolete indent-relative-maybe
79544         * lisp/electric.el (electric-indent-functions-without-reindent):
79545         * lisp/indent.el (indent-according-to-mode): Check for
79546         indent-relative-first-indent-point in addition to its obsolete alias
79547         indent-relative-maybe.
79548         * lisp/obsolete/vi.el (vi-com-map): Use
79549         indent-relative-first-indent-point in place of its obsolete alias
79550         indent-relative-maybe.
79552         (cherry picked from commit 0e468a620458fecd003c396050aa6deb722982c1)
79554 2019-06-15  Mauro Aranda  <maurooaranda@gmail.com>
79556         Avoid false positives and false negatives of Info-quoted face
79558         * lisp/info.el (Info-mode-font-lock-keywords): Modify the regexp, for
79559         matching single quotes of opening single quote and closing single
79560         quote, and avoid matching text followed by a curly quote when it is
79561         not quoting. (Bug#35202)
79563 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79565         Fix markup related to quoting in Info
79567         * doc/misc/sc.texi (Citations): Fix markup of '>'.
79568         * doc/misc/mh-e.texi (Speedbar): Fix markup in a @table.
79569         * doc/misc/calc.texi (Yacas Language Mode): Fix a typo.
79570         * doc/emacs/mark.texi (Setting Mark): Remove duplicate
79571         quoting.  (Bug#35202)
79573 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79575         Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
79577         * configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
79578         AC_SEARCH_LIBS.
79579         * src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
79580         instead of just LIBLCMS2.
79582         (cherry picked from commit cb3863370cbe574810f796726faa39ba0de0a429)
79584 2019-06-15  Glenn Morris  <rgm@gnu.org>
79586         Add a package: line to c-submit-bug-report.
79588         * lisp/progmodes/cc-mode.el (c-submit-bug-report):
79589         Add a Package: line for mail clients that do not support X- headers.
79591 2019-06-15  Glenn Morris  <rgm@gnu.org>
79593         * admin/admin.el (set-version): Add NEWS headers for a .50 version.
79595 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79597         Backport doc improvement in ELisp manual
79599         * doc/lispref/processes.texi (Accepting Output): Backport:
79600         document how do avoid race conditions while waiting for all of
79601         the process's output to arrive.
79603 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79605         Document insert-image-file's return value (Bug#32978)
79607         * lisp/image-file.el (insert-image-file): Document return value.
79609 2019-06-15  Braun Gábor  <braungb88@gmail.com>  (tiny change)
79611         Autoload cua-toggle-rectangle-mark (Bug#34947)
79613         * lisp/emulation/cua-base.el (cua-toggle-rectangle-mark): Autoload it.
79614         Library cua-base.el binds cua-toggle-rectangle-mark to a key in the
79615         :set function in (defcustom cua-rectangle-mark-key ...), so it should
79616         ensure that the command is defined.
79618 2019-06-15  Noam Postavsky  <npostavs@gmail.com>
79620         Tell xclip not to expect job-control under eshell (Bug#35257)
79622         * lisp/eshell/esh-proc.el (eshell-needs-pipe): Add "xclip" and other
79623         programs that xclip.el (in GNU ELPA) calls with
79624         `process-connection-type' bound to nil.
79626 2019-06-15  Basil L. Contovounesios  <contovob@tcd.ie>
79628         Fix off-by-one-link error in image--set-property
79630         * lisp/image.el (image--set-property): Ensure new value is set even
79631         in the unlikely case that the plist is empty.  Fix off-by-one-link
79632         error when deleting a property. (bug#35285)
79633         * test/lisp/image-tests.el: New file.
79634         (image--set-property): New test.
79636 2019-06-15  Glenn Morris  <rgm@gnu.org>
79638         * admin/admin.el (make-manuals-dist--1):
79639         Update for incompatible copy-file change re "directories".
79641 2019-06-15  Robert Pluim  <rpluim@gmail.com>
79643         Document some compilation-mode faces
79645         * doc/emacs/building.texi (Compilation Mode): Describe faces
79646         available to affect appearance of compilation-mode buffers.
79648 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79650         Mention the assignment form in "Copyright Assignment"
79652         * doc/emacs/trouble.texi (Copyright Assignment): Mention the
79653         copyright assignment form explicitly.  Suggested by Konstantin
79654         Kharlamov <hi-angel@yandex.ru>.
79656 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79658         Fix confusing wording in the user manual
79660         * doc/emacs/maintaining.texi (VC Undo): Remove a potentially
79661         inaccurate, outdated, and/or confusing sentence.  (Bug#35290)
79663 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79665         Fix the MSDOS build when running under CWSDPMI
79667         * src/msdos.c (the_only_tty_output): Define.
79668         * src/msdos.h (the_only_tty_output): Declare.
79669         * src/frame.c (make_terminal_frame) [MSDOS]:
79670         * src/dispnew.c (init_display) [MSDOS]: Set up
79671         f->output_data.tty pointer using the_only_tty_output, before
79672         dereferencing the pointer.  This prevents crashes with DPMI
79673         servers that provide NULL pointer protection.
79675 2019-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
79677         * lisp/progmodes/python.el: Be more careful about temp file removal
79679         (python-shell-prompt-detect): Use unwind-protect to try and not leave
79680         file behind in case of error.
79682 2019-06-15  Alexander Gramiak  <agrambot@gmail.com>
79684         Backport: Plug memory leak in GTK x-display-monitor-attributes-list
79686         * src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as
79687         well.
79689         * src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug
79690         memory leak. Use dupstring over xstrdup as gdk_monitor_get_model may
79691         return NULL.
79693 2019-06-15  Alexander Gramiak  <agrambot@gmail.com>
79695         Backport: * lisp/frame.el (frame--size-history): Fix infloop. (Bug#35272)
79697 2019-06-15  Robert Pluim  <rpluim@gmail.com>
79699         Downcase charset
79701         RFC 2046 specifies that the charset parameter is case-insensitive.
79703         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-with-decoded-handle):
79704         Downcase charset.  Suggested by Christophe TROESTLER
79705         <Christophe.TROESTLER@umons.ac.be>.  (Bug#35265).
79707 2019-06-15  Phillip Lord  <phillip.lord@russet.org.uk>
79709         Update for Emacs-26
79711         * nt/README.W32: Update details about packaging which changed for
79712           Emacs-26.
79714 2019-06-15  Eli Zaretskii  <eliz@gnu.org>
79716         * doc/lispref/display.texi (Showing Images): Fix a typo.  (Bug#35240
79718 2019-06-15  Nicolas Petton  <nicolas@petton.fr>
79720         Bump Emacs version to 26.2
79722         * README:
79723         * configure.ac:
79724         * msdos/sed2v2.inp:
79725         * nt/README.W32: Bump Emacs version to 26.2.
79727 2019-06-15  Nicolas Petton  <nicolas@petton.fr>
79729         * etc/HISTORY: Update for Emacs 26.2 release.
79731         * etc/AUTHORS: Update.
79732 2019-05-25  Eric S. Raymond <esr@thyrsus.com>
79734         Implement and document XDG-style startup files under ~/.config.
79736         * lisp/startup.el (command-line): Allow XDG-style as well as old
79737         style paths.
79738         * doc/emacs/custom.texi: Document the above change.
79740 2019-04-11  Eli Zaretskii  <eliz@gnu.org>
79742         Improve documentation of 'read-command'
79744         * src/minibuf.c (Fread_command): Document the return value
79745         when DEFAULT-VALUE is nil and the user enters nothing.
79746         * doc/lispref/minibuf.texi (High-Level Completion): Document
79747         the printed representation of a symbol whose name is empty.
79748         (Bug#3522)
79750 2019-04-11  Eli Zaretskii  <eliz@gnu.org>
79752         Fix an outdated URL in a comment
79754         * src/emacs.c: Fix reference to Cocoa CoreFoundation Release
79755         Notes.  (Bug#35225)
79757 2019-04-11  Basil L. Contovounesios  <contovob@tcd.ie>
79759         Backport: Fix comment-empty-lines docstring (bug#35152)
79761         * lisp/newcomment.el (comment-empty-lines): Consistently use US
79762         commas in docstring.  Fix indentation of and typo in custom :type.
79764         (cherry picked from commit 690c678fb6c1fb5b2f828f9bb90782bd0b01c399)
79766 2019-04-11  Alex Branham  <alex.branham@gmail.com>
79768         Backport: Update documentation for indent-relative functions
79770         * lisp/indent.el (indent-relative): Document what happens when there
79771           is no previous nonblank line.
79772         * doc/lispref/text.texi (Relative Indent): Document
79773           indent-relative-first-indent-point instead of obsolete
79774           indent-relative-maybe. Fix documentation of which argument from
79775           'indent-relative' is used.
79777         Bug#34858
79779         (cherry picked from commit 10cd65878c741d2a22a1f2c36c54fcad4e516f72)
79781 2019-04-11  Noam Postavsky  <npostavs@gmail.com>
79783         Update nxml-mode.texi: completion now gives xmlns="-!-"
79785         * doc/misc/nxml-mode.texi (Completion): As of 2016-01-16 "* lisp/nxml:
79786         Use standard completion; it also works for company-mode", completing
79787         an attribute when there is only one candidate inserts both quotes.
79788         Update the example accordingly.
79790 2019-04-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
79792         Note that choose-completion-string-functions funcs take four args
79794         * lisp/simple.el (choose-completion-string-functions): Functions in
79795           this list actually need to accept four arguments, though the fourth
79796           should be ignored.
79798 2019-04-10  Gemini Lasswell  <gazally@runbox.com>
79800         Address name conflicts in EIEIO documentation (bug#31660)
79802         * doc/misc/eieio.texi (Quick Start): Rename the class used in the
79803         example from 'record' to 'person'.
79804         (Building Classes): Advise user to check for name conflicts before
79805         naming a class.  Add a missing apostrophe.
79806         (Making New Objects): Correct grammar.  Rename the class used in the
79807         example from 'record' to 'my-class'.
79809 2019-04-09  Mattias Engdegård  <mattiase@acm.org>
79811         Clarify the TESTFN argument to `alist-get'
79813         * lisp/subr.el (alist-get):
79814         Rephrase the initial text to clarify the meaning of the TESTFN argument.
79815         It's an equality predicate, not a look-up function (Bug#35206).
79817         (cherry picked from commit c81465580fe262f28ce47502c00f4afcbe3b8f8d)
79819 2019-04-08  Eli Zaretskii  <eliz@gnu.org>
79821         * src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)
79823 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
79825         Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'
79827         * lisp/vc/vc.el (vc-version-diff, vc-version-ediff): Describe
79828         arguments in the doc strings.  (Bug#35019)
79830 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
79832         Improve documentation of set-window-start
79834         * doc/lispref/windows.texi (Window Start and End):
79835         * src/window.c (Fset_window_start): Document that reliable
79836         setting of a window start position requires to adjust point to
79837         be visible.  (Bug#34038)
79839 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
79841         Improve documentation of window parameters
79843         * doc/lispref/windows.texi (Cyclic Window Ordering): Describe
79844         the effect of the 'other-window' window parameter.
79845         (Window Parameters): Improve the descriptions of window
79846         parameters.  Move the detailed description of the
79847         'quit-restore' window parameter from here...
79848         (Quitting Windows): ...to here.  (Bug#35063)
79850 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
79852         Improve commentary in frame.el
79854         * lisp/frame.el: Improve commentary for display-* functions.
79855         (Bug#35058)
79857 2019-04-06  Mauro Aranda  <maurooaranda@gmail.com>
79859         Fix typo in a doc string
79861         * lisp/autorevert.el (global-auto-revert-mode): Fix a typo.
79862         (Bug#35165)
79864 2019-03-20  Paul Eggert  <eggert@cs.ucla.edu>
79866         Say which regexp ranges should be avoided
79868         * doc/lispref/searching.texi (Regexp Special): Say that
79869         regular expressions like "[a-m-z]" and "[[:alpha:]-~]" should
79870         be avoided, for the same reason that regular expressions like
79871         "+" and "*" should be avoided: POSIX says their behavior is
79872         undefined, and they are confusing anyway.  Also, explain
79873         better what happens when the bound of a range is a raw 8-bit
79874         byte; the old explanation appears to have been obsolete
79875         anyway.  Finally, say that ranges like "[\u00FF-\xFF]" that
79876         mix non-ASCII characters and raw 8-bit bytes should be
79877         avoided, since it’s not clear what they should mean.
79879 2019-03-20  Nicolas Petton  <nicolas@petton.fr>
79881         * etc/AUTHORS: Update.
79883         * ; ChangeLog.3 update
79885 2019-03-20  Eli Zaretskii  <eliz@gnu.org>
79887         Improve indexing of the user manual
79889         * doc/emacs/search.texi (Word Search): Improve indexing of
79890         "M-s M-w".
79892 2019-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
79894         Fix url-copy-file arglist
79896         * lisp/url/url-handlers.el: Silence byte-compiler.
79897         (url-copy-file): Add 6th argument following change to copy-file in
79898         2012-12-16T19:22:27+01:00!romain@orebokech.com. (bug#4410)
79900 2019-03-19  Eli Zaretskii  <eliz@gnu.org>
79902         Fix downloading updates for packages with non-ASCII descriptions
79904         * lisp/emacs-lisp/package.el (package--download-one-archive):
79905         Make sure archive contents are written using UTF-8 encoding.
79906         (Bug#34909)
79907         (list-packages): Set buffer's encoding to UTF-8.
79909 2019-03-18  Nicolas Petton  <nicolas@petton.fr>
79911         * etc/NEWS: Remove temporary markers.
79913 2019-03-15  Alan Mackenzie  <acm@muc.de>
79915         * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -> @w{}
79917 2019-03-15  Eli Zaretskii  <eliz@gnu.org>
79919         Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
79921         * lisp/shell.el (shell-completion-vars): Set only the
79922         buffer-local value of 'comint-input-autoexpand'.  (Bug#34815)
79924 2019-03-13  Martin Rudalics  <rudalics@gmx.at>
79926         Document restrictions when setting window margins, fringes or scroll bars
79928         * src/window.c (Fset_window_margins, Fset_window_fringes)
79929         (Fset_window_scroll_bars): In doc-strings tell that a window
79930         must be large enough to accommodate fringes, sroll bars and
79931         margins of the desired size.
79932         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
79933         (Display Margins): Tell that windows must be large enough to
79934         accommodate fringes, sroll bars and margins of the desired
79935         size.
79937 2019-03-10  Eli Zaretskii  <eliz@gnu.org>
79939         More improvements for 'read-buffer's doc string
79941         * src/minibuf.c (Fread_buffer): Further improve the doc
79942         string.  (Bug#347694)
79944 2019-03-10  Alan Mackenzie  <acm@muc.de>
79946         * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for Emacs 26.2
79948 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
79950         * src/minibuf.c (Fread_buffer): Minor doc fixes.  (Bug#34749)
79952 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
79954         Fix markup of fake keys in the ELisp manual
79956         * doc/lispref/keymaps.texi (Menu Bar, Tool Bar): Fix markup of
79957         fake keys.  (Bug#34785)
79959 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
79961         Avoid errors in Auto Revert mode
79963         * lisp/autorevert.el (auto-revert-buffers): Cancel
79964         auto-revert-timer only if it is non-nil.  This avoids errors
79965         on first invocation of Auto-Revert mode.
79967 2019-03-09  Michael Albinus  <michael.albinus@gmx.de>
79969         Mention empty strings in file name expansion, emacs lisp reference
79971         * doc/lispref/files.texi (Files, File Name Expansion):
79972         Mention also empty strings.
79974 2019-03-08  Alan Mackenzie  <acm@muc.de>
79976         cc-mode.texi: Work around makeinfo alignment bug.  Fix problem with ss index
79978         * doc/misc/cc-mode.texi (top level): Using txicommandconditionals to
79979         differentiate between the C and perl versions of Texinfo, create an "ss
79980         index" unless we are both using the C Texinfo and are building the .dvi output
79981         format.
79982         (Config Basics): Work around a perl Texinfo alignment bug by writing a
79983         separate version of an item list structure for this version, simplifying it
79984         considerably.
79986 2019-03-08  Martin Rudalics  <rudalics@gmx.at>
79988         Warn against recursive invocations of 'buffer-list-update-hook' (Bug#34765)
79990         * src/buffer.c (Vbuffer_list_update_hook):
79991         * doc/lispref/buffers.texi (Buffer List): Warn against
79992         recursive invocations of 'buffer-list-update-hook' (Bug#34765).
79994 2019-03-08  Martin Rudalics  <rudalics@gmx.at>
79996         Provide more details in doc-string of 'delete-windows-on' (Bug#34749)
79998         * lisp/window.el (delete-windows-on): Provide more details in
79999         doc-string (Bug#34749).
80001 2019-03-08  Eli Zaretskii  <eliz@gnu.org>
80003         Improve documentation of 'delete-windows-on'
80005         * doc/emacs/windows.texi (Change Window): Document
80006         'delete-windows-on'.
80008         * lisp/window.el (delete-windows-on): Doc fix.  (Bug#34749)
80010 2019-03-08  Eli Zaretskii  <eliz@gnu.org>
80012         * lisp/frame.el (make-frame-command): Doc fix.  (Bug#34715)
80014 2019-03-07  Eli Zaretskii  <eliz@gnu.org>
80016         Avoid undefined behavior in gdb-mi.el
80018         * lisp/progmodes/gdb-mi.el (gdb-send): Don't call match-string
80019         if this is not a control command.  (Bug#34769)
80021 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
80023         * lisp/window.el (fit-frame-to-buffer): Make doc-string more accurate.
80025 2019-03-05  Basil L. Contovounesios  <contovob@tcd.ie>
80027         Minor spelling and grammar fixes (bug#34756)
80029         doc/misc/cc-mode.texi (Style Variables, Customizing Indentation):
80030         doc/misc/ede.texi (Extending EDE, ede-project-placeholder)
80031         (ede-target, ede-proj-target, ede-compilation-program, ede-compiler)
80032         (ede-linker): Remove apostrophe from possessive "it's".
80033         doc/lispintro/emacs-lisp-intro.texi (Find a File):
80034         doc/misc/gnus-faq.texi (FAQ 2-2): Write "an other" as a single word.
80035         doc/misc/gnus.texi (Article Buttons):
80036         lisp/gnus/gnus-art.el (gnus-button-mid-or-mail-heuristic-alist)
80037         (gnus-button-mid-or-mail-heuristic): Write singular number of
80038         Message-IDs, rather than plural.
80039         lisp/gnus/message.el (message-user-fqdn): Capitalize initialism.
80041 2019-03-04  Eli Zaretskii  <eliz@gnu.org>
80043         Minor improvement of documentation of '(when CONDITION . SPEC)'
80045         * doc/lispref/display.texi (Other Display Specs): Add a caveat
80046         to using the '(when CONDITION . SPEC)' display specs.
80048 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
80050         Improve documentation of 'auto-coding-functions'
80052         * doc/lispref/nonascii.texi (Default Coding Systems): Clarify
80053         that the functions in 'auto-coding-functions' are called both
80054         for decoding and for encoding.
80056         * lisp/international/mule.el (auto-coding-functions): Doc fix.
80058 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
80060         Fix visiting XML files with non-Unix EOL format
80062         * lisp/international/mule.el (sgml-xml-auto-coding-function)
80063         (sgml-html-meta-auto-coding-function): Don't use
80064         'buffer-file-coding-system' if the buffer is unibyte.
80065         (Bug#34704)
80067 2019-03-02  Basil L. Contovounesios  <contovob@tcd.ie>
80069         Update example major mode code in Elisp manual
80071         * doc/lispref/modes.texi (Example Major Modes): Update code examples
80072         to reflect current state of lisp/textmodes/text-mode.el and
80073         lisp/emacs-lisp/lisp-mode.el. (bug#34671)
80075 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
80077         Fix a typo in the Calc manual
80079         * doc/misc/calc.texi (Algebraic Tutorial): Fix parentheses in
80080         @example.  (Bug#34689)
80082 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
80084         Minor improvement in cross-references of the ELisp manual
80086         * doc/lispref/modes.texi (Minor Mode Conventions): Add
80087         cross-references to related major-mode descriptions.  (Bug#34678)
80089 2019-03-01  Tobias Bading  <tbading@web.de>  (tiny change)
80091         Fix last change on 'compilation-parse-errors'
80093         * lisp/progmodes/compile.el (compilation-parse-errors): Fix
80094         previous change in this function.  (Bug#34479)
80096 2019-02-25  Dmitry Gutov  <dgutov@yandex.ru>
80098         Backport: js--re-search-backward-inner: Fix infloop
80100         Fix JS indentation infloop reported in
80101         https://github.com/mooz/js2-mode/issues/513.
80103         * lisp/progmodes/js.el (js--re-search-backward-inner): Account for
80104         multiline string literals.
80105         * test/manual/indent/js.js: New test example.
80107         (cherry picked from commit b01a4295c2f9bb58858880e4e28b05cc8396791c)
80109 2019-02-23  Eli Zaretskii  <eliz@gnu.org>
80111         Minor improvement for docs of completion
80113         * doc/lispref/minibuf.texi (Completion Commands)
80114         (Completion in Buffers, Programmed Completion): Add to text
80115         that references completion tables a cross-reference to where
80116         "completion table" is described.
80117         (Programmed Completion): Fix the description of
80118         'completion-table-dynamic'.  Add more cross-references.
80120 2019-02-22  Ken Brown  <kbrown@cornell.edu>
80122         Disable the timerfd interface on Cygwin
80124         * configure.ac (emacs_cv_have_timerfd): Set to "no" on Cygwin.
80126 2019-02-22  Eli Zaretskii  <eliz@gnu.org>
80128         Fix a typo in the doc string of 'regex-opt'
80130         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix example in
80131         the doc string.  (Bug#34596)
80133 2019-02-21  Michael Albinus  <michael.albinus@gmx.de>
80135         Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192)
80137         * doc/misc/tramp.texi (Frequently Asked Questions): Warn about
80138         bash 5.0.0 and HISTSIZE=0.  (Bug#34192)
80140 2019-02-20  Nicolas Petton  <nicolas@petton.fr>
80142         Bump Emacs version to 26.1.92
80144         * README:
80145         * configure.ac:
80146         * msdos/sed2v2.inp:
80147         * nt/README.W32: Bump Emacs version to 26.1.92.
80149 2019-02-20  Nicolas Petton  <nicolas@petton.fr>
80151         * ; ChangeLog.3 update
80153         * etc/AUTHORS: Update.
80155 2019-02-20  Glenn Morris  <rgm@gnu.org>
80157         Remove .art from the default list of ImageMagick extensions
80159         It seems that .art files can be non-image files that
80160         ImageMagick mistakenly treats as extremely large images.
80161         Real .art images seem rare.
80162         * lisp/image.el (imagemagick-enabled-types): Remove ART.  (Bug#22289)
80164 2019-02-19  Eli Zaretskii  <eliz@gnu.org>
80166         Fix input after setting x-wait-for-event-timeout nil
80168         * src/w32term.c (x_make_frame_visible): Call unblock_input
80169         before returning early.  (Bug#34575)
80171 2019-02-19  Martin Rudalics  <rudalics@gmx.at>
80173         Fix two warnings in eshell.texi
80175         * doc/misc/eshell.texi (Built-ins, Globbing): Fix `.' or `,'
80176         must follow @xref, not `f' warnings.
80178 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
80180         * lisp/minibuffer.el (completion-table-dynamic): Improve docstring
80182 2019-02-18  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
80184         * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fix.  (Bug#34518)
80186 2019-02-17  Eli Zaretskii  <eliz@gnu.org>
80188         Fix a typo in ELisp manual
80190         * doc/lispref/abbrevs.texi (Abbrev Table Properties): Fix a
80191         typo.  (Bug#34508)
80193 2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>
80195         Update citations of Internet RFCs
80197         For example, RFC 822 has been obsoleted by RFC 2822, which in
80198         turn has been obsoleted by RFC 5322.
80199         * doc/emacs/ack.texi, doc/lispref/os.texi:
80200         * doc/misc/emacs-mime.texi, doc/misc/gnus-coding.texi:
80201         * doc/misc/gnus.texi, doc/misc/sc.texi:
80202         * lisp/calendar/parse-time.el, lisp/gnus/gnus-cite.el:
80203         * lisp/gnus/gnus-util.el, lisp/gnus/message.el:
80204         * lisp/gnus/mm-bodies.el, lisp/gnus/nnrss.el:
80205         * lisp/mail/feedmail.el, lisp/mail/ietf-drums.el:
80206         * lisp/mail/mail-extr.el, lisp/mail/mail-utils.el:
80207         * lisp/mail/mailclient.el, lisp/mail/mailheader.el:
80208         * lisp/mail/rfc2047.el, lisp/mail/rfc822.el, lisp/mail/rmail.el:
80209         * lisp/mail/sendmail.el, lisp/mail/smtpmail.el:
80210         * lisp/mail/supercite.el, lisp/mh-e/mh-e.el:
80211         * lisp/mh-e/mh-utils.el, lisp/net/imap.el:
80212         * lisp/net/newst-backend.el, lisp/org/org-id.el:
80213         * lisp/ps-samp.el, lisp/simple.el, lisp/url/url-util.el:
80214         Update RFC citations.
80216 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
80218         Fix handling of manpage references divided by hyphenation
80220         * lisp/man.el (Man-reference-regexp): Accept a newline as part
80221         of a manpage name only if it's preceded by a hyphen.  (Bug#34286)
80222         (Man-translate-references): Adapt to change in
80223         'Man-reference-regexp'.
80224         (Man-default-man-entry): Support references divided between
80225         two lines by an ASCII hyphen.  This is a left-over from fixing
80226         bug#6289.
80228 2019-02-16  Gregor Zattler  <telegraph@gmx.net>  (tiny change)
80230         * doc/misc/eshell.texi: Fix some @ref's.
80232 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
80234         Fix a typo in lispref/syntax.texi
80236         * doc/lispref/syntax.texi (Syntax Table Internals): Fix a
80237         typo.  (Bug#34495)
80239 2019-02-15  Victor J. Orlikowski  <vjo@duke.edu>  (tiny change)
80241         Avoid errors in erc-dcc.el when erc-dcc-verbose is non-nil
80243         * lisp/erc/erc-dcc.el (erc-dcc-get-filter): Don't assume STR
80244         is always a string.  Use 'buffer-name' to get the DCC file
80245         name, as buffer-file-name is not set in the process buffer.
80247 2019-02-15  Daniel Lopez  <daniel.lopez999@gmail.com>  (tiny change)
80249         Fix faces in compilation messages
80251         * lisp/progmodes/compile.el (compilation-parse-errors): Don't
80252         clobber the value of TYPE inside the loop.  (Bug#34479)
80254 2019-02-15  Gregor Zattler  <telegraph@gmx.net>
80256         * doc/misc/eshell.texi (Built-ins): Fix alias description
80258         Dear eamcs developers, eshells current documentation first states
80259         that alias definitions are not saved to an alias file, later that
80260         they are saved to an alias file.  I tested it and the latter is
80261         correct.
80263         Please find attached a patch which fixes this.
80265         Thanks for working on emacs which is really great, Gregor
80267         >From 1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
80268         From: Gregor Zattler <telegraph@gmx.net>
80269         Date: Wed, 13 Feb 2019 20:19:38 +0100
80270         Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.
80272         Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
80273         which describes the actual behaviur.
80275         (cherry picked from commit a48099ce7ff63cda416a870766fe61f5b8ac7c2c)
80277 2019-02-14  Katsumi Yamaoka  <yamaoka@jpl.org>
80279         Work for empty MIME attachments (related to bug#34387)
80281         * lisp/gnus/mm-view.el (mm-inline-text):
80282         Make undisplayer do nothing if the part is empty.
80284         * lisp/gnus/mm-decode.el (mm-copy-to-buffer): Work for empty MIME part.
80285         * lisp/gnus/mml.el (mime-to-mml): Ditto.
80287 2019-02-14  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
80289         Backport: js-indent-align-list-continuation: Make variable safe
80291         * lisp/progmodes/js.el (js-indent-align-list-continuation): Indicate
80292         variable is safe as a file-local variable.  This fixes the
80293         js-indent-align-list-continuation-nil test when run with make.
80295         (cherry picked from commit dd319f2711f895eec87c1017b82cd9d88d9ecd0a)
80297 2019-02-13  Eli Zaretskii  <eliz@gnu.org>
80299         Avoid crashes upon C-g in nested invocations of 'read_char'
80301         * src/keyboard.c (read_char, read_event_from_main_queue):
80302         Ensure the global value of getcjmp is restored when the stack
80303         is unwound by the likes of 'throw', by calling
80304         record_unwind_protect_ptr instead of restoring the value
80305         manually.  (Bug#34394)
80306         (restore_getcjmp): Argument is now 'void *', to match the
80307         signature of record_unwind_protect_ptr.
80309         (cherry picked from commit 10527fca66e39d7067986904161fa33741abcd26)
80311 2019-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
80313         * src/data.c (Fmake_local_variable): Fix bug#34318
80315         Revert part of ed962f2b8a.
80317         * test/src/data-tests.el (data-tests-make-local-forwarded-var):
80318         Add corresponding test.
80320 2019-02-12  Eli Zaretskii  <eliz@gnu.org>
80322         Minor fixes in ELisp manual wrt syntax-table properties
80324         * doc/lispref/syntax.texi (Syntax Properties): Fix reference
80325         to syntax-table properties.  (Bug#34455)
80326         (Control Parsing): Remove redundant @vindex entry.
80328 2019-02-12  Michael Albinus  <michael.albinus@gmx.de>
80330         * admin/notes/emba: New file.
80332 2019-02-11  Eli Zaretskii  <eliz@gnu.org>
80334         Fix Hunspell invocation for discovering its dictionaries
80336         * lisp/textmodes/ispell.el
80337         (ispell-find-hunspell-dictionaries): Invoke Hunspell with the
80338         -a switch, to prevent it from initializing its curses UI.
80339         (Bug#34272)
80341 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
80343         Minor improvements to do strings in callproc.c
80345         * src/callproc.c (Fcall_process, Fcall_process_region): Minor
80346         fixes to doc strings.  Suggested by Nicholas Drozd
80347         <nicholasdrozd@gmail.com>.  (Bug#34274)
80349 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
80351         Improve documentation of 'date-to-time' and 'parse-time-string'
80353         * doc/lispref/os.texi (Time Parsing): Document
80354         'parse-time-string', and refer to it for the description of
80355         the argument of 'date-to-time'.
80357         * lisp/calendar/time-date.el (date-to-time): Refer in the doc
80358         string to 'parse-time-string' for more information about the
80359         format of the DATE argument.  (Bug#34303)
80361 2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>
80363         Fix downloading of URLs that end in a slash
80365         * lisp/net/eww.el (eww-download-callback): Fix download URL
80366         file name.  Previously this wasn't handling download URLs
80367         correctly, resulting in all downloaded pages being named
80368         "!", "!(1)", etc.  (Bug#34291)
80370 2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>
80372         * doc/misc/eww.texi (Basics): Fix eww keybindings.  (Bug#34291)
80374 2019-02-08  Robert Pluim  <rpluim@gmail.com>
80376         Fix process-thread docstring
80378         * src/process.c (Fprocess_thread): Correct docstring.
80380 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
80382         Fix failures of vc-find-revision with non-ASCII file names
80384         * lisp/vc/vc.el (vc-find-revision): Instead of binding
80385         coding-system-for-write, make the buffer-file-coding-system of
80386         the temporary buffer be no-conversion.  This avoids the
80387         unwanted side effect of not encoding the command-line
80388         arguments of the VCS commands invoked by the backend.
80389         (Bug#34350)
80391 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
80393         * doc/lispref/tips.texi (Documentation Tips): Fix quotes.  (Bug#34372)
80395 2019-02-05  Alex Branham  <alex.branham@gmail.com>
80397         Add documentation for tabulated-list functions in the elisp manual
80399         * doc/lispref/modes.texi: Add documentation for
80400           'tabulated-list-delete-entry', 'tabulated-list-get-id',
80401           'tabulated-list-get-entry', 'tabulated-list-header-overlay-p',
80402           'tabulated-list-put-tag', and 'tabulated-list-set-col'.
80404         Bug#21074
80406 2019-02-03  Jean-Christophe Helary  <brandelune@gmail.com>
80408         Fix URL in ucs-normalize.el
80410         * lisp/international/ucs-normalize.el: Fix URL of the HFS
80411         normalization reference.  (Bug#34300)
80413 2019-02-03  Alan Mackenzie  <acm@muc.de>
80415         * etc/PROBLEMS: Amend entry for profiler bug #34235 to mention kernel 4.14.97
80417 2019-02-02  Glenn Morris  <rgm@gnu.org>
80419         * make-dist: Remove references to src/stamp-h.in.
80421         This file was removed two years ago in 2f89350.
80422         No need to merge to master.
80424 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
80426         * etc/PROBLEMS: Mention profiler-report bug (Bug#34235).
80428 2019-02-01  Eli Zaretskii  <eliz@gnu.org>
80430         Correct the docs of inserting kmacro counter
80432         * doc/emacs/kmacro.texi (Keyboard Macro Counter): Correct the
80433         description of the affect "C-u" has on inserting the macro
80434         counter.  Define "previous counter value".
80436         * lisp/kmacro.el (kmacro-insert-counter)
80437         (kmacro-start-macro-or-insert-counter): Fix the doc strings
80438         regarding the effect of "C-u".  (Bug#34263)
80440 2019-02-01  Nicholas Drozd  <nicholasdrozd@gmail.com>
80442         * doc/misc/calc.texi (Algebraic Tutorial): Fix a typo.  (Bug#34273)
80444 2019-02-01  Eli Zaretskii  <eliz@gnu.org>
80446         Avoid errors in 'rmail-get-new-mail'
80448         * lisp/mail/rmail.el (rmail-insert-inbox-text): Don't assume
80449         the Rmail protocol is always a string when calling
80450         'rmail-remote-proto-p'.  (Bug#34252)
80452 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
80454         Fix process-contact bug with TCP connections
80456         This fixes a regression from Emacs 25.3 (Bug#34134).
80457         * src/process.c (server_accept_connection):
80458         Set host correctly, fixing a bug introduced in
80459         2017-09-16T21:29:18Z!eggert@cs.ucla.edu
80460         when working around a GCC bug.
80462 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
80464         Minor copyedits in last manual change
80466         * doc/emacs/custom.texi (Authentication): Improve markup,
80467         indexing, and wording.
80469 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
80471         Improve documentation of face numbers
80473         * doc/lispref/display.texi (Face Functions): Mention where the
80474         face number is used and that it depends on the 'face' property
80475         of the face symbol.  Improve indexing.
80477 2019-01-27  Michael Albinus  <michael.albinus@gmx.de>
80479         * doc/emacs/custom.texi (Authentication): Refer to the "Help for users" node.
80481 2019-01-26  Michael Albinus  <michael.albinus@gmx.de>
80483         New node Authentication in the Emacs manual
80485         * doc/emacs/custom.texi (Customization):
80486         * doc/emacs/emacs.texi (Top): Add node Authentication.
80488 2019-01-25  Alan Mackenzie  <acm@muc.de>
80490         Fix a loop in c-fl-decl-start.  This fixes bug #34186.
80492         * lisp/progmodes/cc-mode.el (c-fl-decl-start) In the pair of operations
80493         c-syntactic-skip-backward and c-forward-syntactic-ws, ensure the latter
80494         doesn't come back to the position before the former, and break out of the
80495         enclosing loop if it does.
80497 2019-01-25  Eli Zaretskii  <eliz@gnu.org>
80499         Fix LaTeX output of month and day from cal-tex.el
80501         * lisp/calendar/cal-tex.el (cal-tex-cursor-week-iso)
80502         (cal-tex-week-hours): Escape a lone blank, to make it through
80503         LaTeX.  (Bug#34148)
80505 2019-01-25  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>  (tiny change)
80507         Avoid elisp crash for OpenPGP User IDs with no e-mail address
80509         * lisp/gnus/mml-sec.el (mml-secure-check-user-id): Verify that
80510         there is an e-mail address in the current User ID before trying
80511         to downcase it.  (Bug#34121)
80513 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
80515         image-mode: Do not use default scaling (bug#33990)
80517         * lisp/image-mode.el (image-toggle-display-image): Set :scale == 1 so
80518         that create-image does not apply additional scaling.
80520 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
80522         create-image: Expand documentation (bug#33990)
80524         * lisp/image.el (create-image): Discuss default for :scale in the doc
80525         string.
80527 2019-01-21  Eli Zaretskii  <eliz@gnu.org>
80529         Improve documentation of 'isearch-filter-predicate'
80531         * lisp/isearch.el (isearch-filter-predicate)
80532         (isearch-filter-visible): Doc fixes.  (Bug#34150)
80534 2019-01-19  Trevor Spiteri  <tspiteri@ieee.org>  (tiny change)
80536         Fix cursor column positioning on Grep hits
80538         * lisp/progmodes/grep.el (grep-match-face): Move before first
80539         use, to avoid byte-compilation warning.
80540         (grep-regexp-alist): Don't quote grep-match-face.  (Bug#34068)
80542 2019-01-18  Eli Zaretskii  <eliz@gnu.org>
80544         Fix a typo in ELisp manual
80546         * doc/lispref/nonascii.texi (Converting Representations): Fix
80547         inconsistency between @defun and the argument description of
80548         'byte-to-string'.  (Bug#34119)
80550 2019-01-15  Alan Third  <alan@idiocy.org>
80552         Prevent redrawing if frame is garbaged
80554         * src/nsterm.m ([EmacsView viewWillDraw]): Cancel drawing if the frame
80555         has been garbaged.
80556         * src/xdisp.c (expose_window_tree, expose_frame): Remove NS only
80557         exceptions.
80559 2019-01-14  Eli Zaretskii  <eliz@gnu.org>
80561         Attempt to fix hangs on MS-Windows due to C-g
80563         * src/w32uniscribe.c (uniscribe_otf_capability): Set
80564         inhibit-quit around calls to otf_features, because the latter
80565         cons Lisp data structures while we are in a critical section.
80566         * src/xdisp.c (ALLOCATE_HDC) [HAVE_NTGUI]: Set inhibit-quit.
80567         (RELEASE_HDC) [HAVE_NTGUI]: Restore inhibit-quit.
80568         (OPTIONAL_HDC, DECLARE_HDC): Remove macros, their job is now
80569         done by ALLOCATE_HDC and by a single #ifdef.
80570         (draw_glyphs): Adapt to the above changes in macros.
80571         (Bug#34059)
80573 2019-01-13  Eli Zaretskii  <eliz@gnu.org>
80575         Fix Calc graph output on MS-Windows
80577         The previous code relied on "pgnuplot" executable, which is
80578         no longer provided with Gnuplot 5.x.
80579         * lisp/calc/calc.el (calc-gnuplot-name): Set to "pgnuplot" on
80580         MS-Windows only if such an executable exists.
80581         * lisp/calc/calc-graph.el (calc-graph-w32-p): New defsubst.
80582         (calc-graph-plot, calc-graph-command, calc-gnuplot-command)
80583         (calc-graph-init): Call calc-graph-w32-p wherever we need to
80584         do something special for invoking gnuplot on MS-Windows,
80585         instead of comparing against calc-gnuplot-name.
80586         (calc-graph-plot): Set the terminal to "qt" on MS-Windows when
80587         pgnuplot.exe is not available.
80588         (calc-graph-kill): Delete the temporary files only after
80589         killing the gnuplot process, otherwise the deletion might fail
80590         on MS-Windows because the files are still in use.
80592 2019-01-13  Eli Zaretskii  <eliz@gnu.org>
80594         Fix a minor mistake in ELisp manual
80596         * doc/lispref/buffers.texi (Modification Time): Fix
80597         documentation of 'visited-file-modtime'.  (Bug#34055)
80599 2019-01-12  Stephen Berman  <stephen.berman@gmx.net>
80601         * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
80603 2019-01-12  Devon Sean McCullough  <Emacs-Hacker2018@jovi.net>
80605         Fix UI of Buffer-menu
80607         * lisp/buff-menu.el (Buffer-menu-execute): Don't remove
80608         entries of buffers whose killing the user didn't confirm.
80609         (Bug#33669)
80611 2019-01-12  Philip K  <philip@warpmail.net>  (tiny change)
80613         Reinitialize ispell-really-enchant when changing the speller
80615         * lisp/textmodes/ispell.el (ispell-check-version): Reset also
80616         ispell-really-enchant.  (Bug#34019)
80618 2019-01-07  Leo Liu  <sdl.web@gmail.com>
80620         Speed up loading css-mode
80622         lisp/textmodes/css-mode.el: Remove (require 'eww) which is redundant
80623         and slow.  (Bug#33939)
80625 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
80627         Adapt filenotify-tests for emba
80629         * .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.
80631         * test/lisp/filenotify-tests.el (file-notify-test03-events)
80632         (file-notify-test05-file-validity)
80633         (file-notify-test06-dir-validity)
80634         (file-notify-test07-many-events)
80635         (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
80637 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
80639         Bump Emacs version to 26.1.91
80641         * README:
80642         * configure.ac:
80643         * msdos/sed2v2.inp:
80644         * nt/README.W32: Bump Emacs version to 26.1.91.
80646 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
80648         * etc/AUTHORS: Update.
80650 2019-01-07  Leo Liu  <sdl.web@gmail.com>
80652         * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug#33939)
80654 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
80656         Improve GC+Cairo workaround
80658         Suggested by Eli Zaretskii (Bug#20890#31).
80659         * src/font.h (font_data_structures_may_be_ill_formed): New function.
80660         * src/ftfont.c (ftfont_close):
80661         * src/ftcrfont.c (ftcrfont_close): Use it.
80663         (cherry picked from commit d02fd482fbeaf6ed551e78223b538495cb0c3541)
80665 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
80667         Work around GC+Cairo bug
80669         Workaround suggested by Robert Pluim (Bug#20890#13).
80670         * src/ftfont.c (ftfont_close) [USE_CAIRO]:
80671         Do nothing if GC is in progress.
80673 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80675         Improve commentary in font.h
80677         * src/font.h (struct font, struct font_driver): Fix typos and
80678         wording in comments.  Document all driver methods.
80680 2019-01-07  Martin Rudalics  <rudalics@gmx.at>
80682         Fix definition of Qwindow_point_insertion_type (Bug#33871)
80684         * src/window.c (Qwindow_point_insertion_type): Fix definition
80685         (Bug#33871).
80687 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80689         Improve documentation of 'server-name'
80691         * doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
80692         (emacsclient Options):
80693         * lisp/server.el (server-name):  Document the usage of
80694         'server-name' to specify the server file as an absolute file
80695         name.  Do not merge to master.  (Bug#33934)
80697 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80699         Update Unicode copyright notice
80701         * admin/unidata/copyright.html: Updated version from the
80702         Unicode Consortium's site.
80704 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
80706         Handle quoted file names in filenotify.el
80708         * lisp/filenotify.el (file-notify-add-watch): Do not save
80709         quoted file names in `file-notify-descriptors'.
80711         * test/lisp/files-tests.el
80712         (files-file-name-non-special-notify-handlers): Do not expect
80713         to fail.
80715 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
80717         Fix copyright years by hand
80719         These are dates that admin/update-copyright did not update, or
80720         updated incorrectly.
80722 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
80724         Update copyright year to 2019
80726         Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
80728 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80730         * doc/man/emacs.1.in: Fix value of default frame height.  (Bug#33921)
80732 2019-01-07  Martin Rudalics  <rudalics@gmx.at>
80734         In user manual fix value of default frame height (Bug#33921)
80736         * doc/emacs/cmdargs.texi (Window Size X): Fix value of default
80737         frame height (Bug#33921).
80739 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80741         Improve documentation of 'file-local-name' and related APIs
80743         * doc/lispref/files.texi (Unique File Names)
80744         (Magic File Names, File Name Expansion): Improve documentation
80745         of the "local part" of a remote file name.
80746         * doc/lispref/processes.texi (Synchronous Processes)
80747         (Asynchronous Processes): State explicitly that program and
80748         file names passed to functions that start remote processes
80749         need to be relative or obtained by 'file-local-name'.
80751         * lisp/files.el (file-local-name):
80752         * lisp/simple.el (start-file-process, process-file): Improve
80753         the documentation of the "local part" of a remote file name,
80754         and its use in APIs that start remote processes.
80756 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
80758         Fix Bug#31704.  Do not merge
80760         * lisp/net/tramp.el (tramp-eshell-directory-change):
80761         Use `path-separator' as it does eshell.  (Bug#31704)
80763 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
80765         Fix Bug#31704.  Do not merge
80767         * lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
80768         let `expand-file-name' prefix remote file names with MS Windows
80769         volume letter.
80771         * lisp/net/tramp.el (tramp-eshell-directory-change):
80772         Use `path-separator' as it does eshell.  (Bug#31704)
80774 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80776         * lisp/files.el (cd): Fix last change.  (Bug#33791)
80778 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80780         Fix remote directories in Eshell on MS-Windows
80782         * lisp/files.el (cd): Support remote directory names on
80783         MS-Windows.  (Bug#33791)
80785 2019-01-07  Drew Adams  <drew.adams@oracle.com>
80787         Fix :type 'group' in defcustom
80789         * lisp/wid-edit.el (group): Fix the :format spec.  (Bug#33566)
80791 2019-01-07  Alan Third  <alan@idiocy.org>
80793         Fix NS fringe bitmap drawing bug (bug#33864)
80795         * src/nsterm.m (ns_draw_fringe_bitmap): Check the rectangle to clear
80796         correctly.
80798 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80800         Fix commentary in dispnew.c
80802         * src/dispnew.c (buffer_posn_from_coords): Fix inaccuracies in
80803         the commentary.
80805 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
80807         Improve accept-process-process doc
80809         * doc/lispref/processes.texi (Accepting Output):
80810         * src/process.c (Faccept_process_output):
80811         Document that (accept-process-output P) can return non-nil
80812         even after P has exited, and that it can return nil even if P
80813         is still running (Bug#33839).
80815 2019-01-07  Stephen Leake  <stephen_leake@stephe-leake.org>
80817         Fix a simple bug in display-buffer-use-some-frame
80819         * lisp/window.el (display-buffer-use-some-frame): Simplify the
80820         predicate, fix TYPE arg to window--display-buffer.
80822 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
80824         Clarify thread switching while waiting for process output
80826         * doc/lispref/threads.texi (Threads): Clarify, that thread
80827         switching happens when waiting for process output from
80828         asynchronous processes.
80830 2019-01-07  Charles A. Roelli  <charles@aurox.ch>
80832         Improve process doc. with respect to handling of large input (Bug#33191)
80834         * src/process.c (Fprocess_send_region, Fprocess_send_string):
80835         Document that process input longer than the process input
80836         buffer may be split into bunches.  Remove an outdated
80837         reference to a 500 character split boundary.
80838         * doc/lispref/processes.texi (Asynchronous Processes): Remove
80839         mention of "stray character injections" in PTY processes.  See
80840         also the comment about ICANON in src/sysdep.c, function
80841         child_setup_tty.
80843 2019-01-07  Terrence Brannon  <metaperl@gmail.com>
80845         Minor copyedits in landmark.el
80847         * lisp/obsolete/landmark.el: Fix author's email and commentary.
80849 2019-01-07  Alan Mackenzie  <acm@muc.de>
80851         Check result from c-backward-token-2 to avoid infinite loop
80853         This fixes bug #33784.
80855         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): While moving back
80856         over enclosing parentheses, check that c-backward-token-2 actually moves.
80858 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
80860         cl-make-random-state was not copying its arg
80862         Problem reported by Xu Chunyang (Bug#33731).
80863         * lisp/emacs-lisp/cl-extra.el (cl-make-random-state):
80864         Use copy-sequence, not copy-tree, so that the record is copied.
80865         * test/lisp/emacs-lisp/cl-extra-tests.el:
80866         (cl-extra-test-cl-make-random-state): New test.
80868 2019-01-07  Glenn Morris  <rgm@gnu.org>
80870         Skip a vc-bzr test if run as root
80872         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-faulty-bzr-autoloads):
80873         Skip this test when run as root.  This works around a race
80874         condition in root-specific code in vc-mode-line when deleting a file.
80876 2019-01-07  Chris Feng  <chris.w.feng@gmail.com>
80878         Backport: Handle unread-command-events consistently (bug#23980)
80880         * src/keyboard.c (read_char): Events put into `unread-command-events'
80881         with the form (t . EVENT) should always have the t stripped when read
80882         out.
80883         * test/src/keyboard-tests.el: New tests for `unread-command-events'.
80885         (cherry picked from commit 1f3f4b1296613b8cdc0632a68fde86e86ddad866)
80887 2019-01-07  Glenn Morris  <rgm@gnu.org>
80889         Restrict downcasing in elisp xref tests (bug#25534)
80891         The tests happen to not fail at the moment because find-library-name
80892         now has an extra feature, find-library--from-load-history, which
80893         happens to do a case-insensitive regexp match; but still it seems
80894         better not to rely on this.
80896         * test/lisp/progmodes/elisp-mode-tests.el (xref--case-insensitive):
80897         New variable.
80898         (xref-elisp-test-run, emacs-test-dir): Only downcase if the
80899         filesystem seems to be case-insensitive.
80901 2019-01-07  Rob Browning  <rlb@defaultvalue.org>
80903         Avoid test failures if directory name looks like a regexp
80905         Taken from <https://sources.debian.org/patches/emacs/1:26.1+1-1>
80906         * test/lisp/ibuffer-tests.el (ibuffer-filter-inclusion-3):
80907         * test/lisp/net/tramp-tests.el (tramp-test42-remote-load-path):
80908         Regexp-quote file names to avoid failures with directory names
80909         of the form "build/emacs-i87jK3/emacs-26.1+1/...".
80911 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
80913         Fix Bug#33524
80915         * lisp/progmodes/flymake-proc.el
80916         (flymake-proc-create-temp-with-folder-structure):
80917         Unquote file-name.  (Bug#33524)
80919 2019-01-07  Glenn Morris  <rgm@gnu.org>
80921         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.
80923 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
80925         More porting to GCC 8 of --enable-gcc-warnings
80927         Backport from master.
80928         I ran into this when building Emacs 26 with GCC 8 on Fedora 29 x86.
80929         * lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
80930         * lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
80931         * lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
80932         No longer const.
80933         * src/emacs-module.c: Ignore -Wcast-function-type.
80935 2019-01-07  Glenn Morris  <rgm@gnu.org>
80937         Fix an epg test for recent GnuPG versions (bug#33439)
80939         * test/lisp/epg-tests.el (epg-decrypt-1):
80940         Tell recent GnuPG (e.g. 2.2.11) not to worry about missing MDC.
80942 2019-01-07  Robert Pluim  <rpluim@gmail.com>
80944         Document font structure layout constraints
80946         This has to be the same as in src/ftcrfont.c and src/ftfont.c
80948         * src/xftfont.c (struct xftfont_info): Document layout constraints.
80950 2019-01-07  Robert Pluim  <rpluim@gmail.com>
80952         Document font structure layout constraints
80954         The layout of the initial members of ftcrfont_info must match
80955         ftfont_info
80957         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
80959         * src/ftfont.c (struct ftfont_info): Document layout constraints.
80961 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80963         Fix display of line numbers in empty lines beyond EOB
80965         * src/xdisp.c (maybe_produce_line_number): When the current
80966         line is at EOB, use the 'line-number-current-line' face only
80967         on that single line, but not on the rest of empty lines beyond
80968         EOB.  (Bug#33732)
80970 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
80972         Fix redisplay when a window's scroll bar or fringes are changed
80974         * src/window.c (set_window_fringes, set_window_scroll_bars):
80975         Set windows_or_buffers_changed flag to cause immediate
80976         thorough redisplay of a window when scroll bars or fringes are
80977         changed.  (Bug#33694)
80979 2019-01-07  Martin Rudalics  <rudalics@gmx.at>
80981         Tiny markup fix in Elisp manual
80983         * doc/lispref/lists.texi (Building Lists): Use '@var' instead
80984         of '@code' for argument.
80986 2019-01-07  Alan Mackenzie  <acm@muc.de>
80988         CC Mode: stop extra parens on expression causing false fontification as type
80990         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): recognize
80991         arithmetic operator followed by several open parentheses, not just one, as not
80992         being an argument list.
80994 2019-01-07  Ari Roponen  <ari.roponen@gmail.com>
80996         Fix cairo scrolling for side-by-side windows
80998         Backport: Fixes Bug#33442.
81000         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
81001         side-by-side split windows.  (Bug#31288)
81003         (cherry picked from commit 6e362a32bc9d21f73a0f29ca6f45481edeea6f29)
81005 2019-01-07  Alan Mackenzie  <acm@muc.de>
81007         CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer to type a"
81009         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): When testing for an
81010         identifier after "a *", on failure additionally check for a digit, setting a
81011         new flag variable got-number if one is found.  In the test for CASE 18, check
81012         this flag.
81014 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
81016         * lisp/emacs-lisp/cursor-sensor.el: Add motivation
81018 2019-01-07  Raimon Grau  <raimonster@gmail.com>
81020         Guard occur against an undefined orig-line
81022         * lisp/replace.el (occur-engine): Avoid inserting the current line if
81023         orig-line is nil.  This happens, for example, when reverting an occur
81024         buffer with `list-matching-lines-jump-to-current-line' set to t.
81025         (Bug#33476)
81027 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81029         Indexing followup to recent changes
81031         * doc/lispref/text.texi (Special Properties): Index
81032         'cursor-sensor-inhibit'.  (Bug#33664)
81034 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
81036         Improve documentation of cursor-sensor.el (bug#33664)
81038         * doc/lispref/text.texi (Special Properties): Mention cursor-sensor-inhibit.
81039         * lisp/emacs-lisp/cursor-sensor.el (Commentary): Add cursor-sensor-mode.
81040         (cursor-sensor-inhibit): Add docstring.
81042 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
81044         * doc/lispref/commands.texi (Adjusting Point): Bug#33662
81046         Tweak text to clarify intangibility.
81048 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
81050         Tramp multi-hop methods must be inline
81052         * doc/misc/tramp.texi (Ad-hoc multi-hops): Involved methods must
81053         be inline methods.
81055 2019-01-07  Ari Roponen  <ari.roponen@gmail.com>
81057         Fix scaling problem in Cairo builds
81059         * src/xterm.c (x_begin_cr_clip) [USE_GTK]:
81060         (x_update_begin) [USE_CAIRO && USE_GTK]: Support scaling.
81061         (Bug#33442)
81063 2019-01-07  Juri Linkov  <juri@linkov.net>
81065         * lisp/simple.el (next-line-or-history-element): Use current-column
81067         in all position calculations.
81068         (previous-line-or-history-element): Idem.  (Bug#33640)
81070 2019-01-07  Martin Rudalics  <rudalics@gmx.at>
81072         A few further fixes of window internals description
81074         * doc/lispref/internals.texi (Window Internals): Add a few
81075         more items and clarify description of some others.
81077 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81079         Revert "Revert "Fix infloop in GC mark_kboards""
81081         This reverts commit c418c85617babbe7b63730fefb71e2c87a0141af.
81082         This reinstates the original fix, as it had nothing to do
81083         with the behavior reported in bug#33571, which seems to be
81084         the expected behavior.
81086 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81088         Revert "Fix infloop in GC mark_kboards"
81090         This reverts commit af914fc26db273d8788e7efa57c569f0f778d037,
81091         since it caused unintended adverse effects on echoing of keys.
81092         (Bug#33571)
81094 2019-01-07  Glenn Morris  <rgm@gnu.org>
81096         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice.
81098 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
81100         Fix infloop in GC mark_kboards
81102         Do not merge to master, as I have a more systematic fix there.
81103         * src/keyboard.c (mark_kboards): Fix infloop (Bug#33547).
81105 2019-01-07  Alan Third  <alan@idiocy.org>
81107         Fix macOS run-time feature check
81109         * src/nsterm.m (x_set_parent_frame) [NS_IMPL_COCOA]: Fix run-time
81110         feature check.
81112 2019-01-07  Stefan Monnier  <monnier@iro.umontreal.ca>
81114         * etc/NEWS-*: Fix capitalization of "Emacs"
81116 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81118         Fix "M-x man" when there's no 'man' program on PATH
81120         * lisp/man.el (Man-bgproc-sentinel): Make sure the process
81121         buffer is not read-only when inserting a message into it.
81122         (Bug#33510)
81124 2019-01-07  Paul Eggert  <eggert@cs.ucla.edu>
81126         Fix core dump in dbus-message-internal
81128         Backport from master.
81129         * src/dbusbind.c (Fdbus_message_internal):
81130         Don’t go past array end (Bug#33530).
81132 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
81134         * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
81136 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81138         Improve documentation of gdb-mi.el
81140         * lisp/progmodes/gdb-mi.el (gdb-show-changed-values)
81141         (gdb-max-children): Doc fixes.
81143         * doc/emacs/building.texi (Source Buffers, Stack Buffer)
81144         (GDB User Interface Layout): Mention some additional
81145         customizable variables.  (Bug#33548)
81147 2019-01-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
81149         LDAP: Set process-connection-type to t on Darwin
81151         * lisp/net/ldap.el (ldap-search-internal): Set
81152         process-connection-type to t on Darwin.  Do not merge to
81153         master.  (Bug#33050)
81155 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81157         Fix a typo in a doc string
81159         * lisp/emacs-lisp/map-ynp.el (read-answer-short): Fix typo.
81160         (Bug#33528)
81162 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81164         Minor markup fix in frames.texi
81166         * doc/lispref/frames.texi (Frame Layout): Fix markup of @table
81167         entries.  (Bug#33531)
81169 2019-01-07  Glenn Morris  <rgm@gnu.org>
81171         * lisp/net/trampver.el (customize-package-emacs-version-alist):
81172         Add 2.3.3.
81174         * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): Additions.
81176 2019-01-07  Glenn Morris  <rgm@gnu.org>
81178         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to message.
81180 2019-01-07  Robert Pluim  <rpluim@gmail.com>
81182         Don't call xwidget functions until GTK has been initialized
81184         Follow up fix to Bug#33294.
81186         * src/gtkutil.c: Define xg_gtk_initialized.
81187         (xg_initialize): Set it when GTK has finished initializing.
81189         * src/gtkutil.h: Declare xg_gtk_initialized.
81191         * src/xwidget.c (Fmake_xwidget): Error out if GTK has not been
81192         initialized.
81193         (xwidget_init_view): Likewise.
81195 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81197         Improve documentation of Ediff wordwise commands
81199         * lisp/vc/ediff.el (ediff-windows-wordwise)
81200         (ediff-windows-linewise, ediff-regions-wordwise): Update and
81201         clarify the doc strings.
81203         * doc/misc/ediff.texi (Major Entry Points): Update and clarify
81204         the documentation of 'ediff-windows-wordwise' and
81205         'ediff-regions-wordwise'.  See the discussion starting at
81206         https://lists.gnu.org/r/help-gnu-emacs/2018-11/msg00197.html
81207         for the details.
81209 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81211         Support Hunspell 1.7.0 in ispell.el
81213         * lisp/textmodes/ispell.el
81214         (ispell-find-hunspell-dictionaries): Invoke Hunspell with an
81215         additional command-line argument, to work around a misfeature
81216         in Hunspell 1.7.0 that prevents it from reporting the loaded
81217         dictionary.  (Bug#33493)
81219 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81221         Avoid clearing echo-area message by auto-save-visited-file-name
81223         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Record the
81224         previous echo-area message, if any, and restore it before
81225         exiting.  (Bug#33490)
81227 2019-01-07  Alan Third  <alan@idiocy.org>
81229         Set tooltip text color (bug#33452)
81232         * src/nsmenu.m: ([EmacsTooltip init]): Set text color to black.
81234 2019-01-07  Alan Third  <alan@idiocy.org>
81236         Fix more drawing bugs in NS port (bug#32932)
81238         * src/nsterm.m (ns_row_rect): New function.
81239         (ns_clip_to_row): Remove function.
81240         (ns_copy_bits): Fix mistake.
81241         (ns_shift_glyphs_for_insert): Mark the frame as dirty instead of
81242         directly copying.
81243         (ns_draw_fringe_bitmap): Stop using ns_clip_to_row.
81244         (ns_draw_window_cursor): Stop using ns_clip_to_row and perform a
81245         display when not in redisplay.
81246         (ns_update_window_begin): Remove redundant code that never executes.
81247         ([EmacsView drawRect:]): Show the rectangle being exposed in NSTRACE.
81248         * src/xdisp.c (expose_window_tree) [HAVE_NS]:
81249         (expose_frame) [HAVE_NS]: Redraw even if the frame is garbaged.
81251 2019-01-07  Alan Mackenzie  <acm@muc.de>
81253         Fix bug #33416, where typing a ) in a comment at EOB caused a loop (CC Mode).
81255         * lisp/progmodes/cc-mode.el (c-fl-decl-start): A c-forward-syntactic-ws leaves
81256         point inside whitespace when moving over a comment at EOB which has no
81257         terminating LF.  Check this possibility and correct for it.
81259 2019-01-07  Ulrich Müller  <ulm@gentoo.org>
81261         Update the calc units table
81263         On 2018-11-16, the 26th meeting of the General Conference on Weights
81264         and Measures (CGPM) has redefined the International System of Units by
81265         adopting fixed values for the Planck constant, the elementary charge,
81266         the Boltzmann constant, and the Avogadro constant:
81267         https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf
81269         * lisp/calc/calc-units.el (math-standard-units): Update according
81270         to redefinition of the SI in 2018.  (Bug#33412)
81272 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81274         Improve indexing in the ELisp manual
81276         * doc/lispref/control.texi (Control Structures, Sequencing)
81277         (Conditionals, Iteration, Catch and Throw, Handling Errors)
81278         (Cleanups):
81279         * doc/lispref/eval.texi (Self-Evaluating Forms)
81280         (Symbol Forms, Function Forms, Macro Forms, Special Forms)
81281         (Quoting, Backquote): Add index entries that begin with
81282         "forms".  (Bug#33440)
81284 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81286         More Symbola-related extensions for default fontset
81288         * lisp/international/fontset.el (setup-default-fontset): Add
81289         few more blocks of symbols and punctuation supported by latest
81290         Symbola.
81292 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81294         Better support for display of U+1F900..U+1F9FF block
81296         * lisp/international/fontset.el (setup-default-fontset): Add
81297         the [#x1F900..#x1F9FF] block to those supported by Symbola.
81299 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81301         Improve documentation of 'edit-abbrevs-mode'
81303         * lisp/abbrev.el (edit-abbrevs-mode): Refer to 'edit-abbrevs'
81304         for more detailed usage information.  (Bug#33443)
81305         (edit-abbrevs): Doc fix.
81307 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81309         Improve documentation of 'dired-do-compress'
81311         * lisp/dired-aux.el (dired-do-compress): Describe in the doc
81312         string the effect on directories and on compressed archive.
81313         (Bug#33450)
81315 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81317         Improve doc string and display of 'describe-character'
81319         * lisp/descr-text.el (describe-char): Explain how does the
81320         function obtain the various data about the character.  Don't
81321         display "preferred" before "charset": it tends to confuse
81322         people.
81324 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81326         * etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)
81328 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81330         Update the docs of object internals
81332         * doc/lispref/internals.texi (Buffer Internals)
81333         (Window Internals, Process Internals): Update the descriptions
81334         of Lisp objects.
81336 2019-01-07  Stephen Berman  <stephen.berman@gmx.net>
81338         Fix two Edebug defcustoms (bug#33428)
81340         * lisp/emacs-lisp/edebug.el (edebug-print-length)
81341         (edebug-print-level): Fix customization type to allow setting
81342         the documented valid value nil via the Customize interface.
81344 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
81346         Fix Bug#33141
81348         * lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
81349         empty method with simplified `tramp-syntax'.  (Bug#33141)
81351 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81353         Improve documentation of the window tree
81355         * doc/lispref/windows.texi (Windows and Frames): More accurate
81356         wording regarding the relation of a mini-window to its frame's
81357         window tree.
81359         * src/window.h (struct window): Improve commentary to some
81360         fields.
81362 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81364         Fix window scrolling on TTY frames when there's no mode line
81366         * src/window.c (window_internal_height): Remove tests for
81367         next, prev, and parent pointers, as they are unrelated to
81368         whether a window has a mode line.  (Bug#33363)
81370 2019-01-07  Eli Zaretskii  <eliz@gnu.org>
81372         Fix decoding XML files encoded in ISO-8859
81374         * lisp/international/mule.el (sgml-xml-auto-coding-function):
81375         Avoid signaling an error from coding-system-equal when the XML
81376         encoding tag specifies an encoding whose type is 'charset'.
81377         (Bug#33429)
81379 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
81381         * etc/AUTHORS: Update.
81383 2018-11-18  Martin Rudalics  <rudalics@gmx.at>
81385         Fix description of some window hooks
81387         * doc/lispref/windows.texi (Window Hooks): Remove text that
81388         warns against using 'save-window-excursion' while running
81389         'window-size-change-functions', it's no more relevant.
81390         Clarify description of 'window-configuration-change-hook'.
81392 2018-11-18  Gary Fredericks  <fredericksgary@gmail.com>  (tiny change)
81394         Run 'window--adjust-process-windows' when frame size changes (Bug#32720)
81396         * lisp/window.el (window-size-change-functions): Run
81397         'window--adjust-process-windows' from
81398         'window-size-change-functions' too (Bug#32720, "another issue"
81399         in Bug#33230).
81401 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
81403         Avoid errors in zone.el when there's overlay at EOB
81405         * lisp/play/zone.el (zone): Make sure the window-end position
81406         is calculated accurately, to avoid errors from
81407         buffer-substring.  (Bug#33384)
81409 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
81411         Document Emacs 26 behavior of Dired's 'Z' on directories
81413         * doc/emacs/dired.texi (Operating on Files): Document behavior
81414         of 'Z' on directories.
81416         * etc/NEWS: Belatedly announce the new behavior of Dired's 'Z'
81417         on directory names and on .tar.gz archives.
81419 2018-11-15  Eli Zaretskii  <eliz@gnu.org>
81421         Fix a typo in the Emacs manual
81423         * doc/emacs/rmail.texi (Rmail Deletion): Fix a typo.
81424         Reported by Jorge P. de Morais Neto <jorge+list@disroot.org>
81425         in emacs-manual-bugs@gnu.org
81427 2018-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81429         Fix tempfile creation when byte compiling
81431         This improves on the recent fix for master failing to build
81432         on FreeBSD.  Suggested by Stefan Monnier in:
81433         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
81434         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
81435         Put tempfile next to the target file, as was the original intent.
81437         (cherry picked from commit 64c846738617d1d037eac0cefb6586c04317b0a1)
81439 2018-11-14  Markus Triska  <triska@metalevel.at>
81441         Small documentation correction.
81443         * doc/lispref/windows.texi (Textual Scrolling): In the description of
81444         scroll-up-aggressively, refer to scroll-down-aggressively instead of
81445         a recursive reference to scroll-up-aggressively.  (Bug#33369)
81447 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
81449         * src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug#33372)
81451 2018-11-14  Michael Albinus  <michael.albinus@gmx.de>
81453         Fix Bug#33364
81455         * lisp/net/tramp.el (tramp-parse-sconfig-group): Support also
81456         "Host host1 host2 ..." syntax.  (Bug#33364)
81458 2018-11-13  Michael Albinus  <michael.albinus@gmx.de>
81460         * test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.
81462 2018-11-12  Glenn Morris  <rgm@gnu.org>
81464         Avoid kill-emacs-hook errors hanging batch mode
81466         * src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
81467         hanging Emacs in batch mode.  (Bug#29955)
81469         (cherry picked from commit 109da684c5124e22505917fe0255ca66f2a6bfc9)
81471 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
81473         Bump Emacs version to 26.1.90
81475         * README:
81476         * configure.ac:
81477         * msdos/sed2v2.inp:
81478         * nt/README.W32: Bump Emacs version to 26.1.90.
81480 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
81482         * etc/AUTHORS: Update.
81484 2018-11-12  Paul Eggert  <eggert@cs.ucla.edu>
81486         Work around dumping bug on GNU/Linux ppc64le
81488         Problem reported by Thomas Fitzsimmons (Bug#33174).
81489         Do not merge to master, as we have a better fix there.
81490         * src/Makefile.in (emacs$(EXEEXT)):
81491         (bootstrap-emacs$(EXEEXT)):
81492         Unset EMACS_HEAP_EXEC before invoking temacs.
81494 2018-11-11  Eli Zaretskii  <eliz@gnu.org>
81496         * lisp/files.el (write-file): Clarify the doc string.  (Bug#33339)
81498 2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>
81500         Fix typos in midnight.el
81502         * lisp/midnight.el (clean-buffer-list-delay-general)
81503         (clean-buffer-list-kill-regexps)
81504         (clean-buffer-list-kill-buffer-names): Fix docstring typos.
81506 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
81508         Improve documentation of 'move-file-to-trash'
81510         * doc/emacs/files.texi (Misc File Ops): Index
81511         move-file-to-trash.  State that the way to restore trashed
81512         files is system-dependent.
81514 2018-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
81516         * src/data.c (Ftype_of): xwidget objects are possible! (bug#33294)
81518         (syms_of_data): Define Qwidget here.
81519         * src/xwidget.c (syms_of_xwidget): Instead of here.
81521 2018-11-09  Eli Zaretskii  <eliz@gnu.org>
81523         Improve documentation of Diff mode
81525         * doc/emacs/files.texi (Diff Mode): Document the effect of
81526         prefix argument on the Diff mode's commands.  Document
81527         'diff-jump-to-old-file'.
81529 2018-11-09  Noam Postavsky  <npostavs@gmail.com>
81531         Note that lex bound lambda forms are not self-quoting (Bug#33199)
81533         * doc/lispref/functions.texi (Anonymous Functions):
81534         * lisp/subr.el (lambda): Note that under lexical binding a lambda form
81535         yields a closure object (Bug#33199).
81537 2018-11-08  Martin Rudalics  <rudalics@gmx.at>
81539         Rewrite buffer display related doc-strings and doc
81541         * lisp/window.el (display-buffer-overriding-action)
81542         (display-buffer-alist, display-buffer-base-action)
81543         (display-buffer-fallback-action, display-buffer-assq-regexp)
81544         (display-buffer): Rewrite doc-strings using suggestions by
81545         Alan Mackenzie <acm@muc.de>.
81546         (display-buffer-use-some-frame): Adjust doc-string and
81547         reformat code.
81548         * doc/lispref/windows.texi (Buffer Display Action Alists):
81549         Make docs on 'window-height', 'window-width' and
81550         'preserve-size' entries more accurate.
81552 2018-11-06  Eli Zaretskii  <eliz@gnu.org>
81554         Fix call to GlobalMemoryStatusEx in w32.c
81556         * src/w32.c (system_process_attributes): Initialize the size
81557         of the data structure passed to GlobalMemoryStatusEx,
81558         otherwise it fails.
81560 2018-11-04  Eli Zaretskii  <eliz@gnu.org>
81562         Improve recent changes in documentation of window handling
81564         * doc/lispref/windows.texi (Displaying Buffers)
81565         (Choosing Window, Buffer Display Action Functions)
81566         (Buffer Display Action Alists, Choosing Window Options)
81567         (Precedence of Action Functions, The Zen of Buffer Display):
81568         Fix wording, punctuation, and markup.  Remove redundant
81569         cross-references.
81571         * doc/emacs/windows.texi (Window Choice, Temporary Displays):
81572         Fix wording and punctuation.
81574 2018-11-04  Martin Rudalics  <rudalics@gmx.at>
81576         Rewrite documentation of buffer display
81578         * doc/emacs/windows.texi (Window Choice): Rewrite, replacing
81579         references to older buffer display options with references to
81580         and examples of buffer display actions.
81581         (Temporary Displays): Rewrite display of *Completions*
81582         example.
81584         * doc/lispref/elisp.texi (Top): New Windows section
81585         'Displaying Buffers'.
81586         * doc/lispref/frames.texi (Child Frames): Adjust cross
81587         reference.
81588         * doc/lispref/windows.texi (Windows): New section 'Displaying
81589         Buffers'.  Move sections 'Choosing Window', 'Display Action
81590         Functions' and 'Choosing Window Options' there and adjust
81591         namings.  Preferably write 'Buffer Display Action' instead of
81592         'Display Action'.  More consistently use @w{} to make key
81593         binding specifications unsplittable.
81594         (Displaying Buffers): New section.
81595         (Choosing Window): Make it a subsection of 'Displaying
81596         Buffers'.  More explicitly describe how 'display-buffer'
81597         compiles its list of action functions and the action alist.
81598         (Buffer Display Action Functions): Rename from 'Display Action
81599         Functions', make it a subsection of 'Displaying Buffers' and
81600         rewrite it.  Elide more detailed descriptions of action alist
81601         entries; these are now in the new section 'Buffer Display
81602         Action Functions'.  Remove example.
81603         (Buffer Display Action Alists): New subsection of 'Displaying
81604         Buffers' giving a comprehensive description of recognized
81605         action alist entries with appropriate indexing.  Contents were
81606         partially moved here from the old 'Display Action Functions'
81607         section.
81608         (Choosing Window Options): Make it a subsection of 'Displaying
81609         Buffers'.  Add examples of how to rewrite old buffer display
81610         options with the help of buffer display actions.
81611         (Precedence of Action Functions): New subsection of
81612         'Displaying Buffers' explaining the execution order of action
81613         functions with the help of a detailed example.
81614         (The Zen of Buffer Display): New subsection of 'Displaying
81615         Buffers' supplying guidelines on how to write and use buffer
81616         display actions with examples.
81617         (Side Windows, Displaying Buffers in Side Windows)
81618         (Frame Layouts with Side Windows, Atomic Windows): Update
81619         references to the 'Displaying Buffers' subsections.
81621 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
81623         Improve documentation of destructuring-binding macros
81625         * lisp/emacs-lisp/pcase.el (pcase-dolist, pcase-let)
81626         (pcase-let*): Improve the doc strings.
81628         * doc/lispref/sequences.texi (Sequence Functions): Improve
81629         wording and rename arguments of seq-let to be more
81630         descriptive.  Add a cross-reference to "Destructuring with
81631         pcase Patterns".
81632         * doc/lispref/control.texi (Pattern-Matching Conditional):
81633         Improve wording and the menu.
81634         (pcase Macro): Incorporate patch suggested by Paul Eggert
81635         <eggert@cs.ucla.edu>.  Reformat text.
81636         (Destructuring with pcase Patterns): Rename from
81637         "Destructuring patterns", and improve wording and indexing.
81639 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
81641         Avoid byte compilation warning in rcirc.el
81643         * lisp/net/rcirc.el (rcirc-prompt-start-marker): Move
81644         definition before 1st use to avoild byte-compiler warning.
81646 2018-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
81648         Avoid race in rcirc process filter (bug#33145)
81650         * lisp/net/rcirc.el (rcirc-filter): Clear rcirc-process-output
81651         before processing its constituent lines.  Otherwise, if rcirc-filter
81652         runs again before the last rcirc-process-server-response is
81653         finished, the contents of rcirc-process-output could be duplicated.
81655 2018-11-03  Jordan Wilson  <jordan.t.wilson@gmx.com>  (tiny change)
81657         Avoid file-name errors when viewing PDF from Gnus
81659         * lisp/doc-view.el (doc-view-mode): Run the output file name
81660         through 'convert-standard-filename', to avoid problems with
81661         characters that are not allowed in file names on some
81662         systems.  (Bug#32989)
81664 2018-11-02  Eli Zaretskii  <eliz@gnu.org>
81666         Avoid crashes with remapped default face in Org mode
81668         * src/xfaces.c (face_at_buffer_position): Look up BASE_FACE_ID
81669         anew if it is not in the frame's face cache.  This avoids
81670         crashes when Org mode sets up for a new major mode in embedded
81671         code fragment, and the default face is remapped.  (Bug#33222)
81673 2018-11-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
81675         Doc fix for checkdoc-continue
81677         * lisp/emacs-lisp/checkdoc.el (checkdoc-continue): There is no second
81678           optional argument, and the function always starts from point.
81680 2018-11-01  Eli Zaretskii  <eliz@gnu.org>
81682         Fix a typo in autoload.el
81684         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
81685         Remove stray backslashes.  (Bug#33231)
81687 2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
81689         * doc/lispref/control.texi (Destructuring patterns): New subsection.
81691 2018-10-31  Gemini Lasswell  <gazally@runbox.com>
81693         Add regression test for Bug#33014
81695         Backport from master.
81696         * test/src/eval-tests.el:
81697         (eval-tests-byte-code-being-evaluated-is-protected-from-gc): New test.
81698         (eval-tests-33014-var): New variable.
81699         (eval-tests-33014-func, eval-tests-33014-redefine): New functions.
81701 2018-10-31  Paul Eggert  <eggert@cs.ucla.edu>
81703         Refer to bytecode constant vectors (Bug#33014)
81705         Backport from master.
81706         * src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
81707         so that it survives GC.  The stack slot was otherwise unused,
81708         so this doesn’t cost us memory, only a store insn.
81710 2018-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
81712         * lisp/emacs-lisp/pcase.el: Improve docstrings.
81714 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
81716         * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#33205)
81718 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
81720         Improve doc string of 'call-process'
81722         * src/callproc.c (Fcall_process): Clarify DESTINATION in the
81723         doc string.
81725 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
81727         Document that generic functions cannot be commands
81729         * doc/lispref/commands.texi (Defining Commands):
81730         * doc/lispref/functions.texi (Generic Functions): Document
81731         that generic functions cannot be turned into commands.
81732         (Bug#33170)
81734 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
81736         * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word to doc.
81738 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
81740         Add index entries for more isearch commands/bindings (Bug#32990)
81742         * doc/emacs/search.texi (Basic Isearch): Index isearch-exit,
81743         isearch-abort, isearch-cancel, isearch-repeat-forward,
81744         isearch-repeat-backward and their bindings.
81745         (Repeat Isearch): Index isearch-ring-advance,
81746         isearch-ring-retreat and isearch-edit-string.
81747         (Special Isearch): Index isearch-quote-char,
81748         isearch-char-by-name and their bindings.  Index
81749         isearch-query-replace and isearch-query-replace-regexp, and
81750         the latter's binding.  Explain what
81751         isearch-query-replace-regexp does.  Index isearch-complete.
81752         (Word Search): Index isearch-toggle-word.
81754 2018-10-27  Noam Postavsky  <npostavs@gmail.com>
81756         * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#33179).
81758 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
81760         Fix recent change in lispref/processes.texi.
81762         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
81763         wording.  Suggested by Thomas Fitzsimmons <fitzsim@fitzsim.org>.
81764         (Bug#33050)
81766 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
81768         * lisp/simple.el (region-extract-function): Doc fix.  (Bug#33167)
81770         * lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)
81772 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
81774         Improve documentation of 'process-connection-type'
81776         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
81777         better when it is advisable to use pipes for communicating
81778         with subprocesses.  (Bug#33050)
81780 2018-10-27  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
81782         Unify prompt for gnupg passphrase between GNU/Linux and MS-Windows.
81784         * lisp/epg.el (epg--start): Use 'raw-text' for coding system instead
81785         of 'binary', in order to avoid spurious carriage return on Microsoft
81786         Windows and MS-DOS when prompting for a password.  (Bug#33040)
81788 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
81790         Doc fix of 'gnus-fetch-old-headers'
81792         * lisp/gnus/gnus-sum.el (gnus-fetch-old-headers): Avoid
81793         treating 'some' and 'invisible' as symbols that need to be
81794         hyperlinked.  Reported by Robert Pluim <rpluim@gmail.com>.
81795         (Bug#33090)
81797 2018-10-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
81799         Deactivate incorrect hyperlinking in gnus-build-sparse-threads doc
81801         * lisp/gnus/gnus-sum.el (gnus-build-sparse-threads): Add the word
81802         "symbol" so it doesn't link to the `some' function.  (Bug#33090)
81804 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
81806         Minor copyedits in cmdargs.texi
81808         * doc/emacs/cmdargs.texi (Initial Options): Document '-nsl'.
81809         Add a cross-reference to "Writing Dynamic Modules".
81811 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
81813         Improve documentation of X resource loading
81815         * doc/emacs/cmdargs.texi (Initial Options):
81816         * doc/emacs/frames.texi (Frame Parameters):
81817         * doc/emacs/xresources.texi (Resources): Document the
81818         '--no-x-resources' command-line option and the fact that X
81819         resources override .emacs settings of frame parameters.
81820         (Bug#32975)
81822 2018-10-27  Michael Albinus  <michael.albinus@gmx.de>
81824         * lisp/net/tramp-sh.el (tramp-inline-compress-commands):
81826         Suppress warnings about obsolete environment variable GZIP.
81828 2018-10-25  Noam Postavsky  <npostavs@gmail.com>
81830         Don't error when indenting malformed Lisp (Bug#30891)
81832         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): If we run out
81833         of indent stack, reset the parse state.
81835 2018-10-25  Charles A. Roelli  <charles@aurox.ch>
81837         Improve 'isearch-delete-char' documentation (Bug#32990)
81839         * doc/emacs/search.texi (Basic Isearch): Index
81840         'isearch-delete-char', its keybinding and the isearch "input
81841         item" concept, and define the latter.
81842         (Error in Isearch): Clarify the different uses of DEL and
81843         C-M-w during isearch.
81845         * lisp/isearch.el (isearch-delete-char): Correct its
81846         documentation and link to the Info node '(emacs)Basic Isearch'
81847         which explains less technically how this function works in
81848         everyday usage.
81850 2018-10-25  Alan Third  <alan@idiocy.org>
81852         Improve XPM load failure message (bug#33126)
81854         * src/image.c (xpm_load_image): Only XPM3 is supported, so make that
81855         explicit.
81857 2018-10-25  Eli Zaretskii  <eliz@gnu.org>
81859         Avoid infloop in CPerl mode fontification
81861         * lisp/progmodes/cperl-mode.el
81862         (cperl-font-lock-fontify-region-function): Stop the loop at
81863         EOB, to avoid inflooping there.  (Bug#33114)
81865 2018-10-25  Andreas Schwab  <schwab@suse.de>
81867         Fix minibuffer-help-form for lexical binding
81869         * lisp/simple.el (set-variable): Substitute var into
81870         minibuffer-help-form.
81871         * lisp/cus-edit.el (custom-prompt-variable): Likewise.
81873 2018-10-24  Alan Third  <alan@idiocy.org>
81875         Fix some NS drawing issues (bug#32932)
81877         * src/nsterm.m (ns_clip_to_rect):
81878         (ns_reset_clipping): Remove gsaved variable and associated code.
81879         (ns_flush_display): Remove function.
81880         (ns_copy_bits): use translateRectsNeedingDisplayInRect:by: to copy any
81881         pending drawing actions along with the image.
81882         ([EmacsView windowWillResize:toSize:]): Remove unneeded call.
81883         ([EmacsView drawRect:]): Remove redundant call to ns_clear_frame_area,
81884         and optimize the exposed rectangles.
81885         (ns_draw_window_cursor): Remove unneeded disabling of screen updates.
81887 2018-10-24  Katsumi Yamaoka  <yamaoka@jpl.org>
81889         * lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-string args.
81891 2018-10-24  Noam Postavsky  <npostavs@gmail.com>
81893         * doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.
81895 2018-10-23  Robert Pluim  <rpluim@gmail.com>
81897         Correct typo in GNU ELPA url
81899         * doc/misc/efaq.texi (Packages that do not come with Emacs):
81900         Correct typo in GNU ELPA url (Bug#33072).  Change other url
81901         references to use https scheme.
81903 2018-10-22  Eli Zaretskii  <eliz@gnu.org>
81905         * doc/misc/dired-x.texi (Omitting Variables): Fix wording. (Bug#33112)
81907 2018-10-20  Michael Heerdegen  <michael_heerdegen@web.de>
81909         Fix help-form binding in dired-create-files
81911         This fixes Bug#32630: since "dired-aux" moved to lexical binding mode,
81912         the free variable TO in the constructed HELP-FORM got out of scope of
81913         the surrounding 'let'.
81915         * lisp/dired-aux.el (dired-create-files): Make the binding of
81916         HELP-FORM a string.
81918 2018-10-20  Eli Zaretskii  <eliz@gnu.org>
81920         Fix a pasto in a Gnus doc string
81922         * lisp/gnus/gnus-art.el (gnus-article-treat-fold-newsgroups):
81923         Doc string fix.  (Bug#33081)
81925 2018-10-19  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
81927         Update revert-buffer documentation
81929         * doc/emacs/files.texi (Reverting): Document that revert-buffer
81930         does keep undo history.  (Bug#33084)
81932 2018-10-18  Juri Linkov  <juri@linkov.net>
81934         * lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load file with .el suffix.
81936         For the case when load-prefer-newer is t, ensure loading the right file
81937         by explicitly adding the .el suffix.  Use the same variable names
81938         as in the function smtpmail-send-it.  (Bug#33055)
81940 2018-10-16  Glenn Morris  <rgm@gnu.org>
81942         Tweak Makefile emacs-module.h handling
81944         * Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
81945         Handle whitespace.  Remove non-portable mkdir argument.
81947         (cherry picked from commit c1d0dbd6ca92cb221024382b19654e4fbf1d1ed3)
81949 2018-10-16  Philipp Stephani  <phst@google.com>
81951         Install emacs-module.h (Bug#31929)
81953         * Makefile.in (includedir): New variable.
81954         (install-arch-indep): Install emacs-module.h.
81955         (uninstall): Uninstall emacs-module.h.
81957         (cherry picked from commit 00ea749f2af44bff6ea8c1259477fbf0ead8a306)
81959 2018-10-15  Alan Mackenzie  <acm@muc.de>
81961         Clarify documentation of fractional vertical scrolling and some doc strings
81963         * doc/lispref/windows.texi (vertical scrolling): Clarify the meaning of
81964         vertical scrolling by referring to tall screen lines, images, and the display
81965         action.  Clarify an ambiguous English tense.
81967         * src/window.c (window-vscroll, set-window-vscroll): Amend doc strings to
81968         refer to display.
81970 2018-10-15  Charles A. Roelli  <charles@aurox.ch>
81972         * lisp/isearch.el (isearch-cmds): Recall absent isearch--state slot.
81974 2018-10-14  Alan Mackenzie  <acm@muc.de>
81976         doc/lispref/edebug.texi (Specification List) Remove obstrusive blank line
81978 2018-10-14  Eli Zaretskii  <eliz@gnu.org>
81980         Fix wording in module API documentation
81982         * doc/lispref/internals.texi (Module Functions): Fix confusing
81983         wording.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.
81985 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
81987         Fix redisplay of glyphless characters
81989         * src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
81990         builds.  Suggested by Tom Tromey <tom@tromey.com>.  (Bug#33017)
81991         * src/dispnew.c (scrolling_window): Update commentary
81992         regarding xwidget builds.
81994 2018-10-13  Robert Pluim  <rpluim@gmail.com>
81996         Update --without-toolkit-scroll-bars doc
81998         * configure.ac (--without-toolkit-scroll-bars): Update list of
81999         affected toolkits.
82001 2018-10-13  Robert Pluim  <rpluim@gmail.com>
82003         Call GTK functions only on GTK scrollbars
82005         * src/gtkutil.c (xg_set_background_color) [USE_TOOLKIT_SCROLL_BARS]:
82006         Don't call GTK functions on non-GTK scrollbars (Bug#32975).
82008 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
82010         Update the description of startup in ELisp manual
82012         * doc/lispref/os.texi (Startup Summary): Remove stale
82013         reference to window-system-initialization-alist.  Reported by
82014         Zhang Haijun <ccsmile2008@outlook.com>.
82016 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
82018         Use the 'line-number' face for line-number fields past EOB
82020         * src/xdisp.c (get_phys_cursor_geometry): Treat rows at and
82021         beyond ZV specially.  Don't let the cursor exceed the
82022         vertical dimensions of the row.
82023         (maybe_produce_line_number): Use the 'line-number' face
82024         instead of 'default' for blank fields beyond ZV.  Don't update
82025         the IT metrics when displaying blank line-number fields beyond
82026         ZV.  (Bug#32337)
82028 2018-10-12  Alan Third  <alan@idiocy.org>
82030         Ensure NS frame is redrawn correctly  after scroll
82032         * src/nsterm.m (ns_copy_bits): Set needsDisplay so the previous cursor
82033         position is redrawn.
82035 2018-10-12  Alex Branham  <alex.branham@gmail.com>
82037         Avoid byte-compiler warning in em-rebind.el
82039         * lisp/eshell/em-rebind.el (eshell-delete-backward-char): Use
82040         'delete-char' instead of delete-backward-char.  (Bug#32945)
82042 2018-10-12  Eli Zaretskii  <eliz@gnu.org>
82044         Improve indexing of 'C-SPC C-SPC'
82046         * doc/emacs/mark.texi (Disabled Transient Mark): Fix
82047         indexing.  (Bug#32959)
82049 2018-10-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
82051         Fix bug with precious entries in Gnus registry
82053         * lisp/registry.el (registry-collect-prune-candidates): This `cdr' was
82054           an error: it meant that the last key in the precious list, would be
82055           considered a nil. Since the precious list only contains the symbol
82056           'mark by default, marks were never considered precious.
82057         * doc/misc/gnus.texi (Store arbitrary data): Fix typo: "marks" should
82058           be "mark".
82060 2018-10-11  Eli Zaretskii  <eliz@gnu.org>
82062         Document in the ELisp manual how to write loadable modules
82064         * doc/lispref/internals.texi (Writing Dynamic Modules)
82065         (Module Initialization, Module Functions, Module Values)
82066         (Module Misc, Module Nonlocal): New nodes.
82067         * doc/lispref/loading.texi (Dynamic Modules): Add
82068         cross-reference to the new node.
82069         * doc/lispref/internals.texi (GNU Emacs Internals):
82070         * doc/lispref/elisp.texi (Top): Update menus for the new nodes.
82072 2018-10-11  Tino Calancha  <tino.calancha@gmail.com>
82074         dired-do-shell-command: Notify users after abort the command
82076         * lisp/dired-aux.el (dired-do-shell-command):  Notify users that
82077         the command have aborted when they answer 'n' to the prompt (Bug#32969).
82079 2018-10-11  Michael Albinus  <michael.albinus@gmx.de>
82081         Adapt Tramp version.  Do not merge with master
82083         * lisp/net/trampver.el: Change version to "2.3.5.26.2".
82084         (customize-package-emacs-version-alist): Add Tramp version
82085         integrated in Emacs 26.2.
82087 2018-10-10  Alan Third  <alan@idiocy.org>
82089         Fix Apple Script permissions error
82091         * nextstep/templates/Info.plist.in: Add NSAppleEventsUsageDescription
82092         message to enable AppleEvents usage.
82094 2018-10-10  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
82096         Fix typo in 'timerp' documentation
82098         * doc/lispref/os.texi (Timers): Fix typo in 'timerp' documentation.
82099         (Bug#32999)
82101 2018-10-08  Charles A. Roelli  <charles@aurox.ch>
82103         * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
82105         (Bug#32956)
82107 2018-10-08  Scott Corley  <scott@scorley.com>  (tiny change)
82109         Fix overflow lockup with frames > 255 lines
82111         Backport from master.
82112         * src/scroll.c (struct matrix_elt): Change unsigned char fields to
82113         int to handle frames with more than 255 lines (Bug#32951).
82115 2018-10-07  Eli Zaretskii  <eliz@gnu.org>
82117         Avoid assertion violations in nonsensical calls to 'signal'
82119         * src/eval.c (Fsignal): If both arguments are nil, replace the
82120         first one with 'error', to avoid assertion violations further
82121         down the line.  (Bug#32961)
82123 2018-10-06  Charles A. Roelli  <charles@aurox.ch>
82125         * lisp/simple.el (transient-mark-mode): Correct documentation.  (Bug#32956)
82127 2018-10-06  Eli Zaretskii  <eliz@gnu.org>
82129         Update the locale and language database
82131         * lisp/international/mule-cmds.el (locale-language-names):
82132         Update the list of supported locales.  Use existing language
82133         names where available.
82135 2018-10-05  Eli Zaretskii  <eliz@gnu.org>
82137         Fix a typo in a doc string.
82139         * lisp/window.el (display-buffer-alist): Fix a typo in a doc string.
82140         Reported by Michael Heerdegen <michael_heerdegen@web.de>.
82142 2018-10-05  Katsumi Yamaoka  <yamaoka@jpl.org>
82144         Make nneething allow CRLF-encoded files (bug#32940)
82146         * lisp/gnus/nneething.el (nneething-request-article):
82147         Bind coding system to raw-text instead of binary when reading a file,
82148         that may be CRLF-encoded (bug#32940).
82150 2018-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
82152         Further fix to eieio-persistent
82154         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
82155           Make handling of hash tables and vectors recursive. This is
82156           necessary because the write process, in `eieio-override-prin1' is
82157           also recursive. With any luck, this will be the last fix of its
82158           kind. If that's true, cherry-pick to Emacs 26.2 later on.
82160 2018-10-04  Eli Zaretskii  <eliz@gnu.org>
82162         Avoid ridiculously high stack limit requests on macOS
82164         * src/emacs.c (main): Avoid wraparound in subtraction of
82165         rlim_t values, in case rlim_t is an unsigned type.  (Bug#32338)
82167 2018-10-03  Charles A. Roelli  <charles@aurox.ch>
82169         Improve documentation of 'read-hide-char'
82171         * src/minibuf.c (syms_of_minibuf) <Vread_hide_char>: Clarify
82172         documentation and mention where else the variable is used.
82173         * doc/lispref/minibuf.texi (Reading a Password): Add an index
82174         entry for 'read-hide-char'.
82176 2018-10-03  Alan Mackenzie  <acm@muc.de>
82178         In follow mode, prevent the cursor resting on a partially displayed line
82180         Don't merge to master.  This fixes bug #32848
82182         * lisp/follow.el (follow-adjust-window): If point ends up in a partially
82183         displayed line in a left hand or middle window, move it one line
82184         forward, to
82185         prevent unwanted scrolling should make-cursor-line-fully-visible be
82186         non-nil.
82188 2018-10-03  Alan Mackenzie  <acm@muc.de>
82190         Revert "Temporary workaround for bug #32848 for branch emacs-26"
82192         This reverts commit 6650751ce73413d05599df07a9c5bc70744260f3.
82194 2018-10-03  Alan Mackenzie  <acm@muc.de>
82196         Revert "* etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode"
82198         This reverts commit f3c8f4bde2de2b9d42c44f5e44f34c427bebdc58.
82200 2018-10-03  Alan Mackenzie  <acm@muc.de>
82202         * etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode
82204         Also re-insert the "temporary note" explaining --- and +++.
82206 2018-10-03  Noam Postavsky  <npostavs@gmail.com>
82208         Fix note about interactive advice (Bug#32905)
82210         * doc/lispref/functions.texi (Core Advising Primitives): Add missing
82211         ':', and finish the sentence fragment.
82213 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
82215         Comple fix for Bug#32550
82217         * lisp/net/tramp.el (tramp-rfn-eshadow-update-overlay):
82218         Use `save-excursion'.  This completes the fix of Bug#32550.
82220 2018-10-01  Eli Zaretskii  <eliz@gnu.org>
82222         * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
82224 2018-09-30  Nicolas Goaziou  <mail@nicolasgoaziou.fr>
82226         Org manual: Rewrite the Org Mobile section
82228         * doc/misc/org.texi (Org Mobile): Rewritten from "MobileOrg" section.
82229         Remove all references to non-free software.
82230         Moved into "Miscellaneous", much like Org Crypt library. No longer an
82231         appendix.
82232         (Footnotes): Remove a reference to "MobileOrg".
82233         (Bug#32722)
82235 2018-09-30  Alan Mackenzie  <acm@muc.de>
82237         Temporary workaround for bug #32848 for branch emacs-26
82239         Do not merge with master.
82241         * lisp/follow.el (follow-mode): Set make-cursor-line-fully-visible to nil
82242         buffer locally whilst follow-mode is active.
82244 2018-09-29  Tino Calancha  <tino.calancha@gmail.com>
82246         Improve cl-do, cl-do* docstrings
82248         * lisp/emacs-lisp/cl-macs.el(cl-do, cl-do*):
82249         Improve docstring (Bug#32803).
82251 2018-09-29  Eli Zaretskii  <eliz@gnu.org>
82253         Avoid returning early in 'while-no-input' due to subprocesses
82255         * src/keyboard.c (kbd_buffer_store_buffered_event): Support
82256         also the internal buffer-switch events.
82257         (syms_of_keyboard) <Qbuffer_switch>: New DEFSYM.
82259         * lisp/subr.el (while-no-input-ignore-events): Ignore
82260         'buffer-switch' events.  Reported by Michael Heerdegen
82261         <michael_heerdegen@web.de>.
82263         * etc/NEWS: Mention the change in behavior of 'while-no-input'
82265 2018-09-29  John Shahid  <jvshahid@gmail.com>
82267         Cleanup when opening a new terminal fails. (Bug#32794)
82269         * src/term.c (init_tty): Call delete_terminal_internal if emacs_open
82270         fail.
82271         * src/terminal.c (delete_terminal): Move some code into
82272         delete_terminal_internal and call it.
82273         (delete_terminal_internal): New function.
82274         * src/termhooks.h: Prototype for delete_terminal_internal.
82276 2018-09-28  Alan Third  <alan@idiocy.org>
82278         Fix deprecation warning
82280         * src/nsterm.m (ns_term_init): Use writeToFile or writeToURL as
82281         required.
82283 2018-09-28  Alan Third  <alan@idiocy.org>
82285         Make all NS drawing be done from drawRect
82287         See bug#31904 and bug#32812.
82289         * src/nsterm.m (ns_update_begin): Don't lock focus, only clip if there
82290         is already a view focused.
82291         (ns_update_end): Don't mess with view focusing any more.
82292         (ns_focus): Only clip drawing if there is already a focused view,
82293         otherwise mark area dirty for later drawing.  Renamed ns_clip_to_rect.
82294         All callers changed.
82295         (ns_unfocus): Don't unfocus the view any more.  Renamed
82296         ns_reset_clipping. All callers changed.
82297         (ns_clip_to_row): Update to match ns_clip_to_rect.
82298         (ns_clear_frame):
82299         (ns_clear_frame_area):
82300         (ns_draw_fringe_bitmap):
82301         (ns_draw_window_cursor):
82302         (ns_draw_vertical_window_border):
82303         (ns_draw_window_divider):
82304         (ns_dumpglyphs_stretch):
82305         (ns_draw_glyph_string): Only draw if ns_focus or ns_clip_to_row
82306         return YES.
82307         (ns_copy_bits): Remove superfluous calls to ns_(un)focus.
82308         (ns_flush_display): New function.
82310 2018-09-28  Michael Albinus  <michael.albinus@gmx.de>
82312         Fix Bug#32828
82314         * lisp/net/dbus.el (dbus-init-bus): Return number of connections,
82315         as promised by the docstring.  (Bug#32828)
82317 2018-09-28  Noam Postavsky  <npostavs@gmail.com>
82319         * lisp/net/shr.el (shr-copy-url): Fix docstring.
82321 2018-09-27  Eli Zaretskii  <eliz@gnu.org>
82323         Fix typos in documentation
82325         * doc/misc/vhdl-mode.texi (Custom Indentation Functions):
82326         * doc/misc/url.texi (Customization):
82327         * doc/misc/tramp.texi (Overview):
82328         * doc/misc/srecode.texi (Developing Template Functions):
82329         * doc/misc/sieve.texi (Sieve Mode):
82330         * doc/misc/reftex.texi (Options - Creating Citations):
82331         * doc/misc/org.texi (Cooperation, Conflicts):
82332         * doc/misc/gnus.texi (Misc Group Stuff):
82333         * doc/misc/eshell.texi (Bugs and ideas):
82334         * doc/misc/calc.texi (Summary):
82335         * doc/man/emacsclient.1:
82336         * doc/lispref/os.texi (Security Considerations):
82337         * doc/lispref/control.texi (pcase Macro):
82338         * CONTRIBUTE: Fix typos.  Reported by Mak Kolybabi
82339         <mak@kolybabi.com>  (Bug#32853)
82341 2018-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
82343         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old bindings
82345         According to Apple gospel, function keys are partly going the way of the dodo
82346         so F3/F4 can, like in the good old days, be hard to reach for some users.
82348 2018-09-24  Eli Zaretskii  <eliz@gnu.org>
82350         Improve docs of functions/variables related to 'display-buffer'
82352         * lisp/window.el (display-buffer, pop-to-buffer-same-window)
82353         (display-buffer-same-window, display-buffer-in-side-window)
82354         (same-window-p, display-buffer-overriding-action)
82355         (display-buffer-base-action)
82356         (display-buffer--same-window-action)
82357         (display-buffer--other-frame-action)
82358         (with-current-buffer-window, with-displayed-buffer-window)
82359         (display-buffer-alist, display-buffer-assq-regexp)
82360         (display-buffer-other-frame): Clarify and improve the doc
82361         strings.  (Bug#32798)
82363 2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
82365         * lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)
82367 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
82369         Improve documentation of directory-local variables
82371         * lisp/files.el (hack-local-variables, normal-mode)
82372         (after-find-file, find-file-hook): Mention directory-local
82373         variables in the doc strings.  Suggested by Marcin Borkowski
82374         <mbork@mbork.pl>.
82376         * doc/emacs/custom.texi (File Variables, Directory Variables):
82377         Clarify that directory-local variables are overridden by
82378         file-local ones.
82380 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
82382         Don't use obsolete variable 'save-place' in documentation
82384         * doc/lispref/customize.texi (Variable Definitions): Replace
82385         example of saveplace defcustom with a fictitious one, which
82386         will not bit-rot with time.  (Bug#32741)
82388 2018-09-22  Mark A. Hershberger  <mah@everybody.org>
82390         Use save-place-mode instead of save-place
82392         * lisp/menu-bar.el (menu-bar-options-save, menu-bar-options-menu):
82393         * lisp/saveplace.el (save-place-to-alist, save-places-to-alist)
82394         (save-place-find-file-hook, save-place-dired-hook): Use
82395         save-place-mode instead of the obsolete save-place.
82397 2018-09-20  Eli Zaretskii  <eliz@gnu.org>
82399         More accurate docs for 'text-char-description'
82401         * src/keymap.c (Ftext_char_description):
82402         * doc/lispref/help.texi (Describing Characters): More accurate
82403         description of 'text-char-description'.  Remove incorrect
82404         examples from the ELisp manual.  (Bug#32743)
82406 2018-09-20  Noam Postavsky  <npostavs@gmail.com>
82408         Document synchronous behavior of eshell/make (Bug#32513)
82410         * doc/misc/eshell.texi (Built-ins):
82411         * lisp/eshell/em-unix.el (eshell/make): Mention that it falls back to
82412         the external 'make' command when called synchronously.
82414 2018-09-20  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
82416         Fix bs-show with wide characters (Bug#17822)
82418         * lisp/bs.el (bs--insert-one-entry, bs-show-in-buffer): Use
82419         string-width instead of length.
82421 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
82423         Improve Custom menu labels for 2 options
82425         * lisp/dired.el (dired-use-ls-dired):
82426         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Improve
82427         the doc string and the defcustom menu/tags text.  (Bug#32756)
82429 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
82431         Improve wording of last change in dired-x.texi
82433         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify
82434         wording in description of 'dired-guess-shell-alist-user'.
82435         Avoid passive tense.  (Bug#32733)
82437 2018-09-18  Eli Zaretskii  <eliz@gnu.org>
82439         Fix GnuTLS test suite with GnuTLS versions 3.4.x
82441         * src/gnutls.c (gnutls_cipher_get_tag_size): Make it return
82442         zero only for versions of GnuTLS < 3.2.2, where
82443         gnutls_cipher_get_tag_size was introduced.  This fixes the
82444         GnuTLS test suite, which assumes that any cipher whose tag
82445         size is non-zero is AEAD-capable, and doesn't test such ciphers
82446         if AEAD is not available, i.e. for GnuTLS < 3.5.1.  (Bug#32446)
82448 2018-09-17  Noam Postavsky  <npostavs@gmail.com>
82450         Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)
82452         We previously used functions available only in 3.2+ for all 3.x
82453         versions.
82454         * src/gnutls.c [GNUTLS_VERSION_NUMBER < 0x030501]: Replace calls to
82455         gnutls_cipher_get_tag_size with 0.
82456         [GNUTLS_VERSION_NUMBER < 0x030200]: Alias gnutls_cipher_get_iv_size
82457         to gnutls_cipher_get_block_size, gnutls_digest_list to
82458         gnutls_mac_list, and gnutls_digest_get_name to gnutls_mac_get_name.
82459         [WINDOWSNT]: Adjust DLL function definitions and declarations
82460         accordingly.
82462 2018-09-17  Eli Zaretskii  <eliz@gnu.org>
82464         Fix the Bubbles game on TTY frames
82466         * lisp/play/bubbles.el (bubbles--col-offset)
82467         (bubbles--row-offset): Doc fixes.
82468         (bubbles--compute-offsets): Conflate the GUI and TTY code into
82469         a single common version.  Set the offsets to simple numbers,
82470         not to lists.
82471         (bubbles--initialize, bubbles--show-scores): Wrap offset
82472         values in a list, so that they are interpreted as pixel
82473         values, not as units of character width.  This fixes the game
82474         on TTY frames.  (Bug#32744)
82476 2018-09-17  Allen Li  <darkfeline@felesatra.moe>
82478         Add choice to reshow certificate information (Bug#31877)
82480         In various situations, the window displaying the certificate
82481         information can be hidden (such as if the user accidentally presses ?,
82482         which causes the read-multiple-choice help window to replace it).
82483         Instead of leaving the user to make a choice blindly, add a choice to
82484         reshow the certification information.
82486         * lisp/net/nsm.el (nsm-query-user): Add reshow choice.
82488 2018-09-16  Glenn Morris  <rgm@gnu.org>
82490         * src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.
82492         Use a simpler, consistent form.
82494 2018-09-15  Alan Mackenzie  <acm@muc.de>
82496         * src/alloc.c (vector): Fix grammatical error in doc string: "are" -> "is".
82498 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
82500         Avoid adverse side effects of fixing bug#21824
82502         * test/src/buffer-tests.el
82503         (overlay-modification-hooks-deleted-overlay): New test.
82505         * src/buffer.c (report_overlay_modification): Don't bypass all
82506         the overlay-modification hooks; instead, invoke each function
82507         only if the buffer associated with the overlay is the current
82508         buffer.  (Bug#30823)
82510 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
82512         Document changes called out in NEWS
82514         * doc/lispref/lists.texi (Association Lists): Document
82515         'assoc-delete-all'.
82516         * doc/lispref/minibuf.texi (Minibuffers): Adapt menu.
82517         (Multiple Queries): Document 'read-answer'.
82519         * etc/NEWS: Reflect the above documentation in the respective
82520         entries.
82522 2018-09-14  Glenn Morris  <rgm@gnu.org>
82524         Tiny doc updates re yum/dnf etc
82526         * INSTALL: Mention dnf and Debian unversioned emacs package.
82527         * doc/misc/efaq.texi (Installing Emacs): Mention dnf.
82529 2018-09-14  Leo Liu  <sdl.web@gmail.com>
82531         Remove unused variable
82533         * lisp/progmodes/prolog.el (prolog-hungry-delete-key-flag): Remove.
82535 2018-09-14  Leo Liu  <sdl.web@gmail.com>
82537         Fix (thing-at-point 'list) regression (Bug#31772)
82539         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Revert
82540           to pre 26.1 behavior.  Return whole sexp at point if no enclosing
82541           list.
82542           (list-at-point): New optional arg to ignore comments and strings.
82544         * test/lisp/thingatpt-tests.el
82545           (thing-at-point-bounds-of-list-at-point): Fix and augment tests.
82547 2018-09-14  Robert Pluim  <rpluim@gmail.com>
82549         Clarify meaning of '*'
82551         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify meaning
82552         of '*'. (Bug#32733)
82554 2018-09-12  Paul Eggert  <eggert@cs.ucla.edu>
82556         * etc/PROBLEMS: Document Ubuntu 16.04 issue.
82558 2018-09-12  Alex Branham  <alex.branham@gmail.com>  (tiny change)
82560         Increase default value for imenu-auto-rescan-maxout
82562         * lisp/imenu.el (imenu-auto-rescan-maxout): Increase default value to
82563           600000.  (Bug#18426)
82564         * doc/emacs/programs.texi (imenu-auto-rescan-maxout): Add
82565           documentation for imenu-auto-rescan-maxout.
82567 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
82569         Improve recent change to ELisp manual
82571         * doc/lispref/commands.texi (Keyboard Events): Add index entry
82572         for "character event".  (Bug#32562)
82574 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
82576         * doc/lispref/display.texi (SVG Images): Improve wording.
82578         * doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32690)
82580 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
82582         Clarify completion text in the ELisp manual
82584         * doc/lispref/minibuf.texi (Programmed Completion): Clarify
82585         text.  Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
82587 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
82589         Fix handling of abbreviated control command in gdb-mi.el
82591         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
82592         Support unambiguous abbreviations of commands.  (Bug#32576)
82594 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
82596         Clarify documentation of functions reading character events
82598         * doc/lispref/help.texi (Describing Characters):
82599         * doc/lispref/commands.texi (Keyboard Events)
82600         (Reading One Event, Classifying Events): Make the distinction
82601         between characters and character events more explicit.
82603         * src/keymap.c (Ftext_char_description)
82604         (Fsingle_key_description):
82605         * src/lread.c (Fread_char, Fread_char_exclusive): Doc fixes,
82606         to make a clear distinction between a character input event
82607         and a character code.  (Bug#32562)
82609 2018-09-07  Eli Zaretskii  <eliz@gnu.org>
82611         Record :version for built-in variables while dumping
82613         * lisp/cus-start.el (standard): Record the ':version; of the
82614         symbols when dumping, so that 'describe-variable' could tell
82615         which built-in variables were added/changed in recent
82616         versions.
82618 2018-09-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
82620         * src/process.c (connect_network_socket): Fix memory leak.  (Bug#32604)
82622 2018-09-05  Glenn Morris  <rgm@gnu.org>
82624         * Makefile.in (appdatadir): Use the non-obsolete location "metainfo".
82626 2018-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
82628         Better fix for bug#32550
82630         * lisp/rfn-eshadow.el (rfn-eshadow-overlay): Give it a global default.
82632         * lisp/net/tramp.el (rfn-eshadow-overlay): Declare it as dynamically scoped.
82633         (tramp-rfn-eshadow-update-overlay): Revert the corresponding part of
82634         last change.
82636 2018-09-04  Michael Albinus  <michael.albinus@gmx.de>
82638         Fix Bug#32550
82640         * lisp/net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not
82641         use `symbol-value'.
82642         (tramp-rfn-eshadow-update-overlay): Do not use `symbol-value'.  Do
82643         not let-bind `rfn-eshadow-overlay', assign it directly (due to
82644         lexical binding).  (Bug#32550)
82646 2018-09-04  Martin Rudalics  <rudalics@gmx.at>
82648         Don't call XGetGeometry for frames without outer X window (Bug#32615)
82650         * src/xfns.c (frame_geometry): Don't call XGetGeometry when
82651         FRAME has no outer X window; return nil instead.  (Bug#32615)
82653 2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>
82655         * lisp/calculator.el: Fix doc typo.
82657 2018-09-03  Glenn Morris  <rgm@gnu.org>
82659         Standardize calc bug reporting instructions
82661         * doc/misc/calc.texi (Reporting Bugs): Use standard commands.
82662         * lisp/calc/calc-misc.el (report-calc-bug, calc-report-bug):
82663         * lisp/calc/calc.el (calc-bug-address): Change to be
82664         obsolete aliases for standard Emacs bug reporting items.
82666 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
82668         Rename thread-alive-p to thread-live-p
82670         * doc/lispref/threads.texi (Basic Thread Functions): Use thread-live-p.
82672         * etc/NEWS: 'thread-alive-p' has been renamed to 'thread-live-p'.
82674         * src/thread.c (thread_live_p): Rename from thread_alive_p.  Adapt
82675         all callees.
82676         (Fthread_live_p): Rename from Fthread_alive_p.
82677         (syms_of_threads): Make thread-alive-p an alias of thread-live-p.
82679         * test/src/thread-tests.el (all): Replace `thread-alive-p' by
82680         `thread-live-p'.
82681         (threads-live): Rename from `threads-alive'.
82683 2018-08-30  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
82685         rcirc: Document /reconnect as a built-in command (Bug#29656)
82687         The change "New command rcirc-cmd-reconnect" from 2014-04-09 (shipped
82688         in Emacs 25.1) added a /reconnect command to rcirc but did not
82689         document it and did not delete the example /reconnect command
82690         definition in the manual.
82691         * doc/misc/rcirc.texi (rcirc commands): Document the built-in /reconnect
82692         command.
82693         (Hacking and Tweaking): Delete example reconnect command.
82695 2018-08-30  Noam Postavsky  <npostavs@gmail.com>
82697         * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.
82699 2018-08-28  Glenn Morris  <rgm@gnu.org>
82701         admin.el: respect environment settings for makeinfo etc
82703         * admin/admin.el (manual-makeinfo, manual-texi2pdf, manual-texi2dvi):
82704         New variables.
82705         (manual-html-mono, manual-html-node, manual-pdf, manual-ps): Use them.
82707 2018-08-28  Glenn Morris  <rgm@gnu.org>
82709         * etc/PROBLEMS: New entry about GTK+ 3 crash with some X servers.
82711 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
82713         Index profiler commands in elisp manual
82715         * doc/lispref/debugging.texi (Profiling): Add index entries for
82716         profiler-start, profiler-report, profiler-stop.
82718 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
82720         Fix math-imaginary-i check
82722         Reported by Bastian Erdnüß at
82723         <https://lists.gnu.org/r/emacs-devel/2018-08/msg00300.html>.
82724         * lisp/calc/calc-cplx.el (math-imaginary-i): Check for a value
82725         of (polar 1 <quarter-circle>).
82727 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
82729         Avoid infinite hscrolling loops when line numbers are displayed
82731         * src/xdisp.c (maybe_produce_line_number): Don't produce line
82732         numbers if we don't have enough screen estate.  (Bug#32351)
82734 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
82736         Avoid crashes in malformed defvar
82738         * src/eval.c (Fdefvar): Don't call XSYMBOL on something that
82739         might not be a symbol.  This avoids crashes due to malformed
82740         'defvar' forms.  (Bug#32552)
82742 2018-08-28  Glenn Morris  <rgm@gnu.org>
82744         * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
82746         * configure.ac: Doc fixes related to --with-xim.
82748 2018-08-28  Glenn Morris  <rgm@gnu.org>
82750         Small checkdoc quoting fix (bug#32546)
82752         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
82753         Fix quoting thinko.
82755 2018-08-26  Sergey Vinokurov  <serg.foo@gmail.com>
82757         Fix detection of freed emacs_values (Bug#32479)
82759         * src/emacs-module.c (module_free_global_ref): Compare a value to be
82760         freed with all entries of the list.
82762         * test/data/emacs-module/mod-test.c (Fmod_test_globref_free): New
82763         function.
82764         (emacs_module_init): Make it accessible from Lisp.
82765         * test/src/emacs-module-tests.el (mod-test-globref-free-test): New
82766         test which uses it.
82768 2018-08-25  Eli Zaretskii  <eliz@gnu.org>
82770         Avoid crashes with very wide TTY frames on MS-Windows
82772         * src/w32console.c <glyph_base>: Reduce the number of elements
82773         to 80.
82774         <glyphs, glyphs_len>: New static variables.
82775         (w32con_clear_end_of_line): If the line is wider than the
82776         current size of the "empty row" in 'glyphs', reallocate
82777         'glyphs' to support the full width of the frame.  This
82778         avoids segfaults when the frame is wider than 256 columns.
82779         (Bug#32445)
82781 2018-08-25  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)
82783         Prevent `modify-file-local-variable-prop-line' from adding extra ';'
82785         * lisp/files-x.el (modify-file-local-variable-prop-line): Handle
82786         whitespace when checking if there's already a ';' before the
82787         variable (Bug#23294).
82789 2018-08-24  Glenn Morris  <rgm@gnu.org>
82791         Update GNOME bugtracker URLs
82793         * configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
82794         * src/emacs.c (main):
82795         * src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.
82797 2018-08-23  Eli Zaretskii  <eliz@gnu.org>
82799         Clarify in the Emacs manual that ChangeLog files are not used
82801         * doc/emacs/trouble.texi (Sending Patches): Use "commit log"
82802         instead of "change log", to avoid the interpretation that we
82803         are talking about literal ChangeLog files.  (Bug#32359)
82805 2018-08-21  Eli Zaretskii  <eliz@gnu.org>
82807         Recognize codepage 65001 as a valid encoding
82809         * lisp/international/mule-conf.el (cp65001): Define it as an
82810         alias for UTF-8.
82812 2018-08-18  Eli Zaretskii  <eliz@gnu.org>
82814         Avoid compilation warning in nt/addpm.c
82816         * nt/addpm.c [!MINGW_W64]: Undefine _WIN32_IE before
82817         redefining it, to avoid compilation warnings.
82819 2018-08-17  Basil L. Contovounesios  <contovob@tcd.ie>
82821         Fix duplicate custom group names in bibtex.el
82823         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
82824         Change :group from BibTeX to bibtex.  (bug#32436)
82826 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
82828         Fix outdated text in the Calc manual
82830         * doc/misc/calc.texi (Internals): Don't advertise
82831         'calc-extensions' which no longer exists.  Reported by Francis
82832         Wright <francis.j.wright@gmail.com>.
82834 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
82836         Port better to x86 -fexcess-precision=fast
82838         Problem reported by Eli Zaretskii in:
82839         https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
82840         * src/data.c (arithcompare): Work around incompatibility
82841         between gcc -fexcess-precision=fast and the C standard on x86,
82842         by capturing the results of floating-point comparisons before
82843         the excess precision spontaneously decays.  Although this fix
82844         might not work in general, it does work here and is probably
82845         good enough for the platforms we care about.
82847         (cherry picked from commit a84cef90957f2379cc0df6bd908317fc441971ce)
82849 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
82851         Add comment about floating point test
82853         * test/src/data-tests.el (data-tests--float-greater-than-fixnums):
82854         New constant.
82855         (data-tests-=, data-tests-<, data-tests->, data-tests-<=)
82856         (data-tests->=, data-tests-min): Use it.
82858 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
82860         Ibuffer: Add toggle ibuffer-do-toggle-lock
82862         Toggle the locked status in marked buffers or the buffer
82863         at point (Bug#32421).
82864         * lisp/ibuffer.el (ibuffer-do-toggle-lock): New command.
82865         (ibuffer-mode-map): Bind it to 'L'.
82866         (ibuffer-mode-operate-map): Add entries for
82867         `ibuffer-do-toggle-read-only' and `ibuffer-do-toggle-lock'.
82868         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.2):
82869         Announce the change.
82871 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
82873         Ibuffer: Detect correctly the buffers running a process
82875         * lisp/ibuffer.el (filename-and-process): Store the process buffer
82876         as a text property; check for such property to detect a buffer
82877         with a process (Bug#32420).
82879 2018-08-12  Michael Albinus  <michael.albinus@gmx.de>
82881         Backport fix for Bug#32226
82883         * test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
82884         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
82885         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
82886         Use `set-visited-file-name' instead of setting the value in
82887         `buffer-file-name' directly.
82888         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
82889         Test for writable temporary directory.  Suppress errors in
82890         cleanup.  (Bug#32226)
82892 2018-08-12  Yuri D'Elia  <wavexx@thregr.org>
82894         Do not consider external packages to be removable (Bug#27822)
82896         Packages which are not directly user-installed shouldn't be autoremoved,
82897         since they can be setup through a different path (via
82898         `package-directory-list') where we have no authority over.
82899         * lisp/emacs-lisp/package.el (package--user-installed-p): New
82900         function.
82901         (package--removable-packages): Use it.
82903 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82905         * src/alloc.c: Remove obsolete comments.
82907 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
82909         Better support utf-8-with-signature and utf-8-hfs in HTML
82911         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
82912         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
82913         obey the buffer's encoding if it is one of these variants, instead
82914         of re-encoding in UTF-8 proper.  (Bug#20623)
82916 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
82918         Don't use -Wabi compiler option
82920         * configure.ac: Add -Wabi to the list of disabled warning
82921         options.  For the details, see
82922         https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00123.html.
82924 2018-08-10  Filipp Gunbin  <fgunbin@fastmail.fm>
82926         Fix bugs in `auth-source-netrc-parse-one'.
82928         * lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
82929           data is not overwritten in `auth-source-netrc-parse-next-interesting'.
82930           Ensure that blanks are skipped before and after going over comments
82931           and eols.
82932         * test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.
82934         (cherry picked from commit 60ff8101449eea3a5ca4961299501efd83d011bd)
82936 2018-08-09  Eli Zaretskii  <eliz@gnu.org>
82938         Fix copying text properties by 'format'
82940         * src/editfns.c (styled_format): Add the spec beginning index
82941         to the info recorded for each format spec, and use it to
82942         detect the case that a format spec and its text property end
82943         where the next spec with another property begins.  (Bug#32404)
82945         * test/src/editfns-tests.el (format-properties): Add tests for
82946         bug#32404.
82948 2018-08-09  Alexander Gramiak  <agrambot@gmail.com>
82950         Improve error messages regarding initial-buffer-choice (Bug#29098)
82952         * lisp/startup.el (command-line-1) <initial-buffer-choice>: Make the
82953         messages conform to Emacs conventions, and show the invalid return
82954         value in the message.
82956 2018-08-09  Glenn Morris  <rgm@gnu.org>
82958         * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Fix typo.
82960 2018-08-09  Lars Ingebrigtsen  <larsi@gnus.org>
82962         Make async :family 'local failures fail correctly again
82964         * src/fileio.c (get_file_errno_data): Refactor out into its own
82965         function so that we can reuse the error handling from an async
82966         context (bug#31901).
82968         * src/process.c (connect_network_socket): When an async :family
82969         'local client fails (with a file error, for instance), mark the
82970         process as failed.
82972         (cherry picked from commit 92ba34d89ac4f5b5bbb818e1c39a3cc12a405790)
82974 2018-08-09  Noam Postavsky  <npostavs@gmail.com>
82976         Fix emacsclient check for term.el buffer (Bug#21041)
82978         * lib-src/emacsclient.c (find_tty): Check for any TERM value with
82979         prefix of "eterm", not just "eterm" itself.  Also check for ",term:"
82980         in INSIDE_EMACS value.
82982 2018-08-08  Eli Zaretskii  <eliz@gnu.org>
82984         Improve documentation of 'set-fontset-font'
82986         * doc/lispref/display.texi (Fontsets): Fix description of
82987         'set-fontset-font'.
82988         * src/fontset.c (Fset_fontset_font): Doc fix.  (Bug#32401)
82990 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
82992         Improve documentation of M-?
82994         * doc/emacs/maintaining.texi (Identifier Search):
82995         * lisp/progmodes/xref.el (xref-find-references): Improve
82996         documentation of xref-find-references and
82997         xref-prompt-for-identifier.  (Bug#32389)
82999 2018-08-07  Ivan Shmakov  <ivan@siamics.net>
83001         Reinterpret Esperanto characters in iso-transl as iso-8859-3.
83003         * lisp/international/iso-transl.el (iso-transl-language-alist):
83004         Reinterpret Esperanto characters as iso-8859-3 (were: iso-8859-1).
83005         (Bug#32371)
83007 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
83009         Fix Flyspell mode when several languages are mixed in a buffer
83011         * lisp/textmodes/flyspell.el (flyspell-external-point-words):
83012         Handle "misspelled" words that actually belong to a language
83013         unsupported by the current dictionary.  (Bug#32280)  Fix the test
83014         for Ispell the program.
83016 2018-08-04  Juri Linkov  <juri@linkov.net>
83018         New function read-answer (Bug#31782)
83020         * lisp/emacs-lisp/map-ynp.el (read-answer-short): New defcustom.
83021         (read-answer): New function.
83022         * lisp/subr.el (assoc-delete-all): New function.
83023         * etc/NEWS: Announce them.
83025         * lisp/dired.el (dired-delete-file): Use read-answer.
83026         (dired--yes-no-all-quit-help): Remove function.
83027         (dired-delete-help): Remove defconst.
83029         (backported from master, "New function read-answer (bug#30073)" and
83030         "Respect non-saved value of `read-short-answer' (Bug#31782)")
83032 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
83034         Avoid assertion violations in maybe_produce_line_number
83036         * src/xdisp.c (redisplay_window): Make sure desired_matrix is
83037         cleared before calling try_window.  This is important when
83038         display-line-numbers is non-nil, because line-number display code
83039         assumes each glyph row is completely cleared when it is called to
83040         produce a line number.  (Bug#32358)
83042 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
83044         Avoid assertion violations in set_text_properties_1
83046         * src/textprop.c (set_text_properties): If the call to
83047         modify_text_properties modifies the interval tree as side effect,
83048         recalculate the correct interval for START and END.  (Bug#32265)
83050 2018-07-31  Stephen Berman  <stephen.berman@gmx.net>
83052         Fix wdired test failure when byte compiled (bug#32318)
83054         * test/lisp/wdired-tests.el: Require wdired.  Defvar dired-query
83055         to silence byte-compiler.
83057 2018-07-30  Stephen Berman  <stephen.berman@gmx.net>
83059         * test/lisp/wdired-tests.el (wdired-test-symlink-name): New test.
83061 2018-07-29  Raimon Grau  <raimonster@gmail.com>
83063         Fix url's thing-at-point beginning-op (Bug#32028)
83065         * lisp/thingatpt.el (url): Fix beginning-op making.
83067 2018-07-29  Eli Zaretskii  <eliz@gnu.org>
83069         Fix last change in 'char_width'
83071         * src/character.c (char_width): Make sure variable C is always
83072         initialized.  (Bug#32276)
83074 2018-07-29  Stephen Berman  <stephen.berman@gmx.net>
83076         Add initial tests for wdired.el
83078         * test/lisp/wdired-tests.el: New file.
83080 2018-07-28  Stephen Berman  <stephen.berman@gmx.net>
83082         Fix use of non-nil wdired-use-interactive-rename
83084         This is a fairly minimal fix for the release branch; a more
83085         comprehensive fix is on master, so do not merge this to master.
83087         * lisp/wdired.el (wdired-search-and-rename): Remove dired-filename
83088         text property in order to find new filename when it only partially
83089         replaces old filename (bug#32173).  If user quits before renaming
83090         succeeds, restore the dired-filename text property.
83092 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
83094         Fix compilation with mingw.org's MinGW 5.x headers
83096 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
83098         Update the list of special forms in the ELisp manual
83100         * doc/lispref/eval.texi (Special Forms):
83101         * doc/lispref/frames.texi (Mouse Tracking): 'track-mouse' is
83102         nowadays a macro.  (Bug#32284)
83104 2018-07-28  Noam Postavsky  <npostavs@gmail.com>
83106         Don't fail to indent-sexp before a full sexp (Bug#31984)
83108         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only signal error if the
83109         initial forward-sexp fails.  Suppress scan-error forn any of the
83110         forward-sexp calls after that.
83111         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-cant-go): New
83112         test.
83114 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
83116         Fix calls to modifications hooks in replace-buffer-contents
83118         * src/editfns.c (Freplace_buffer_contents): Call the modification
83119         hooks on the entire region where replacements could have taken
83120         place.  The previous attempts of being more accurate just
83121         introduced bugs.  (Bug#32278)
83123 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
83125         * src/character.c (char_width): Support glyphs with faces.  (Bug#32276)
83127 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
83129         Display raw bytes as belonging to 'eight-bit' charset
83131         * lisp/descr-text.el (describe-char):
83132         * lisp/simple.el (what-cursor-position): Display characters in the
83133         range #x3FFF80..#x3FFF9F as belonging to charset 'eight-bit', not
83134         'tis620-2533'.
83135         * lisp/international/mule-diag.el (describe-character-set):
83136         Improve description of :supplementary-p.
83138 2018-07-26  Eli Zaretskii  <eliz@gnu.org>
83140         Fix inaccurate text in the user manual
83142         * doc/emacs/mule.texi (International Chars): Correct inaccurate
83143         description of raw bytes display by "C-x =".
83145 2018-07-26  Michael Albinus  <michael.albinus@gmx.de>
83147         Copyedits in tramp.texi, improved example with bash's readline
83149         * doc/misc/tramp.texi (all): Unify some wordings.
83150         (Frequently Asked Questions): Update example with bash's readline.
83152 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
83154         Minor Tramp doc update
83156         * doc/misc/tramp.texi (Frequently Asked Questions): Disable bash's
83157         INPUTRC.
83159 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
83161         File Shadowing is not available on MS Windows
83163         * doc/emacs/files.texi (File Shadowing): File Shadowing is not
83164         available on MS Windows.
83166         * test/lisp/shadowfile-tests.el (shadow-test00-clusters)
83167         (shadow-test01-sites, shadow-test02-files)
83168         (shadow-test03-expand-cluster-in-file-name)
83169         (shadow-test04-contract-file-name, shadow-test05-file-match)
83170         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
83171         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
83172         Skip under MS Windows.
83174 2018-07-24  Noam Postavsky  <npostavs@gmail.com>
83176         Let bookmark-jump override window-point (Bug#31751)
83178         * lisp/bookmark.el (bookmark-jump): Use pop-to-buffer-same-window
83179         instead of switch-to-buffer, the latter obeys
83180         switch-to-buffer-preserve-window-point and so loses the bookmark's
83181         point.
83183 2018-07-23  Noam Postavsky  <npostavs@gmail.com>
83185         Omit keymap from subword-mode docstring (Bug#32212)
83187         * lisp/progmodes/subword.el (subword-mode): Remove listing of
83188         subword-mode-map bindings, since it is empty as of 2014-03-23 "Merge
83189         capitalized-words-mode and subword-mode".
83191 2018-07-23  Tino Calancha  <tino.calancha@gmail.com>
83192             Noam Postavsky  <npostavs@gmail.com>
83194         Prevent line-mode term from showing user passwords
83196         For buffers whose mode derive from comint-mode, the user password is
83197         read from the minibuffer and it's hidden.  A buffer in term-mode and
83198         line submode, instead shows the passwords.  Make buffers in line
83199         term-mode to hide passwords too (Bug#30190).
83201         * lisp/term.el (term-send-invisible): Prefer the more robust
83202         `read-passwd' instead of `term-read-noecho'.
83203         (term-watch-for-password-prompt): New function.
83204         (term-emulate-terminal): Call it each time we receive non-escape
83205         sequence output.
83207 2018-07-22  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
83209         Check for special filenames in eshell (Bug#30724)
83211         * lisp/eshell/esh-cmd.el (eshell-lisp-command): Check for "~"
83212         in lisp commands with the eshell-filename-arguments property
83213         (Bug#30724).
83215         * lisp/eshell/em-dirs.el (eshell/cd, eshell/pushd, eshell/popd):
83216         * lisp/eshell/em-ls.el (eshell/ls):
83217         * lisp/eshell/em-unix.el (eshell/rm, eshell/mkdir, eshell/rmdir)
83218         (eshell/mv, eshell/cp, eshell/ln, eshell/cat, eshell/du, eshell/diff):
83219         * lisp/eshell/esh-ext.el (eshell/addpath): Add
83220         eshell-filename-arguments to symbol plist.
83222 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
83224         Fix indent-sexp of #s(...) (Bug#31984)
83226         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Look for a sexp that
83227         ends after the current line.
83228         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-go): New test.
83230 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
83232         Add save-match-data to abbreviate-file-name (Bug#32201)
83234         * lisp/files.el (abbreviate-file-name): Save match-data around
83235         expand-file-name; it is not guaranteed to preserve match-data, and may
83236         well do so depending on what file handlers and hooks are in effect.
83238 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
83240         Fix last change in editfns.c
83242         * src/editfns.c (Freplace_buffer_contents): Fix last change: always
83243         call buffer modification hooks, even if nothing was deleted/inserted.
83244         (bug#32237)
83246 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
83248         Fix calls to buffer modification hooks from replace-buffer-contents
83250         * src/editfns.c (Freplace_buffer_contents): Don't call buffer
83251         modification hooks if nothing was deleted/inserted.  (Bug#32237)
83253 2018-07-21  Michael Albinus  <michael.albinus@gmx.de>
83255         Fix Bug#32226
83257         * lisp/shadowfile.el (shadow-site-name, shadow-name-site):
83258         Use "[-.[:word:]]+" as hostname regexp.  (Bug#32226)
83260         * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
83261         (shadow-test07-regexp-groups, shadow-test08-shadow-todo)
83262         (shadow-test09-shadow-copy-files): Skip if needed.
83264 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
83266         Improve doc strings of several variables in keyboard.c
83268         * src/keyboard.c (syms_of_keyboard) <debug-on-event>
83269         <attempt-stack-overflow-recovery>
83270         <attempt-orderly-shutdown-on-fatal-signal>: Make sure the first
83271         sentence of the doc string fits on a single line.
83273 2018-07-20  Michael Albinus  <michael.albinus@gmx.de>
83275         Fix (Bug#32218).  Do not merge with master
83277         * doc/misc/trampver.texi:
83278         * lisp/net/trampver.el: Change version to "2.3.4.26.2".
83279         (customize-package-emacs-version-alist): Add Tramp version
83280         integrated in Emacs 26.2.
83282         * lisp/net/tramp.el (tramp-handle-file-truename):
83283         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
83284         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Fix problem
83285         with trailing slash.  (Bug#32218)
83287         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
83288         Remove `tramp--test-emacs27-p' check.
83290 2018-07-20  Eli Zaretskii  <eliz@gnu.org>
83292         Improve documentation of 'pcase-defmacro rx'
83294         * lisp/emacs-lisp/rx.el (rx): Clarify and improve the doc string.
83295         For the details, see the discussion starting at
83296         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00399.html.
83298 2018-07-19  Eli Zaretskii  <eliz@gnu.org>
83300         Fix TTY colors breakage by 'clear-face-cache'
83302         Without examining the right frame, 'tty-color-24bit' was erroneously
83303         treating a GUI frame as a 24-bit TTY frame.
83304         * lisp/term/tty-colors.el (tty-color-24bit): Accept optional
83305         argument DISPLAY and pass it to display-color-cells.  Doc fix.
83306         (tty-color-define, tty-color-desc): Pass the FRAME argument to
83307         tty-color-24bit.  (Bug#32072)
83309 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
83311         * admin/MAINTAINERS: Add files maintained by me (Michael Albinus).
83313 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
83315         Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
83317         * etc/NEWS: Mention changes in shadowfile.el.
83319         * lisp/shadowfile.el (top): Require 'tramp instead of 'ange-ftp.
83320         (shadow-cluster): New defstruct.
83321         (shadow-make-cluster, shadow-cluster-name, shadow-cluster-primary)
83322         (shadow-cluster-regexp, shadow-get-user)
83323         (shadow-parse-fullname): Remove.
83324         (shadow-info-file, shadow-todo-file, shadow-system-name)
83325         (shadow-homedir, shadow-regexp-superquote, shadow-suffix)
83326         (shadow-set-cluster, shadow-get-cluster, shadow-site-name)
83327         (shadow-name-site, shadow-site-primary, shadow-site-cluster)
83328         (shadow-read-site, shadow-parse-name, shadow-make-fullname)
83329         (shadow-replace-name-component, shadow-local-file)
83330         (shadow-expand-cluster-in-file-name, shadow-contract-file-name)
83331         (shadow-same-site, shadow-file-match, shadow-define-cluster)
83332         (shadow-define-literal-group, shadow-define-regexp-group)
83333         (shadow-make-group, shadow-shadows-of-1, shadow-read-files)
83334         (shadow-write-info-file, shadow-write-todo-file)
83335         (shadow-initialize): Adapt variables and functions.
83337         * test/lisp/shadowfile-tests.el: New file.
83339 2018-07-18  Noam Postavsky  <npostavs@gmail.com>
83341         Fix auth-source-delete (Bug#26184)
83343         * lisp/auth-source.el (auth-source-delete): Fix `auth-source-search'
83344         call.
83345         * test/lisp/auth-source-tests.el (auth-source-delete): New test.
83347 2018-07-17  Eli Zaretskii  <eliz@gnu.org>
83349         Avoid assertion violations in gnutls.c
83351         * src/gnutls.c (Fgnutls_hash_digest, gnutls_symmetric)
83352         (Fgnutls_hash_mac): Check CONSP before invoking XCDR.  (Bug#32187)
83353         Report values of invalid arguments when signaling an error.
83355 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
83357         Don't use a literal "C-u" in ispell.el  help message text
83359         * lisp/textmodes/ispell.el (ispell-command-loop): Use
83360         "\\[universal-argument]" instead of a literal "C-u".  (Bug#32142)
83362 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
83364         Improve documentation of 'seqp'
83366         * doc/lispref/sequences.texi (Sequence Functions): Add text to
83367         explain the relation between 'seqp' and 'sequencep'.  (Bug#32125)
83369 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
83371         Clarify usage and dependencies between several Flyspell features
83373         * lisp/textmodes/flyspell.el (flyspell-region)
83374         (flyspell-small-region, flyspell-persistent-highlight):
83375         Documentation improvements.  (Bug#32142)
83377 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
83379         Use consistent function names in thread-tests.el
83381         * test/src/thread-tests.el (threads-call-error, threads-custom)
83382         (threads-errors, threads-sticky-point, threads-signal-early):
83383         Rename, using naming convention to prefix with "threads-".
83385 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
83387         Fix format error in Faccept_process_output
83389         * src/process.c (Faccept_process_output): Do not use format spec
83390         "%p", it isn't valid for error().
83392 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
83394         Lessen stack consumption in recursive read1
83396         * src/lread.c (read1): Shrink local buffer size from
83397         MAX_ALLOCA to 128 (Bug#31995).
83399 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
83401         Match w32 paths in grep sans --null hits (Bug#32051)
83403         * lisp/progmodes/grep.el (grep-regexp-alist): Add an optional part to
83404         match paths starting with C: (other drive letters).
83405         * test/lisp/progmodes/compile-tests.el
83406         (compile-tests--grep-regexp-testcases)
83407         (compile-tests--grep-regexp-tricky-testcases)
83408         (compile-test-grep-regexps): New tests.
83409         (compile--test-error-line): Return `compilation-message'.
83411 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
83413         Fix previous make-network-process change
83415         * src/process.c (Fmake_network_process): On 2018-07-09 "Explicitly
83416         reject :server and :nowait (Bug#31903)", the sense of the SERVER check
83417         was accidentally reversed so that we ended up looking for the wrong
83418         ADDRESS.  Reported by T.V Raman in
83419         <https://lists.gnu.org/r/emacs-devel/2018-07/msg00437.html>.
83421 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
83423         Another documentation improvement in flyspell.el
83425         * lisp/textmodes/flyspell.el (flyspell-persistent-highlight): Doc
83426         fix.
83428 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
83430         Improve documentation of Flyspell
83432         For the background, see
83433         https://lists.gnu.org/archive/html/help-gnu-emacs/2018-07/msg00099.html.
83435         * doc/emacs/fixit.texi (Spelling): Add a couple of caveats.
83436         * lisp/textmodes/flyspell.el: Update commentary.
83438 2018-07-12  Michael Albinus  <michael.albinus@gmx.de>
83440         Provide feature 'threads
83442         * src/thread.c (syms_of_threads): Provide feature "threads".
83444         * test/src/thread-tests.el (top): Declare the functions.
83445         (all): Use (featurep 'threads) check.
83447 2018-07-11  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
83449         Save the server alias on reconnect (Bug#29657)
83451         rcirc does not retain the server alias on reconnect.  As a result, rcirc
83452         fails to re-use server and channel buffers when an alias is used.  Further
83453         problems may ensue when aliases are used to differentiate multiple
83454         connections to the same host, for example when using a single IRC bouncer
83455         or proxy to connect to multiple IRC networks.
83457         Save the server alias when connecting to a server so that reconnect will
83458         retain the alias.
83459         * lisp/net/rcirc.el (rcirc-connect): Include server-alias when setting
83460         rcirc-connection-info.
83462 2018-07-11  Basil L. Contovounesios  <contovob@tcd.ie>
83464         Refer to "proper lists" instead of "true lists"
83466         * doc/lispref/lists.texi (Cons Cells, Building Lists):
83467         * doc/lispref/sequences.texi (Vector Functions): Use the more
83468         popular term "proper", rather than "true", to qualify nil-terminated
83469         lists.
83471         For discussion, see the following emacs-devel subthreads:
83472         https://lists.gnu.org/r/emacs-devel/2018-06/msg00112.html
83473         https://lists.gnu.org/r/emacs-devel/2018-06/msg00138.html
83475 2018-07-10  John Shahid  <jvshahid@gmail.com>
83477         Avoid turning on the global-minor-mode recursively
83479         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Clear
83480         the buffer-list inside MODE-enable-in-buffers to avoid enabling the
83481         mode recursively.  (Bug#31793)
83483 2018-07-10  Michael Albinus  <michael.albinus@gmx.de>
83485         Fix Bug#32085
83487         * doc/misc/tramp.texi (GVFS based methods): `dav' and `davs' do
83488         not support paths in the volume name.  (Bug#32085)
83490 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
83492         Stop using indent-line-to in lisp-indent-line (Bug#32014)
83494         This is partial revert of "Remove ignored argument from
83495         lisp-indent-line", because `indent-line-to' doesn't respect field
83496         boundaries.
83497         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Use delete-region
83498         and indent-to instead of `indent-line-to'.
83499         * test/lisp/emacs-lisp/lisp-mode-tests.el
83500         (lisp-indent-with-read-only-field): Expect to pass.
83502         Don't merge to master, we will fix indent-line-to there instead.
83504 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
83506         Explicitly reject :server and :nowait (Bug#31903)
83508         * src/process.c (Fmake_network_process): Explicitly check for and
83509         signal an error when passed both :server and :nowait non-nil.  In
83510         Emacs 25, :nowait would be ignored in this case, but as of Emacs 26.1
83511         this gives an error, albeit an unclear one.  Also remove obsolete
83512         comment regarding configurations lacking non-blocking mode, the
83513         corresponding code was removed in 2012-11-17 "Assume POSIX 1003.1-1988
83514         or later for fcntl.h."
83516 2018-07-09  Michael Albinus  <michael.albinus@gmx.de>
83518         Fix Bug#32090
83520         * lisp/files-x.el (connection-local-normalize-criteria): Do not
83521         use PROPERTIES anymore.
83522         (connection-local-get-profiles): Rewrite, in order to accept any
83523         property as optional.  (Bug#32090)
83524         (connection-local-set-profiles):
83525         Adapt ´connection-local-normalize-criteria' call.
83527         * test/lisp/files-x-tests.el
83528         (files-x-test-connection-local-set-profiles)
83529         (files-x-test-hack-connection-local-variables-apply): Extend tests.
83531 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83533         Fix floating point exceptions on Alpha (Bug#32086)
83535         Backport from master.
83536         * admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
83537         * m4/fpieee.m4: New file, copied from Gnulib.
83538         * m4/gnulib-comp.m4: Regenerate.
83540 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83542         Fix bootstrap infloop in GNU/Linux alpha
83544         * src/emacs.c (main): Do not re-exec if EMACS_HEAP_EXEC
83545         is already set (Bug#32083).
83547 2018-07-08  Eli Zaretskii  <eliz@gnu.org>
83549         Minor fix of a recent documentation change
83551         * lisp/net/gnutls.el (gnutls-algorithm-priority): Clarify the doc
83552         string.
83554 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
83556         Mention the NSM in the gnutls variable doc strings
83558         * lisp/net/gnutls.el (gnutls-algorithm-priority): Mention the Network
83559         Security Manager here since this variable is an obvious place
83560         for people concerned about network security to look.
83561         (gnutls-verify-error): Ditto.
83562         (gnutls-min-prime-bits): Ditto.
83564 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
83566         Remove test code from last commit
83568 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
83570         Fix Bug#32084
83572         * test/lisp/net/dbus-tests.el (dbus-test02-register-service-own-bus):
83573         Unset $DISPLAY when calling dbus-launch, in order to avoid
83574         possible X11 authentication errors.  (Bug#32084)
83576 2018-07-07  Basil L. Contovounesios  <contovob@tcd.ie>
83578         Fix (length NON-SEQUENCE) documentation
83580         Suggested by Eli Zaretskii <eliz@gnu.org> in the following threads:
83581         https://lists.gnu.org/r/emacs-devel/2018-07/msg00171.html
83582         https://lists.gnu.org/r/emacs-devel/2018-07/msg00206.html
83584         * doc/lispref/sequences.texi (Sequence Functions): Mention that
83585         'length' signals a 'wrong-type-argument' also when given a
83586         non-sequencep argument.
83588 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
83590         Fix bug #11732
83592         * src/w32fns.c (w32_wnd_proc): Fix handling of Windows input
83593         methods.  (Bug#11732)
83595 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
83597         Improve documentation of 'emacs-lock-mode'
83599         * lisp/emacs-lock.el (emacs-lock-mode): Mention in the doc string
83600         the special handling of some major modes due to
83601         'emacs-lock-unlockable-modes'.
83603 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
83605         * lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32016)
83607 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
83609         Improve indexing of 'eval-defun' in ELisp manual
83611         * doc/lispref/display.texi (Defining Faces):
83612         * doc/lispref/debugging.texi (Explicit Debug):
83613         * doc/lispref/customize.texi (Variable Definitions):
83614         * doc/lispref/variables.texi (Defining Variables): Add index
83615         entries for 'eval-defun'.  (Bug#32066)
83617 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
83619         Fix (length CIRCULAR) documentation
83621         * doc/lispref/sequences.texi (Sequence Functions):
83622         Correct documentation of what (length X) does when
83623         X is a circular list.
83625 2018-07-06  Michael Albinus  <michael.albinus@gmx.de>
83627         Tramp editorials
83629         * doc/misc/tramp.texi (Android shell setup): Mention Termux.
83631         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
83632         Use proper spelling "Tramp" in docstring.
83634 2018-07-06  Eli Zaretskii  <eliz@gnu.org>
83636         Clarify and improve doc strings of 'eval-last-sexp' and friends
83638         * lisp/simple.el (eval-expression, eval-expression-print-format):
83639         * lisp/progmodes/elisp-mode.el (eval-last-sexp): Doc fixes.
83640         (Bug#32064)
83642 2018-07-06  Glenn Morris  <rgm@gnu.org>
83644         Automate upload of Emacs manuals to gnu.org
83646         * admin/make-manuals, admin/upload-manuals: New scripts.
83647         * admin/admin.el (make-manuals, make-manuals-dist): Handle batch mode.
83648         * admin/make-tarball.txt: Update web-page details.
83650 2018-07-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
83652         Fix MH-E mail composition with GNU Mailutils (SF#485)
83654         * lisp/mh-e/mh-comp.el (mh-bare-components): Recursively delete
83655         the temporary folder.
83657 2018-07-03  Eli Zaretskii  <eliz@gnu.org>
83659         Speed up 'replace-buffer-contents' some more
83661         * src/editfns.c (EXTRA_CONTEXT_FIELDS): New members beg_a and beg_b.
83662         (Freplace_buffer_contents): Set up ctx.beg_a and ctx.beg_b.
83663         (buffer_chars_equal): Use ctx->beg_a and ctx->beg_b instead of
83664         calling BUF_BEGV, which is expensive.  This speeds up the recipe
83665         in bug#31888 by 30%.
83667 2018-07-03  Glenn Morris  <rgm@gnu.org>
83669         * doc/emacs/docstyle.texi: Avoid messing up the html output.
83671         Previously the @hyphenation commands somehow caused the <head>
83672         section to go missing, with makeinfo 4.13 at least.
83674 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
83676         * etc/HISTORY: Cite Brinkhoff on early history.
83678 2018-07-01  Martin Rudalics  <rudalics@gmx.at>
83680         Document internal use of 'above-suspended' z-group frame parameter
83682         * src/w32fns.c (w32_dialog_in_progress, x_set_z_group):
83683         * src/xterm.c (x_set_z_group): Clarify the internal use of
83684         'above-suspended' when setting a frame's 'z-group' parameter.
83686 2018-06-30  Gemini Lasswell  <gazally@runbox.com>
83688         Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)
83690         * src/eval.c (call_debugger): Increase the amount of extra Lisp
83691         evaluation depth given to the debugger to allow it to call cl-print.
83692         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
83693         to suggest updating call_debugger when changing print-level.
83695 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
83697         Improve on last change in replace-buffer-contents
83699         * src/editfns.c (Freplace_buffer_contents): Call modification
83700         hooks only for the actual region where changes are made.
83701         (Bug#31888)
83703 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
83705         Fix a factual error in Introduction to Emacs Lisp
83707         * doc/lispintro/emacs-lisp-intro.texi (Buffer Names): Update the
83708         key that exits the splash screen.  (Bug#32019)
83710 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
83712         Minor improvements in documentation of imenu.el
83714         * lisp/imenu.el (imenu-generic-skip-comments-and-strings)
83715         (imenu--generic-function): Doc fixes.  (Bug#31962)
83717 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
83719         Avoid errors with recentering in 'skeleton-insert'
83721         * lisp/skeleton.el (skeleton-insert): Don't recenter if we are
83722         running in a buffer other than the one displayed in the selected
83723         window.  (Bug#31950)
83725 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
83727         * src/lisp.h: Omit obsolete comment re bytecode stack.
83729 2018-06-29  Eli Zaretskii  <eliz@gnu.org>
83731         Speed up replace-buffer-contents
83733         * src/editfns.c (EXTRA_CONTEXT_FIELDS): Add a_unibyte and
83734         b_unibyte members.
83735         (rbc_quitcounter): New static variable.
83736         (Freplace_buffer_contents): Initialize a_unibyte, b_unibyte, and
83737         rbc_quitcounter.  Inhibit modification hooks if they were not
83738         already inhibited.  Use rarely_quit to allow user to quit, to
83739         avoid calling maybe_quit too frequently (which hurts performance).
83740         Remove redundant assertions (which hurt performance too much).
83741         Call signal_after_change and update_compositions after all the
83742         changes are done.
83743         (buffer_chars_equal): Remove redundant assertions (which hurt
83744         performance).  Avoid using BUF_FETCH_CHAR_AS_MULTIBYTE, which
83745         hurts performance by referencing Lisp symbols; instead, use
83746         lower-level macros with explicit tests to select which macro to
83747         use.  (Bug#31888)
83749 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
83751         Remove extra process call from vc-git-find-file-hook
83753         * lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.
83755 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
83757         Speed up vc-git-dir-status-files
83759         * lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
83760         ls-files -u' for the ls-files-conflict stage
83761         (https://lists.gnu.org/r/emacs-devel/2018-06/msg00885.html).
83763 2018-06-27  Eli Zaretskii  <eliz@gnu.org>
83765         Avoid compiler warning using coding.h
83767         * src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since
83768         this header now has an extern INLINE function.
83770 2018-06-27  Michael Albinus  <michael.albinus@gmx.de>
83772         Sync with Tramp 2.3.4.  Do not merge with master
83774         * doc/misc/trampver.texi:
83775         * lisp/net/trampver.el: Change version to "2.3.4".
83777         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
83778         Check, that the directory has been removed indeed.
83780         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
83781         (tramp--test-emacs25-p): New defun.
83782         (tramp-test34-vc-registered): Use it.
83784 2018-06-27  Martin Rudalics  <rudalics@gmx.at>
83786         * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975)
83788 2018-06-26  Noam Postavsky  <npostavs@gmail.com>
83790         Detect a non-list package archive content properly (Bug#22311)
83792         * lisp/emacs-lisp/package.el (package--download-one-archive): Use
83793         `read' instead of `read-from-string'; the latter always returns a
83794         cons, so the `listp' check on its return value doesn't make sense.  It
83795         was changed from `read' to `read-from-string' in 2015-04-01 "*
83796         emacs-lisp/package.el: Implement asynchronous refreshing", but that
83797         change was not needed because `read' works fine on strings as well as
83798         buffers.
83800 2018-06-25  Christophe Junke  <junke.christophe@gmail.com>  (tiny change)
83802         Add ido-fallback special variable (Bug#31707)
83804         Before ido.el switch to lexical-binding, it was possible for other
83805         packages to modify the 'fallback' variables declared inside
83806         'ido-file-internal' and 'ido-buffer-internal'.
83807         * lisp/ido.el (ido-fallback): New variable.
83808         (ido-buffer-internal, ido-file-internal): Reset ido-fallback to nil
83809         before prompting user.  Use ido-fallback when ido-exit is 'fallback'.
83810         (ido-fallback-command): Add optional FALLBACK-COMMAND argument.
83812 2018-06-25  Karl Fogel  <kfogel@red-bean.com>
83814         Tighten a cross-reference in documentation
83816         * doc/lispref/internals.texi (Writing Emacs Primitives): Switch to
83817           a simple parenthetical cross-reference, following up to my
83818           commit 9a53b6d426 of 2018-06-24.
83820         See discussion:
83822           https://lists.gnu.org/r/emacs-devel/2018-06/msg00826.html
83823           From: Eli Zaretskii
83824           Subject: Re: [Emacs-diffs] \
83825                    emacs-26 9a53b6d: Say how to override a primitive interactive spec
83826           To: Karl Fogel
83827           CC: Stefan Monnier, Emacs Devel
83828           Date: Mon, 25 Jun 2018 17:41:53 +0300
83829           Message-Id: <83r2kvrkr2.fsf@gnu.org>
83831 2018-06-25  Michael Albinus  <michael.albinus@gmx.de>
83833         Fix last change in tramp-sh.el
83835         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
83836         Use "-R" rather than "-r" for recursive copy of directories.
83838 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
83840         Revert previous patch; comment was OK after all.
83842 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
83844         Fix lead comment for count_trailing_zero_bits
83846         * src/data.c (count_trailing_zero_bits): Fix comment to match code.
83848 2018-06-24  Noam Postavsky  <npostavs@gmail.com>
83850         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring quotes.
83852 2018-06-24  Simen Heggestøyl  <simenheg@gmail.com>
83854         Make a minor update to the CSS mode docstring
83856         * lisp/textmodes/css-mode.el (css-mode): Mention 'fill-paragraph'.
83858 2018-06-24  Karl Fogel  <kfogel@red-bean.com>
83860         Say how to override a primitive interactive spec
83862         * doc/lispref/internals.texi (Writing Emacs Primitives): Mention that
83863           the `interactive-form' property can be used to override a primitive
83864           interactive specification, and refer to the detailed documentation
83865           for setting that property.
83867         From this thread on Emacs Devel:
83869           https://lists.gnu.org/r/emacs-devel/2018-03/msg00923.html
83870           From: Eli Zaretskii
83871           To: Karl Fogel
83872           CC: Juri Linkov, Emacs Devel
83873           Subject: Re: [Emacs-diffs] \
83874                    master b88e7c8: Make transpose-regions interactive (Bug#30343)
83875           Date: Thu, 29 Mar 2018 14:38:15 +0300
83876           Message-Id: <834lkzdsd4.fsf@gnu.org>
83878 2018-06-24  Michael Albinus  <michael.albinus@gmx.de>
83880         Fix Bug#31941
83882         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): In case of
83883         FILENAME being a directory, check whether `copy-directory' could
83884         be avoided.  Suggested by Stephen Nutt <stnutt@gmail.com>.  (Bug#31941)
83885         (tramp-do-copy-or-rename-file-directly): Call "cp" with "-r".
83887 2018-06-23  Leo Liu  <sdl.web@gmail.com>
83889         Fix previous change in minibuffer-default-add-dired-shell-commands
83891         The mailcap minibuffer completion used dynamic binding.  Locally set
83892         a dynamic variable.
83893         * lisp/dired-aux.el (minibuffer-default-add-dired-shell-commands):
83894         Store list of files in 'minibuffer-completion-table'.  (Bug#31794)
83896 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
83898         * src/editfns.c (Fformat): Make %x easier to spot in doc string.  (Bug#31945)
83900 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
83902         Improve responsiveness while in 'replace-buffer-contents'
83904         * src/editfns.c (buffer_chars_equal): Avoid calling
83905         buf_charpos_to_bytepos when the buffer is plain-ASCII.
83906         Suggested by Milan Stanojević <mstanojevic@janestreet.com>.
83907         Call maybe_quit to improve responsiveness.
83908         (Freplace_buffer_contents): Call maybe_quit.  Warn in the doc
83909         string that the function could be slow.  (Bug#31888)
83911 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
83913         Improve documentation of 'server-start' and friends
83915         * lisp/server.el (server-start, server-running-p): Document how to
83916         reliably check that the current Emacs process started the server.
83917         (Bug#31859)
83919 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
83921         Clarify wording about functions' argument lists
83923         * doc/lispref/functions.texi (Argument List): Clarify the
83924         wording.  (Bug#31872)
83926 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
83928         * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)
83930 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
83932         Fix a typo in emacs-lisp-intro.texi
83934         * doc/lispintro/emacs-lisp-intro.texi (kill-ring-yank-pointer):
83935         Add a missing quote.  Reported by Jean-Christophe Helary
83936         <brandelune@gmail.com> in emacs-devel.
83938 2018-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83940         Fix doc typo: missing double-quote
83942 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
83944         Avoid segfaults in replace-buffer-contents with large buffers
83946         * src/editfns.c (Freplace_buffer_contents): Don't release
83947         malloc'ed memory as long as we are using it.  (Bug#31888)
83949 2018-06-22  Robert Pluim  <rpluim@gmail.com>
83951         Adjust for scaling for mode-line popup menus (Bug#31880)
83953         * src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling
83954         into account when calculating screen size.
83956 2018-06-21  Simen Heggestøyl  <simenheg@gmail.com>
83958         Change name of `seqp' argument (Bug#26411)
83960         * lisp/emacs-lisp/seq.el (seqp): Change argument name.
83962         * doc/lispref/sequences.texi: Update the documentation for seqp.
83964 2018-06-20  Noam Postavsky  <npostavs@gmail.com>
83966         Change index of ";" to better reflect it's usage (Bug#31623)
83968         * doc/lispref/objects.texi (Comments): "; for commenting" fits better
83969         with the following text about how a semicolon begins a comment.  Also
83970         mention that only unescaped semicolons start a comment.
83972 2018-06-20  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
83974         Fix bug of 'mouse-drag-and-drop-region' to detect edges of region (Bug#31905)
83976         * lisp/mouse.el (mouse-drag-and-drop-region): Detect both the
83977         beginning and the end of character of region during dragging
83978         text.
83980 2018-06-19  Noam Postavsky  <npostavs@gmail.com>
83982         Fix #'fun handling inside `labels' (Bug#31792)
83984         * lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
83985         cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
83986         last change".
83987         * test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
83988         test.
83989         * lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
83990         link to relevant manual page.
83991         * doc/misc/cl.texi (Function Bindings): Don't imply that function
83992         cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
83993         cl-labels affect references of the form (quote FUNC).
83995 2018-06-18  Eli Zaretskii  <eliz@gnu.org>
83997         Fix vertical-motion with 'visual' line-number display
83999         * src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of
84000         line-number display from X coordinate adjustments.  (Bug#31875)
84002 2018-06-17  Alan Third  <alan@idiocy.org>
84004         Handle NSAttributedString inputs (bug#29837)
84007         * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
84009 2018-06-17  Philipp Stephani  <phst@google.com>
84011         Allow inserting non-BMP characters
84013         * src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
84014         from coding.c and document.
84015         (surrogates_to_codepoint): New function.
84017         * src/nsterm.m (insertText:): Properly handle surrogate pairs.
84019         (cherry picked from commit 703ac3ea1c1ce381f385469a0e88bc29d3fe83c2)
84021 2018-06-17  Aaron Jensen  <aaronjensen@gmail.com>
84023         Prevent errant scroll on mouse click (Bug#31546)
84025         * src/nsterm.m (ns_mouse_position): Use correct frame when determining
84026           mouse position.
84027         * lisp/mouse.el (mouse-drag-track): Only account for mode-line height
84028           if `mode-line-format' is non-nil.
84030 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
84032         Minor documentation fix
84034         * doc/lispref/windows.texi (Window Start and End): Improve
84035         documentation and indexing of window-end.
84037 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
84039         * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug#31858)
84041 2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
84043         Fix byte compilation of (eq foo 'default)
84045         Backport from master.
84046         Do not use the symbol ‘default’ as a special marker.
84047         Instead, use a value that cannot appear in the program,
84048         improving on a patch proposed by Robert Cochran (Bug#31718#14).
84049         * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
84050         New constant.
84051         (byte-compile-cond-jump-table-info)
84052         (byte-compile-cond-jump-table): Use it instead of 'default.
84053         * test/lisp/emacs-lisp/bytecomp-tests.el:
84054         (byte-opt-testsuite-arith-data): Add a test for the bug.
84056 2018-06-16  Michael Albinus  <michael.albinus@gmx.de>
84058         Fix Bug#31846.  Do not merge with master
84060         * lisp/net/secrets.el (secrets-search-items)
84061         (secrets-create-item): Fix format of :dict-entry values.  (Bug#31846)
84063 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
84065         Fix documentation of ':propertize' in mode-line-format
84067         * doc/lispref/modes.texi (Mode Line Data): Make the description of
84068         ':propertize' more accurate.  (Bug#26291)
84070 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
84072         Reject invalid 5-byte sequences when detecting UTF-8 encoding
84074         * src/coding.c (detect_coding_utf_8): Reject multibyte sequences
84075         whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
84076         (Bug#31829)
84077         * src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
84078         about the connection between the value of this macro and MAX_CHAR.
84080 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
84082         Fix 'replace-buffer-contents' in multibyte buffers
84084         * src/editfns.c (buffer_chars_equal): Pass a byte position to
84085         BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
84086         (Bug#31837)
84088         * test/src/editfns-tests.el (replace-buffer-contents-bug31837):
84089         New test.
84091 2018-06-15  Robert Pluim  <rpluim@gmail.com>
84093         Update etc/NEWS for mail-source-movemail-program change
84095         * etc/NEWS: Describe change in how we search for
84096         mail-source-movemail-program.
84098 2018-06-15  Robert Pluim  <rpluim@gmail.com>
84100         Improve movemail default
84102         * lisp/gnus/mail-source.el (mail-source-movemail-program):
84103         Change default to "movemail".
84104         (mail-source-movemail): Pass just mail-source-movemail-program to
84105         call-process instead of fully specifying it relative to
84106         exec-directory.  Ensures that we will find Mailutils movemail if
84107         it is installed.  (Bug#31737)
84109 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
84111         Delete description of deleted Customize functions
84113         * doc/lispref/customize.texi (Variable Definitions): Remove the
84114         description of 'custom-initialize-safe-set' and
84115         'custom-initialize-safe-default', which were deleted in Emacs
84116         23.2, and replace with the description of
84117         'custom-initialize-delay'.
84119 2018-06-14  Noam Postavsky  <npostavs@gmail.com>
84121         Keep vc-print-log from putting point at buffer end (Bug#31764)
84123         * lisp/vc/vc.el (vc-print-log-internal): Use `save-excursion' around
84124         `vc-print-log-setup-buttons'.
84126 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
84128         Don’t set EMACS=t if Bash is 4.4 or newer
84130         (Backport from master.)
84131         (Thanks to Stefan Monnier for improvements to this patch.)
84132         * lisp/term.el (term--bash-needs-EMACS-status): New var.
84133         (term--bash-needs-EMACSp): New function.
84134         (term-exec-1): Use it instead of always setting EMACS.
84136 2018-06-14  Eli Zaretskii  <eliz@gnu.org>
84138         Improve commentary in info.el
84140         * lisp/info.el: Explain in commentary why some commands start with
84141         "info-" and others with "Info-".  See also
84142         https://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00482.html.
84144 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
84146         Fix wording in tramp.texi
84148         * doc/misc/tramp.texi (Frequently Asked Questions):
84149         Fix wording for abbreviations.
84151 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
84153         * doc/misc/tramp.texi (Remote shell setup): Fix typo.
84155 2018-06-12  Sam Steingold  <sds@gnu.org>
84157         Finish the Bug#11728 work: hg & git
84159         * lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
84160         Do not set `compilation-error-regexp-alist', this is done in
84161         `vc-compilation-mode'.
84162         (vc-git-error-regexp-alist): Tweak the regexp.
84163         * lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
84164         (vc-hg--pushpull): Accept `post-processing' argument.
84165         Call them after the `command'.
84166         (vc-hg-pull): Pass the `post-processing' commands that show which
84167         are to be modified by the `update', and then run `update'.
84169 2018-06-12  Sam Steingold  <sds@gnu.org>
84171         Fix Bug#11728: show files updated by git
84173         * lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
84174         `compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
84175         (vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
84176         (vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
84178 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
84180         Make 'tags' targets respect --with-silent-rules (Bug#31744)
84182         * lwlib/Makefile.in (TAGS):
84183         * lisp/Makefile.in (TAGS):
84184         * src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
84185         * src/Makefile.in: Note that TAGS are generated in build dir.
84187 2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
84188             Noam Postavsky  <npostavs@gmail.com>
84190         soap-client: Add byte-code compatibility function (Bug#31742)
84192         * lisp/net/soap-client.el: Bump version to 3.1.4.
84193         (soap-type-of): New function.
84194         (soap-resolve-references, soap-decode-type)
84195         (soap-encode-attributes, soap-encode-value): Replace aref
84196         calls with calls to soap-type-of.
84198         * lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
84199         Replace aref calls with calls to soap-type-of.
84202         Backport: (cherry picked from commit
84203         1feb2e221349f26ec26bc684e0cce2acecbed3ca)
84205 2018-06-11  Eli Zaretskii  <eliz@gnu.org>
84207         * doc/lispref/files.texi (Unique File Names): Fix a typo.  (Bug#31784)
84209 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
84211         Fix term.el cursor movement at bottom margin (Bug#31690)
84213         * lisp/term.el (term-handle-ansi-escape) <\E[B cud>: Allow moving the
84214         cursor to the bottom margin line, rather than stopping one line
84215         before.
84217 2018-06-10  Reuben Thomas  <rrt@sc3d.org>
84219         Call enchant-lsmod correctly when Enchant is installed with a suffix
84221         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
84222         version suffix on the binary name, so enchant-2 is converted to
84223         enchant-lsmod-2, not enchant-2-lsmod.  (Bug#31761)
84225         (cherry picked from commit a402d9aacbecf4bf0b9afde592a3b90c71f96832)
84227 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
84229         Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
84231         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB.  Reported by
84232         Andy Moreton <andrewjmoreton@gmail.com>.
84234 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
84236         Update Unicode data files to version 11.0.0 of Unicode
84238         * admin/unidata/UnicodeData.txt:
84239         * admin/unidata/SpecialCasing.txt:
84240         * admin/unidata/NormalizationTest.txt:
84241         * admin/unidata/copyright.html:
84242         * admin/unidata/BidiMirroring.txt:
84243         * admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
84244         * admin/notes/unicode: Update the URL for OTF script tags.
84246         * lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
84247         * lisp/international/fontset.el (script-representative-chars): Add
84248         hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
84249         makasar, and medefaidrin.
84250         (otf-script-alist): Add old-hungarian.
84251         * lisp/international/characters.el (tbl): Add syntax entries for
84252         Supplemental Mathematical Operators, Miscellaneous Symbols and
84253         Arrows, and Supplemental Punctuation.
84254         Update the list of wide characters.
84256         * test/lisp/international/ucs-normalize-tests.el
84257         (ucs-normalize-tests--failing-lines-part2): Update to match
84258         admin/unidata/NormalizationTest.txt.
84260         * doc/lispref/nonascii.texi (Character Properties): Update the
84261         reference to the Unicode Standard.
84262         * doc/misc/efaq.texi (New in Emacs 26):
84263         * etc/NEWS: Mention compatibility with Unicode 11.0.
84265 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
84267         * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (Bug#31759)
84269 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
84271         Clarify the documentation of 'dired-recursive-deletes'
84273         * doc/emacs/dired.texi (Dired Deletion): Clarify text regarding
84274         recursive deletion of non-empty directories.  (Bug#31529)
84276 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
84278         Clarify doc string of 'update-glyphless-char-display'
84280         * lisp/international/characters.el
84281         (update-glyphless-char-display): Doc fix.  (Bug#31730)
84283 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
84285         Clarify subtle issues with 'eq' in byte-compiled code
84287         * doc/lispref/objects.texi (Equality Predicates): Explain why
84288         byte-compiled code might compare literal objects with identical
84289         contents as 'eq'.  (Bug#31688)
84291 2018-06-07  Gemini Lasswell  <gazally@runbox.com>
84293         Make cl-print respect print-quoted (bug#31649)
84295         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
84296         print-quoted when printing quote and its relatives.  Add printing of
84297         'function' as #'.
84299 2018-06-07  Martin Rudalics  <rudalics@gmx.at>
84301         Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)
84303         * src/window.c (Fset_window_configuration): Prevent that the
84304         fix for Bug#12208 affects restoration of window points when
84305         using separate minibuffer frames (Bug#31695).
84307 2018-06-06  Nicolas Petton  <nicolas@petton.fr>
84309         * etc/emacs.appdata.xml: Update Emacs screenshot.
84311 2018-06-06  Eli Zaretskii  <eliz@gnu.org>
84313         Fix cursor movement by 'next-logical-line' after 'next-line'
84315         * src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers
84316         are being displayed.  Remove unneeded "correction" of TO_X at the
84317         goal line.
84319         * lisp/simple.el (last--line-number-width): Remove unneeded
84320         variable.
84321         (line-move-visual): Account for line-number display width by
84322         adjusting the pixel X coordinate that gets converted into
84323         canonical columns passed to vertical-motion, instead of adjusting
84324         temporary-goal-column (which then affects next commands, including
84325         next-logical-line).  (Bug#31723)
84327 2018-06-05  Allen Li  <darkfeline@felesatra.moe>
84329         Fix prompt in bookmark.el (Bug#24726)
84331         * lisp/bookmark.el (bookmark-set-internal): Conform to the standard
84332         default prompt format (per `minibuffer-electric-default-mode') which
84333         does not use a colon.
84335 2018-06-05  Basil L. Contovounesios  <contovob@tcd.ie>
84337         Improve documentation of 'empty' whitespace-style
84339         * doc/emacs/display.texi (Useless Whitespace): Clarify that the
84340         'empty' whitespace-style option highlights empty lines only at
84341         BOB/EOB, as per the docstring of whitespace-style. (bug#31713)
84343 2018-06-05  Paul Eggert  <eggert@cs.ucla.edu>
84345         Port FC_COLOR change to older fontconfig
84347         Problem reported by John ff in:
84348         https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
84349         * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
84350         Don’t use FC_COLOR on older fontconfigs that don’t have it.
84352 2018-06-05  Robert Pluim  <rpluim@gmail.com>
84354         Ignore color fonts when using Xft
84356         * src/font.c (syms_of_font): New configuration variable
84357         xft-ignore-color-fonts, default t.
84358         * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
84359         color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
84360         * etc/NEWS: Document xft-ignore-color-fonts.
84362 2018-06-04  Noam Postavsky  <npostavs@gmail.com>
84364         Fix comint-get-old-input-default for output field case (Bug#25028)
84366         * lisp/comint.el (comint-get-old-input-default): Don't return whole
84367         field when point was on an output field.
84369 2018-06-04  Eli Zaretskii  <eliz@gnu.org>
84371         Prevent infloop in 'delete-trailing-whitespace'
84373         * lisp/simple.el (delete-trailing-whitespace): Avoid inflooping
84374         when some region of trailing whitespace is unmodifiable.
84375         (Bug#31557)
84377 2018-06-04  Gemini Lasswell  <gazally@runbox.com>
84379         Make cl-print respect print-level and print-length (bug#31559)
84381         * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
84382         (cl-print-object) <cons>: Print ellipsis if printing depth greater
84383         than 'print-level' or length of list greater than 'print-length'.
84384         (cl-print-object) <vector>: Truncate printing with ellipsis if
84385         vector is longer than 'print-length'.
84386         (cl-print-object) <cl-structure-object>: Truncate printing with
84387         ellipsis if structure has more slots than 'print-length'.
84388         (cl-print-object) <:around>: Bind 'cl-print--depth'.
84389         * test/lisp/emacs-lisp/cl-print-tests.el
84390         (cl-print-tests-3, cl-print-tests-4): New tests.
84392         (cherry picked from commit 0f48d18fd2a30f29cc3592a835d2a2254c9b0afb)
84394 2018-06-03  Phil Sainty  <psainty@orcon.net.nz>
84396         Fix remote-host directory tracking for shells in `term' buffers
84398         * lisp/term.el (term-handle-ansi-terminal-messages): Use an explicit
84399         tramp method when constructing the tramp path for a non-local host,
84400         as this is now mandatory.  "-" is a pseudo-method for the user's
84401         `tramp-default-method'.  (Bug#31355)
84403         Specify the remote username explicitly in all cases, as
84404         `tramp-default-user' and `tramp-default-user-alist' could cause the
84405         previous logic to fail.
84407         Minor related improvements to the commentary.
84409 2018-06-03  Eli Zaretskii  <eliz@gnu.org>
84411         Update doc string of 'rx'
84413         * lisp/emacs-lisp/rx.el (rx): Update the description of some
84414         character classes.
84416 2018-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
84418         Fix bug#30846, along with misc cleanups found along the way
84420         * test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
84422         * src/buffer.c (swap_out_buffer_local_variables): Remove.
84423         Fuse the body of its loop into that of reset_buffer_local_variables.
84424         (Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
84425         (reset_buffer_local_variables): Make sure the buffer's local binding
84426         is swapped out before removing it from the alist (bug#30846).
84427         Call watchers before actually killing the var.
84429         * src/data.c (Fmake_local_variable): Simplify.
84430         Use swap_in_global_binding to swap out any local binding, instead of
84431         a mix of find_symbol_value followed by messing with where&found.
84432         Don't call swap_in_symval_forwarding since the currently swapped
84433         binding is never one we've modified.
84434         (Fkill_local_variable): Use swap_in_global_binding rather than messing
84435         with where&found to try and trick find_symbol_value into doing the same.
84437         * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
84439         (cherry picked from commit 3ddff080341580eb6fc18d907181e9cc2301f62d)
84441 2018-06-03  Jay Kamat  <jaygkamat@gmail.com>
84443         esh-opt.el: Fix improper parsing of first argument (Bug#28323)
84445         Examples of broken behavior:
84447             sudo -u root whoami
84448             Outputs: -u
84449             ls -I '*.txt' /dev/null
84450             Errors with: *.txt: No such file or directory
84452         * lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
84453         args to eshell--args, as we rely on modifications from
84454         eshell--process-option and vice versa.  These modifications were not
84455         being propagated in the (if (= ai 0)) case, since popping the first
84456         element of a list doesn't destructively modify the underlying list
84457         object.
84459         (cherry picked from commit 92a8230e49a65be48442ee95cf50c90514e48f99)
84461 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
84463         * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).
84465         (cherry picked from commit 217202c084232f36d4fa0fead0f3aca21396d074)
84467 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
84469         Fix cl-print for circular sublists (Bug#31146)
84471         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
84472         element of list being printed onto cl-print--currently-printing.
84473         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
84474         test.
84476         (cherry picked from commit b8aa7ecf54c9b164a59f1b0e9f9fe90531dadd20)
84478 2018-06-03  Lars Ingebrigtsen  <larsi@gnus.org>
84480         Revert "Make mail-extract-address-components return the user name more"
84482         This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.
84484         According to tests in bug#27656 by OGAWA Hirofumi, this patch
84485         led to wrong results when binding
84487         (dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
84488           (dolist (ignore-single '(t nil))
84489             (dolist (ignore-same '(t nil))
84490               (let ((mail-extr-ignore-single-names ignore-single)
84491                     (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
84492                 (message "%s" (mail-extract-address-components addr))))))
84494         in combination.
84496         (cherry picked from commit a3a9d5434d56f8736cc47e379a1d011d4c779b7c)
84498 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
84500         Centralize Bug#30931 fix
84502         * src/marker.c (detach_marker): New function.
84503         * src/editfns.c (save_restriction_restore):
84504         * src/insdel.c (signal_before_change): Use it.
84506         (cherry picked from commit 6f66a43d7ad6cada2b7dbb6d07efe36be1dc7ecb)
84508 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
84510         Fix another case of freed markers in the undo-list (Bug#30931)
84512         * src/alloc.c (free_marker): Remove.
84513         * src/editfns.c (save_restriction_restore):
84514         * src/insdel.c (signal_before_change): Detach the markers from the
84515         buffer when we're done with them instead of calling free_marker on
84516         them.
84517         * test/src/editfns-tests.el (delete-region-undo-markers-1)
84518         (delete-region-undo-markers-2): New tests.
84520         (cherry picked from commit 96b8747d5c5d747af13fd84d8fe0308ef2a0ea7a)
84522 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
84524         Fix CHECK_ALLOCATED_AND_LIVE abort during GC
84526         * src/editfns.c (save_restriction_restore):
84527         Wait for the GC to free the temporary markers (Bug#30931).
84529         (cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)
84531 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
84533         Don't wait for visible frames to become visible
84535         For discussion, see thread starting at
84536         https://lists.gnu.org/r/emacs-devel/2018-03/msg00807.html.
84537         * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
84538         calling x_wait_for_event.
84540         (cherry picked from commits 2a192e21cf3b04b7f830b4971c1508c611e13a3c
84541         and 00c1f771f2a51ffa675ec5a07ea330f2605cd302)
84543 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
84545         query-replace undo: Handle when user edits the replacement string
84547         * lisp/replace.el (perform-replace): Update the replacement string
84548         after the user edit it (Fix Bug#31538).
84550         * test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.
84552         Backport: (cherry picked from commits
84553         ea133e04f49afa7928e49a3ac4a85b47f6f13f01
84554         and
84555         7dcfdf5b14325ae7996f272f14c72810d7c84944)
84557 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
84559         Backport: Fix corner case in query-replace-regexp undo
84561         This commit fixes Bug#31492.
84562         * lisp/replace.el (replace-match-maybe-edit): Preserve match data.
84564         * test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.
84566         (cherry picked from commit bab73230d1be1fe394b7269c1365ef6fb1a5d9b3)
84568 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
84570         Backport: Preserve case in query-replace undo
84572         If the user query and replaces 'foo' with 'BAR', then
84573         undo must comeback to 'foo', not to 'FOO' (Bug#31073).
84574         * lisp/replace.el (perform-replace): Bind nocasify to non-nil
84575         value during undo/undo-all actions.
84576         * test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
84578         (cherry picked from commit 32dc0cb1b5ae895d237c7118ccaeb084715934fd)
84580 2018-06-02  Alan Third  <alan@idiocy.org>
84582         Set accessibility subroles for child frame (bug#31324)
84585         * src/nsterm.m (x_set_parent_frame): Set subrole depending on whether
84586         frame is a child or not.
84588 2018-06-02  Alan Third  <alan@idiocy.org>
84590         Fix redefinition of child frames on NS
84592         * src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing
84593         parent frame, remove it.
84595 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84597         Improve ELisp documentation of 'clone-indirect-buffer'
84599         * doc/lispref/buffers.texi (Indirect Buffers): Be more explicit
84600         about the value of DISPLAY-FLAG in interactive usage.  (Bug#31648)
84602 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84604         Improve documentation of 'inhibit-message'
84606         * src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against
84607         setting it non-nil globally.  (Bug#31627)
84609 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84611         Improve documentation of comment styles
84613         * doc/lispref/syntax.texi (Syntax Flags): Define the "a" style.
84614         (Bug#31624)
84616 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84618         Documentation improvements in newcomment.el
84620         * lisp/newcomment.el (uncomment-region)
84621         (uncomment-region-default): Doc fixes.  (Bug#31615)
84623 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84625         Imp[rove documentation of 'with-silent-modifications'
84627         * doc/lispref/buffers.texi (Buffer Modification): Document
84628         'with-silent-modifications'.  (Bug#31613)
84629         * doc/lispref/text.texi (Changing Properties): Add a
84630         cross-reference to "Buffer Modification".  Improve wording.
84632 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84634         Fix decoding of directories when "~" includes non-ASCII chars
84636         * src/fileio.c (Fexpand_file_name): Don't build multibyte strings
84637         from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
84638         have different multibyteness, as this adds bytes to the byte
84639         sequence, and in some situations, e.g., when the home directory
84640         includes non-ASCII characters, can fail file APIs.  (Bug#30755)
84642         * lisp/startup.el (normal-top-level): Make sure default-directory
84643         is set to a multibyte string when decoded on MS-Windows.
84645         (cherry picked from commit 3aab8626ba5080bb04d0fdae52d99c850a842a52)
84647 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84649         Don't remove highlight of misspelled word on pdict save
84651         * lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
84652         flyspell-mode, as bug#11963, which this was supposed to fix, is
84653         fixed better by ispell-command-loop, when the user types 'i' or
84654         'a'.  Restarting Flyspell mode when the personal dictionary is
84655         saved caused bug#31372 as side effect.
84656         (ispell-command-loop): Test 'flyspell-mode', not whether
84657         flyspell-unhighlight-at is fboundp, to determine whether Flyspell
84658         mode is turned on in the current buffer.
84659         (flyspell-unhighlight-at): Add declare-function form for it.
84661         (cherry picked from commit 91e582a31ada28fab5ae55bdbf959a9d30796587)
84663 2018-06-02  Ari Roponen  <ari.roponen@gmail.com>
84665         Fix some problems in the Cairo build
84667         * src/xterm.c (x_begin_cr_clip): Create image surface.
84668         (x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
84669         (x_scroll_run) [USE_CAIRO]: Implement scrolling.
84670         * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
84671         (jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
84672         instead of CAIRO for #ifdef's.
84673         (imagemagick_load_image) [USE_CAIRO]: Support Cairo.
84674         (Bug#31288)
84676         (cherry picked from commit 2d0eff42b8f1122e00f948759ed01a3be1a8c3fc)
84678 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84680         Avoid infloops in font_open_entity
84682         * src/font.c (font_open_entity): Fail after 15 iterations through
84683         the loop that looks for a font whose average_width and height are
84684         both positive.  This avoids infinite loops for fonts that, e.g.,
84685         report average_width of zero for any possible size we try.
84686         (Bug#31316)
84688         (cherry picked from commit e2879c1f837059335af89022b2a9ac9bc861e96d)
84690 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84692         Fix encoding of characters when using GB18030 fonts
84694         * lisp/international/fontset.el (font-encoding-alist): Fix the
84695         GB18030 entry to encode characters correctly when passing them to
84696         the xfont back-end.  (Bug#31315)  See also
84697         https://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
84699         (cherry picked from commit bbe2cadc544e63e9378350621887f8fb9bbcc236)
84701 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84703         Fix C-p and C-n when wrap-prefix is too wide
84705         * src/xdisp.c (move_it_in_display_line_to): Avoid looping in
84706         previous/next-line when wrap-prefix is set to a too-wide
84707         stretch of whitespace.  (Bug#30432)
84709         (cherry picked from commit 842b3d7412eaed6b2c9f90c3361abb4932ec0b1d)
84711 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84713         Avoid redisplay problems with too wide wrap-prefix
84715         * src/xdisp.c (display_line): Avoid looping in redisplay when
84716         wrap-prefix is set to a too-wide stretch of whitespace.
84717         (Bug#30432)
84719         (cherry picked from commit 2a1fe08307402d6217d073f8ab7737750d253dd4)
84721 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84723         Fix 'posn-at-point' when line numbers are displayed
84725         * src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
84726         coordinate due to line-number display.  (Bug#30834)
84728         (cherry picked from commit 4a20174d7949028f66b18a92a75d6b74194242a8)
84730 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84732         Another followup to fixing 'window-text-pixel-width'
84734         * src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
84735         when we stop one buffer position short of TO.  (Bug#30746)
84737         (cherry picked from commit 33cba5405c724566673cf023513bfb1faa963bea)
84739 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84741         Fix mouse-set-point when line numbers are displayed
84743         * src/xdisp.c (move_it_to): Initialize the line_number_produced_p
84744         flag before iterating on a new line.  (Bug#30818)
84746         (cherry picked from commit 5c585b8b994aad4e6844f8eed80bdfbb396e91bf)
84748 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84750         * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
84752         (cherry picked from commit 06911714ef66ea81380b1eda75a9f7cfbc9e0b65)
84754 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84756         Fix 'window-text-pixel-size' when display properties are around
84758         * src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
84759         there's a display property at the  TO position, and the call to
84760         move_it_to overshoots.  (Bug#30746)
84762         (cherry picked from commit 50e2c0fb5180a757d8d533518f68837ffe5909be)
84764 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84766         Fix display of TABs in hscrolled windows with line numbers
84768         * src/dispextern.h (struct it): New members tab_offset and
84769         line_number_produced_p.
84770         * src/xdisp.c (display_line): Don't set row->x to a negative value
84771         if line numbers are being displayed.  (Bug#30582)
84772         Reset the line_number_produced_p flag before laying out the glyph
84773         row.
84774         (x_produce_glyphs): Use the line_number_produced_p flag to decide
84775         whether to offset the X coordinate due to line-number display.
84776         Use the tab_offset member to restore the original TAB width for
84777         alignment purposes.
84778         (move_it_in_display_line_to): Don't produce line numbers when moving
84779         in hscrolled window to the left of first_visible_x.
84780         (maybe_produce_line_number): Set the line_number_produced_p flag.
84781         (Bug#30584)
84782         * src/term.c (produce_glyphs): Correct TAB width only when
84783         line_number_produced_p flag is set.
84785         (cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)
84787 2018-06-02  Matthias Dahl  <matthias.dahl@binary-island.eu>
84789         Fix wait_reading_process_output wait_proc hang
84791         * src/process.c (read_process_output): Track bytes read from
84792         a process.
84793         (wait_reading_process_output): If called recursively through
84794         timers and/or process filters via accept-process-output, it is
84795         possible that the output of wait_proc has already been read by
84796         one of those recursive calls, leaving the original call hanging
84797         forever if no further output arrives through that fd and no
84798         timeout has been set.  Fix that by using the process read
84799         accounting to keep track of how many bytes have been read and
84800         use that as a condition to break out of the infinite loop and
84801         return to the caller as well as to calculate the proper return
84802         value (if a wait_proc is given that is).
84804         * src/process.h (struct Lisp_Process): Add nbytes_read to track
84805         bytes read from a process.
84807         (cherry picked from commit 4ba32858d61eee16f17b51aca01c15211a0912f8)
84809 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
84811         Fix posn-at-point in Flycheck buffers
84813         * src/dispnew.c (buffer_posn_from_coords): Improve commentary.
84815         * src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
84816         under truncate-lines if the glyph at TO_CHARPOS was not yet
84817         produced.  This avoids bailing out too early when we are at
84818         TO_CHARPOS, but didn't yet produce glyphs for that buffer
84819         position, because the last call to PRODUCE_GLYPHS at this position
84820         was for an object other than the buffer.  For further details, see
84821         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.
84823         (cherry picked from commit c0154ac7c3423f68d8f3a2e85a756c9759219039)
84825 2018-06-02  Martin Rudalics  <rudalics@gmx.at>
84827         * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31650)
84829 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
84831         Update Emacs Lisp Intro to match current behavior
84833         * doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument)
84834         (debug, debug-on-entry, Void Function, Void Variable): Update the
84835         *Backtrace* buffer display to current Emacs.  (Bug#31654)
84837 2018-06-01  Robert Pluim  <rpluim@gmail.com>
84839         Fix previous commit
84841         * doc/emacs/files.texi (Interlocking): Two spaces at end of sentence
84843 2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)
84845         Fix typos in several manuals (Bug#31610)
84847 2018-06-01  Robert Pluim  <rpluim@gmail.com>
84849         Add detailed documentation about lock files
84851         * doc/emacs/files.texi (Interlocking): Point user at detailed
84852         file locking description in lisp reference manual.  Add index
84853         entry for '.#' to improve disoverability of information about locking.
84855         * doc/lispref/files.texi (File Locks): Describe in detail what
84856         the form of the lock file is.  Add index entry for '.#' to
84857         improve disoverability of information about locking.
84859         * src/filelock.c (create-lockfiles): Add cross reference to
84860         file locking in user manual and to 'lock-buffer'.  Add string
84861         '.#' to help users find the doc string.
84863 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
84865         Add commentary for subtle aspect of frame.el
84867         * lisp/frame.el: Explain why we use symbol-function when adding
84868         watchers for certain variables that need to trigger redisplay.
84870 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
84872         Improve documentation of 'directory-files-and-attributes'
84874         * doc/lispref/files.texi (Contents of Directories): Fix inaccurate
84875         description of the return value of directory-files-and-attributes.
84877         * src/dired.c (Fdirectory_files_and_attributes): Describe the
84878         function's value in more detail.
84880 2018-05-30  Katsumi Yamaoka  <yamaoka@jpl.org>
84882         * lisp/gnus/message.el (message-remove-header): Don't remove things
84883         not looking like header (bug#31651).
84885 2018-05-30  Eli Zaretskii  <eliz@gnu.org>
84887         Adapt hexl-mode to native line-number display
84889         * lisp/hexl.el (hexl-mode-ruler): When display-line-numbers is in
84890         effect, adjust offsets and columns to account for the line-number
84891         display.  (Bug#31595)
84893 2018-05-30  Michael Albinus  <michael.albinus@gmx.de>
84895         Fix example in Tramp manual
84897         * doc/misc/tramp.texi (Frequently Asked Questions): Fix wording
84898         for the zsh example.
84900 2018-05-29  Robert Pluim  <rpluim@gmail.com>
84902         Handle case where Xft is found but not XRender
84904         * configure.ac (XFT_LIBS): Ensure that HAVE_XFT is no if
84905         XRender is not found.  (Bug#31634)
84907 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
84909         * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh example.
84911 2018-05-29  Damien Cassou  <damien@cassou.me>
84913         Improve read-multiple-choice docstring (Bug#31628)
84915         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.
84917 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
84919         * doc/misc/tramp.texi (All): Use @code instead of @option for user options.
84921 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
84923         Fix Bug#31605
84925         * doc/misc/tramp.texi (All): Add @vindex entries for
84926         environment variables.
84927         (Remote shell setup): New items `tramp-terminal-type' and
84928         "Determining a Tramp session".
84929         (Frequently Asked Questions): Adapt zsh example.  (Bug#31605)
84931 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
84933         Sync with Tramp 2.3.4-pre
84935         * doc/misc/trampver.texi: Change version to "2.3.4-pre
84937         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
84938         (tramp-backup-directory-alist, tramp-auto-save-directory)
84939         (tramp-encoding-shell, tramp-encoding-command-switch)
84940         (tramp-encoding-command-interactive, tramp-default-method)
84941         (tramp-default-method-alist, tramp-default-user)
84942         (tramp-default-user-alist, tramp-default-host)
84943         (tramp-default-host-alist, tramp-default-proxies-alist)
84944         (tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
84945         (tramp-local-end-of-line, tramp-rsh-end-of-line)
84946         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
84947         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
84948         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
84949         (tramp-terminal-prompt-regexp)
84950         (tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
84951         (tramp-process-alive-regexp, tramp-chunksize)
84952         (tramp-process-connection-type, tramp-connection-timeout)
84953         (tramp-connection-min-time-diff)
84954         (tramp-completion-reread-directory-timeout):
84955         * lisp/net/tramp-adb.el (tramp-adb-program)
84956         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
84957         * lisp/net/tramp-cache.el (tramp-connection-properties)
84958         (tramp-persistency-file-name):
84959         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
84960         (tramp-gvfs-zeroconf-domain, tramp-bluez-discover-devices-timeout):
84961         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
84962         (tramp-copy-size-limit, tramp-terminal-type)
84963         (tramp-histfile-override, tramp-use-ssh-controlmaster-options)
84964         (tramp-remote-path, tramp-remote-process-environment)
84965         (tramp-sh-extra-args):
84966         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
84967         (tramp-smb-conf, tramp-smb-winexe-program)
84968         (tramp-smb-winexe-shell-command)
84969         (tramp-smb-winexe-shell-command-switch):
84970         Don't require 'tramp.  (Bug#31558)
84972         * lisp/net/tramp.el (tramp-accept-process-output):
84973         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
84974         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
84975         (tramp-sh-handle-start-file-process):
84976         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
84977         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
84978         (tramp-smb-handle-set-file-acl)
84979         (tramp-smb-handle-start-file-process): Suppress timers.
84981         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
84982         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
84983         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
84984         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
84985         Write proper message.
84987         * lisp/net/tramp-cmds.el (tramp-change-syntax):
84988         Use `customize-set-variable'.
84990         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
84991         Ensure proper EOL handling for Darwin.
84992         (tramp-find-inline-compress): Improve command quoting for w32.
84993         Reported by Chris Zheng <chriszheng99@gmail.com>.
84994         (tramp-open-connection-setup-interactive-shell): Wrap both echo
84995         calls in parentheses, in order to avoid double prompt.
84997         * lisp/net/tramp-smb.el (tramp-smb-errors):
84998         Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
85000         * lisp/net/tramp.el (tramp-default-user-alist)
85001         (tramp-default-host-alist): Fix docstring.
85002         (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
85003         (tramp-make-tramp-file-name): Check, that method is
85004         not empty.  (Bug#30038)
85005         (tramp-message-show-message): Change default.
85007         * lisp/net/trampver.el: Change version to "2.3.4-pre".
85009         * test/lisp/net/tramp-tests.el (ert-x): Require it.
85010         (tramp-test10-write-region): Extend test.
85011         (tramp--test-emacs27-p, tramp--test-windows-nt): New defuns.
85012         (tramp-test11-copy-file, tramp-test12-rename-file)
85013         (tramp-test21-file-links, tramp-test24-file-acl)
85014         (tramp-test25-file-selinux, tramp--test-check-files): Use them.
85015         (tramp-test21-file-links): Do not call `make-symbolic-link' on w32.
85016         Fix file name quoting test.
85017         (tramp-test32-environment-variables-and-port-numbers):
85018         Adapt check for systems which do not support "echo -n".  (Bug#29712)
85019         (tramp-test36-find-backup-file-name): Call also
85020         `convert-standard-filename' due to w32.
85021         (tramp-test41-asynchronous-requests):
85022         Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
85023         (tramp-test42-auto-load, tramp-test42-delay-load)
85024         (tramp-test42-recursive-load, tramp-test42-remote-load-path):
85025         Quote command due to w32.
85027 2018-05-28  Eli Zaretskii  <eliz@gnu.org>
85029         Bump Emacs version to 26.1.50
85031         * msdos/sed2v2.inp:
85032         * nt/README.W32:
85033         * configure.ac:
85034         * README: Bump Emacs version to 26.1.50.
85036 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
85038         Mention pcase as a fifth conditional form
85040         * doc/lispref/control.texi (Conditionals): ...here,
85041         in first para, w/ xref to "Pattern-Matching Conditional".
85043 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
85045         Overhaul pcase documentation
85047         Suggested by Drew Adams (Bug#31311).
85049         * doc/lispref/control.texi (Control Structures):
85050         Add "Pattern-Matching Conditional" to menu, before "Iteration".
85051         (Conditionals): Delete menu.
85052         (Pattern matching case statement): Delete node/subsection,
85053         by actually moving, renaming, and overhauling it to...
85054         (Pattern-Matching Conditional): ...new node/section.
85055         (pcase Macro): New node/subsection.
85056         (Extending pcase): Likewise.
85057         (Backquote Patterns): Likewise.
85058         * doc/lispref/elisp.texi (Top) In @detailmenu, add
85059         "Pattern-Matching Conditional" under "Control Structures"
85060         section and delete "Conditionals" section.
85061         * lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring.
85062         (pcase-defmacro \` (qpat) ...): Likewise.
85064 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
85066         Use EXPVAL in docstrings of patterns defined using pcase-defmacro
85068         Suggested by Drew Adams (Bug#31311).
85070         * lisp/emacs-lisp/cl-macs.el (cl-struct): ...here.
85071         * lisp/emacs-lisp/eieio.el (eieio): Likewise.
85072         * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise.
85073         * lisp/emacs-lisp/rx.el (rx): Likewise.
85075 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
85077         Introduce EXPVAL for pcase, pcase-defmacro docstrings
85079         Suggested by Drew Adams (Bug#31311).
85081         * lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in
85082         docstring to stand for the result of evaluating EXP.
85083         (pcase-defmacro): Add (fn ...) form in docstring
85084         that includes [DOC], and the EXPVAL convention.
85086 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
85088         Ensure pcase doc shows `QPAT first among extensions
85090         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
85091         Split extensions display into two phases, collection
85092         and display, separated by a reordering step that
85093         ensures backquote is the first.
85095 2018-05-25  Nicolas Petton  <nicolas@petton.fr>
85097         * etc/HISTORY: Update for Emacs 26.1 release.
85099         * etc/AUTHORS: Update.
85101 2018-05-25  Noam Postavsky  <npostavs@gmail.com>
85103         Note caveat for backward regexp searching in docstring (Bug#31584)
85105         * src/search.c (Fre_search_backward): Emphasize that backwards
85106         searches may give shorter than expected matches.
85107         * doc/lispref/searching.texi (Regexp Search): Add an anchor for
85108         re-search-backward to reference.
85110 2018-05-25  Eli Zaretskii  <eliz@gnu.org>
85112         Update backtrace in Emacs Lisp Intro
85114         * doc/lispintro/emacs-lisp-intro.texi (Making Errors): Update the
85115         backtrace to match Emacs 26.  (Bug#31589)
85117 2018-05-24  Roland Winkler  <winkler@gnu.org>
85119         Move window-point in bibtex-search-entry
85121         * lisp/textmodes/bibtex.el (bibtex-search-entry): Move window-point
85122         to record found.
85124 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
85126         More fixes of Intro to Emacs Lisp
85128         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Tell the
85129         reader how to invoke 'M-.' without a tags table.  Add a
85130         cross-reference to the Emacs manual for when a tags table does
85131         need to be created.
85132         (append save-excursion): Rephrase a confusing sentence.
85133         (Bug#31578)
85135 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
85137         Add a footnote to Emacs Lisp Intro
85139         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Describe
85140         the detailed output of integer value evaluation in a footnote, to
85141         prevent confusion.  (Bug#31579)
85143 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
85145         * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
85147 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
85149         Fix some cross-references in emacs-lisp-intro.texi
85151         * doc/lispintro/emacs-lisp-intro.texi (List Processing)
85152         (Determining the Element, graph-body-print): Fix cross-references
85153         to subsections that don't exist in the printed version of the
85154         manual.  (Bug#31567)
85156 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
85158         Minor copyedits in Emacs manual in macos.texi
85160         * doc/emacs/macos.texi (Mac / GNUstep Basics)
85161         (Mac / GNUstep Events): Fix markup and capitalization.
85162         (Bug#31568)
85164 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
85166         Clarify when to use advice-add vs add-function
85168         * lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
85169         advice-add should be used for named functions.
85171 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
85173         Minor formatting tweak in the Emacs manual
85175         * doc/emacs/custom.texi (Directory Variables): Don't have 2
85176         footnotes back to back, it looks bad in HTML.  (Bug#31555)
85178 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
85180         Update comments in Intro to Emacs Lisp
85182         * doc/lispintro/emacs-lisp-intro.texi: Explain in the comments
85183         what are roman page numbers in Preface about.  (Bug#31541)
85185 2018-05-21  Noam Postavsky  <npostavs@gmail.com>
85187         * etc/NEWS: Mention change in `edebug-prin1-to-string'.
85189 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
85191         Another attempt to fix sql.el
85193         * lisp/progmodes/sql.el (sql-product-interactive): Fix calculation
85194         of the SQL buffer name.  (Bug#31446)
85196 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
85198         Update binding of 'M-.' in Intro to Emacs Lisp
85200         * doc/lispintro/emacs-lisp-intro.texi (On Reading this Text)
85201         (Finding More, Buffer Related Review, Buffer Exercises)
85202         (Find a File, Conclusion): 'M-.' is now bound to
85203         'xref-find-definitions'.  (Bug#31542)
85205 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
85207         Fix a typo in last change in sql.el
85209         * lisp/progmodes/sql.el (sql-product-interactive): Use 'null',
85210         not 'zerop'.  (Bug#31446)
85212 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
85214         Fix capitalization of mail headers
85216         * doc/emacs/sending.texi (Mail Format, Mail Headers)
85217         (Mail Aliases, Header Editing): Use consistent capitalization of
85218         CC, BCC, and FCC.  (Bug#31532)
85220 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
85222         Fix buffer names in sql.el
85224         * lisp/progmodes/sql.el (sql-product-interactive): Fix the way the
85225         buffer name is determined by prefix arg.  (Bug#31446)
85227 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
85229         Minor fixes in the Emacs manual
85231         * doc/emacs/misc.texi (Gnus Group Buffer): Fix a typo.  (Bug#31534)
85232         (Single Shell): Rephrase an unclear sentence.  (Bug#31535)
85233         (Remote Host): Use @command where appropriate.  (Bug#31536)
85235 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
85237         Fix a typo in rmail.texi
85239         * doc/emacs/rmail.texi (Rmail Summary Edit): Add markup to 'nil'.
85240         (Bug#31533)
85242 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
85244         * etc/PROBLEMS: Document Bug#31305.
85246 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
85248         (gnus-blocked-images): Clarify privacy implications
85250         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
85251         implication of altering the value of this variable.
85253         (cherry picked from commit f4d9fd3dd45f767eca33fbf1beee40da790fa74e)
85255 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
85257         Fix a typo in describing input methods
85259         * lisp/help-mode.el (help-make-xrefs): Fix a typo.  (Bug#31448)
85261 2018-05-14  Eli Zaretskii  <eliz@gnu.org>
85263         Clarify the mode-line indicators in CC Mode
85265         * doc/emacs/programs.texi (Electric C): Explain '*' and '/' in the
85266         CC Mode mode-line.  (Bug31445)
85268 2018-05-12  João Távora  <joaotavora@gmail.com>
85270         Fix filesystem littering by Flymake's legacy backend
85272         The Flymake legacy "proc" backend, which is active by default will try
85273         to syntax-check foo.c/foo.cpp and many other types of files, but on
85274         failing to find a suitable Makefile target, will fail.  There's
85275         nothing wrong with that except that it used to leave behind the
85276         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
85277         the filesystem.
85279         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
85280         Call init-function inside of the unwind-protect.
85282 2018-05-12  Paul Eggert  <eggert@cs.ucla.edu>
85284         * doc/emacs/help.texi: Fix paren typo.
85286 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
85288         More minor changes in shell-related nodes of Emacs manual
85290         * doc/emacs/misc.texi (Interactive Shell): Clarify how the window
85291         that displays "*shell*" is selected.
85292         (Shell Prompts): Fix a typo.  Reported by Jorge
85293         <jorge+list@disroot.org> in emacs-manual-bugs.
85295 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
85297         Fix inaccuracies in "Shell Ring" node of Emacs manual
85299         * doc/emacs/misc.texi (Shell Ring): Don't mention 'M-s' and don't
85300         insist on Shell history commands being "just like" similar
85301         commands that operate on minibuffer history.  Reported by Jorge
85302         <jorge+list@disroot.org> in emacs-manual-bugs.
85304 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
85306         Improve documentation of kmacro commands and variables.
85308         * lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
85309         (kmacro-counter, kmacro-set-format, kmacro-set-counter)
85310         (kmacro-add-counter, kmacro-counter-format)
85311         (kmacro-insert-counter): Clarify and improve the doc strings.
85312         (Bug#31243)
85314 2018-05-11  Noam Postavsky  <npostavs@gmail.com>
85316         * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
85318 2018-05-08  Noam Postavsky  <npostavs@gmail.com>
85320         Don't check non-X frames for z order (Bug#31373)
85322         * src/xfns.c (x_frame_list_z_order): Only use frames with
85323         `output_method' set to `output_x_window'.
85325 2018-05-07  Alan Third  <alan@idiocy.org>
85327         Check NSWindow is actually a frame
85329         * src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
85330         of EmacsView before treating it as one.
85332 2018-05-06  Xu Chunyang  <mail@xuchunyang.me>
85334         Fix gud-statement for pdb
85336         * lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
85337         (Bug#31363)
85339 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
85341         Document 'custom-group'
85343         * doc/lispref/customize.texi (Group Definitions): Document the
85344         'custom-group' property.
85346 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
85348         A minor addition to etc/DEBUG
85350         * etc/DEBUG: Add a note for macOS users who get error messages
85351         when trying to run GDB.
85353 2018-05-04  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
85355         Avoid errors in ispell.el when Enchant returns empty extra chars
85357         * lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
85358         Handle the case of empty extra characters returned by the
85359         Enchant '-lsmod' command. (Bug#31344)
85361 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
85363         Make 'ispell-initialize-spellchecker-hook' work again
85365         * lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
85366         Defvar it to allow dynamic binding.  (Bug#31341)
85368 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
85370         Handle selected_window change in prepare_menu_bars (Bug#31312)
85372         * src/xdisp.c (redisplay_internal): Check selected_window after
85373         calling prepare_menu_bars, since it can call lisp hooks.
85375 2018-05-03  Eli Zaretskii  <eliz@gnu.org>
85377         Fix report-emacs-bug via mailclient on MS-Windows
85379         * lisp/net/browse-url.el (browse-url-default-windows-browser):
85380         On MS-Windows, call url-unhex-string only for file:// URLs.
85381         (Bug#31351)
85383 2018-05-02  Paul Eggert  <eggert@cs.ucla.edu>
85385         Port collation tests to glibc 2.27
85387         * test/src/fns-tests.el (fns-tests-collate-strings)
85388         (fns-tests-collate-sort): Don’t make unportable assumptions
85389         about how en_US.UTF-8 collation works.  These assumptions
85390         are not true on Fedora 28, which ships with glibc 2.27.
85392 2018-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85394         Port --enable-gcc-warnings to GCC 8
85396         Backport from master.
85397         * lib-src/emacsclient.c (fail):
85398         Do not dereference a null pointer.
85399         * src/frame.c (delete_frame):
85400         Add a decl with UNINIT to work around GCC bug 85563.
85401         * src/menu.h (finish_menu_items):
85402         Do not use attribute const.
85403         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
85405 2018-04-30  Paul Eggert  <eggert@cs.ucla.edu>
85407         Advise CFLAGS= operand, not in environment, when configuring
85409         Backport from master.
85411 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
85413         Update the Emacs FAQ
85415         * doc/misc/efaq.texi (Latest version of Emacs): Update versions.
85416         (New in Emacs 26): New node.
85418         * admin/release-process: Mention the FAQ update as part of the
85419         release.
85421 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
85423         * etc/DEBUG: Minor copyedits.
85425 2018-04-26  Alan Third  <alan@idiocy.org>
85427         Clarify wording of NS drag n drop documentation
85429         * doc/emacs/macos.texi (Mac / GNUstep Events): Clarify wording of
85430         ns-drag-n-drop description.
85432 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
85434         Improve kill-related documentation (bug#31209)
85436         * doc/lispref/text.texi (Low-Level Kill Ring): Fix typo under
85437         current-kill.  Mention interprogram-paste-function under kill-new
85438         and kill-append.
85439         * lisp/simple.el (save-interprogram-paste-before-kill, kill-new)
85440         (kill-append-merge-undo, kill-append): Touch-up docstrings.
85442 2018-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
85444         * lisp/simple.el (region-extract-function): Don't hide the 'nil' case.
85446 2018-04-22  Karl Otness  <karl@karlotness.com>  (tiny change)
85448         Fix pre- and post-command-hook errors in term.el
85450         Before this patch, after the terminal process dies the command
85451         hooks added in term-mode's char mode would produce errors.
85452         This fix removes these hooks when the process dies.
85453         * lisp/term.el (term-handle-exit): Remove pre-command-hook and
85454         post-command-hook because the process is dead.  (Bug#31236)
85456 2018-04-22  Charles A. Roelli  <charles@aurox.ch>
85458         * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
85460 2018-04-21  Alan Third  <alan@idiocy.org>
85462         Fix macOS drag n drop event documentation
85464         * doc/emacs/macos.texi (Mac / GNUstep Customization): Remove
85465         references to color panel.
85466         (Mac / GNUstep Events): Remove ns-drag-file, and add ns-drag-n-drop.
85468 2018-04-20  Eli Zaretskii  <eliz@gnu.org>
85470         Update the documentation of 'perform-replace'
85472         * doc/lispref/searching.texi (Search and Replace): Update the
85473         documentation of 'perform-replace'.
85475 2018-04-20  Martin Rudalics  <rudalics@gmx.at>
85477         * etc/NEWS: Another fix for the last change (noted by Juri Linkov)
85479 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
85481         Fix use of @key in Texinfo manuals
85483         * doc/misc/efaq-w32.texi (Location of init file):
85484         * doc/misc/org.texi (Editing source code, Export settings)
85485         (Closing items, Drawers, Structure editing):
85486         * doc/misc/gnus.texi (Spam and Ham Processors, Terminology):
85487         * doc/misc/calc.texi (Keypad Functions Menu, Keypad Binary Menu)
85488         (Keypad Vectors Menu, Keypad Main Menu, Basic Arithmetic)
85489         (Symbolic Mode):
85490         * doc/misc/sc.texi (Electric References):
85491         * doc/misc/info.texi (Help-^L):
85492         * doc/misc/reftex.texi (Reference Styles):
85493         * doc/misc/idlwave.texi (Troubleshooting, Examining Variables)
85494         (Lesson III---User Catalog, Using the Shell):
85495         * doc/misc/eshell.texi (Bugs and ideas):
85496         * doc/misc/ada-mode.texi (Automatic Casing):
85497         * doc/misc/ediff.texi (Selective Browsing):
85498         * doc/misc/vip.texi (Customizing Constants):
85499         * doc/misc/pcl-cvs.texi (Selected files):
85500         * doc/misc/efaq.texi (Replying to the sender of a message)
85501         (Basic keys, No Meta key, Matching parentheses)
85502         (Origin of the term Emacs, Installing Texinfo documentation)
85503         (Learning how to do something, Emacs manual, Extended commands):
85504         * doc/misc/viper.texi (Rudimentary Changes):
85505         * doc/misc/tramp.texi (Frequently Asked Questions):
85506         * doc/emacs/kmacro.texi (Basic Keyboard Macro):
85507         * doc/emacs/frames.texi (Frame Commands):
85508         * doc/emacs/msdos.texi (Windows Keyboard):
85509         * doc/emacs/search.texi (Query Replace):
85510         * doc/lispintro/emacs-lisp-intro.texi (Keybindings)
85511         (Note for Novices):
85512         * doc/lispref/tips.texi (Key Binding Conventions): Fix use of
85513         @key.  For the details, see
85514         https://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00390.html.
85516 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
85518         Improve documentation of actual arglist
85520         * doc/lispref/functions.texi (Function Documentation): Advise
85521         against using '(fn ARGLIST)' method of advertising a calling
85522         convention when the old calling convention is deprecated.
85523         (Bug#31191)
85525 2018-04-18  Noam Postavsky  <npostavs@gmail.com>
85527         Don't assume term-current-row cache is valid (Bug#31193)
85529         * lisp/term.el (term-down): Call `term-current-row' instead of
85530         directly accessing the variable `term-current-row.  Following a resize
85531         of the terminal's window, `term-current-row' is reset to nil, so it is
85532         not safe to assume it is a number.
85534 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
85536         Fix flyspell-auto-correct-previous-word broken by recent change
85538         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Keep
85539         flyspell-auto-correct-region also when repeatedly invoking
85540         flyspell-auto-correct-previous-word.  (Bug#31188)
85542 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
85544         * test/src/lread-tests.el (lread-test-bug-31186): New test.
85546 2018-04-17  Andreas Schwab  <schwab@suse.de>
85548         Fix undefined behavior while looking for lexical-binding file
85549         variable (bug 31186).
85551         * src/lread.c (lisp_file_lexically_bound_p): Reset
85552         beg_end_state before reading variable or value.
85554 2018-04-15  Eli Zaretskii  <eliz@gnu.org>
85556         Minor wording improvement in "Bookmarks"
85558         * doc/emacs/regs.texi (Bookmarks): Improve wording.  Suggested by
85559         "Siraphob (Ben) Phipathananunth" <siraben@disroot.org>.
85561 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
85563         Fix building etc/DOC in the MSDOS port
85565         * msdos/sed1v2.inp (lisp.mk): Fix escaping in Sed commands.
85567 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
85569         * lisp/select.el (gui-get-selection): Doc fix.
85571 2018-04-13  Alan Mackenzie  <acm@muc.de>
85573         Complete documentation of syntax flags by adding `c'
85575         * doc/lispref/syntax.texi ("Syntax Table Internals"): Add entry for `c'
85576         as `(1 lsh 23)'.
85578 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
85580         Fix typos and minor wording issues in ELisp manual
85582         * doc/lispref/internals.texi (Writing Emacs Primitives):
85583         * doc/lispref/display.texi (Temporary Displays): Fix typos.
85584         * doc/lispref/text.texi (Filling, Changing Properties)
85585         (Transposition): Clarify and fix typos.
85586         * doc/lispref/positions.texi (Screen Lines): Improve wording.
85587         * doc/lispref/modes.texi (Minor Mode Conventions)
85588         (Font Lock Multiline): Fix typos.
85589         * doc/lispref/variables.texi (Dynamic Binding Tips): Fix a
85590         cross-reference.  Fix a typo.
85591         * doc/lispref/sequences.texi (Sequence Functions): Fix typos.
85592         (Bug#31143)
85594 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
85596         Avoid segfault in processes of type 'pipe'
85598         * src/process.c (Fmake_pipe_process): Set up the decoding and
85599         encoding buffers.  For the details, see
85600         https://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.
85602 2018-04-13  Robert Pluim  <rpluim@gmail.com>
85604         Remove repetitions in documentation strings
85606         * lisp/bindings.el (right-word): Remove repetition
85607         (left-word): Likewise.
85609         * lisp/image-mode.el (image-mode-as-hex): Likewise.
85611         * lisp/cedet/semantic/tag-ls.el (semantic-tag-similar-p): Likewise.
85613         * lisp/textmodes/reftex-vars.el (reftex-view-crossref-extra): Likewise
85615 2018-04-12  Eli Zaretskii  <eliz@gnu.org>
85617         * lisp/image.el (image-load-path): Doc fix.
85619 2018-04-09  Nicolas Petton  <nicolas@petton.fr>
85621         * etc/AUTHORS: Regenerate.
85623 2018-04-09  Charles A. Roelli  <charles@aurox.ch>
85625         * lisp/files.el (kept-new-versions): Improve documentation string.
85627 2018-04-09  Eli Zaretskii  <eliz@gnu.org>
85629         Fix a minor mistake in the ELisp manual
85631         * doc/lispref/files.texi (Reading from Files): Fix copy/paste
85632         mistake.  (Bug#31107)
85634 2018-04-06  Eli Zaretskii  <eliz@gnu.org>
85636         * lisp/files.el (find-file-literally): Doc fix.
85638 2018-04-05  Eli Zaretskii  <eliz@gnu.org>
85640         Fix typos in doc strings
85642         * lisp/simple.el (undo-auto--boundary-timer)
85643         (undo-auto--boundary-ensure-timer): Fix typos in doc strings.
85645 2018-04-05  Nicolas Petton  <nicolas@petton.fr>
85647         Bump Emacs version to 26.1
85649         * README:
85650         * configure.ac:
85651         * msdos/sed2v2.inp:
85652         * nt/README.W32: Bump Emacs version to 26.1.
85654 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
85656         * lisp/emacs-lisp/inline.el: Clarify apparent typos
85658 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
85660         Allow sexp customization type in auth-sources
85662         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
85663         Update the :version tag.
85665         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
85667 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
85669         * etc/NEWS: Remove temporary markup.
85671         * etc/AUTHORS: Update.
85673         * ChangeLog.3: Update.
85675 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
85677         Fix Bug#31022
85679         * lisp/cus-start.el (temporary-file-directory): Suppress file name
85680         handlers when calling `shell-command-to-string'.  (Bug#31022)
85682 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
85684         Update "Calendrical Calculations" cites
85686         * lisp/calendar/calendar.el: Update citations to the book
85687         "Calendrical Calculations" and its predecessors.
85689 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
85691         Fix term.el rendering following a window resize (Bug#30544)
85693         * lisp/term.el (term-reset-size): Reset cached row and column values
85694         before changing point.
85696 2018-04-02  Philipp Stephani  <phst@google.com>
85698         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
85700 2018-04-01  Philipp Stephani  <phst@google.com>
85702         Quote a few backticks in docstrings.
85704         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
85705         (macroexp-if): Quote backtick in docstrings.
85707 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
85709         Minor copyedits of completion-at-point-functions documentation
85711         * lisp/minibuffer.el (completion-at-point-functions):
85712         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
85713         and filling.
85715         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
85717 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
85719         (completion-at-point-functions): Improve doc
85721         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
85723 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
85725         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
85727 2018-03-31  Hong Xu  <hong@topbug.net>
85729         Mention `key-description' as inverse of `kbd' (Bug#30942)
85731         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
85732         doc.
85734 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
85736         Document return value of pcase (Bug#30425)
85738         * doc/lispref/control.texi (Pattern matching case statement):
85739         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
85740         patterns match.
85741         (pcase-exhaustive): State that an error is signaled if no patterns
85742         match.
85744 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
85746         * doc/emacs/macos.texi: Tweak grammar and capitalization.
85748 2018-03-31  Richard Stallman  <rms@gnu.org>
85750         Distinguish free from non-free OSes
85752 2018-03-28  Glenn Morris  <rgm@gnu.org>
85754         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
85756 2018-03-28  Glenn Morris  <rgm@gnu.org>
85758         Fix xrefs in pdf Emacs manual
85760         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
85761         (Fortran Columns):
85762         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
85763         Fix recent changes that neglected the splitting of the pdf manuals.
85765 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
85767         * doc/misc/org.texi (Installation): Fix clone commands.
85769 2018-03-27  Rasmus  <rasmus@gmx.us>
85771         Update Org to v9.1.9
85773         Please note this is a bugfix release. See etc/ORG-NEWS for details.
85775 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
85777         De-obsolete `if-let' and `when-let'
85779         For the following release it is planned to make `if-let*' and
85780         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
85781         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
85783         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
85784         refer to those of `if-let' and `when-let'.
85785         (if-let, when-let): De-obsolete.  Rewrite documentation.
85787 2018-03-26  Glenn Morris  <rgm@gnu.org>
85789         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
85791 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
85793         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
85795 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
85797         Fix crash after frame is freed on macOS (bug#30800)
85799         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
85800         (bug#30800)
85802 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
85804         More manual editing
85806         * doc/emacs/basic.texi:
85807         * doc/emacs/calendar.texi:
85808         * doc/emacs/display.texi:
85809         * doc/emacs/mini.texi:
85810         * doc/emacs/misc.texi:
85811         * doc/emacs/picture-xtra.texi:
85812         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
85813         <next> and <prior>.  Add missing @kindex entries.
85815         * doc/emacs/custom.texi (Function Keys): Fix and add missing
85816         key symbols.
85818 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
85820         Minor manual changes changes
85822         * doc/emacs/misc.texi (FFAP): Complete commands.
85823         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
85825 2018-03-24  Glenn Morris  <rgm@gnu.org>
85827         * lisp/calculator.el (calculator-paste-decimals): Add version.
85829 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
85831         More proofreading of the Emacs manual
85833         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
85834         (Screen Garbled): Mention the command name.
85835         (Bug Criteria): Mention that problems in packages should first be
85836         reported to the respective maintainers.
85837         (Checklist): Fix wording.
85838         (Contributing, Copyright Assignment): Minor copyedits.
85839         * doc/emacs/misc.texi (Amusements): Remove Landmark.
85840         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
85841         (Rectangles in Picture): Add a cross-reference to "Registers".
85842         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
85843         Mention command names in parentheses.
85844         (Gnus Summary Buffer): Document "M-r".
85845         (Network Security): Document that current NSM works with TLS
85846         encryption.  Fix markup.
85847         (Document View): Improve wording and fix a typo.
85848         (DocView Conversion): Rephrase description of
85849         doc-view-cache-directory.
85850         (Single Shell): Mention variables that control when shell output
85851         appears in the echo area.
85852         (Shell Mode): Improve wording.
85853         (Shell Prompts): Fix a typo.
85854         (Shell Ring, Term Mode): Mention command names.
85855         (History References): Add a cross-reference to "Rebinding".
85856         (Remote Host): Mention SSH.
85857         (TCP Emacs server): Improve wording.
85858         (emacsclient Options): Minor improvements.
85859         (PostScript): Fix wording.
85860         (PostScript Variables): Mention that ps-font-size could be a cons.
85861         (Sorting): Minor improvements.  Suggested by Michael Albinus
85862         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
85864 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
85866         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
85868         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
85870 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
85872         Explain more about (defvar foo) form (Bug#18059)
85874         * doc/lispref/variables.texi (Defining Variables)
85875         (Using Lexical Binding):
85876         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
85877         VALUE for `defvar' marks the variable special only locally.
85878         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
85879         using `defvar' without VALUE.
85881 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
85883         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
85885         * doc/lispref/anti.texi (Antinews): Fix grammar.
85887 2018-03-22  Glenn Morris  <rgm@gnu.org>
85889         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
85891         Avoids type mismatch when relevant library is not present/loaded.
85893 2018-03-22  Glenn Morris  <rgm@gnu.org>
85895         sql.el defcustom fixes
85897         * lisp/progmodes/sql.el (sql-login-params): Update.
85898         Avoids type mismatch with postgres and sqlite login params.
85899         (sql-postgres-login-params): Bump version.
85901 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
85903         Document DEFUN attributes
85905         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
85906         specification of function attributes in DEFUN.
85908 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
85910         * etc/NEWS: Add an entry for auth-source-pass.
85912 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
85914         Fix the MSDOS build
85916         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
85918 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
85920         Improve warning and error messages
85922         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
85923           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
85924           went wrong.
85926 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
85928         Adjust eieio persistence tests for expected failure
85930         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
85931          (eieio-test-persist-hash-and-vector,
85932           eieio-test-persist-interior-lists): Persistence does not currently
85933          handle deeply-nested objects. Expect current failures, and mark for
85934          future fixes.
85936 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
85938         Let eieio-persistent-read read what object-write has written
85940         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
85941           `object-write' may quote lists inside hash tables and vectors, so
85942           unquote those lists here.
85944         This patch allows the eieio-persistent write/restore process to
85945         perform a clean round trip. It only handles a very specific and
85946         limited range of object structures, but at least the write and read
85947         procedures match.
85949 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
85951         Handle possible classtype values in eieio-persistent-read
85953         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
85954           The function `eieio-persistent-slot-type-is-class-p' could return
85955           either a single class, or a list of classes.
85957 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
85959         Add new tests for eieio persistence
85961         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
85962           (hash-equal): New comparison test for hash-tables.
85963           (persist-test-save-and-compare): Use test for hash-tables.
85964           (eieio-test-persist-hash-and-vector,
85965           eieio-test-persist-interior-lists): New tests.
85967 2018-03-22  Glenn Morris  <rgm@gnu.org>
85969         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
85971         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
85973 2018-03-21  Glenn Morris  <rgm@gnu.org>
85975         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
85977 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
85979         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
85981 2018-03-21  Alan Mackenzie  <acm@muc.de>
85983         Firm up documentation of generalized variables
85985         * doc/lispref/variables.texi (Generalized Variables)
85986         (Setting Generalized Variables): Define a generalized variable as something
85987         setf can write to.  Remove the insinuation that hackers have poor memories.
85988         State explicitly that the list of GVs given is complete.  Remove the
85989         suggestion that `setf' has superseded, or is in the process of superseding,
85990         `setq'.  Make minor corrections to the English.
85992 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
85994         Improve documentation of Auto-Revert mode
85996         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
85997         applies to Dired buffers as well.  Suggested by Michael Albinus
85998         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
86000 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
86002         Improvements in dired.texi
86004         * doc/emacs/dired.texi (Dired): Mention that Dired works with
86005         remote directories.
86006         (Dired Enter): ls-lisp is used on some remote systems as well.
86007         (Dired Navigation): Mention and index the command names.
86008         (Dired Deletion): Document the 'always' value of
86009         dired-recursive-deletes.  Mention the alternative deletion method.
86010         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
86011         marking does on a subdirectory header line.
86012         (Operating on Files): Document that 'Z' uses gzip or compress.
86013         (Comparison in Dired): Mention ediff-files.
86014         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
86015         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
86017 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
86019         Revert "Support all perl variable declarators and prefixes"
86021         It highlights normal variable names in perl programs (Bug#30812).
86022         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
86023         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
86025         Don't merge to master, we will fix Bug#27613 properly there (it's too
86026         close to release to do that on emacs-26).
86028 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
86030         Port to 32-bit sparc64
86032         Backport from master.
86033         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
86034         and Andreas Schwab (Bug#30855).
86035         * src/alloc.c (mark_memory): Call mark_maybe_object only on
86036         pointers that are properly aligned for Lisp_Object.
86038 2018-03-20  Robert Pluim  <rpluim@gmail.com>
86040         Correct Info link markup
86042         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
86043         Correct markup for Info link.
86044         * src/minibuf.c (Fcompleting_read): Likewise.
86046 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
86048         Improve documentation of 'with-help-window'
86050         * doc/lispref/help.texi (Help Functions): Change variable name
86051         to 'buffer-or-name'.
86053         * lisp/help.el (with-help-window): Change variable name to
86054         'buffer-or-name' and rewrite the doc string, adding reference
86055         to 'help-window-setup'.  (Bug#30792)
86057 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
86059         Minor improvements in building.texi
86061         * doc/emacs/building.texi (Compilation Shell): Mention that this
86062         section is for local compilation buffers.
86063         (Compilation, Compilation Mode): Mention that 'g' is bound to
86064         'recompile' in compilation buffers.
86065         (Grep Searching): Add a cross-reference to "Compilation Mode".
86066         Suggested by Michael Albinus <michael.albinus@gmx.de> in
86067         emacs-manual-bugs@gnu.org.
86069 2018-03-20  Alex Branham  <branham@utexas.edu>
86071         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
86073 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
86075         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
86077 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
86079         Yet more proofreading of the Emacs manual
86081         * doc/emacs/building.texi (Compilation, Grep Searching)
86082         (Debuggers, GUD Customization, Source Buffers)
86083         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
86084         Suggested by Michael Albinus <michael.albinus@gmx.de> in
86085         emacs-manual-bugs@gnu.org.
86087 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
86089         * doc/emacs/rmail.texi: Fix broken link.
86091 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
86093         Fix recently-added POP doc glitch
86095         * doc/emacs/rmail.texi (Remote Mailboxes):
86096         POP3 → POP, when talking about POP in general.
86098 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
86100         More proofreading of the Emacs manual
86102         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
86103         indexing.
86104         (Mac / GNUstep Basics, Mac / GNUstep Customization)
86105         (Mac / GNUstep Events): Improve indexing.
86107         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
86108         (Rmail Basics, Rmail Scrolling): Improve cross-references and
86109         indexing.
86110         (Rmail Motion): Minor improvements.
86111         (Rmail Inbox): Remove outdated text about Babyl format.
86112         (Rmail Files): Formatting changes.  Comment out
86113         set-rmail-inbox-list in the table of commands, as it is commented
86114         out in the text that follows.
86115         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
86116         Minor copyedits.
86117         (Rmail Summary Edit): Document
86118         rmail-summary-scroll-between-messages.
86119         (Rmail Editing): Improve indexing.
86120         (Movemail): Fix typos.
86121         (Remote Mailboxes): Use "POP3" rather than "POP".
86123 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
86125         Fix typo in the Emacs manual's VC chapter
86127         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
86129 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
86131         Pass json-readtable-error data as a list (bug#30489)
86133         * lisp/json.el (json-readtable-dispatch): Fix error data.
86134         * test/lisp/json-tests.el (test-json-read): Check error data is a
86135         list.
86137 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
86139         Improve word motion docs (Bug#30815)
86141         * doc/lispref/positions.texi (Word Motion): Fix reference to
86142         `char-script-table'.
86143         * lisp/simple.el (backward-word):
86144         * src/syntax.c (forward-word): Mention `char-script-table' and add
86145         link to the 'Word Motion' manual section.
86147 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
86149         Replace "carriage-return" by "carriage return" in manuals
86151         * doc/emacs/msdos.texi:
86152         * doc/emacs/mule.texi:
86153         * doc/emacs/screen.texi:
86154         * doc/lispref/nonascii.texi:
86155         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
86156         return".  Suggested by Richard Stallman <rms@gnu.org> in
86157         emacs-manual-bugs@gnu.org.
86159 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
86161         Minor copyedits in mule.texi
86163         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
86164         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
86165         emacs-manual-bugs@gnu.org.
86167 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
86169         Fix problems caused by fontconfig-2.13.0
86171         * src/xterm.c (x_term_init): Call fixup_locale after
86172         xg_initialize, to countermand the call to setlocale in some
86173         versions of fontconfig.  (Bug#30788)
86175 2018-03-13  Glenn Morris  <rgm@gnu.org>
86177         Fix some allout.el aliases
86179         * lisp/allout.el (allout-passphrase-verifier-string)
86180         (allout-passphrase-hint-string): Fix alias.
86182 2018-03-13  Glenn Morris  <rgm@gnu.org>
86184         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
86186 2018-03-13  Glenn Morris  <rgm@gnu.org>
86188         Doc fixes re obsolete items
86190         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
86191         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
86193 2018-03-13  Glenn Morris  <rgm@gnu.org>
86195         Replace an obsolete alias in tpu-mapper
86197         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
86198         Replace obsolete alias.
86200 2018-03-13  Glenn Morris  <rgm@gnu.org>
86202         Doc fixes re obsolete items
86204         * doc/emacs/maintaining.texi (VC Undo):
86205         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
86206         * doc/misc/url.texi (Customization):
86207         Don't mention url-temporary-directory, it essentially does nothing.
86208         * lisp/hilit-chg.el
86209         (highlight-changes-global-changes-existing-buffers): Doc fix.
86211 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
86213         Minor changes in mule.texi
86215         * doc/emacs/mule.texi (International, Coding Systems)
86216         (Bidirectional Editing): Minor wording changes and typo fixes.
86217         Suggested by Michael Albinus <michael.albinus@gmx.de> in
86218         emacs-manual-bugs@gnu.org.
86220 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
86222         Avoid assertion violation under visual-order-cursor-movement
86224         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
86225         BEGV..ZV range.  Signal Beginning of buffer error when there's a
86226         before-string at BEGV.  (Bug#30787)
86228 2018-03-13  Glenn Morris  <rgm@gnu.org>
86230         Stop mentioning options.el in doc
86232         * doc/misc/calc.texi (Customizing Embedded Mode):
86233         Remove mentions of the obsolete (since 22.1) options.el.
86234         * lisp/progmodes/meta-mode.el: Comment fix.
86236 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
86238         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
86240 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
86242         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
86244 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
86246         Fix last change in Xref documentation
86248         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
86249         accurate wording for the description of xref-etags-mode.
86251 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
86253         More changes in the Emacs manual
86255         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
86256         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
86257         emacs-manual-bugs@gnu.org.
86259         * doc/emacs/msdos.texi (Windows Keyboard):
86260         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
86261         * doc/emacs/macos.texi (Mac / GNUstep Basics):
86262         * doc/emacs/glossary.texi (Glossary):
86263         * doc/emacs/custom.texi (Function Keys, Init Syntax):
86264         * doc/emacs/commands.texi (User Input):
86265         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
86266         * doc/emacs/msdos.texi (Windows Keyboard):
86267         * doc/emacs/dired.texi (Dired Updating):
86268         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
86269         Suggested by Richard Stallman <rms@gnu.org>.
86271 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
86273         Improve documentation of Xref
86275         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
86276         xref-etags-mode.
86278 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
86280         Fix create_process bug breaking eudc-expand-inline
86282         Problem reported by Thomas Fitzsimmons (Bug#30762).
86283         * src/process.c (create_process) [HAVE_PTYS]:
86284         Call setsid even if !PTY_FLAG.
86286 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
86288         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
86290         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
86291         => (ATOM) short form is only for non-nil ATOMs.
86293 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
86295         Improve SVG documentation
86297         * doc/lispref/display.texi (ImageMagick Images): Remove an
86298         outdated comment that references a fixed bug.
86299         (SVG Images): Fix grammar, and call functions functions (there are
86300         no commands in lisp/svg.el).
86302 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
86304         Document the "URL" keyword in library headers
86306         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
86307         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
86308         (Bug#30571)
86310 2018-03-09  Glenn Morris  <rgm@gnu.org>
86312         * test/lisp/international/mule-tests.el:
86313         Avoid local variables confusion.
86315 2018-03-09  Bill Wohler  <wohler@newt.com>
86317         Add missing findex entries for recently removed kindex entries
86319         * doc/misc/mh-e.texi:
86321         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
86323 2018-03-09  Glenn Morris  <rgm@gnu.org>
86325         Replace the obsolete process-kill-without-query in documentation
86327         * lisp/comint.el (comint-exec-hook):
86328         * lisp/term.el (term-exec-hook):
86329         * lisp/eshell/esh-proc.el (eshell-exec-hook):
86330         Doc fixes re the obsolete process-kill-without-query.
86332 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
86334         Minor change in the manual
86336         * doc/emacs/display.texi (Useless Whitespace):
86337         Don't upcase "TAB" and "SPC" when alluding to characters.
86339 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
86341         More minor changes in the manual
86343         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
86344         and "SPC" when alluding to characters.  Suggested by Richard
86345         Stallman <rms@gnu.org>.
86347         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
86348         means for buffers.
86349         (Buffers): Define and describe "buffer contents".  Suggested by
86350         Richard Stallman <rms@gnu.org>.  (Bug#30685)
86352 2018-03-07  Glenn Morris  <rgm@gnu.org>
86354         Replace some obsolete aliases in code
86356         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
86357         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
86358         Replace obsolete aliases.
86360 2018-03-07  Glenn Morris  <rgm@gnu.org>
86362         Replace some obsolete aliases in documentation
86364         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
86365         * doc/misc/speedbar.texi (Major Display Modes):
86366         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
86367         Doc fixes re obsolete aliases.
86369 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
86371         Minor improvements in manuals
86373         * doc/lispref/variables.texi (Local Variables): Make more clear
86374         that local bindings of 'let' are in effect only within the body.
86375         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
86376         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
86377         for the details.
86379         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
86380         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
86381         Improve indexing.
86383 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
86385         Minor copyedits in display.texi
86387         * doc/emacs/display.texi (Highlight Interactively)
86388         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
86389         changes of wording and typo corrections.  Suggested by Michael
86390         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
86392 2018-03-07  Glenn Morris  <rgm@gnu.org>
86394         Remove some unused spam.el variables
86396         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
86397         (spam-bogofilter-path, spam-bsfilter-path)
86398         (spam-spamassassin-path, spam-sa-learn-path):
86399         Remove variables that are described as obsolete, but are
86400         really completely unused, and have been for years.
86402 2018-03-07  Glenn Morris  <rgm@gnu.org>
86404         Replace some obsolete aliases in code
86406         * lisp/emulation/viper.el (viper-set-hooks):
86407         * lisp/epa-hook.el (auto-encryption-mode):
86408         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
86409         * lisp/net/quickurl.el (quickurl--assoc-function): New.
86410         (quickurl-assoc-function): Use it.
86412 2018-03-07  Glenn Morris  <rgm@gnu.org>
86414         Replace some obsolete aliases in documentation
86416         * doc/emacs/text.texi (Nroff Mode):
86417         * doc/misc/efaq.texi (How to add fonts):
86418         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
86419         * lisp/progmodes/pascal.el (pascal-outline-mode):
86420         Doc fixes re obsolete aliases.
86422 2018-03-06  Glenn Morris  <rgm@gnu.org>
86424         Obsolete eshell-cmpl-suffix-list
86426         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
86427         Make obsolete, to match pcomplete-suffix-list.
86429 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
86431         More minor changes in the Glossary of the Emacs manual
86433         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
86434         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
86435         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
86437 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
86439         Revert last commit
86441         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
86442         too late for this to be in the release.
86444 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
86446         Define if-let* and derivatives as aliases for if-let etc
86448         This commit reverts declaring `if-let' and `when-let' obsolete in
86449         favor of the new `if-let*' and `when-let*' versions because of the
86450         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
86451         for foo-let.  The old single-tuple variable spec case is still
86452         supported for backward compatibility.
86453         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
86454         obsolete.  Tweak edebug specs.
86455         (and-let): Renamed from `and-let*' for compatibility with the names
86456         `if-let' and `when-let'.
86457         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
86458         `when-let' and `and-let'.
86459         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
86460         (when-let-single-tuple-case-test): New tests for the single-binding
86461         tuple case.
86462         In the whole file, prefer the names without "*".
86464 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
86466         Minor fix in Emacs manual's Glossary
86468         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
86469         primary selection.  Reported by Gijs Hillenius
86470         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
86472 2018-03-03  Juri Linkov  <juri@linkov.net>
86474         * lisp/progmodes/grep.el (zrgrep):
86476         Let-bind grep-use-null-filename-separator to nil (bug#30559).
86478 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
86480         Minor copyedits in doc/emacs/text.texi
86482         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
86483         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
86485 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
86487         Remove outdated comment in syntax.el
86489         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
86490         outdated comment.  (Bug#30617)
86492 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
86494         Prevent Flyspell from changing unrelated words
86496         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
86497         using stale cached data from previous invocations of this command.
86498         (Bug#30462)
86500 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
86502         Avoid errors in flymake in builds --without-x
86504         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
86506 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
86508         More improvements of the Emacs manual
86510         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
86511         wording.  Suggested by Daniel Chakraborty
86512         <danielmchakraborty@gmail.com>.
86514         * doc/emacs/glossary.texi (Glossary): Add cross-references.
86515         Improve and clarify wording.  Suggested by Gijs Hillenius
86516         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
86518         * doc/emacs/text.texi (Org Authoring): Add more supported formats
86519         to the list.
86520         (TeX Print): Improve wording.  Slightly rearrange stuff.
86521         (TeX Misc): Mention doctex-mode-hook.
86522         (Two-Column): Minor rearrangement of text.  Suggested by Michael
86523         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
86525         * doc/emacs/misc.texi (Saving Emacs Sessions):
86526         * doc/emacs/programs.texi (Program Modes): Remove redundant text
86527         and index entries.
86529 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
86531         Backport: xref--next-error-function: Move xref's window point
86533         * lisp/progmodes/xref.el (xref--next-error-function): Move
86534         xref's window point if it's visible.  When we don't do that,
86535         navigation can start looping after a while.
86537         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
86539 2018-03-02  Glenn Morris  <rgm@gnu.org>
86541         mwheel minor consistency fix
86543         * lisp/mwheel.el (mwheel-scroll-left-function)
86544         (mwheel-scroll-right-function):
86545         Change from defcustom to defvar, for consistency with pre-existing.
86547 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
86549         * src/window.c (Frecenter): Improve commentary.
86551 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
86553         Fix downloading non-text files in EWW
86555         * lisp/net/eww.el (eww-download-callback): Bind
86556         coding-system-for-read to 'no-conversion', to avoid any code- or
86557         EOL-conversions in downloaded files.  (Bug#30664)
86559 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
86561         Rename some mwheel options, for consistency
86563         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
86564         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
86565         mwheel-flip-direction.
86566         (mwheel-scroll): Update for option renaming.
86567         * doc/emacs/frames.texi (Mouse Commands):
86568         Update for option renaming.
86570 2018-03-01  Glenn Morris  <rgm@gnu.org>
86572         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
86574 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
86576         Improve the Emacs manual
86578         * doc/emacs/xresources.texi (Table of Resources): Mention that
86579         some resources are ignored by toolkit builds.
86580         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
86581         (Bug#30530)
86583 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
86585         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
86587 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
86589         Further improvements on manuals
86591         * doc/emacs/xresources.texi:
86592         * doc/lispref/display.texi:
86593         * doc/lispref/keymaps.texi:
86594         * doc/misc/dbus.texi:
86595         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
86597         * doc/emacs/xresources.texi (Resources): Mention several use
86598         of "-xrm".
86599         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
86601 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
86603         Require a larger stack size for threads on macOS (bug#30364)
86605         * src/systhread.c (sys_thread_create)
86606         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
86607         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
86608         Do not merge to master.
86610 2018-02-28  Glenn Morris  <rgm@gnu.org>
86612         * doc/lispref/streams.texi (Output Variables): Fix previous.
86614 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
86616         Use "GTK+" where applicable in the manual
86618         * doc/emacs/display.texi (Standard Faces, Standard Faces):
86619         * doc/emacs/emacs.texi (Top):
86620         * doc/emacs/files.texi (Visiting):
86621         * doc/emacs/frames.texi (Scroll Bars):
86622         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
86624 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
86626         Document print-escape-control-characters
86628         * doc/lispref/streams.texi, etc/NEWS: Add doc.
86630 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
86632         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
86634 2018-02-27  Glenn Morris  <rgm@gnu.org>
86636         * lisp/emulation/viper.el: Unbreak it.
86638         Since 2017-03-19, M-x viper failed with function void cl-member-if.
86639         Perhaps it isn't used much.
86641 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
86643         More fixes in the Emacs manual
86645         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
86646         Sort the resources.
86647         (Lucid Resources): Add cross-references.
86648         (GTK Resource Basics): Fix wording.
86649         (GTK styles): Add empty lines in a @table.  Suggested by Michael
86650         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
86652 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
86654         Avoid aborts in 'md5'
86656         * src/fns.c (extract_data_from_object): Don't crash if called with
86657         an invalid object.  (Bug#30627)
86659 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
86661         Mark keys consistently in manuals
86663         * doc/emacs/killing.texi:
86664         * doc/lispintro/emacs-lisp-intro.texi:
86665         * doc/misc/calc.texi:
86666         * doc/misc/cc-mode.texi:
86667         * doc/misc/dired-x.texi:
86668         * doc/misc/ede.texi:
86669         * doc/misc/edt.texi:
86670         * doc/misc/efaq.texi:
86671         * doc/misc/erc.texi:
86672         * doc/misc/eshell.texi:
86673         * doc/misc/gnus-faq.texi:
86674         * doc/misc/gnus-news.texi:
86675         * doc/misc/idlwave.texi:
86676         * doc/misc/ido.texi:
86677         * doc/misc/mairix-el.texi:
86678         * doc/misc/message.texi:
86679         * doc/misc/mh-e.texi:
86680         * doc/misc/newsticker.texi:
86681         * doc/misc/org.texi:
86682         * doc/misc/pcl-cvs.texi:
86683         * doc/misc/ses.texi:
86684         * doc/misc/sieve.texi:
86685         * doc/misc/smtpmail.texi:
86686         * doc/misc/speedbar.texi:
86687         * doc/misc/srecode.texi:
86688         * doc/misc/vhdl-mode.texi:
86689         * doc/misc/vip.texi:
86690         * doc/misc/viper.texi: Mark keys consistently.
86692 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
86694         Remove @key{} markups from @kindex entries in manuals
86696         * doc/emacs/basic.texi:
86697         * doc/emacs/buffers.texi:
86698         * doc/emacs/building.texi:
86699         * doc/emacs/calendar.texi:
86700         * doc/emacs/custom.texi:
86701         * doc/emacs/dired.texi:
86702         * doc/emacs/display.texi:
86703         * doc/emacs/files.texi:
86704         * doc/emacs/frames.texi:
86705         * doc/emacs/help.texi:
86706         * doc/emacs/indent.texi:
86707         * doc/emacs/killing.texi:
86708         * doc/emacs/kmacro.texi:
86709         * doc/emacs/mark.texi:
86710         * doc/emacs/mini.texi:
86711         * doc/emacs/misc.texi:
86712         * doc/emacs/modes.texi:
86713         * doc/emacs/msdos-xtra.texi:
86714         * doc/emacs/msdos.texi:
86715         * doc/emacs/mule.texi:
86716         * doc/emacs/picture-xtra.texi:
86717         * doc/emacs/programs.texi:
86718         * doc/emacs/regs.texi:
86719         * doc/emacs/rmail.texi:
86720         * doc/emacs/screen.texi:
86721         * doc/emacs/search.texi:
86722         * doc/emacs/sending.texi:
86723         * doc/emacs/text.texi:
86724         * doc/emacs/trouble.texi:
86725         * doc/misc/calc.texi:
86726         * doc/misc/cc-mode.texi:
86727         * doc/misc/ediff.texi:
86728         * doc/misc/ert.texi:
86729         * doc/misc/eww.texi:
86730         * doc/misc/forms.texi:
86731         * doc/misc/gnus.texi:
86732         * doc/misc/idlwave.texi:
86733         * doc/misc/info.texi:
86734         * doc/misc/message.texi:
86735         * doc/misc/mh-e.texi:
86736         * doc/misc/newsticker.texi:
86737         * doc/misc/org.texi:
86738         * doc/misc/pcl-cvs.texi:
86739         * doc/misc/rcirc.texi:
86740         * doc/misc/reftex.texi:
86741         * doc/misc/sc.texi:
86742         * doc/misc/sieve.texi:
86743         * doc/misc/vhdl-mode.texi:
86744         * doc/misc/vip.texi:
86745         * doc/misc/viper.texi:
86746         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
86748 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
86750         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
86752 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
86754         Fix @kindex entries in manuals
86756         * doc/emacs/basic.texi:
86757         * doc/emacs/buffers.texi:
86758         * doc/emacs/building.texi:
86759         * doc/emacs/calendar.texi:
86760         * doc/emacs/custom.texi:
86761         * doc/emacs/dired.texi:
86762         * doc/emacs/display.texi:
86763         * doc/emacs/files.texi:
86764         * doc/emacs/frames.texi:
86765         * doc/emacs/help.texi:
86766         * doc/emacs/indent.texi:
86767         * doc/emacs/killing.texi:
86768         * doc/emacs/kmacro.texi:
86769         * doc/emacs/mark.texi:
86770         * doc/emacs/mini.texi:
86771         * doc/emacs/misc.texi:
86772         * doc/emacs/modes.texi:
86773         * doc/emacs/msdos-xtra.texi:
86774         * doc/emacs/msdos.texi:
86775         * doc/emacs/mule.texi:
86776         * doc/emacs/picture-xtra.texi:
86777         * doc/emacs/programs.texi:
86778         * doc/emacs/regs.texi:
86779         * doc/emacs/rmail.texi:
86780         * doc/emacs/screen.texi:
86781         * doc/emacs/search.texi:
86782         * doc/emacs/sending.texi:
86783         * doc/emacs/text.texi:
86784         * doc/emacs/trouble.texi:
86785         * doc/lispref/files.texi:
86786         * doc/misc/calc.texi:
86787         * doc/misc/cc-mode.texi:
86788         * doc/misc/ediff.texi:
86789         * doc/misc/epa.texi:
86790         * doc/misc/ert.texi:
86791         * doc/misc/eww.texi:
86792         * doc/misc/forms.texi:
86793         * doc/misc/gnus.texi:
86794         * doc/misc/info.texi:
86795         * doc/misc/mairix-el.texi:
86796         * doc/misc/message.texi:
86797         * doc/misc/mh-e.texi:
86798         * doc/misc/newsticker.texi:
86799         * doc/misc/org.texi:
86800         * doc/misc/pcl-cvs.texi:
86801         * doc/misc/rcirc.texi:
86802         * doc/misc/sc.texi:
86803         * doc/misc/sieve.texi:
86804         * doc/misc/vhdl-mode.texi:
86805         * doc/misc/vip.texi:
86806         * doc/misc/viper.texi:
86807         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
86809 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
86811         Fix @cindex entries in manuals
86813         * doc/emacs/custom.texi:
86814         * doc/emacs/dired.texi:
86815         * doc/emacs/display.texi:
86816         * doc/emacs/files.texi:
86817         * doc/emacs/frames.texi:
86818         * doc/emacs/killing.texi:
86819         * doc/emacs/maintaining.texi:
86820         * doc/emacs/misc.texi:
86821         * doc/emacs/msdos-xtra.texi:
86822         * doc/emacs/msdos.texi:
86823         * doc/emacs/search.texi:
86824         * doc/emacs/text.texi:
86825         * doc/emacs/trouble.texi:
86826         * doc/lispintro/emacs-lisp-intro.texi:
86827         * doc/lispref/strings.texi:
86828         * doc/lispref/text.texi:
86829         * doc/misc/cc-mode.texi:
86830         * doc/misc/efaq.texi:
86831         * doc/misc/eieio.texi:
86832         * doc/misc/emacs-mime.texi:
86833         * doc/misc/gnus.texi:
86834         * doc/misc/htmlfontify.texi:
86835         * doc/misc/idlwave.texi:
86836         * doc/misc/message.texi:
86837         * doc/misc/mh-e.texi:
86838         * doc/misc/sem-user.texi:
86839         * doc/misc/ses.texi:
86840         * doc/misc/tramp.texi:
86841         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
86843 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
86845         Fix @cindex entries in org.texi
86847         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
86848         @code{} for keywords.
86850 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
86852         Document reserved keys
86854         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
86855         users.  (Bug#30530)
86857 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
86859         * doc/misc/ebrowse.texi: Use @key{} for keys.
86861 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
86863         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
86865 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
86867         Improve documentation of X resources
86869         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
86870         resources.  Add cross-references to "GTK Resources".
86872 2018-02-23  Glenn Morris  <rgm@gnu.org>
86874         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
86876         Since multi-tty, this is always set.
86878 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
86880         Minor doc fixes, mostly for timestamp issues
86882 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
86884         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
86886 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
86888         Fix @findex and @vindex entries in manuals
86890         * doc/emacs/building.texi:
86891         * doc/emacs/calendar.texi:
86892         * doc/emacs/cmdargs.texi:
86893         * doc/emacs/mini.texi:
86894         * doc/emacs/misc.texi:
86895         * doc/emacs/trouble.texi:
86896         * doc/emacs/windows.texi:
86897         * doc/lispintro/emacs-lisp-intro.texi:
86898         * doc/lispref/edebug.texi:
86899         * doc/lispref/frames.texi:
86900         * doc/lispref/os.texi:
86901         * doc/lispref/windows.texi:
86902         * doc/misc/cc-mode.texi:
86903         * doc/misc/dired-x.texi:
86904         * doc/misc/ediff.texi:
86905         * doc/misc/mh-e.texi:
86906         * doc/misc/pcl-cvs.texi:
86907         * doc/misc/reftex.texi:
86908         * doc/misc/sc.texi:
86909         * doc/misc/vhdl-mode.texi:
86910         * doc/misc/viper.texi: Fix @findex and @vindex entries.
86912 2018-02-22  Alan Mackenzie  <acm@muc.de>
86914         Document, in the Elisp manual, how to get a character's raw syntax descriptor
86916         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
86917         to get a character's raw syntax descriptor.
86919 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
86921         Improvements in the Emacs manual
86923         * doc/emacs/custom.texi (Customization Groups)
86924         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
86925         markup of keys.
86926         (Changing a Variable, Saving Customizations): Update the
86927         description of buttons in the Custom buffer.
86928         (Face Customization): More accurate description.
86929         (Specific Customization, Examining, Locals): Add blank lines in
86930         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
86931         in emacs-manual-bugs@gnu.org.
86933 2018-02-22  Glenn Morris  <rgm@gnu.org>
86935         Tiny doc/misc markup fixes
86937         * doc/misc/ediff.texi (Patch and Diff Programs):
86938         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
86940 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
86942         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
86944         * src/xdisp.c (note_mouse_highlight): Skip check whether
86945         mouse-face highlighting overlay overlaps other mouse-face
86946         overlays when mouse-face highlighting is hidden (Bug#30519).
86948 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
86950         Fix capitalization of "Mail-Followup-To"
86952         * doc/emacs/sending.texi (Header Editing, Mail Headers):
86953         Standardize on "Mail-Followup-To" as the capitalization.
86955 2018-02-21  Juri Linkov  <juri@linkov.net>
86957         * lisp/progmodes/grep.el (grep-compute-defaults):
86959         Add grep-use-null-filename-separator to grep-host-defaults-alist.
86960         (Bug#30559)
86962 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
86964         Semantic manual fixes
86966         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
86967         remove a reference to "document-vars.el" which, in the Emacs
86968         repository, is part of lisp/cedet/srecode/document.el.
86970 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
86972         More improvements in the Emacs manual
86974         * doc/emacs/help.texi (Misc Help):
86975         * doc/emacs/m-x.texi (M-x):
86976         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
86977         breaking of command sequences between lines.  Reported by Wojciech
86978         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
86980         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
86982 2018-02-21  tino calancha  <tino.calancha@gmail.com>
86984         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
86986 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
86988         Fix documentation of 'x-underline-at-descent-line'
86990         * doc/emacs/display.texi (Display Custom):
86991         * src/nsterm.m (syms_of_nsterm):
86992         * src/xterm.c (syms_of_xterm):
86993         * src/w32term.c (syms_of_w32term): Mention the effect of
86994         'line-spacing' on the underline position.  (Bug#30553)
86996 2018-02-21  Glenn Morris  <rgm@gnu.org>
86998         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
87000 2018-02-20  Robert Pluim  <rpluim@gmail.com>
87002         Correct variable markup in manuals
87004         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
87005         * doc/lispref/text.texi (Filling): Likewise.
87006         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
87007         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
87008         (Encrypting/decrypting gpg files): Likewise.
87009         * doc/misc/tramp.texi (External methods): Likewise.
87010         (Default Method): Likewise.
87011         * doc/misc/viper.texi (Editing in Insert State): Likewise.
87012         (File and Buffer Handling): Likewise.
87013         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
87014         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
87015         status of url-temporary-directory.
87017 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
87019         Improve the "Sending Mail" chapter of Emacs manual
87021         * doc/emacs/sending.texi (Mail Format, Header Editing)
87022         (Mail Aliases): Fix capitalization of mail headers.
87023         (Mail Aliases): Use ~/.mailrc consistently.
87024         (Mail Misc): More accurate description of disposition.  Suggested
87025         by Michael Albinus <michael.albinus@gmx.de> in
87026         emacs-manual-bugs@gnu.org.
87028 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
87030         Fix documentation of 'flyspell-auto-correct-word'
87032         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
87033         doc string on how the function looks for the word to spell-check.
87034         (flyspell-word, flyspell-auto-correct-word): Refer to
87035         'flyspell-get-word' for details about finding the word.
87036         (Bug#30462)
87038 2018-02-19  Robert Pluim  <rpluim@gmail.com>
87040         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
87042 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
87044         More changes in the Emacs manuals
87046         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
87047         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
87048         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
87049         Fix punctuation.  Suggested by Stefan Kamphausen
87050         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
87052         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
87053         commands between lines.  Reported by Wojciech Politarczyk
87054         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
87056         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
87057         rebinding keys from "Init File".  (Bug#30528)
87059 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
87061         More fixes in the Emacs manual
87063         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
87064         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
87065         @item's.
87066         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
87067         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
87068         in emacs-manual-bugs@gnu.org.
87070 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
87072         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
87074 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
87076         Minor edit in tramp.texi
87078         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
87079         Improve @cindex entries.
87081 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
87083         More improvements in the Emacs manual
87085         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
87086         (List Identifiers): Insert blank lines between @item's in a
87087         @table.
87088         (Etags Regexps): More accurate description of escape sequences.
87089         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
87090         Suggested by Michael Albinus <michael.albinus@gmx.de> in
87091         emacs-manual-bugs@gnu.org.
87093 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
87095         Improve documentation of 'electric-pair-mode'
87097         * lisp/elec-pair.el (electric-pair-mode):
87098         * doc/emacs/programs.texi (Matching): Document the operation of
87099         electric-pair-mode when there's an active region.  (Bug#30502)
87101 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
87103         lisp/vc/: documentation fixes
87105         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
87106         * lisp/vc/add-log.el (change-log-get-method-definition):
87107         Indent documentation.
87109 2018-02-17  Robert Pluim  <rpluim@gmail.com>
87111         Document 'desktop-files-not-to-save'
87113         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
87114         of 'desktop-files-not-to-save'.
87116         * lisp/desktop.el (desktop-files-not-to-save): Explain that
87117         the default value excludes buffers visiting remote files.
87119 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
87121         Improve documentation of Profiling features
87123         * doc/lispref/debugging.texi (Profiling): Improve the description
87124         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
87126         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
87127         interactive invocation work.  Doc fix.
87129 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
87131         Improve indexing of "performance" in ELisp manual
87133         * doc/lispref/debugging.texi (Profiling):
87134         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
87135         features useful for performance analysis.  (Bug#30490)
87137 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
87139         Minor change in Emacs manual's VC chapter
87141         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
87142         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
87143         emacs-manual-bugs@gnu.org.
87145 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
87147         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
87149         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
87150         signal an error *before* growing the specpdl array.  Therefore, when
87151         handling the signal, specpdl_ptr points past the end of the specpdl
87152         array and any further use of specpdl before unwinding (e.g., if
87153         edebug binds signal-hook-function) will cause memory corruption.
87154         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
87155         the specpdl_ptr is already past the end of the specpdl array.
87156         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
87157         (eval-exceed-specbind-with-signal-hook): New test & helper function.
87159 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
87161         Document comment-fill-column in the manual (Bug#11636)
87163         * doc/emacs/programs.texi (Comment Commands)
87164         (Options for Comments): Mention comment-fill-column.
87166 2018-02-17  Glenn Morris  <rgm@gnu.org>
87168         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
87170 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
87172         More fixes for the Emacs manual
87174         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
87175         backends.
87176         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
87177         list of VCS.  Remove the description of vc-state-refresh.
87178         (Version Control Systems): Update the description of CVS.
87179         (VC Change Log): Amend the list of VCS that don't support
87180         vc0print-root-log.
87181         (VCS Changesets, VCS Repositories, Advanced C-x v v)
87182         (VC Change Log): Mention SRC with RCS where appropriate.
87183         (VC Directory Commands): More accurate description of
87184         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
87185         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
87187 2018-02-16  Robert Cochran  <robert@cochranmail.com>
87189         Make 'byte-compile-error-on-warn' a safe file variable
87191         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
87192         as a safe local variable for boolean values.
87194 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
87196         Fix the doc string of flyspell-auto-correct-word
87198         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
87199         fix.  (Bug#30462)
87201 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
87203         Improve the MS-Windows appendix of the Emacs manual
87205         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
87206         shortcuts for starting Emacs.
87207         (Text and Binary): Minor wording changes.
87208         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
87209         (ls in Lisp): Update the list of supported 'ls' switches.
87210         Document 'ls-lisp-use-string-collate' and
87211         'ls-lisp-UCA-like-collation'.
87212         (Windows HOME): Mention warnings displayed at startup when
87213         deprecated locations of HOME and/or deprecated names for init
87214         files are used.
87215         (Windows Keyboard): Mention delete-selection-mode.
87217 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
87219         Fix 'vc-git--program-version'
87221         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
87222         work with Git for Windows.
87224 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
87226         Fix typos and wording in the Emacs manual
87228         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
87229         * doc/emacs/maintaining.texi (Tag Syntax):
87230         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
87231         (Lisp Libraries):
87232         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
87233         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
87234         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
87235         emacs-manual-bugs@gnu.org.
87237 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
87239         * doc/emacs/programs.texi (Semantic): Order programming languages.
87241 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
87243         More improvements for the Emacs manual
87245         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
87246         typos.
87247         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
87248         typos.
87249         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
87250         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
87251         emacs-manual-bugs@gnu.org.
87253         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
87254         (ForIndent Commands, Fortran Columns): Add empty lines between
87255         @items in a @table.
87256         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
87257         'column-number-indicator-zero-based'.
87258         (ForIndent Vars): Fix a typo.
87259         (Fortran Comments): Fix punctuation.
87260         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
87261         * doc/emacs/programs.texi (Comments): Fix a typo.
87262         (Comment Commands): More accurate description of the commands.
87263         (Options for Comments): Don't mention "hook".
87264         (Man Page): Prefer "M-x man" if available.
87265         (Hideshow): Fix the command key sequence.
87266         (Semantic): Update supported languages.
87267         (Semantic, Hungry Delete, Other C Commands): Fix markup of
87268         commands.
87269         (Misc for Programs): Fix a typo.
87270         (Electric C, Hungry Delete): More accurate description of
87271         mode-line lighters of CC submodes.
87272         (Asm Mode): Add empty lines between @items in a @table.
87273         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
87274         Reported by Michael Albinus <michael.albinus@gmx.de> in
87275         emacs-manual-bugs@gnu.org.
87277         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
87278         Suggested by Isaac Carter <icarter1391@gmail.com> in
87279         emacs-manual-bugs@gnu.org.
87281 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
87283         Minor wording change in Emacs manual
87285         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
87286         Reported by lyr3 <lyr3@protonmail.com> in
87287         emacs-manual-bugs@gnu.org.
87289 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
87291         Another set of changes for the manual
87293         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
87294         to elisp's description of 'pp'.
87295         (Program Modes): Add a few more programming modes.  Add index
87296         entries.
87297         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
87298         (Manipulating Comments): Fix markup of keyboard commands.
87299         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
87300         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
87301         in emacs-manual-bugs@gnu.org.
87303         * doc/lispref/display.texi (Display Tables): Fix the description
87304         of the 5th extra slot of the display table.  (Bug#13473)
87306         * doc/emacs/regs.texi (Registers): Simplify wording.
87308         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
87309         about perils of encoded keyboard input.
87311 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
87313         Improvements on tramp.texi
87315         * doc/misc/tramp.texi: Use Tramp version in title.  Further
87316         improvements on user option indexing.  Finish command examples
87317         with @key{RET} where appropriate.
87318         (Remote processes): Use 'M-&' for invocation of async shell.
87319         (Frequently Asked Questions): Add example with simplified syntax.
87321 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
87323         Tramp minor doc fixes
87325         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
87326         wording improvement.
87328 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
87330         More changes in the Emacs manual
87332         * doc/emacs/search.texi (Regexp Backslash): Say that
87333         symbol-constituent characters are determined by the syntax table.
87334         (Lax Search): Fix example of case-insensitive search.  Fix a
87335         typo.
87336         (Unconditional Replace): Improve wording.
87337         (Regexp Replace): More consistent wording.  Reported by Michael
87338         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
87340         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
87341         Windows versions.  Reported by Isaac Carter
87342         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
87344 2018-02-13  Andreas Schwab  <schwab@suse.de>
87346         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
87348 2018-02-13  Andreas Schwab  <schwab@suse.de>
87350         Don't signal error in vc-deduce-backend
87352         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
87353         vc-responsible-backend signals an error.
87355 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
87357         * doc/misc/tramp.texi: Index more user options.
87359 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
87361         Minor change in the Emacs manual
87363         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
87364         load-path is not a good idea.  Suggested by James Yoo
87365         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
87367 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
87369         NEWS update about 'string-trim'
87371         * etc/NEWS: Mention changes in string-trim family of functions.
87372         (Bug#30442)
87374 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
87376         Clarify TRAMP process-environment interaction (Bug#30419)
87378         * doc/misc/tramp.texi (Remote processes): Index the
87379         tramp-remote-process-environment description.  Clarify the effects of
87380         let-binding process-environment and the motivation for that behavior.
87382 2018-02-12  Juri Linkov  <juri@linkov.net>
87384         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
87386         (grep-mode-line-matches): New defconst.
87387         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
87388         to include the number of matches found.
87389         (grep-process-setup): Set grep-num-matches-found to 0.
87390         (grep-exit-message): New function with body moved from lambda
87391         in grep-process-setup.  Use grep-num-matches-found to return
87392         the number of matches found.
87393         (grep-filter): Increment grep-num-matches-found.
87394         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
87395         (Bug#30397, bug#14017)
87397 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
87399         Avoid aborts in cm.c due to too small TTY frame
87401         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
87402         minimum height large enough to allow for a menu bar, the mode
87403         line, one text line and one echo-area line.  This avoids aborts in
87404         cm.c:cmcheckmagic.  (Bug#30320)
87406 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
87408         Another set of improvements in the Emacs manual
87410         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
87411         * doc/emacs/msdos.texi (Windows Keyboard):
87412         * doc/emacs/mark.texi (Using Region):
87413         * doc/emacs/frames.texi (Menu Mouse Clicks):
87414         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
87415         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
87416         emacs-manual-bugs@gnu.org.
87418         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
87419         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
87420         Various minor wording improvements.  Suggested by Toon Claes
87421         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
87422         More minor changes.  Suggested by Michael Albinus
87423         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
87425         * doc/emacs/cmdargs.texi (Title X): Improve wording.
87427         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
87428         passive tense.
87430         * doc/emacs/basic.texi (Moving Point): Move the description of the
87431         bidi-related effects of the arrow keys from here ...
87432         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
87433         Explain the behavior of arrow keys between paragraphs.
87435 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
87437         Fix help in mode-line-mode-menu
87439         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
87440         Fix help string.
87442 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
87444         Improve documentation of desktop restoring
87446         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
87447         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
87448         how to restore desktop in daemon mode.  (Bug#30421)
87450 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
87452         Improve the Emacs manual's chapter "Frames"
87454         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
87455         to where frame visibility is described.
87456         (Word and Line Mouse): Clarify wording.
87457         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
87458         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
87460 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
87462         Fix unbound mm-uu-entry in mm-uu
87464         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
87466 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
87468         Improve Emacs user manual in fixit.texi
87470         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
87471         repeated undo.
87472         (Transpose): Describe explicitly what happens at EOL.
87473         (Spelling): Use "spell-checking" consistently.  Clarify wording.
87474         Suggested by Toon Claes <toon@iotcl.com> in
87475         emacs-manual-bugs@gnu.org.
87477 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
87479         Another minor change in the manual
87481         * doc/emacs/glossary.texi (Glossary): Add popular Latin
87482         abbreviations, such as "e.g.".
87484 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
87486         More minor changes in the Emacs manual
87488         * doc/emacs/xresources.texi (GTK resources):
87489         * doc/emacs/trouble.texi (Contributing):
87490         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
87492         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
87493         based on reports in emacs-manual-bugs@gnu.org about incorrect
87494         hyphenation.
87496 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
87498         Avoid printing garbled error message from image.el
87500         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
87501         apostrophe in the error message, as that message is shown from a
87502         unibyte buffer, and will run afoul of the default style of showing
87503         quote characters.  (Bug#30405)
87505 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
87507         Doc string fix in latin-alt.el
87509         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
87510         Robert Pluim <rpluim@gmail.com>.
87512 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
87514         Minor improvements in package.texi
87516         * doc/emacs/package.texi (Package Menu): Minor wording change.
87517         (Package Installation): Use HTTPS.  A better @xref to GnuPG
87518         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
87519         emacs-manual-bugs@gnu.org.
87521 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
87523         Minor improvement in Emacs user manual
87525         * doc/emacs/files.texi (Directories): Document that
87526         'directory-free-space-program' and 'directory-free-space-args' are
87527         only for local filesystems.  Suggested by Michael Albinus
87528         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
87530 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
87532         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
87534 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
87536         Improve documentation of mini-window resizing
87538         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
87539         'message-truncate-lines' for preventing resizing of minibuffer
87540         windows.  (Bug#19045)
87541         (Minibuffer Misc): Remove redundant description of
87542         'max-mini-window-height'.
87543         * doc/lispref/display.texi (Echo Area Customization): Adjust
87544         cross-reference.
87546 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
87548         More changes in the Emacs manual
87550         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
87551         (Fixing Case): Fix punctuation.
87552         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
87553         in emacs-manual-bugs@gnu.org.
87555         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
87556         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
87557         in emacs-manual-bugs@gnu.org.
87559         * doc/emacs/indent.texi (Just Spaces): Yet another minor
87560         rewording.
87562         * doc/emacs/building.texi (Watch Expressions): Improve wording.
87563         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
87564         by Alberto Sartori <alberto.sartori@sissa.it> in
87565         emacs-manual-bugs@gnu.org.
87566         (Grep Searching): Mention the effect of
87567         'compilation-mode-line-errors'.  (Bug#30397)
87569         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
87570         rewording of what <LEFT> and <RIGHT> do.
87572 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
87574         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
87576         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
87577         manual display is unaffected.
87579 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
87581         Mention that shell quoting of % on w32 may fail (Bug#19350)
87583         * doc/lispref/os.texi (Security Considerations): Mention that quoting
87584         of '%' assumes no '^' in variable names.
87585         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
87586         demonstrating what doesn't work.
87588 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
87590         Fix --no-build-details for w32 and macOS
87592         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
87593         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
87594         to `x-open-connection'.
87596 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
87598         * doc/lispref/anti.texi (Antinews): Add some more antinews.
87600 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
87602         Fix crashes when run with --no-build-details
87604         * src/xrdb.c (get_environ_db):
87605         * src/xterm.c (same_x_server, x_term_init):
87606         Don’t assume Fsystem_name returns a string.
87608 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
87610         More changes for the manual
87612         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
87613         Reported by Michael Albinus <michael.albinus@gmx.de> in
87614         emacs-manual-bugs@gnu.org.
87616         * doc/emacs/custom.texi (Function Keys): Improve wording.
87617         Suggested by clemens.radermacher@posteo.de in
87618         emacs-manual-bugs@gnu.org.
87620         * doc/emacs/misc.texi (History References): Improve punctuation.
87621         (Terminal emulator): Fix a typo.
87622         (Term Mode): Remove redundant repeated text.
87623         (Invoking emacsclient): Improve wording.  Suggested by Alberto
87624         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
87626         * doc/emacs/files.texi (Visiting): Fix last change.
87628 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
87630         Doc fixes for process functions (Bug#30349)
87632         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
87633         the 'stopped' state means for a pipe process.
87634         * src/process.c (Fmake_process, Fmake_pipe_process)
87635         (Fmake_serial_process, Fmake_network_process):
87636         * lisp/subr.el (start-process):
87637         * lisp/net/tls.el (open-tls-stream):
87638         * lisp/net/starttls.el (starttls-open-stream):
87639         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
87640         "specify an output stream" phrase from docstring.
87642 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
87644         Fix shr and CSS 4 color maps
87646         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
87647         Add RebeccaPurple.
87648         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
87649         and aqua-cyan aliases.
87650         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
87651         Bump color count.
87653 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
87655         Yet another round of improvements in the manual
87657         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
87658         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
87660         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
87661         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
87663         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
87664         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
87666         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
87667         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
87668         emacs-manual-bugs@gnu.org.
87670         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
87671         regarding registry keys.
87673         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
87674         Reported by Cena Mayo <cenazoic@gmail.com> in
87675         emacs-manual-bugs@gnu.org.
87677         * doc/emacs/screen.texi (Screen): More accurate wording.
87678         Suggested by Miloš Polakovič <milos@alphamail.org> in
87679         emacs-manual-bugs@gnu.org.
87681         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
87682         Suggested by David Bonnafous <dbonnafo@gmail.com> in
87683         emacs-manual-bugs@gnu.org.
87685         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
87686         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
87687         emacs-manual-bugs@gnu.org.
87689         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
87691         * doc/emacs/display.texi (Highlight Interactively): Fill text.
87692         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
87693         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
87695         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
87697         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
87698         (Remote Files, File Names, Visiting, Backup Deletion)
87699         (Customize Save, Interlocking): Improve wording and accuracy of
87700         the text.
87701         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
87702         "his".
87703         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
87704         wording changes.
87705         (Supporting additional buffers): Moved to ...
87706         * doc/lispref/backups.texi (Reverting): ... here.
87707         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
87708         buffers" from master menu.
87709         * doc/emacs/files.texi (Reverting): Mention use of file
87710         notifications.  Suggested by Michael Albinus
87711         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
87713         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
87714         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
87715         emacs-manual-bugs@gnu.org.
87717         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
87718         (Action Arguments): Fix a typo.
87719         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
87720         Justin Heyes-Jones <justinhj@gmail.com> in
87721         emacs-manual-bugs@gnu.org.
87723         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
87724         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
87726         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
87727         Minor wording changes.
87729 2018-02-04  Juri Linkov  <juri@linkov.net>
87731         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
87733         when vc-git-print-log-follow is non-nil (bug#19045).
87734         (vc-git-print-log-follow): Doc fix.
87736         * etc/NEWS: Mention 'vc-git-print-log-follow'.
87738 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
87740         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
87742         for hints how to type remote file names effectively.
87744 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
87746         Yet another round of fixing the Emacs manual
87748         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
87749         describing what happens when Emacs is invoked with several file
87750         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
87751         emacs-manual-bugs@gnu.org.
87753         * doc/emacs/xresources.texi (GTK styles):
87754         * doc/emacs/mini.texi (Passwords):
87755         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
87756         "can not".
87758         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
87759         of ns-right-alternate-modifier when its value is 'none'.
87760         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
87761         emacs-manual-bugs@gnu.org.
87763         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
87764         sub-sections of Diary.
87765         * doc/emacs/emacs.texi (Top):
87766         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
87767         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
87768         emacs-manual-bugs@gnu.org.
87770         * doc/emacs/anti.texi (Antinews): Fix grammar.
87772 2018-02-04  Alan Mackenzie  <acm@muc.de>
87774         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
87776 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
87778         Two minor fixes in Antinews
87780         * doc/emacs/anti.texi (Antinews): Two minor fixes.
87782 2018-02-03  Juri Linkov  <juri@linkov.net>
87784         * etc/NEWS: Rename image-dired-thumb-job-limit
87786         to image-dired-queue-active-limit (bug#30279)
87788 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
87790         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
87792 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
87794         Fix deferred display of async shell-command buffers
87796         * lisp/simple.el (shell-command): Display async shell buffer on
87797         process output for every, not just first, command invocation.  Check
87798         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
87800 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
87802         Mention remote file name completion in Emacs manual
87804         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
87805         "//" with remote file names.  (Bug#29149)
87807 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
87809         Yest another round of manual copyedits
87811         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
87812         changes.  Suggested by myq larson <myqlarson@gmail.com> in
87813         emacs-manual-bugs@gnu.org.
87815         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
87816         relevant Org features.  Suggested by Alex Branham
87817         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
87819         * doc/emacs/dired.texi (Operating on Files)
87820         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
87821         Suggested by Francis Wright <f.j.wright@live.co.uk> in
87822         emacs-manual-bugs@gnu.org.
87824         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
87825         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
87826         emacs-manual-bugs@gnu.org.
87828 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
87830         Update xdisp.c commentary
87832         * src/xdisp.c: Update commentary regarding "asynchronous" entry
87833         into redisplay.  (Bug#30182)
87835 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
87837         Fix Bug#30324
87839         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
87840         Adapt to changed remote file name syntax.  (Bug#30324)
87842 2018-02-03  Glenn Morris  <rgm@gnu.org>
87844         Recognize Org as builtin package (bug#30310)
87846         * lisp/org/org.el: Add Version header so detected as builtin package.
87847         * test/lisp/org/org-tests.el: New file.
87849 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
87851         Another round of manual fixups
87853         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
87854         Reported by David Bonnafous <dbonnafo@gmail.com> in
87855         emacs-manual-bugs@gnu.org.
87857         * doc/emacs/windows.texi (Other Window): Improve wording.
87858         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
87859         emacs-manual-bugs@gnu.org.
87861         * doc/emacs/display.texi (Display Custom): Mention that line
87862         numbers are not displayed in the minibuffer and tooltips.
87864         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
87865         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
87866         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
87867         emacs-manual-bugs@gnu.org.
87869         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
87870         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
87872         * doc/emacs/display.texi (Scrolling): Fix grammar.
87873         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
87874         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
87875         in emacs-manual-bugs@gnu.org.
87877         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
87878         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
87879         Remove redundant commas.  Suggested by oldgaro
87880         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
87882         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
87883         Suggested by clemens.radermacher@posteo.de in
87884         emacs-manual-bugs@gnu.org.
87886         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
87887         wording.  Suggested by drone <yoorobot@gmail.com> in
87888         emacs-manual-bugs@gnu.org.
87890         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
87891         (Dired Deletion): Fix a typo.
87892         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
87893         character.  Fix typos.
87894         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
87895         (Arguments): Some additional information about keys.  Reported by
87896         Francis Wright <f.j.wright@live.co.uk> in
87897         emacs-manual-bugs@gnu.org.
87899 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
87901         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
87904         https://lists.gnu.org/r/emacs-devel/2018-01/msg00824.html.
87906 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
87908         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
87910 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
87912         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
87914         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
87916 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
87918         Fix last change of @key markup
87920         * doc/lispref/display.texi (Specified Space):
87921         * doc/emacs/programs.texi (C Modes):
87922         * doc/emacs/killing.texi (Rectangles):
87923         * doc/emacs/emacs.texi (Top):
87924         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
87925         markup for characters and commands, only for keys.
87927 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
87929         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
87931 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
87933         Revert a1bbc49015 (Bug#30243), do not merge
87935         * lisp/files.el:
87936         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
87938 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
87940         Use @key{} where it is missing in the manuals
87942 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
87944         Another round of manual fixes from proofreading
87946         * doc/emacs/search.texi (Incremental Search)
87947         (Nonincremental Search): Mention the menu bar and fix typos.
87948         Reported by David Bonnafous <dbonnafo@gmail.com> in
87949         emacs-manual-bugs@gnu.org.
87950         * doc/emacs/building.texi (Compilation): Improve wording.
87951         Suggested by drone <yoorobot@gmail.com> in
87952         emacs-manual-bugs@gnu.org.
87953         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
87954         Suggested by Robert Pluim <rpluim@gmail.com> in
87955         emacs-manual-bugs@gnu.org.
87956         * doc/emacs/display.texi (Highlight Interactively, Fringes):
87957         Improve wording.  Suggested by Justin Heyes-Jones
87958         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
87959         * doc/emacs/commands.texi (User Input, Commands): Add missing
87960         commas.
87961         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
87962         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
87963         emacs-manual-bugs@gnu.org.
87964         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
87965         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
87966         emacs-manual-bugs@gnu.org.
87967         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
87968         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
87969         emacs-manual-bugs@gnu.org.
87970         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
87971         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
87972         * doc/emacs/maintaining.texi (Introduction to VC)
87973         (Why Version Control?, VCS Merging): Fix typos and section
87974         capitalization.  Suggested by "R. P. Dillon"
87975         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
87976         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
87977         Reported by clemens.radermacher@posteo.de in
87978         emacs-manual-bugs@gnu.org.
87980 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
87982         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
87984 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
87986         Document 'window-at-side-p' in the Elisp manual
87988         * doc/lispref/windows.texi (Windows and Frames): Document
87989         'window-at-side-p'.
87991 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
87993         Document external-debugging-output in the Elisp Manual (Bug#24051)
87995         * doc/lispref/streams.texi (Output Streams): List
87996         external-debugging-output.
87997         * src/print.c (Fexternal_debugging_output): Quote `print' in
87998         docstring.
88000 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
88002         Fix scroll-margin docstring (Bug#13791)
88004         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
88005         the margin may trigger any sort of auto scrolling, not recentering
88006         specifically.
88008 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
88010         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
88012         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
88014 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
88016         Update manual description of locate-file (Bug#23650)
88018         * doc/lispref/files.texi (Locating Files): Add example of predicate
88019         when searching for a directory.
88021 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
88023         Clarify effect of print-gensym (Bug#27776)
88025         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
88026         and #N= constructs depends on the value of `print-circle'.
88028 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
88030         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
88032 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
88034         Define cl-type-definition button type as needed (Bug#28899)
88036         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
88037         `cl-extra' before using the `cl-type-definition' button type.
88039 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
88041         Emphasize that GPG passphrase caching is temporary (Bug#29907)
88043         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
88044         temporary.
88045         (GnuPG version compatibility): Fix typo.
88047 2018-01-30  Alan Mackenzie  <acm@muc.de>
88049         Fix @examples in cc-mode.info, where lines were getting glued together.
88051         This happened because of false @c's in macro lines.
88053         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
88054         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
88056 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
88058         Minor change in "Mode Line" section of Emacs manual
88060         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
88061         hovering the mouse over the mode line.  Suggested by Eduardo
88062         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
88064 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
88066         More fixes in the Emacs manual
88068         * doc/emacs/screen.texi (Mode Line): Fix markup and
88069         cross-references.
88070         (Menu Bar): Correct inaccurate description.
88071         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
88072         * doc/emacs/frames.texi (Scroll Bars):
88073         * doc/emacs/emacs.texi (Top):
88074         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
88075         * doc/emacs/misc.texi (Invoking emacsclient)
88076         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
88077         Michael Albinus <michael.albinus@gmx.de> in
88078         emacs-manual-bugs@gnu.org.
88080 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
88082         Minor copyedits in "Distribution" chapter of the Emacs manual
88084         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
88085         Suggested by oldgaro <oldgaro@protonmail.com> in
88086         emacs-manual-bugs@gnu.org.
88088 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
88090         Minor copyedits in "Entering" chapter of Emacs manual.
88092         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
88093         to MS-Windows startup procedures.  Clarify wording.  Suggested by
88094         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
88096 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
88098         Minor wording change in the Emacs manual
88100         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
88101         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
88103 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
88105         Fix a typo in the Emacs manual
88107         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
88108         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
88109         emacs-manual-bugs@gnu.org.
88111 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
88113         Improve the "Basic" chapter of the Emacs manual
88115         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
88116         (Position Info): Add a cross-reference to where
88117         display-line-numbers-mode is described.  Reported by Joshua
88118         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
88120 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
88122         Resurrect lost text in lispref
88124         * doc/lispref/files.texi (File Attributes): Resurrect
88125         inadvertently lost text.
88127 2018-01-30  Philipp Stephani  <phst@google.com>
88129         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
88131 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
88133         Proofread os.texi and files.texi
88135 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
88137         Minor improvements in the "International" chapter of Emacs manual
88139         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
88140         versions of MS-Windows.
88141         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
88142         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
88143         emacs-manual-bugs@gnu.org.
88145 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
88147         Minor improvement in "Text" chapter of Emacs manual
88149         * doc/emacs/text.texi (Words): Improve wording.  Reported by
88150         Marcin Borkowski <mbork@mbork.pl> in
88151         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
88153 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
88155         Fix some issues in the emacs/lispref manuals
88157         * doc/emacs/basic.texi (Continuation Lines):
88158         * doc/emacs/building.texi (GDB User Interface Layout):
88159         * doc/emacs/dired.texi (Misc Dired Features):
88160         * doc/emacs/maintaining.texi (Identifier Search):
88161         * doc/emacs/mark.texi (Using Region):
88162         * doc/emacs/misc.texi (Document View, DocView Conversion):
88163         * doc/emacs/modes.texi (Major Modes):
88164         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
88165         * doc/emacs/sending.texi (Mail Methods): Replace @code by
88166         @kbd.
88167         * doc/emacs/frames.texi (Text-Only Mouse):
88168         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
88169         @key.
88170         * doc/lispref/compile.texi (Compiler Errors): Write
88171         non-@code{nil} instead of non-nil.
88172         * doc/lispref/debugging.texi (Internals of Debugger):
88173         'backtrace' is not a command.  'debugger-stack-frame-as-list'
88174         is an option.
88175         * doc/lispref/display.texi (Size of Displayed Text):
88176         'window-lines-pixel-dimensions' has a last argument 'left'.
88177         * doc/lispref/display.texi (Attribute Functions):
88178         'set-face-underline' and 'set-face-inverse-video' are
88179         commands.
88180         (Tooltips): 'tooltip-frame-parameters' is an option.
88181         (Bidirectional Display): 'bidi-paragraph-direction' is an
88182         option.
88183         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
88184         is an option.
88185         (Input Focus): Argument FRAME of 'x-focus-frame' is not
88186         optional.
88187         (Child Frames): Both arguments of 'frame-ancestor-p' are
88188         non-optional.  'iconify-child-frame' is an option.
88189         * doc/lispref/os.texi (Killing Emacs):
88190         'kill-emacs-query-functions' is an option.
88191         * doc/lispref/windows.texi (Mouse Window Auto-selection):
88192         'mouse-autoselect-window' is an option.
88194 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
88196         Fix multiple spaces in Emacs manual
88198         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
88199         spaces in printed manual.
88201 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
88203         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
88205 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
88207         Adjudicate comments to "International" chapter of Emacs manual
88209         * doc/emacs/mule.texi (International Chars)
88210         (Language Environments, Input Methods, Defining Fontsets)
88211         (Modifying Fontsets): Minor wording changes and typo fixes.
88212         Reported by Francis Wright <f.j.wright@live.co.uk> in
88213         emacs-manual-bugs@gnu.org.
88215 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
88217         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
88219         That commit did not make the corresponding change to printing, thus
88220         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
88221         symbols.  It's too late in the release cycle to change printing
88222         behavior, therefore revert the reader change.
88224         Don't merge to master, the print function will be updated there (see
88225         "Fix round tripping of read->print for symbols with strange quotes").
88227 2018-01-27  Alan Mackenzie  <acm@muc.de>
88229         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
88231         This fixes bug #30186.  The with-silent-modifications was there to prevent
88232         records of text property manipulations being put into buffer-undo-list.  These
88233         had been causing a significant slowdown in CC Mode with C-_ after a large
88234         C-y.  This CC Mode problem has since been solved by a different workaround.
88236         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
88237         with-silent-modifications around the text property manipulations.
88239 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
88241         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
88243 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
88245         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
88247 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
88249         Minor changes in the Emacs manual
88251         * doc/emacs/search.texi (Search Customizations): Minor wording
88252         change.
88253         * doc/emacs/files.texi (Customize Save): Add a cross-reference
88254         for batch mode.
88256 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
88258         Improve the "Files" chapter of the Emacs manual
88260         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
88261         the notion of shadowing before describing the commands.  Suggested
88262         by Will Korteland <emacs-devel@korte.land> in
88263         emacs-manual-bugs@gnu.org.
88265 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
88267         Improve the "Search" chapter of the Emacs manual
88269         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
88270         clarify wording.
88271         (Search Customizations): Fix a typo.  Reported by Will Korteland
88272         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
88274 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
88276         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
88278 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
88280         Improve documentation of 'edebug-defun'
88282         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
88283         for a failure to instrument due to unknown macros.  (Bug#30243)
88284         (Bug#10577)
88286 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
88288         Mention crashes due to Noto Serif Kannada fonts
88290         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
88291         and the respective workarounds.  (Bug#30193)
88293 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
88295         * doc/lispref/searching.texi: Document regexp repetition limit.
88297         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
88299 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
88301         Load mm-util as needed for url-file and url-data (Bug#30258)
88303         * lisp/url/url-file.el (url-file):
88304         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
88305         `mm-disable-multibyte'.
88306         * test/lisp/url/url-file-resources/file.txt:
88307         * test/lisp/url/url-file-tests.el:
88308         * test/lisp/url/url-misc-tests.el: New tests.
88310 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
88312         Another minor copyedit in the manual's "Scroll Bars"
88314         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
88315         left/right buttons may be absent from the toolkit scroll bars.
88316         Reported by Robert Pluim <rpluim@gmail.com> in
88317         emacs-manual-bugs@gnu.org.
88319 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
88321         Minor fix in documentation of 'equal'
88323         * doc/lispref/objects.texi (Equality Predicates): Correct the
88324         conditions for equality of unibyte and multibyte strings.
88325         (Bug#30218)
88327 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
88329         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
88331 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
88333         Minor rewording in Emacs manual's "Help Mode" node
88335         * doc/emacs/help.texi (Help Mode): Minor rewording of description
88336         of 'help-follow-symbol'.  Suggested by Richard Stallman
88337         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
88339 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
88341         Fixes for Emacs manual in frames.texi
88343         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
88344         (Window Dividers): Minor clarifications and spelling/markup
88345         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
88346         emacs-manual-bugs@gnu.org.
88348 2018-01-24  Glenn Morris  <rgm@gnu.org>
88350         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
88352 2018-01-24  Robert Pluim  <rpluim@gmail.com>
88354         Fix a few issues with latest GTK scaling changes
88356         * src/xfns.c (Fx_display_monitor_attributes_list): Call
88357         gdk_screen_get_monitor_scale_factor only for GTK versions
88358         3.10..3.21.
88359         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
88361 2018-01-24  Robert Pluim  <rpluim@gmail.com>
88363         Use scaled coordinates when calling into GTK
88365         This is part two of a two part fix for the GTK scaling
88366         problems.  See the thread starting at
88367         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
88368         for an explanation of why it has been added to Emacs 26.
88370         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
88371         pass to gtk_window_move and to gtk_window_parse_geometry.
88372         * src/xterm.c (x_set_offset): Likewise.
88374 2018-01-24  Robert Pluim  <rpluim@gmail.com>
88376         Scale monitor dimensions obtained from GTK
88378         This is part one of a two part fix for the GTK scaling
88379         problems.  See the thread starting at
88380         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
88381         for an explanation of why it has been added to Emacs 26.
88383         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
88384         into account when using GTK to query the monitor dimensions, which
88385         allows frameset-restore to position frames correctly.
88387 2018-01-22  Rasmus  <rasmus@gmx.us>
88389         Update Org to v9.1.6
88391         Please note this is a bugfix release. See etc/ORG-NEWS for details.
88393 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
88395         Use text-pixels values only when saving framesets (Bug#30141)
88397         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
88398         that text-pixels values are by default only saved by framesets
88399         so the parameter is not set when restoring (Bug#30141).
88401 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
88403         Minor improvement in section "Pages" of the usere manual
88405         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
88406         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
88408 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
88410         Minor improvements in user manual
88412         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
88413         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
88414         in emacs-manual-bugs@gnu.org
88416 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
88418         Improve the "Mark" chapter of the user manual
88420         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
88421         clarify wording.  Suggested by John Cummings <john@rootabega.net>
88422         in emacs-manual-bugs@gnu.org.
88424 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
88426         Improve the "Buffers" chapter of the user manual
88428         * doc/emacs/buffers.texi (Several Buffers): Correct description of
88429         prefix arguments.  Clarify "bury".
88430         (Buffer Menus): Clarify wording.  Reported by John Cummings
88431         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
88433 2018-01-21  tino calancha  <tino.calancha@gmail.com>
88435         * lisp/term.el (term-send-input): Fix text duplication in docstring
88437 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
88439         Improve "Buffers" in the user manual
88441         Suggested by John Cummings <john@rootabega.net> in
88442         emacs-manual-bugs@gnu.org:
88443         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
88444         "Windows" and "Frames".
88445         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
88446         that accept buffer names.
88447         (Select Buffer): Improve description of "M-g M-g".  Improve
88448         wording.
88449         (Misc Buffer, Kill Buffer): Improve wording.
88450         (Kill Buffer): Fix the response required by kill-some-buffers.
88451         Mention customizable options that control what clean-buffer-list
88452         does.
88453         (Several Buffers): More detail about
88454         'Buffer-menu-unmark-all-buffers'.
88456 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
88458         Don't mention 'vc-stay-local' in the user manual
88460         * doc/emacs/vc1-xtra.texi (CVS Options):
88461         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
88462         references to 'vc-stay-local', which no longer exists.
88463         (Bug#30138)
88465 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
88467         Fix a typo in calendar.texi
88469         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
88470         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
88471         in emacs-manual-bugs@gnu.org.
88473 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
88475         Minor improvement in wording of the Emacs manual
88477         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
88478         Suggested by Will Korteland <emacs-devel@korte.land> in
88479         emacs-manual-bugs@gnu.org.
88481 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
88483         Revert "Fix tempfile creation when byte compiling"
88485         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
88486         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
88487         Put tempfile next to the target file, as was the original intent.
88489 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88491         Fix tempfile creation when byte compiling
88493         This improves on the recent fix for master failing to build
88494         on FreeBSD.  Suggested by Stefan Monnier in:
88495         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
88496         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
88497         Put tempfile next to the target file, as was the original intent.
88499 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
88501         Improve the Emacs manual as suggested in emacs-manual-bugs
88503         * doc/emacs/killing.texi (Deletion and Killing): Add
88504         cross-reference to "Kill Ring".
88505         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
88506         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
88507         emacs-manual-bugs@gnu.org.
88509 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
88511         * lisp/emacs-lisp/bytecomp.el: Tweak last change
88513         (byte-compile-file): Move comment closer to the code it describes.
88515 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
88517         Unbreak building Emacs on FreeBSD
88519         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
88520         the temporary file under temporary-file-directory if the file
88521         being compiled is specified by an absolute file name.  This avoids
88522         problems with ACL copying from temporary-file-directory on
88523         FreeBSD.  For the details, see
88524         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
88526 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
88528         Don't unnecessarily use non-ASCII characters in C sources
88530         * src/xwidget.c (webkit_javascript_finished_cb):
88531         * src/gtkutil.c (xg_check_special_colors):
88532         * src/emacs-module.c (module_make_string):
88533         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
88534         characters.
88536 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
88538         Portability fixes in emacs-module-tests
88540         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
88541         CPPFLAGS.
88542         * test/data/emacs-module/mod-test.c: Include <limits.h>.
88543         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
88544         don't support %td and %zu format specs.
88545         (emacs_module_init): Use compatibility macros to make the error
88546         messages print meaningful values (and avoid compiler warnings).
88548 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
88550         Add tests for term.el
88552         * lisp/term.el (term-mode): Add `name' attribute to
88553         window-adjust-process-window-size-function value, so that it can be
88554         removed easily by tests.
88555         * test/lisp/term-tests.el: New tests.
88557 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
88559         Handle split AnSiT messages for term.el (Bug#17231)
88561         Check to see if there is an incomplete command at the end of
88562         term-emulate-terminal's input string, and, if so, save it so the whole
88563         command can be processed when the next string arrives.
88564         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
88565         (term-mode): Make it buffer local.
88566         (term-handle-ansi-terminal-messages): Prepend it to the received
88567         message, and set it if a partial message was received.
88570         Do not merge to master, it will be solved differently there, see
88571         "Switch term.el to lexical binding, and clean up code a bit".
88573 2018-01-19  Glenn Morris  <rgm@gnu.org>
88575         * configure.ac (emacs_config_features): Add threads.
88577 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
88579         Handle case-insensitive filenames for load-path shadows (Bug#5845)
88581         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
88582         shadowing with case-insensitive matching for files of case-insensitive
88583         directories (as determined by `file-name-case-insensitive-p').
88584         * test/lisp/emacs-lisp/shadow-tests.el: New test.
88585         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
88586         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
88588 2018-01-18  Alan Mackenzie  <acm@muc.de>
88590         CC Mode: stop distinguishing brace blocks from defun blocks by content.
88592         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
88593         essentially a reversion of the patch from 2017-11-10 which attempted to handle
88594         C99's compound literals.
88596         The bug here was triggered when a defun block contained a declaration ending
88597         in a comma, yet without a semicolon.
88599         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
88600         remove from the `or' form the test of a block's contents.
88602 2018-01-17  Philipp Stephani  <phst@google.com>
88604         Use recommended long options syntax in man page
88606         * doc/man/emacs.1.in: Specify equals sign for long options, as
88607         recommended in the manual.
88609 2018-01-17  Glenn Morris  <rgm@gnu.org>
88611         An overdue update of GNUstep emacs.tiff
88613         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
88614         Update to the Emacs 25 icon.
88615         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
88616         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
88618 2018-01-17  Glenn Morris  <rgm@gnu.org>
88620         Add some test skip conditions
88622         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
88623         (vc-bzr-test-bug9781): Skip if bzr is faulty.
88624         * test/src/thread-tests.el: Skip if not compiled with threads.
88626 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
88628         Add documentation to ecomplete.el
88630         * lisp/ecomplete.el: Add doc strings and document the format.
88632 2018-01-17  Glenn Morris  <rgm@gnu.org>
88634         * admin/authors.el (authors-aliases): Tighten more entries.
88636 2018-01-17  Glenn Morris  <rgm@gnu.org>
88638         Small startup fix for current-load-list
88640         * lisp/startup.el (command-line):
88641         Avoid current-load-list being non-nil after startup ends.
88643 2018-01-17  Glenn Morris  <rgm@gnu.org>
88645         authors-aliases is based on regexps, not literals
88647         * admin/authors.el (authors-aliases): Replace overly-broad entries.
88649 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
88651         Remove incorrect documentation in comint.el
88653         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
88654         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
88655         documentation.  (Bug#30079)
88657 2018-01-15  Glenn Morris  <rgm@gnu.org>
88659         An overdue update of src/emacs-icon.h
88661         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
88662         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
88664 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
88666         Minor copyedit in ELisp manual
88668         * doc/lispref/variables.texi (File Local Variables): Improve
88669         wording of last change.
88671 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
88673         Fix Bug#29149 in dired-aux.el
88675         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
88676         commands on w32 properly.  (Bug#29149)
88678 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
88680         Fix Bug#29149 in shell.el
88682         * lisp/shell.el (shell): Change order of `file-local-name' and
88683         `expand-file-name' calls.  Otherwise, the local file name
88684         would be extended by a drive letter, even when it is a remote
88685         file, seen from w32.  (Bug#29149)
88687 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
88689         * doc/lispref/variables.texi (File Local Variables): Fix last change
88691 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
88693         * ChangeLog.3: Update
88695         Update etc/AUTHORS
88697 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
88699         Fix an entry in authors-aliases
88701         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
88702         is too broad, to an email address ("mu@magi.net.ru").
88704 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
88706         Mention trace.el facilities in the ELisp manual
88708         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
88709         library.
88711 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
88713         Improve documentation of safe values of variables
88715         * doc/lispref/variables.texi (File Local Variables): Mention the
88716         autoload cookie as a means of defining safe values for variables.
88717         See https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
88718         for the details.
88719         * doc/lispref/compile.texi (Compiler Errors): Document
88720         'byte-compile-error-on-warn'.
88722 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
88724         Improve the Emacs manual's "Misc" node
88726         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
88727         (Invoking emacsclient): Mention how to avoid errors when there's
88728         no Emacs server.
88729         (EWW, Embedded WebKit Widgets): Now subsections under
88730         "Hyperlinking and Web Navigation Features".
88731         (Amusements): Add "games" to the section name.  Suggested by Alex
88732         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
88734         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
88735         above changes.
88737         * doc/lispref/os.texi (Security Considerations): Fix typos.
88739 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
88741         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
88743         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
88744         of FRAME_X_P (Bug#30019).
88746 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
88748         Bump Emacs version to 26.0.91
88750         * README:
88751         * configure.ac:
88752         * msdos/sed2v2.inp:
88753         * nt/README.W32: Bump Emacs version.
88755 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
88757         * ChangeLog.3: Update
88759 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
88761         Update authors
88763         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
88764         * etc/AUTHORS: Update AUTHORS file.
88766 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
88768         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
88769         adding extra citation mark (bug#29767, but it is a different bug).
88771 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
88773         Improve documentation of etags
88775         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
88776         Improve documentation of etags options and of source language
88777         detection.
88779 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
88781         Teach etags new interpreters for some languages
88783         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
88784         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
88785         static variables.
88786         (lang_names): Use them to set interpreters for Erlang, Lua,
88787         Prolog, Python, and Ruby.
88788         (find_entries): Support "/usr/bin/env FOO" form of specifying an
88789         interpreter.
88791         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
88792         line to test the "env FOO" interpreter spec.  (Bug#30075)
88793         * test/manual/etags/ETAGS.good_1:
88794         * test/manual/etags/ETAGS.good_2:
88795         * test/manual/etags/ETAGS.good_3:
88796         * test/manual/etags/ETAGS.good_4:
88797         * test/manual/etags/ETAGS.good_5:
88798         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
88799         files.
88801 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
88803         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
88805         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
88807 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
88809         Improve documentation of fill-separate-heterogeneous-words-with-space
88811         * lisp/textmodes/fill.el
88812         (fill-separate-heterogeneous-words-with-space): Fix grammar.
88814 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
88816         Fix documentation of some x-* functions
88818         * lisp/term/pc-win.el (x-display-pixel-width)
88819         (x-display-pixel-height, x-display-planes)
88820         (x-display-color-cells, x-server-max-request-size)
88821         (x-server-vendor, x-server-version, x-display-screens)
88822         (x-display-mm-height, x-display-mm-width)
88823         (x-display-backing-store, x-display-visual-class): Provide doc
88824         strings, so that 'makedoc' produces non-empty documentation in
88825         etc/DOC for these functions.  (Bug#30068)
88827 2018-01-10  Philipp Stephani  <phst@google.com>
88829         Inherit query-on-exit flag to stderr process (Bug#30031)
88831         * src/process.c (Fmake_process): Have the pipe process honor the
88832         parent's query-on-exit flag.
88834         * test/src/process-tests.el (make-process/noquery-stderr): New test.
88836 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
88838         Fix Bug#30057
88840         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
88841         (file-notify--test-cleanup, file-notify--test-make-temp-name)
88842         (file-notify-test01-add-watch, file-notify-test03-events)
88843         (file-notify-test05-file-validity)
88844         (file-notify-test09-watched-file-in-watched-dir)
88845         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
88847 2018-01-10  Glenn Morris  <rgm@gnu.org>
88849         Tag some unstable tests, and skip by default (bug#24503)
88851         * Makefile.in (check-all): New phony target.
88852         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
88853         Also skip unstable tests.
88854         (SELECTOR_ALL): New variable.
88855         (check-all): New phony target.
88856         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
88857         (eieio-test-method-order-list-6):
88858         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
88859         (eieio-test-37-obsolete-name-in-constructor):
88860         Mark as unstable rather than skipping on hydra.nixos.org.
88862 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
88864         Merge from Gnulib
88866         This incorporates:
88867         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
88868         2018-01-04 update-copyright: Handle use of ©
88869         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
88870         2018-01-02 stat-time: silence -Wunused-parameter regression
88871         * build-aux/config.guess, build-aux/config.sub:
88872         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
88873         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
88874         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
88875         * lib/stat-time.h: Copy from Gnulib, or regenerate.
88877 2018-01-09  Glenn Morris  <rgm@gnu.org>
88879         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
88881 2018-01-09  Glenn Morris  <rgm@gnu.org>
88883         Small fix for erc-logging-enabled
88885         * lisp/erc/erc-log.el (erc-logging-enabled):
88886         Respect buffer-locality of erc-enable-logging variable.
88888 2018-01-09  Glenn Morris  <rgm@gnu.org>
88890         Quieten semantic normal usage
88892         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
88893         compile time in the normal way, not at run-time.  (Bug#30035)
88895 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
88897         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
88899         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
88901 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
88903         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
88905 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
88907         Query background for gnome terminal version 3.22 (Bug#29716)
88909         * lisp/term/xterm.el (xterm--version-handler): Use
88910         xterm--report-background-handler for terminals reporting minor version
88911         4000 and above.
88913 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
88915         Make pixel-wise scrolling less laggy
88917         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
88918         New variables.
88919         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
88920         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
88922 2018-01-07  Alan Third  <alan@idiocy.org>
88924         Fix child frame placement issues (bug#29953)
88926         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
88927         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
88928         struct as invisible child windows are detached from their parents in
88929         NS.
88930         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
88931         value, so handle that gracefully.  Child frames with negative left and
88932         top should be positioned relative to the bottom right of the parent
88933         frame.
88935 2018-01-06  Alan Mackenzie  <acm@muc.de>
88937         Describe the precise interaction of complex primitives with the change hooks
88939         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
88940         primitives call before- and after-change-functions in balanced pairs, but that
88941         some complex primitives call b-c-f once, and a-c-f zero, one, or several
88942         times.
88944 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
88946         Fix valgrind report in call-interactively
88948         * src/callint.c (Fcall_interactively): Don't try to access more
88949         bytes than are available in the interactive spec.  (Bug#30004)
88951 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
88953         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
88955 2018-01-06  Alan Mackenzie  <acm@muc.de>
88957         Fix mark-defun when there's no spaces between successive defuns.
88959         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
88960         argument to detect non-syntactic WS.  This fails on a "}", which does not
88961         begin a sexp.
88963         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
88964         handle BOL being in a string.
88965         (beginning-of-defun-comments): Call the above function in place of the call
88966         to parse-partial-sexp.
88968 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
88970         Fix Dired display and operations on file names with raw bytes
88972         * src/coding.c (decode_coding): When flushing remaining raw bytes
88973         from multibyte text, copy 2-byte forms of eight-bit-*
88974         characters as single characters, not as 2 raw bytes.  (Bug#29189)
88976 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
88978         Improve documentation of 'gdb-many-windows'
88980         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
88981         for using a separate frame for 'gdb-many-windows'.
88983 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
88985         Fix failures in smerge-mode on MS-Windows
88987         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
88988         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
88989         convention explicit.
88990         (smerge-refine-regions): Use utf-8-emacs instead of
88991         emacs-internal, to allow decoding of non-Unix EOL conventions.
88992         (Bug#29916)
88994 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
88996         Fix description of 'struct' generic function specializer
88997         Backport:
88999         * doc/lispref/functions.texi (Generic Functions): Fix description of
89000         'struct' specializer; it must be the named struct or a child, not a
89001         parent.
89003         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
89005 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
89007         * etc/DEBUG (Getting control to the debugger): Fix grammar.
89009 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
89011         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
89013 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
89015         Don't bind dframe events on load (Bug#29599)
89017         * lisp/dframe.el (dframe-setup-hook): New hook.
89018         (dframe-set-special-events): New function, containing previous
89019         top-level key binding code.
89020         (top-level): Add it to dframe-setup-hook.
89021         (dframe-frame-mode): Run the hook.
89023 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
89025         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
89027         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
89029 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
89031         Fix description of 'emacs-internal'
89033         * doc/lispref/nonascii.texi (Coding System Basics): Correct
89034         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
89036 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
89038         Update PROBLEMS with selection-related issues
89040         * etc/PROBLEMS: Update the entry about large selections and
89041         klipper.  (Bug#29661)
89043 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
89045         New customization variable for python-mode indentation (Bug#28475)
89047         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
89048         (python-indent--calculate-indentation): Let it control how many indent
89049         levels are inserted for multi-line function signatures.
89051 2018-01-01  Alan Third  <alan@idiocy.org>
89053         Fix menu keyboard shortcuts on macOS (Bug#29595)
89055         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
89056         macOS 10.13 no longer ignores long modifier strings, so explicitly use
89057         an empty string.
89059 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
89061         Fix copyright years by hand
89063         These are dates that admin/update-copyright did not update, or
89064         updated incorrectly.
89066 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
89068         Update copyright year to 2018
89070         Run admin/update-copyright.
89072 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
89074         Merge from Gnulib
89076         This incorporates:
89077         2018-01-01 maint: Run 'make update-copyright'
89078         2017-12-29 Add cross-compilation results for GNU/Hurd.
89079         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
89081 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
89083         Don't add empty keyboard macro to macro ring (Bug#24992)
89085         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
89086         macro if it is empty.
89088         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
89089         Remove expected failure tag.
89091 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
89093         Allow customization of decoding of "man" command
89095         * lisp/man.el (Man-coding-system): New defcustom.
89096         (Man-start-calling): Use it, and also pay attention to user
89097         overriding coding-system-for-read.  (Bug#29872)
89099 2017-12-31  Daiki Ueno  <ueno@gnu.org>
89101         * etc/NEWS: Add security consideration note on passphrase input
89103 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
89105         Fix subtle problem with scroll-down when scroll-margin is nonzero
89107         * src/window.c (window_scroll_pixel_based): Account for
89108         scroll-margin when scrolling down, i.e. moving window-start
89109         towards the beginning of the buffer.  Reported by zhang cc
89110         <ccsmile2008@outlook.com> in
89111         https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
89113 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
89115         Fix problems with indexing in User manual
89117         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
89118         (Moving Point):
89119         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
89120         * doc/emacs/trouble.texi (Quitting):
89121         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
89122         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
89123         (Creating Custom Themes):
89124         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
89125         (Basic Indent, Info Lookup, Symbol Completion):
89126         * doc/emacs/screen.texi (Echo Area):
89127         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
89128         * doc/emacs/display.texi (Line Truncation, Cursor Display):
89129         * doc/emacs/files.texi (File Names, Backup, File Archives):
89130         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
89131         * doc/emacs/commands.texi (User Input):
89132         * doc/emacs/mule.texi (International, Unibyte Mode)
89133         (International Chars):
89134         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
89135         (CVS Options):
89136         * doc/emacs/modes.texi (Major Modes, Minor Modes):
89137         * doc/emacs/indent.texi (Just Spaces):
89138         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
89139         (Frame Commands):
89140         * doc/emacs/cmdargs.texi (Initial Options):
89141         * doc/emacs/abbrevs.texi (Dabbrev Customization):
89142         * doc/emacs/mini.texi (Completion Example, Completion Commands):
89143         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
89144         (From Other Calendar):
89145         * doc/emacs/regs.texi (Text Registers, Bookmarks):
89146         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
89147         * doc/emacs/maintaining.texi (Xref Commands):
89148         * doc/emacs/windows.texi (Pop Up Window):
89149         * doc/emacs/text.texi (Text, Org Mode):
89150         * doc/emacs/killing.texi (Other Kill Commands):
89151         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
89152         (Gnus Summary Buffer, Shell Mode):
89153         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
89154         redundant identical index entries.
89155         * doc/emacs/custom.texi (Mouse Buttons)
89156         * doc/emacs/files.texi (Reverting): Fix hyphenation.
89157         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
89158         * doc/emacs/files.texi (File Conveniences):
89159         * doc/emacs/programs.texi (MixedCase Words): Make entries that
89160         belong to Concept Index be indexed with @cindex.  (Bug#29888)
89162 2017-12-29  Alan Mackenzie  <acm@muc.de>
89164         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
89166 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
89168         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
89170         Don't mess with the lock file when inhibit_modification_hooks is set,
89171         just like we do in prepare_to_modify_buffer_1.
89173 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
89175         Improve documentation of 'inhibit-modification-hooks' and friends
89177         * src/buffer.c (Fset_buffer_modified_p)
89178         (Frestore_buffer_modified_p): Doc fixes.
89179         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
89180         Document in the doc string that this variable also inhibits file
89181         locks and active region handling.  (Bug#29846)
89183 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
89185         Fix doc string of 'enable-recursive-minibuffers'
89187         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
89188         Doc fix.  (Bug#29873)
89190 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
89192         Fix documentation of delsel and of killing text
89194         * doc/emacs/killing.texi (Appending Kills): Make sure the text
89195         with 2 spaces is not broken between 2 lines.
89196         * doc/emacs/mark.texi (Using Region): Remove the sentence about
89197         delsel mode that describes behavior which exists even without
89198         delsel mode turned on.  Suggested by Petteri Hintsanen
89199         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
89201         * lisp/delsel.el (delete-selection-mode): Doc fix.
89203 2017-12-27  Glenn Morris  <rgm@gnu.org>
89205         * doc/lispref/strings.texi (Case Conversion):
89206         Use a TeX font that support ligatures.
89208 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
89210         * doc/misc/speedbar.texi (Top): Fix grammar.
89212         * lisp/subr.el (with-silent-modifications): Doc fixes.
89214 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
89216         Fix curved quotes in printed manual
89218         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
89219         characters in the printed version of the manual.
89221 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
89223         Say that "gnus-cloud" is a parody name
89225 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
89227         More improvements for text.texi
89229         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
89230         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
89231         emacs-manual-bugs@gnu.org.
89233 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
89235         Adjudicate review comments for the "Text" chapter of user manual
89237         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
89238         cross-reference to the Org manual.  Make the cross-reference to
89239         Outline Mode appear in online manuals as well (the conditional was
89240         a forgotten remnant from time immemoriam).
89241         (Paragraphs): Add a note that 'paragraph-start' and
89242         'paragraph-separate' should not be anchored.
89243         (Auto Fill): Remove redundant text.  Suggested by Petteri
89244         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
89246 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
89248         * lisp/url/url-http.el
89249         (url-http-wait-for-headers-change-function): Change message to
89250         url-http-debug.
89252 2017-12-24  Alan Mackenzie  <acm@muc.de>
89254         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
89256         , and instruct her to hold the mouse button to display its documentation.
89258         * lisp/help.el (help-downify-mouse-event-type): New function.
89259         (help-read-key-sequence, describe-key): handle double-click-time being nil or
89260         t.
89261         (describe-key): Print out instructions for displaying documentation of
89262         matching mouse down key sequence command when such exists.
89264 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
89266         * net/eww.el (eww): Handle URLs without host part.
89268 2017-12-23  Alan Mackenzie  <acm@muc.de>
89270         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
89272         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
89273         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
89274         event of a sequence which is bound.
89276         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
89277         a list.  Return the latest one which has a binding.
89279 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
89281         Avoid crashes when ':eval' deletes our frame
89283         * src/xdisp.c (display_mode_element): Signal an error if
89284         ':eval' somehow deletes the frame whose window we are
89285         redisplaying. (Bug#29726)
89287 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
89289         Fix scrolling up in pixel-scroll.el
89291         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
89292         down when EOB is shown at the top.  This function is reverted to
89293         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
89295 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
89297         Fix problems with ligatures in PDF version of ELisp manual
89299         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
89300         ligatures in printed versions of the manual.  (Bug#29818)
89302 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
89304         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
89306         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
89307         Don't burp if the source-buffer has been killed.
89309 2017-12-22  Glenn Morris  <rgm@gnu.org>
89311         Avoid some overfull lines in PDF lispref
89313         * doc/lispref/commands.texi (Reading One Event):
89314         * doc/lispref/display.texi (SVG Images):
89315         * doc/lispref/frames.texi (Size Parameters):
89316         * doc/lispref/syntax.texi (Categories):
89317         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
89318         Avoid overfull lines.
89320 2017-12-22  Glenn Morris  <rgm@gnu.org>
89322         Avoid some overfull lines in PDF manual
89324         * doc/emacs/display.texi (Display Custom):
89325         * doc/emacs/search.texi (Other Repeating Search):
89326         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
89328 2017-12-22  Glenn Morris  <rgm@gnu.org>
89330         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
89331         Fix ref.
89333 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
89335         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
89337 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
89339         Fix doc string of 'footnote-style-alist'
89341         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
89342         to non-existing files from doc string.  (Bug#29759)
89344 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
89346         Improve documentation of selecting windows
89348         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
89349         Clarify what selecting a window means for keyboard input, and that
89350         input focus may need to be considered when selecting windows on
89351         other frames.  See
89352         https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
89353         for more details.
89355 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
89357         Improve documentation of records
89359         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
89360         * doc/lispref/records.texi (Records): Recommend that record type
89361         names use package-naming conventions.
89363         * etc/NEWS: Add the naming convention recommendation for record
89364         types.
89366 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
89368         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
89370 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
89372         Fix interactive spec of 'semantic-ia-show-variants'
89374         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
89375         interactive spec to match the function's expectations.  (Bug#29770)
89377 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
89379         Fix documentation of 'mouse-drag-and-drop-region' and friends
89381         * doc/emacs/frames.texi (Drag and Drop): Index
89382         'mouse-drag-and-drop-region-cut-when-buffers-differ',
89383         'mouse-drag-and-drop-region-show-tooltip', and
89384         'mouse-drag-and-drop-region-show-cursor'.
89386         * etc/NEWS: Fix the format of the related entries.
89388 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
89390         Improve detection of speller version in ispell.el
89392         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
89393         general forms of version numbers for Aspell, Hunspell, and
89394         Enchant, to include various beta and prereleases.  (Bug#29801)
89396 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
89398         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
89400         * doc/emacs/frames.texi (Drag and Drop):
89401         * etc/NEWS (times): Document options for
89402         'mouse-drag-and-drop-region' and mention them in NEWS.
89404 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
89406         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
89408         * doc/emacs/building.texi (Grep Searching): Fix doc of
89409         'grep-save-buffers'.
89410         (Drag and Drop): Reorder paragraphs.  Fix doc of
89411         'mouse-drag-and-drop-region'.
89412         * doc/emacs/frames.texi (Word and Line Mouse):
89413         * doc/emacs/search.texi (Other Repeating Search):
89414         * doc/lispref/compile.texi (Compilation Functions):
89415         * doc/lispref/files.texi (Directory Names):
89416         * doc/lispref/functions.texi (Advising Named Functions):
89417         * doc/lispref/keymaps.texi (Controlling Active Maps):
89418         * doc/lispref/lists.texi (Association Lists):
89419         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
89420         'non-nil' and 'nil'.
89422 2017-12-21  Philipp Stephani  <phst@google.com>
89424         Document that mode commands should be idempotent.
89426         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
89427         Conventions): Document that the mode commands should be idempotent.
89429 2017-12-21  Alan Mackenzie  <acm@muc.de>
89431         Fontify a CPP construct correctly when a comment follows without spaces
89433         Do this by removing a broken optimization in the state cache which put
89434         category text properties on a character between the end of the CPP construct
89435         and the beginning of the comment.  This can't work when there's no such
89436         character.
89438         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
89439         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
89440         (c-with-all-but-one-cpps-commented-out): Remove.
89442         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
89443         start position rather than one character before it.
89444         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
89445         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
89447         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
89448         c-neutralize-syntax-in-CPP and remove the bits which applied category
89449         properties.
89451         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
89452         new name of the function c-neutralize-syntax-in-CPP.
89454 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
89456         Prevent infloop in redisplay on TTY frames
89458         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
89459         filling up display margins with the default face's background.
89460         (Bug#29789)
89462 2017-12-21  Alan Mackenzie  <acm@muc.de>
89464         Fix loss of documentation face in certain CC Mode doc comment situations
89466         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
89467         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
89468         "/**" (etc.) being itself inside a literal, rather than just depending on the
89469         face of the previous character.
89471 2017-12-21  Daiki Ueno  <ueno@gnu.org>
89473         Remove pinentry.el
89475         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
89476         * lisp/net/pinentry.el: Remove (bug#27445).
89478 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
89480         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
89482         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
89483         (Fgnutls_available_p): Use it.
89485 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
89487         Work around GnuTLS version issues with %DUMBFW (tiny change)
89489         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
89490         (init_gnutls_functions): Use it.
89491         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
89493 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
89495         Merge branch 'widen-less' into emacs-26
89497 2017-12-20  Glenn Morris  <rgm@gnu.org>
89499         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
89501 2017-12-20  Glenn Morris  <rgm@gnu.org>
89503         Fix some more aliases to user options
89505         * lisp/cus-edit.el (custom-mode-hook):
89506         * lisp/erc/erc.el (erc-default-coding-system):
89507         * lisp/progmodes/python.el (python-indent, python-guess-indent)
89508         (python-shell-virtualenv-path)
89509         (python-shell-completion-module-string-code)
89510         (python-shell-completion-pdb-string-code, python-use-skeletons):
89511         Define aliases to user options before the options are defined.
89513 2017-12-20  Glenn Morris  <rgm@gnu.org>
89515         Fix some flymake aliases
89517         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
89518         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
89519         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
89520         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
89521         Define aliases to user options before the options are defined.
89523 2017-12-20  Glenn Morris  <rgm@gnu.org>
89525         Unbreak a fileio test on non-Mac OS X systems
89527         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
89528         Don't use an undefined coding system.
89530 2017-12-20  Robert Pluim  <rpluim@gmail.com>
89532         Fix updating scrollbar sizes when scaling is in effect
89534         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
89535         scrollbar when scaling is in effect.
89536         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
89537         when scaling is in effect.
89539 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
89541         Widen in indent-for-tab-command in the normal case, too
89543         Fixing this obvious omission.
89544         * lisp/indent.el (indent--funcall-widened): New function.
89545         (indent-for-tab-command): Use it.
89547 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
89549         Collect GnuTLS extensions and use them to set %DUMBFW if supported
89551         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
89552         only when it's supported as "ClientHello Padding" (Bug#25061).
89554         * src/gnutls.c (Fgnutls_available_p): Get extension names and
89555         put them in the GnuTLS capabilities, using a hard-coded limit
89556         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
89558 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
89560         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
89562 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
89564         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
89566         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
89567         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
89568         rather than forms (bug#29679).
89570 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
89572         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
89573         not position (bug#29734).
89575 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
89577         Replace the mention of c-indent-defun with js-indent-line
89579         * doc/lispref/text.texi (Mode-Specific Indent):
89580         Avoid mentioning c-indent-defun in the context of multi-mode
89581         indentation.
89583 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
89585         python.el doc fixes
89587         * lisp/progmodes/python.el (python-shell-accept-process-output):
89588         (python-shell-comint-end-of-output-p):
89589         (python-shell-first-prompt-hook):
89590         (python-info-beginning-of-backslash): Doc fixes.
89592 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
89594         Make 'mouse-drag-and-drop-region' more robust and customizable
89596         * lisp/mouse.el
89597         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
89598         to permit 'mouse-drag-and-drop-region' to cut text also when source
89599         and destination buffers differ.
89600         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
89601         display of tooltip during mouse dragging on graphic displays.
89602         (mouse-drag-and-drop-region-show-cursor): New option to toggle
89603         moving point with mouse cursor during mouse dragging of region.
89604         (mouse-drag-and-drop-region): New face to highlight original
89605         text while dragging.
89606         (mouse-drag-and-drop-region): Make use of new options and face.
89607         Ignore errors during tracking.
89609 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
89611         Backport: Don't compare arguments that can be nil (Bug#28039)
89613         copy-region-as-kill can be called passing nil as `beg' and
89614         `end'. Magit does that, which caused an error when this advice was in
89615         effect.
89617         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
89618           unless `beg' and `end' are non-nil.
89620 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
89622         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
89624         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
89625         similar may update the syntax-ppss cache if
89626         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
89627         any of these functions with a different than normal syntax-table, the
89628         cache must be cleaned afterwards.
89629         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
89630         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
89632 2017-12-17  Glenn Morris  <rgm@gnu.org>
89634         * etc/emacs.appdata.xml: Update file format.
89636 2017-12-16  Alan Third  <alan@idiocy.org>
89638         Use utf-8-hfs-unix on macOS (Bug#29712)
89640         This is a quick fix for the Emacs 26 release. Do not merge to master.
89642         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
89643         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
89645 2017-12-16  Alan Mackenzie  <acm@muc.de>
89647         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
89649 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
89651         Improve fix for Bug#29712
89653         * test/lisp/net/tramp-tests.el
89654         (tramp-test32-environment-variables-and-port-numbers):
89655         Adapt check for systems which do not support "echo -n".  (Bug#29712)
89657 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
89659         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
89661 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
89663         Avoid reordering of output in 'shr-insert-document'
89665         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
89666         shr-pixel-column invocations.  (Bug#29734)
89668 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
89670         Improve documentation of 'invisible-p'
89672         * doc/lispref/display.texi (Invisible Text): Document the return
89673         value of 'invisible-p'.
89675         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
89676         (Bug#29721)
89678 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
89680         Remove one more check that Vframe_list is non-nil
89682         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
89683         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
89684         assumes that.
89686 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
89688         Fix off-by-one error in 'css--hex-color'
89690         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
89692         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
89693         for 'css--hex-color'.
89695 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
89697         Save and restore text-pixel height and width of frames (Bug#28442)
89699         * lisp/frameset.el (frameset--record-relationships): Record
89700         text-pixel-height and text-pixel-width of frame.
89701         (frameset--restore-frame): Restore text-pixel-height and
89702         text-pixel-width of frame if available.  (Bug#28442)
89704 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
89706         Partially revert "Mention new strictness for &optional, &rest..."
89708         The changes to cl argument parsing are not backwards compatible, and
89709         cause inconvenience when writing macros (e.g., instead of doing '&aux
89710         ,@auxargs', some more complicated conditionals would be required).
89711         The `cl-defstruct' macro makes use of this convenience when defining
89712         empty structs (Bug#29728).
89713         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
89714         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
89715         and &aux.
89716         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
89717         test.
89719 2017-12-15  Glenn Morris  <rgm@gnu.org>
89721         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
89723         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
89725 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
89727         FOR_EACH_FRAME no longer assumes frame-list
89729         This cleans up a recent fix related to Bug#29661.
89730         Suggested by Stefan Monnier in:
89731         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
89732         * src/frame.c (next_frame, prev_frame, delete_frame):
89733         Restore debugging checks that Vframe_list is non-nil,
89734         as FOR_EACH_FRAME no longer has these checks.
89735         (delete_frame): Remove no-longer-needed checks that Vframe_list is
89736         non-nil, as FOR_EACH_FRAME no longer assumes that.
89737         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
89739 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
89741         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
89743 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
89745         Modernise message.el face spec syntax
89747         * lisp/gnus/message.el (message-header-to, message-header-cc)
89748         (message-header-subject, message-header-newsgroups)
89749         (message-header-other, message-header-name, message-header-xheader)
89750         (message-separator, message-cited-text, message-mml):
89751         Use (DISPLAY . PLIST) face spec syntax as recommended in
89752         `(elisp) Defining Faces'.  (Bug#29405)
89754 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
89756         Update message.el obsolete face aliases
89758         * lisp/gnus/message.el: (message-header-to, message-header-cc)
89759         (message-header-subject, message-header-newsgroups)
89760         (message-header-other, message-header-name, message-header-xheader)
89761         (message-separator, message-cited-text, message-mml):
89762         Use define-obsolete-face-alias.  (Bug#29405)
89764 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
89766         Improve documentation of TERM environment variable
89768         * doc/emacs/trouble.texi (Checklist):
89769         * doc/emacs/building.texi (Compilation Shell):
89770         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
89771         * doc/emacs/building.texi (Compilation Shell): Mention
89772         'comint-terminfo-terminal' in conjunction with the TERM value.
89774 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
89776         Add option to configure comint TERM
89778         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
89779         (comint-term-environment): New function for setting terminal options
89780         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
89781         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
89783         * etc/NEWS:
89784         * doc/emacs/misc.texi (Shell Options): Document the new option.
89786 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
89788         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
89790         * lisp/international/mule.el (sgml-xml-auto-coding-function):
89791         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
89792         obey the buffer's encoding if it is one of these variants, instead
89793         of re-encoding in UTF-8 proper.  (Bug#20623)
89795 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
89797         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
89799 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
89801         Fix Bug#29712 in tramp-tests.el
89803         * test/lisp/net/tramp-tests.el
89804         (tramp-test32-environment-variables-and-port-numbers):
89805         Skip for macOS.  (Bug#29712)
89807 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
89809         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
89811         This does not fix Bug#29961 but avoids that Emacs segfaults when
89812         trying to shut down because it lost connection to the X server.
89814         * src/dispnew.c (check_glyph_memory):
89815         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
89816         there's no frame left (Bug#29961).
89818 2017-12-15  Glenn Morris  <rgm@gnu.org>
89820         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
89822 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
89824         Remember password change for IMAP in Gnus (Bug#29692)
89826         Reported by Trey Jackson <trey_jackson@mentor.com>.
89828         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
89829         `mail-source-password-cache' for password.
89831 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
89833         Add %DUMBFW to the default GnuTLS priority strings
89835         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
89836         the default priority strings (Bug#25061).
89838         * etc/NEWS: Mention it.
89840         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
89841         GnuTLS priority string documentation URL.
89843 2017-12-15  Glenn Morris  <rgm@gnu.org>
89845         Small fixes prompted by make check-declare
89847         * lisp/frame.el (x-focus-frame): Update declaration.
89848         (ns-mouse-absolute-pixel-position): Fix declaration.
89849         * lisp/vc/diff-mode.el (diff-refine-hunk):
89850         Use smerge-refine-regions rather than obsolete alias.
89851         (smerge-refine-subst): Remove declaration, no longer relevant.
89853 2017-12-15  Glenn Morris  <rgm@gnu.org>
89855         Fix some custom groups
89857         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
89858         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
89860 2017-12-14  Alan Mackenzie  <acm@muc.de>
89862         Fix fontification of first declaration within a C++ lambda form.
89864         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
89865         spuriously recognizing the braces of a lambda form as a brace list when there
89866         is an "=" preceding the introductory brackets.
89868 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
89870         * src/data.c (Fadd_variable_watcher): Doc fix.
89872 2017-12-14  Alan Mackenzie  <acm@muc.de>
89874         Fix misfontification of C++ member initialization list after "throw"
89876         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
89877         starting with "throw", by using c-opt-type-modifier-prefix-key.
89879         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
89880         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
89881         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
89882         any keyword in the previous lang const.
89884 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
89886         Consolidate 'widen' calls
89888         * lisp/progmodes/prog-mode.el (prog-indentation-context):
89889         Un-document all elements but the first.
89890         (prog-widen): Remove.
89891         (https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
89893         * doc/lispref/text.texi (Mode-Specific Indent): Update.
89895         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
89896         Don't call widen.
89898         * lisp/progmodes/python.el
89899         (python-indent-guess-indent-offset)
89900         (python-info-current-defun): Replace prog-widen with widen;
89901         these functions are not called during indentation.
89902         (python-indent-context)
89903         (python-indent--calculate-indentation)
89904         (python-info-dedenter-opening-block-message)
89905         (python-info-line-ends-backslash-p)
89906         (python-info-beginning-of-backslash)
89907         (python-info-continuation-line-p)
89908         (python-info-current-defun): Remove 'widen' calls.
89910         * lisp/indent.el (indent-according-to-mode)
89911         (indent-for-tab-command, indent-region): Move them here.
89913         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
89914         Bind prog-indentation-context to one-element list.
89916 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
89918         Fix doc-string of Fbuffer_list
89920         * src/buffer.c (Fbuffer_list): Fix doc-string.
89922 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
89924         Don't raise an extraneous frame (bug#29696)
89926         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
89927         summary buffer keys from article buffer without affecting window
89928         configuration (bug#29696).
89930 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
89932         Mention new strictness for &optional, &rest in arglists (Bug#29165)
89934         * etc/NEWS: Explain that '&optional' not followed by a variable is now
89935         an error.
89936         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
89937         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
89938         followed by a variable for consistency.
89939         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
89940         test.
89942 2017-12-13  Alan Mackenzie  <acm@muc.de>
89944         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
89946         Also recognize and handle function names introduced by "extern" inside a
89947         function.
89949         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
89950         the result list which is t when our declaration is, or is to be treated as,
89951         being at top level.
89953         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
89954         inside a C++ uniform initialization and return (not-decl nil) for this case.
89955         (c-font-lock-declarations): Use the new element 4 of the result of
89956         c-forward-decl-or-cast-1.
89958         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
89959         New lang consts/vars.
89961 2017-12-13  Glenn Morris  <rgm@gnu.org>
89963         Fixes for defcustoms, prompted by cus-test-opts
89965         * lisp/files.el (save-some-buffers-default-predicate):
89966         * lisp/time.el (display-time-world-list):
89967         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
89968         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
89969         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
89970         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
89971         (less-css-output-file-name, less-css-input-file-name):
89972         * lisp/vc/emerge.el (emerge-metachars):
89973         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
89974         Fix :types.
89975         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
89977 2017-12-13  Glenn Morris  <rgm@gnu.org>
89979         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
89980         Update.
89982         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
89984 2017-12-13  Glenn Morris  <rgm@gnu.org>
89986         Add missing :version tags revealed by cusver-check
89988         * lisp/comint.el (comint-move-point-for-matching-input):
89989         * lisp/epa.el (epa-replace-original-text):
89990         * lisp/image-dired.el (image-dired-cmd-optipng-program)
89991         (image-dired-cmd-optipng-options):
89992         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
89993         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
89994         (gnus-cloud-interactive):
89995         * lisp/net/mailcap.el (mailcap-user-mime-data):
89996         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
89997         (c-noise-macro-names, c-noise-macro-with-parens-names):
89998         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
89999         (flymake-wrap-around):
90000         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
90001         * lisp/progmodes/js.el (js-indent-align-list-continuation):
90002         * lisp/progmodes/perl-mode.el (perl-flymake-command):
90003         * lisp/progmodes/python.el (python-flymake-command)
90004         (python-flymake-command-output-pattern, python-flymake-msg-alist):
90005         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
90006         (ruby-rubocop-config):
90007         * lisp/textmodes/less-css-mode.el (less-css):
90008         * lisp/textmodes/tex-mode.el (tex-chktex-program)
90009         (tex-chktex-extra-flags): Add missing :version tags.
90011 2017-12-13  Glenn Morris  <rgm@gnu.org>
90013         Escape column-zero doc parens
90015         * lisp/htmlfontify.el (hfy-display-class):
90016         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
90017         * lisp/net/shr.el (shr-external-rendering-functions):
90018         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
90019         * lisp/textmodes/tildify.el (tildify-tildify):
90020         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
90022 2017-12-12  Alan Third  <alan@idiocy.org>
90024         Remove ObjC blocks (Bug#23753)
90026         * src/macfont.m (macfont_get_glyph_for_character):
90027         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
90029         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
90031 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
90033         Import the latest IVD_Sequences.txt
90035         * admin/unidata/IVD_Sequences.txt: New version from
90036         https://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
90037         Ideographic Variation Database.
90039         * src/macuvs.h: Regenerated.
90041 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
90043         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
90045         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
90046         to write to stdout rather than relying on the default (the choice of
90047         default is decided when compiling tar, BSD systems usually set it to a
90048         tape drive).  Drop '-v', since the output is not used anywhere.
90050 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
90052         Suppress warnings during elisp completion macroexpansion
90054         Errors are already suppressed, therefore it is logical to suppress
90055         warnings as well.  Some macros (e.g., use-package) may produce
90056         warnings when given the `elisp--witness--lisp' symbol.
90057         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
90058         warning-minimum-log-level to :emergency.
90060 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
90062         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
90064 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
90066         Make tramp-interrupt-process more robust
90068         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
90069         the default implementation if there's no success.
90071 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
90073         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
90075         * lisp/international/quail.el (quail-input-method): Work not only
90076         when buffer-read-only is nil but also when inhibit-read-only is non-nil
90077         (bug#29504).
90079 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
90081         Fix 'fontset-name-p'
90083         * lisp/international/fontset.el (fontset-name-p): Make the
90084         function work with full fontset names and fontset alias names.
90086 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
90088         Fix fontset documentation inconsistencies for bug#29630
90090         * doc/lispref/display.texi (Face Attributes): Don't document
90091         :family as accepting a fontset.  Document that :font accepts a
90092         fontset.
90094         * lisp/faces.el (set-face-attribute): Doc fix.
90096 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
90098         Remove sentence from child frames section in Elisp manual
90100         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
90101         Suggested by Bob Weiner <rsw@gnu.org>.
90103 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
90105         Avoid crashes in 'font-at' after 'set-fontset-font'
90107         * src/fontset.c (free_realized_fontsets): Call
90108         recompute_basic_faces, so that the basic faces are available to
90109         any Lisp that calls this function, e.g. via set-fontset-font.
90110         (Bug#29632)
90112 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
90114         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
90116 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
90118         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
90120         Problem reported by Mark Ferlatte (Bug#28603).
90121         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
90123 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
90125         Fix tool-tip display when display margins are non-zero by default
90127         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
90128         New inline functions.
90129         * src/xfns.c (Fx_show_tip):
90130         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
90131         buffer to zero, as it will be displayed in a pseudo-window, which
90132         doesn't support display margins.  (Bug#29627)
90134 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
90136         Handle hash tables and vectors when reading/writing EIEIO objects
90138         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
90139           printed with `prin1' can no longer be read with `read'. Make sure
90140           they are printed with object-write instead, even when they're inside
90141           hash tables and vectors.
90142         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
90143           Check for written representations of objects inside hash tables and
90144           vectors, and reconstruct them.
90146 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
90148         Improve interactive debugging commands in xdisp.c
90150         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
90151         specify ROW via prefix argument.  Fix the doc strings.
90153 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
90155         Fix calculation of continuation_pixel_width in display engine
90157         * src/xdisp.c (display_line): Remove incorrect increment of
90158         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
90160 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
90162         Improve documentation of 'save-abbrevs'.
90164         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
90165         value of 'save-abbrevs'.  Suggested by Alex Branham
90166         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
90168 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
90170         Improve documentation of Dired
90172         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
90173         be made modifiable in Wdired.  Suggested by Alex Branham
90174         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
90176 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
90178         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
90180 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
90182         Minor Tramp fixes
90184         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
90185         Fix a bug when renaming.
90187         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
90188         (tramp-test42-delay-load, tramp-test42-remote-load-path):
90189         Skip unless Emacs >= 26.
90191 2017-12-08  Glenn Morris  <rgm@gnu.org>
90193         * lisp/help-mode.el (help-function-def):
90194         Allow help-make-xrefs to call with one argument.  (Bug#29611)
90196 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
90198         Fix doc-string of 'display-buffer-in-side-window'
90200         * lisp/window.el (display-buffer-in-side-window): In doc-string
90201         clarify why the window returned gets dedicated to its buffer.
90203 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
90205         Fix Bug#29579
90207         * lisp/files.el (file-name-non-special):
90208         Inhibit `file-name-handler-alist' only for some operations.
90209         Add missing operations.  (Bug#29579)
90211         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
90212         Do not quote if it is quoted already.
90214         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
90215         Use `copy-tree' but `copy-sequence'.
90217         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
90218         trailing slashes correctly.
90220         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
90221         (tramp-test12-rename-file, tramp-test24-file-acl)
90222         (tramp-test25-file-selinux, tramp--test-check-files):
90223         Handle also quoted file names.
90224         (tramp-test21-file-links): Fix file name quoting test.
90225         (tramp-test24-file-acl): Be more robust for "smb" method.
90226         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
90228 2017-12-06  Rasmus  <rasmus@gmx.us>
90230         Backport: Update Org to v9.1.4
90232         Please note this is a bugfix release. See etc/ORG-NEWS for details.
90234         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
90236 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
90238         In windows.texi mention special splitting behavior of side and atomic windows
90240         * doc/lispref/windows.texi (Splitting Windows): Add note about
90241         and links to side and atomic windows.
90243 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
90245         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
90246         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
90248 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
90250         Avoid compilation warning in xterm.c
90252         * src/xterm.c (x_draw_underwave): Move the declaration of
90253         'thickness' to the non-USE_CAIRO branch, to avoid compiler
90254         warning.  (Bug#29567)
90256 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
90258         * README: Document all the top-level directories.  (Bug#29558)
90260 2017-12-04  Glenn Morris  <rgm@gnu.org>
90262         Don't enable erc modules on simply loading erc.el
90264         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
90266 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
90268         Allow shr to use data: URLs without encoding
90270         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
90271         image data: URLs that have no base64 encoding like
90272         (shr-image-from-data
90273         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
90275 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
90277         Don't add newlines in minibuffer history
90279         * lisp/simple.el (next-line-or-history-element): Bind
90280         next-line-add-newlines to nil.  (Bug#29529)
90282 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
90284         modhelp.py: Support Python 3 (Bug#24954)
90286         * modules/modhelp.py: 'print' statement was removed in Python
90287         3.  'print' function should be used instead of 'print' statement.
90289 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
90291         Use forward slashes for python w32 config example (Bug#21656)
90293         * lisp/progmodes/python.el: Use forward slashes for Windows path
90294         example, it doesn't require doubling of slashes which reduces chances
90295         of confusion.
90297 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
90299         Fix bug in i18n/l10n optimization
90301         This fixes a off-by-one buffer overrun bug introduced in
90302         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
90303         experimental version of Emacs built with -fcheck-pointer-bounds
90304         and running on Intel MPX hardware.
90305         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
90307 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
90309         Let autoload-compute-prefix be set file-locally (Bug#29471)
90311         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
90312         boolean values as safe.
90314 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
90316         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
90318         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
90319         present the current bindings in the prompt.  Check the
90320         non-remapped binding of the entered key sequence as well.
90322 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
90324         Add tests on electric-indentation and Python multiline strings (Bug#29305)
90326         * test/lisp/progmodes/python-tests.el
90327         (python-indent-electric-comma-inside-multiline-string,
90328         python-indent-electric-comma-after-multiline-string): New tests.
90330 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
90332         Disable electric indent for python strings (Bug#29305)
90334         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
90335         Do nothing when point or beginning of line is in string.
90337 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
90339         Fix buffer overflow in fontname conversion (Bug#29523)
90341         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
90343 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
90345         Fix byte compilation of files with leading directories
90347         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
90348         of target-file to make-temp-file, in case target-file includes a
90349         leading directory that might not exist under TMPDIR.  See
90350         https://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
90351         for the details.
90353 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
90355         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
90357 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
90359         Revert Tramp commit from 2017-11-20
90361         * lisp/net/tramp.el (tramp-drop-volume-letter)
90362         (tramp-handle-find-backup-file-name): Revert change from
90363         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
90364         case now.
90366 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
90368         Improve documentation of buffer-list commands and features
90370         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
90371         "Several Buffers", to establish a relation between the two
90372         sections.
90373         (Buffer Menus): Expand on customizability of alternative buffer
90374         menu offered by bs.el.  Mention IBuffer.
90375         Suggested by Alex Branham <alex.branham@gmail.com> in
90376         emacs-manual-bugs@gnu.org.
90378 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
90380         Fix backing up remote files in local directories on MS-Windows
90382         * lisp/files.el (make-backup-file-name-1): Support remote file
90383         names correctly when they are backed up into a local directory on
90384         MS-Windows and MS-DOS.  (Bug#29440)
90386 2017-12-02  Glenn Morris  <rgm@gnu.org>
90388         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
90390 2017-12-01  John Wiegley  <johnw@newartisans.com>
90392         Revert "Fix backing up remote files in local directories on MS-Windows"
90394         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
90396 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
90398         Fix a typo in ELisp manual
90400         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
90401         of using 'seq-uniq'.  (Bug#29524)
90403 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
90405         * lisp/composite.el (find-composition): Fix a typo in the doc string.
90407 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
90409         Fix backing up remote files in local directories on MS-Windows
90411         * lisp/files.el (make-backup-file-name-1): Support remote file
90412         names correctly when they are backed up into a local directory on
90413         MS-Windows and MS-DOS.  (Bug#29440)
90415 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
90417         Fix vertical cursor motion in pixel-scroll.el
90419         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
90420         regardless of whether EOB is shown at the top.
90421         (pixel-scroll-down) Move cursor up regardless of whether BOB
90422         is shown at the top.  (Bug#29374)
90424 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
90426         Fix typos in doc strings of message.el
90428         * lisp/gnus/message.el (message-header-to)
90429         (message-header-subject, message-header-newsgroups)
90430         (message-header-other): Fix typos in doc strings.  (Bug#29405)
90432 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
90434         Fix a typo in the Emacs manual
90436         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
90437         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
90439 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
90441         Improve the documentation of 'table-insert-sequence'
90443         * doc/emacs/text.texi (Table Misc): Fix the description of
90444         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
90445         emacs-manual-bugs@gnu.org.
90447 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
90449         Port better to QNX
90451         Problem reported by Elad Lahav on emacs-devel.
90452         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
90453         and default LDFLAGS to -N2MB so that the initial stack size
90454         is not too small.  Also, fix misspelling of ‘qnxnto’.
90456 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
90458         Make tramp-test42-auto-load more robust
90460         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
90461         Make it more robust.  Don't skip.
90463 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
90465         Avoid assertions in find-composition
90467         * src/font.c (font_range): If called with STRING non-nil and FACE
90468         a NULL pointer, compute face by calling face_at_string_position.
90469         (Bug#29506)
90471         * lisp/composite.el (find-composition): Doc fix.
90473 2017-11-29  Glenn Morris  <rgm@gnu.org>
90475         Restore obsolete method of changing byte-compile-dest-file
90477         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
90478         Restore seven-year obsolete feature that was removed for six months,
90479         since automake uses it.
90481 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
90483         Some minor Tramp corrections
90485         * lisp/net/tramp.el (tramp-handle-directory-file-name):
90486         Handle several trailing slashes correctly.
90487         (tramp-handle-file-selinux-context): New defun.
90489         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
90490         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
90491         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
90492         Use `tramp-handle-file-selinux-context'.
90494         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
90495         Extend test.
90496         (tramp-test17-insert-directory): Make check more robust.
90497         (tramp-test42-auto-load): Combine several let forms.
90498         (tramp-test42-delay-load, tramp-test42-recursive-load)
90499         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
90501 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
90503         * doc/misc/url.texi (http/https): Fix typo
90505 2017-11-29  Glenn Morris  <rgm@gnu.org>
90507         Remove some bogus definition-prefixes from loaddefs
90509         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
90510         Don't register a definition prefix from define-erc-module,
90511         which adds an erc- prefix to its argument.
90513 2017-11-28  Robert Pluim  <rpluim@gmail.com>
90515         Shell-quote wildcards when invoking 'vc-git-grep'
90517         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
90518         filename wildcards to ensure globbing is done by git rather
90519         than the shell.  (Bug#29303)
90521 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
90523         Update documentation of '.dir-locals-2.el'
90525         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
90526         for more details.
90527         * lisp/files.el (dir-locals-file-2): Remove unused constant.
90528         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
90529         the doc string.
90530         * doc/lispref/variables.texi (Directory Local Variables): Mention
90531         ".dir-locals-2.el".
90532         * etc/NEWS: Replace `dir-locals-file-2' mention with
90533         `dir-locals-file'.
90535 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
90537         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
90539 2017-11-27  Glenn Morris  <rgm@gnu.org>
90541         A few small doc fixes for bytecomp.el
90543         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
90544         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
90546 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
90548         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
90550 2017-11-27  Glenn Morris  <rgm@gnu.org>
90552         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
90554 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
90556         Fix ELisp "Warning Tips"
90558         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
90559         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
90561 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
90563         Fix Bug#29163
90565         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
90566         Do not use "\\'" in regexp.  (Bug#29163)
90567         (top) Do not run (tramp-register-autoload-file-name-handlers)
90568         when loading tramp.el.
90570         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
90571         (tramp-test32-environment-variables-and-port-numbers)
90572         (tramp-test41-asynchronous-requests): Use it.
90573         (tramp-test42-auto-load): New test.
90574         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
90575         (tramp-test45-delay-load, tramp-test46-unload): Rename.
90577 2017-11-27  Paul Eggert  <eggert@union>
90579         Harden exec_byte_code against redefining 'error'
90581         Problem discovered by configuring with --enable-gcc-warnings on
90582         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
90583         * src/bytecode.c (exec_byte_code): Call the C error function
90584         instead of the Lisp one, so that the Emacs interpreter does not go
90585         haywire if the user redefines the Lisp error function.
90587 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
90589         Fix Edebug specs for if-let* and and-let* (Bug#29236)
90591         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
90592         Change Edebug spec to cause Edebug to instrument tests the
90593         results of which are not bound to symbols (the (VALUEFORM)
90594         case).
90595         (and-let*): Change Edebug spec to allow empty body.
90597         *test/lisp/emacs-lisp/subr-x-tests.el:
90598         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
90599         form so Edebug will work on this test.
90601 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
90603         Fix Edebug's handling of dotted specs (bug#6415)
90605         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
90606         cl-macro-list1 instead of cl-macro-list in Edebug spec.
90608         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
90609         unused variable.
90610         (edebug-dotted-spec): Add docstring.
90611         (edebug-match-specs): Allow &optional and &rest specs to
90612         match nothing at the tail of a dotted form. Handle matches of
90613         dotted form tails which return non-lists.
90615         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
90616         New test.
90618         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
90619         (edebug-test-code-use-destructuring-bind): New function.
90621 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
90623         Improve documentation of "constant" symbols
90625         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
90626         <font-width-table>:
90627         * src/data.c (syms_of_data) <most-positive-fixnum>
90628         <most-negative-fixnum>:
90629         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
90630         Mention in the doc strings that these variables are read-only.
90632         * doc/lispref/variables.texi (Creating Buffer-Local): Document
90633         that making a constant variable buffer-local signals an error.
90634         * doc/lispref/variables.texi (Constant Variables):
90635         * doc/lispref/errors.texi (Standard Errors): More accurate and
90636         up-to-date documentation of which symbols cannot be assigned
90637         values.
90639 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
90641         maint: shorten https://lists.gnu.org/r/... links
90643 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
90645         Merge from Gnulib
90647         This incorporates:
90648         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
90649         2017-11-12 maint: shorten https://lists.gnu.org/r/... links
90650         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
90651         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
90652         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
90653         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
90654         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
90655         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
90656         * m4/vararrays.m4:
90657         Copy from Gnulib.
90659 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
90661         Work around GCC bug 80776 on Fedora 27 x86
90663         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
90664         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
90665         using XINT rather than XFASTINT and by adding an eassume.  This
90666         works around GCC bug 80776.
90668 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
90670         Tweak copy-file, rename-file doc
90672         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
90673         slightly, as NEWNAME is treated as a directory name depending only
90674         on the contents of the NEWNAME string, and independently of
90675         whether NEWNAME names a directory (i.e., whether the directory
90676         exists) (Bug#29362).
90678 2017-11-25  Tom Tromey  <tom@tromey.com>
90680         Change font-lock-extend-region-multiline handling in mhtml-mode
90682         Bug#29159
90683         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
90684         font-lock-extend-region-multiline from
90685         font-lock-extend-region-functions.
90686         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
90688 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
90690         Minor cleanup in tramp-gvfs-handle-file-local-copy
90692         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
90693         Move error message up.
90695 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
90697         Add test for Bug#29423 in Tramp.
90699         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
90700         Add test for Bug#29423.
90702 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
90704         Avoid jumbled order in HTML rendered by shr.el
90706         * lisp/net/shr.el (shr-render-td): Preserve point, as
90707         shr-render-td-1 might move it as a side effect of
90708         save-window-excursion.  (Bug#29348)
90710 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
90712         Make sure 'dired-filename' property is always put by ls-lisp
90714         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
90715         'dired-filename' text property on the file name here...
90716         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
90718 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90720         A better solution for bug#29347
90722         * src/thread.c (really_call_select): Don't try to take the global
90723         lock if the same thread is already holding it.  (Bug#29347)
90725 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90727         Avoid a hang after C-g while sit-for on a Unix TTY
90729         * src/thread.c (acquire_global_lock): Don't try to take the global
90730         lock if the same thread is already holding it.  (Bug#29347)
90732 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90734         Improve the doc string of 'list-packages'
90736         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
90737         string the columns shown by the command.  (Bug#29420)
90739 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90741         Improve discoverability of 'defvar' for suppressing warnings
90743         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
90744         * doc/lispref/variables.texi (Defining Variables): Mention that
90745         defvar with no value is used for suppressing compiler warnings.
90746         (Bug#29400)
90748 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90750         Improve discoverability of 'read-buffer-completion-ignore-case'
90752         * lisp/window.el (switch-to-buffer)
90753         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
90754         Mention 'read-buffer' in the doc string.  (Bug#29389)
90756         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
90757         where 'read-buffer-completion-ignore-case' is documented.
90759 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90761         Improve documentation of self-insert-uses-region-functions
90763         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
90764         doc string.
90765         * lisp/delsel.el (delete-selection-uses-region-p): Mention
90766         'self-insert-command' in the doc string.  (Bug#29373)
90768         * doc/lispref/text.texi (Commands for Insertion): Mention
90769         'self-insert-uses-region-functions'.
90770         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
90771         cross-reference to "Commands for Insertion".
90773 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90775         Reflect changes in copy-file and rename-file in doc strings
90777         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
90778         strings that directory names must end in a slash.  (Bug#29362)
90780 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90782         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
90784 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
90786         Reorder type predicates in ELisp manual
90788         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
90789         order of listed predicates.  (Bug#29411)
90791 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
90793         Fix backward scrolling in buffers with header-line
90795         * src/window.c (window_scroll_pixel_based): Account for the
90796         header-line when comparing Y coordinate with the last_visible_y.
90797         (Bug#29325)
90799 2017-11-22  Glenn Morris  <rgm@gnu.org>
90801         * lisp/bindings.el (buffer-file-coding-system):
90802         Add explicit permanent-local mark.
90804         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
90806 2017-11-22  Alan Third  <alan@idiocy.org>
90808         Fix incorrect interaction of drag/drop and double click (bug#29121)
90810         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
90811         doesn't use ns-input-file.
90813 2017-11-22  Glenn Morris  <rgm@gnu.org>
90815         * lisp/menu-bar.el (menu-bar-options-save):
90816         Add display-line-numbers-type.
90818         * lisp/menu-bar.el (menu-bar-options-save):
90819         Add global-display-line-numbers-mode.  (Bug#28396)
90821         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
90823 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
90825         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
90827         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
90828         (ruby-flymake-rubocop):
90829         Extract the common part as ruby-flymake--helper.
90830         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
90831         variable instead.
90833 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
90835         Add Rubocop Flymake backend
90837         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
90838         Inline the value.  There are no known substitutes.
90839         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
90840         the docstring.
90841         (ruby-flymake-use-rubocop-if-available): New option.
90842         (ruby--rubocop-flymake-proc): New variable.
90843         (ruby-rubocop-config): New option.
90844         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
90845         (ruby-mode): Use `ruby-flymake-auto'.
90847 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
90849         Update nt/INSTALL.W64 (Bug#28601)
90851         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
90852         suggestion about modifying PATH to...
90853         (Test Emacs): ... here.
90854         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
90855         (Troubleshooting): New section, includes suggestion to check
90856         PKG_CONFIG_PATH.
90858 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
90860         Remove incorrect NEWS item about VC state indicator (Bug#28817)
90862         * etc/NEWS (VC and related modes): Remove news item about the VC
90863         state indicator.  This should have been done with commit 7882dc6
90864         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
90866 2017-11-21  Glenn Morris  <rgm@gnu.org>
90868         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
90870 2017-11-21  Alan Mackenzie  <acm@muc.de>
90872         Make c-defun-name analyze more thoroughly a function type which is a struct
90874         This fixes bug #29293.
90876         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
90877         encountered, check whether it is the return type of a function rather than a
90878         declaration of the struct itself.  Similarly adapt the cond arm which deals
90879         with functions properly to recognize struct return types.
90881 2017-11-21  Glenn Morris  <rgm@gnu.org>
90883         Avoid bogus abbreviated file names if HOME changes
90885         * lisp/files.el (abbreviate-file-name):
90886         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
90887         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
90889 2017-11-21  Glenn Morris  <rgm@gnu.org>
90891         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
90893 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
90895         Fix erc keep-place module with new defaults (Bug#29111)
90897         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
90898         keep-place to continue working with
90899         switch-to-buffer-preserve-window-point set to t, the new default.
90901 2017-11-20  Alan Third  <alan@idiocy.org>
90903         Add window divider faces to NS (bug#29353)
90905         * src/nsterm.m (ns_draw_window_divider): Use
90906         window-divider-first-pixel and window-divider-last-pixel faces.
90908 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
90910         * src/keyboard.c: Undo last change, meant for master only
90912 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
90914         Fix Bug#29149
90916         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
90917         backup file names.
90918         (tramp-handle-find-backup-file-name):
90919         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
90921 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
90923         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
90925         * src/xterm.c (x_draw_window_divider):
90926         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
90927         drawing three-pixel high horizontal dividers (Bug#29353).
90929         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
90930         Third.
90932 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
90934         MH-E: don't automatically download external-body parts
90936         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
90937         mm-automatic-display-p to verify that a part should be
90938         displayed before doing the inline checks (SF#475).
90940 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
90942         Further fix for Bug#29291
90944         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
90945         Check for local ACL support.  (Bug#29291)
90947 2017-11-19  Alan Third  <alan@idiocy.org>
90949         Fix divider frame params on NS (bug#29352)
90951         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
90952         bottom-divider-width parameters.
90954 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
90956         Spelling fixes
90958         * lisp/help-fns.el (help-fns--analyze-function):
90959         Rename from help-fns--analyse-function.
90960         All uses changed.
90962 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
90964         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
90966         (read_key_sequence): Recompute first_event
90967         after replay_sequence, since it might have changed (bug#29104).
90969 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
90971         Don't let delete_frame select a tooltip frame (Bug#27647)
90973         * src/frame.c (delete_frame): Don't select a tooltip
90974         frame. (Bug#27647)
90976 2017-11-18  Alan Mackenzie  <acm@muc.de>
90978         Filter obtrusive events in help-read-key-sequence.
90980         This fixes most of bug #29272.
90982         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
90983         discarding any events (such as <help-echo>) received in this time, before
90984         polling for the double-click (etc.) events which may follow.  This fixes the
90985         infinite loop which occurred whwn <help-echo> events triggered a sit-for
90986         whilst handling menu events.
90988 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
90990         Fix symlink flag in tramp-gvfs-handle-file-attributes
90992         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
90993         Set proper symlink file mode flag.
90995 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
90997         Fix bug in tramp-handle-file-truename
90999         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
91001         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
91002         relative symbolic links.
91004 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
91006         Fix a typo in doc string of electric-indent-functions-without-reindent
91008         * lisp/electric.el (electric-indent-functions-without-reindent):
91009         Doc fix.  (Bug#29304)
91011 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
91013         Avoid assertion violations in echo_area_display
91015         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
91016         area if the selected-frame's mini-window is nil.  (Bug#27647)
91018 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
91020         Fix case-folding in Occur
91022         * lisp/replace.el (occur-engine): Bind case-fold-search in each
91023         buffer we search.  (Bug#29254)
91025 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
91027         Fix quick-calc in C mode with hex values
91029         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
91030         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
91031         https://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
91032         for the details.
91034 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
91036         Improve documentation of dired-next/prev-marked-file
91038         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
91039         Doc fixes.  (Bug#29340)
91041 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
91043         Prevent aborts in line-move-visual
91045         * src/indent.c (line_number_display_width): Avoid assertion
91046         violations in init_iterator when the window's buffer was
91047         temporarily switched without updating window-start.  (Bug#29326)
91049 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
91051         More fixes in src/.gdbinit
91053         * src/.gdbinit (pwinx): Update to match 'struct window'.
91054         (pcursorx): Use "." instead of "->" because the argument is a
91055         struct, not a pointer.
91057 2017-11-17  Robert Pluim  <rpluim@gmail.com>
91059         Document how to enter whitespace when using grep-read-files
91061         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
91062         how to enter whitespace when using grep-read-files.  (Bug#29303)
91063         * lisp/progmodes/project.el (project-find-regexp): Likewise.
91064         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
91066 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
91068         Fix .gdbinit following lisp.h changes
91070         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
91071         (xprintstr): Adapt to latest changes in Lisp object C structures.
91072         (Bug#29332)
91074 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
91076         * lisp/simple.el (shell-command): Doc fixes.
91078 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
91080         Fix marker adjustment for undo (Bug#29118)
91082         * lisp/simple.el (primitive-undo): Compare marker against absolute
91083         value of POS, because the sign of POS is irrelevant to markers.
91085 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
91087         Fix Bug#28139
91089         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
91090         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
91091         (tramp-remote-process-environment): Document their special handling.
91092         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
91093         initial remote shell, so that it is also aware of the environment
91094         in which it is operating.  (Bug#28139)
91096 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
91098         Fix Bug#29291
91100         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
91101         Preserve permissions when copying.  (Bug#29291)
91103 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
91105         Fix Bug#2928
91107         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
91108         Enhance test.  (Bug#29287)
91109         (tramp-test44-delay-load): Fix for older Emacsen.
91111 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
91113         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
91115         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
91116         'select-window' events to make it work with
91117         'mouse-autoselect-window'.
91119 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
91121         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
91123         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
91125 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
91127         Fix cookie handling (bug#29282)
91129         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
91130         Regard a Set-Cookie header as it contains a single cookie;
91131         prefer Max-Age to Expires and convert it to Expires;
91132         remove support for old time string styles (bug#29282).
91134 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
91136         Improve documentation of Edebug and macros
91138         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
91139         discussion of when it might be necessary to find and evaluate macro
91140         specifications before instrumenting.
91141         (Specification List): Clarify what "defining form" means to Edebug
91142         and when 'def-form' or 'def-body' should be used instead of 'form'
91143         or 'body'.
91145 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
91147         Port to IBM xlc 12.01
91149         Work around a compiler bug by using a separate enum for alignment.
91150         * src/alloc.c (roundup_size): Declare in a separate enum.
91152 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
91154         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
91156         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
91157         needed, since we no longer rely on __attribute__ ((aligned (8))).
91158         All uses removed.
91159         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
91160         (lisp_to_value): Simplify now that we no longer need to worry
91161         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
91163 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
91165         Use alignas to fix GCALIGN-related bugs
91167         Use alignas and unions to specify alignments of objects needing
91168         addresses that are at least a multiple of GCALIGNMENT.  Using
91169         these standard C facilities should be safer than relying on ad hoc
91170         and poorly-understood features like GCC’s __attribute__
91171         ((aligned (N))), the root cause for recent porting bugs like
91172         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
91173         supports alignas for pre-C11 platforms.  I have tested this on Sun
91174         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
91175         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
91176         x86-64 and x86).
91177         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
91178         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
91179         now properly aligned.  All uses changed.
91180         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
91181         member; this is simpler and safer than casting a pointer that
91182         might not be aligned properly.
91183         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
91184         Lisp_Symbol is aligned properly.  All uses replaced with struct
91185         Lisp_Symbol.
91186         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
91187         it can cause the natural alignment to be ignored.  All uses
91188         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
91189         described below.
91190         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
91191         Change definition from ‘struct TAG { MEMBERS };’ to
91192         ‘struct TAG { union { struct { MEMBERS } s; char alignas
91193         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
91194         to have an alignment that at least max (GCALIGNMENT, N) where N is
91195         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
91196         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
91197         anyway.  Verify that the resulting ‘struct TAG’ is properly
91198         aligned for Emacs.
91199         (union vectorlike_header): New member ‘gcaligned’ to guarantee
91200         that this type, and its containing types like ‘struct Lisp_Subr’,
91201         ‘struct buffer’ and ‘struct thread_state’, are all properly
91202         aligned for Emacs.
91203         (struct Lisp_String): New union member ‘next’, for the benefit
91204         of NEXT_FREE_LISP_STRING.
91205         (union Aligned_Cons, union Aligned_String): Remove.  All uses
91206         replaced by struct Lisp_Cons and struct Lisp_String, since they
91207         are now properly aligned.
91208         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
91209         assume struct Lisp_Cons and struct Lisp_String are properly
91210         aligned.
91212 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
91214         Change vectorlike from struct to union
91216         * src/lisp.h (vectorlike_headed): Change from struct to union.
91217         All uses changed.  Since it has only one member, this does not
91218         change semantics.  This is designed to simplify future changes
91219         needed to fix bugs like Bug#29040.  All uses changed.
91221 2017-11-12  Tom Tromey  <tom@tromey.com>
91223         Don't enable cursor-sensor-mode in mhtml-mode
91225         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
91226         string.
91227         (mhtml-mode): Don't call cursor-sensor-mode.
91229 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
91231         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
91233 2017-11-12  João Távora  <joaotavora@gmail.com>
91235         Unbreak interactive run of a flymake test (bug#29267)
91237         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
91238         technique used here.
91240         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
91241         Let-bind abbreviated-home-dir.
91243 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
91245         Fix Bug#29225
91247         * src/fileio.c (Fset_file_acl): Report error only when
91248         acl_errno_valid returns true.  (Bug#29225)
91250         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
91251         (tramp-test25-file-selinux): New tests.
91252         (tramp-test26-file-name-completion, tramp-test27-load)
91253         (tramp-test28-process-file, tramp-test29-start-file-process)
91254         (tramp-test30-interrupt-process, tramp-test31-shell-command)
91255         (tramp-test32-environment-variables)
91256         (tramp-test32-environment-variables-and-port-numbers)
91257         (tramp-test33-explicit-shell-file-name)
91258         (tramp-test34-vc-registered)
91259         (tramp-test35-make-auto-save-file-name)
91260         (tramp-test36-find-backup-file-name)
91261         (tramp-test37-make-nearby-temp-file)
91262         (tramp-test38-special-characters)
91263         (tramp-test38-special-characters-with-stat)
91264         (tramp-test38-special-characters-with-perl)
91265         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
91266         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
91267         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
91268         (tramp-test41-asynchronous-requests)
91269         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
91270         (tramp-test44-delay-load, tramp-test45-unload): Rename.
91272 2017-11-12  Alan Mackenzie  <acm@muc.de>
91274         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
91276         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
91277         for an open brace at EOB and nested braces inside an unclosed brace block.
91279 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
91281         Merge from Gnulib
91283         This incorporates:
91284         2017-11-11 faccessat: port to macOS (Bug#29231)
91285         2017-11-05 fstatat: pacify GCC on unusual platform
91286         * build-aux/config.guess, build-aux/config.sub:
91287         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
91288         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
91289         Copy from Gnulib.
91290         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
91292 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
91294         Pacify GCC when configured --with-x-toolkit=no
91296         Without these changes, Emacs does not build on Fedora 26 x86-64
91297         when configured --with-x-toolkit=no --enable-gcc-warnings.
91298         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
91299         * src/xterm.c (x_dispatch_event): Define only if
91300         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
91302 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
91304         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
91306 2017-11-12  João Távora  <joaotavora@gmail.com>
91308         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
91310         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
91311         more eob corner cases.
91313         * test/lisp/progmodes/flymake-tests.el
91314         (eob-region-and-trailing-newline): New test.
91316 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
91318         Keep Man sections in natural order (bug#28998)
91320         * lisp/man.el (Man-build-section-alist): Reverse sections.
91322 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
91324         * lisp/minibuffer.el: Install a workaround for bug#16274
91326         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
91327         error when `md` is applied to another table.
91329 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
91331         Fix comparisons with tip_frame in GTK builds
91333         * src/xterm.c (x_update_begin, x_new_font):
91334         * src/xfns.c (Fx_display_monitor_attributes_list):
91335         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
91336         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
91338 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
91340         Improve the documentation of M-n for entering file names
91342         * lisp/files.el (find-file, find-file-other-window)
91343         (find-file-other-frame): Mention file-name-at-point-functions in
91344         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
91345         https://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
91347         * doc/emacs/mini.texi (Minibuffer History): Document
91348         file-name-at-point-functions and its effect on M-n when typing
91349         file names in the minibuffer.
91350         * doc/emacs/files.texi (File Names):
91351         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
91352         "Minibuffer History", where special features of M-n regarding
91353         files are described.
91355 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
91357         Fix desktop auto-save timer when linum-mode is used
91359         * lisp/desktop.el (desktop-read): Use toplevel value of
91360         window-configuration-change-hook when deciding whether desktop
91361         auto-saving is enabled.  Suggested by Peter Neidhardt
91362         <pe.neidhardt@googlemail.com>.  (Bug#28945)
91364 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
91366         Fix "C-h k" in xterm-mouse-mode
91368         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
91369         xterm-mouse-mode by calling read-key-sequence-vector instead of
91370         read-event.  (Bug#29150)
91372 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
91374         Fix off-by-1 bug in --enable-checking=stringbytes
91376         Evidently nobody builds Emacs with --enable-checking=all,
91377         which is no surprise as it is so slow as to be unusable nowadays.
91378         Perhaps we should remove the slowest checks, or move them into
91379         another category, or speed them up, or something.
91380         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
91381         error in size calculation, which caused a failure when
91382         --enable-checking=stringbytes was used.  I introduced this bug in
91383         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
91384         members to GCC + valgrind".
91386 2017-11-10  Alan Mackenzie  <acm@muc.de>
91388         Correct the indentation of C99's compound literals.
91390         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
91391         if there is only syntactic whitespace in a brace block, it is regarded as a
91392         statement block.  Also, if there is no semicolon or comma delimiter, treat as
91393         a statement block when there is a keyword.
91394         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
91395         when its contents indicate a brace block.
91397 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
91399         Improve the doc string of 'dired-isearch-filter-filenames'
91401         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
91402         (Bug#29215)
91404 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
91406         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
91408 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
91410         Fix display of line numbers in GTK builds
91412         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
91413         tip_frame is indeed a tooltip frame, before disabling line numbers
91414         on it.  (Bug#27647)
91416         * src/dispextern.h (tip_frame): Add commentary describing the
91417         kludgey usage of this variable in GTK builds.
91419 2017-11-10  João Távora  <joaotavora@gmail.com>
91421         Fix previous change to flymake-diag-region (bug#29174)
91423         * lisp/progmodes/flymake.el (flymake-diag-region):
91424         Pass line and col to commit.
91426 2017-11-09  João Távora  <joaotavora@gmail.com>
91428         flymake-diag-region really returns nil if region is invalid (bug#29174)
91430         Reported by Lele Gaifax <lele@metapensiero.it>.
91432         * lisp/progmodes/flymake.el (flymake-diag-region): Really
91433         return nil if the region is invalid.
91435 2017-11-09  João Távora  <joaotavora@gmail.com>
91437         Flymake correctly highlights whole last line if eob (bug#29201)
91439         If a line/column pair indicates an end-of-buffer position, flymake
91440         should behave like the case where the last line of the buffer is
91441         referenced without a column indication.  This behavior is currently
91442         to highlight the whole last line.
91444         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
91445         conditions of fallback to the fallback-eol local function.
91447 2017-11-09  João Távora  <joaotavora@gmail.com>
91449         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
91451         The function checkdoc-current-buffer may error if there are unbalanced
91452         parens, for example, but this shouldn't disable the
91453         elisp-flymake-checkdoc backend.
91455         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
91456         ignore-errors.
91458 2017-11-09  João Távora  <joaotavora@gmail.com>
91460         Sort entries of the Flymake diagnostics buffer (bug#29175)
91462         Reported by Lele Gaifax <lele@metapensiero.it>.
91464         * lisp/progmodes/flymake.el
91465         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
91467 2017-11-09  Alan Mackenzie  <acm@muc.de>
91469         Correctly indent C++14 brace lists which are a second argument to a function.
91471         In particular, don't indent contained brace lists in "staircase" fashion.
91472         This fixes bug #28623.
91474         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
91475         testing for being enclosed in parens, recognize also a brace directly
91476         following a comma, as well as a brace being the first thing inside the paren.
91477         Enhance the return value, by indicating when we're directly inside an open
91478         paren.
91479         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
91480         whether we will accept a bracelist directly inside an open parenthesis.
91481         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
91482         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
91483         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
91484         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
91485         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
91486         At CASE 9, call that function with extra argument t.
91488 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
91490         Fix redisplay of overlay-arrows on GUI frames
91492         * src/xdisp.c (try_window_reusing_current_matrix)
91493         (try_cursor_movement): Disallow these optimizations if the buffer
91494         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
91496 2017-11-09  João Távora  <joaotavora@gmail.com>
91498         Protect Flymake tests against older Ruby and Perl (bug#29187)
91500         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
91501         for the error from the bottom.
91502         (ruby-backend): Protect against situation of bug#29187
91504 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
91506         Fix URL cookie expiration bug
91508         Problem reported by Damien Cassou (Bug#29223).
91509         * lisp/url/url-cookie.el (url-cookie-expired-p):
91510         Fix typo in previous change, which caused unexpired cookies
91511         to be treated as expired and vice versa.
91513 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
91515         Use GCALIGNED properly for GCC
91517         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
91518         immediately follow the ‘struct’ keyword when aligning a structure.
91519         The attribute silently does not work if it follows a tag after the
91520         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
91521         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
91522         * lib-src/make-docfile.c (close_emacs_globals):
91523         * src/buffer.c (buffer_defaults, buffer_local_symbols):
91524         * src/lisp.h (DEFUN):
91525         * src/thread.c (main_thread):
91526         Put 'GCALIGNED' immediately after 'struct'.
91528 2017-11-09  Glenn Morris  <rgm@gnu.org>
91530         In f90.el, set fill-paragraph-function to a useful value
91532         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
91533         (f90-mode): Set fill-paragraph-function.
91534         (f90-fill-paragraph): New command.
91536 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
91538         Fix to 2fddfb7ce7
91540         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
91541           Fix bogus paren wrapping.
91543 2017-11-08  Glenn Morris  <rgm@gnu.org>
91545         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
91547 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
91549         Further workaround for faulty localtime() under macOS 10.6
91551         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
91552         when compiling on macOS 10.6 with a western time zone (a
91553         continuation of Bug#27736).  In particular, see:
91555         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
91557         and the first commit that attempted to work around this problem,
91558         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
91559         2017-09-30.
91561 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
91563         Handle object string name in eieio-persistent-convert-list-object
91565         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
91566           Starting to phase out the printing of object names in
91567           `object-write', handle either case.
91569 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
91571         Fix handling of nil PRED2 arg for completion-table-with-predicate
91573         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
91574         if strict is non-nil when pred2 is nil (Bug#27841).
91575         * test/lisp/minibuffer-tests.el
91576         (completion-table-with-predicate-test): Add a test for Bug#27841.
91578 2017-11-07  K. Handa  <handa@gnu.org>
91580         Describe Lao rendering problem
91582         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
91583         by OpenTyype font.
91585 2017-11-07  K. Handa  <handa@gnu.org>
91587         Fix docstring of arabic-shaper-ZWNJ-handling
91589         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
91590         the doctstring for addition of :set (bug#28312).
91592 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
91594         Handle single-line comments correctly (Bug#26049)
91596         * lisp/newcomment.el (comment-region-internal): Previously, the
91597         comment text had to contain at least one line break character for the
91598         ending extra line to be added.  Make the behavior more consistent by
91599         looking for end of line instead.
91600         (comment-region-internal): Remove trailing white space from the
91601         comment's initial line.
91603 2017-11-07  Glenn Morris  <rgm@gnu.org>
91605         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
91606         Clean up properly.
91608 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
91610         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
91612 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
91614         Document new treatment of 'comment-auto-fill-only-comments'
91616         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
91617         manual.  Add description of 'comment-auto-fill-only-comments'.
91618         * etc/NEWS: Mention new treatment of
91619         'comment-auto-fill-only-comments'.
91621 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
91623         Do not load Tramp unless `tramp-mode' is non-nil
91625         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
91626         `tramp-mode' is non-nil.
91627         (tramp-unload-file-name-handlers): Unload also
91628         `tramp-autoload-file-name-handler'.
91630         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
91632 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
91634         Prefer `customize-set-variable' in tramp.texi
91636         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
91637         (Default Host, Remote shell setup, Auto-save and Backup)
91638         (Ad-hoc multi-hops, Frequently Asked Questions):
91639         Prefer `customize-set-variable' over `custom-set-variables'.
91641 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
91643         Fix last change in hscroll_window_tree
91645         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
91646         being disabled, set the frame's garbaged flag less eagerly.
91647         (Bug#29002)
91649 2017-11-05  Philipp Stephani  <phst@google.com>
91651         Ediff: add some missing documentation
91653         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
91654         (ediff-buffers3, ediff-merge-directories)
91655         (ediff-merge-directories-with-ancestor)
91656         (ediff-merge-directory-revisions)
91657         (ediff-merge-directory-revisions-with-ancestor)
91658         (ediff-windows-wordwise, ediff-windows-linewise)
91659         (ediff-regions-wordwise, ediff-regions-linewise)
91660         (ediff-merge-files, ediff-merge-files-with-ancestor)
91661         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
91662         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
91663         (ediff-patch-file, ediff-revision): Document missing arguments.
91664         (ediff-patch-buffer, ediff-revision): Add second space after
91665         period.
91666         (ediff-files-command, ediff3-files-command, ediff-merge-command)
91667         (ediff-merge-with-ancestor-command, ediff-directories-command)
91668         (ediff-directories3-command, ediff-merge-directories-command): Add
91669         documentation for the command line functions.
91671 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
91673         Support python virtualenv on w32 (Bug#24464)
91675         According to the virtualenv docs only POSIX systems follow the
91676         structure "/path/to/venv/bin/", while windows systems use
91677         "/path/to/venv/Scripts" for the location of the binary files, most
91678         importantly including the python interpreter (see:
91679         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
91680         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
91681         "/path/to/venv/Scripts" for `windows-nt' machines.
91683 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
91685         Improve dired deletion error handling (Bug#28797)
91687         * lisp/dired.el (dired-internal-do-deletions): Use
91688         `error-message-string' to produce a human readable error message.
91690 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
91692         Don't replace user input when completion prefix is empty (Bug#18951)
91694         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
91695         input if we produced a non-empty common completion stub.
91697 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
91699         Return non-nil from gnutls-available-p under GnuTLS 2.x
91701         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
91702         documentation of 'gnutls-available-p'.
91704         * etc/NEWS (GnuTLS): Mention the change in the value returned by
91705         'gnutls-available-p'.
91707         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
91708         2.x is available.  (Bug#29147)
91710 2017-11-05  João Távora  <joaotavora@gmail.com>
91712         Fix Flymake help-echo functions across windows (bug#29142)
91714         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
91715         with-selected-window.
91716         (flymake-goto-next-error): Call help-echo with a window and an
91717         overlay.
91719 2017-11-05  João Távora  <joaotavora@gmail.com>
91721         Add tests for Flymake backends for Ruby and Perl
91723         * test/lisp/progmodes/flymake-tests.el (perl-backend)
91724         (ruby-backend): New tests.
91725         (warning-predicate-rx-perl, warning-predicate-function-perl):
91726         Delete tests.
91728         * test/lisp/progmodes/flymake-resources/test.pl: Include an
91729         error the test file.
91731         * test/lisp/progmodes/flymake-resources/test.rb: file.
91733 2017-11-05  João Távora  <joaotavora@gmail.com>
91735         Add a Flymake backend for Perl
91737         Define a simple backend in perl-mode.el, which cperl-mode.el also
91738         uses.
91740         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
91741         flymake-diagnostic-functions.
91743         * lisp/progmodes/flymake-proc.el
91744         (flymake-proc-allowed-file-name-masks): Disable legacy backend
91745         for perl files.
91747         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
91748         defcustom.
91749         (perl--flymake-proc): New buffer-local variable.
91750         (perl-flymake): New function.
91751         (perl-mode): Add to flymake-diagnostic-functions.
91753 2017-11-05  João Távora  <joaotavora@gmail.com>
91755         Add a Flymake backend for Ruby
91757         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
91758         defcustom.
91759         (ruby--flymake-proc): New buffer-local variable.
91760         (ruby-flymake): New function.
91761         (ruby-mode): Add flymake-diagnostic-functions.
91763 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
91765         Add a Flymake backend for Python (bug#28808)
91767         Implement new Flymake backend with related customizable settings.
91769         * lisp/progmodes/python.el (python-flymake-command)
91770         (python-flymake-command-output-pattern)
91771         (python-flymake-msg-alist): New defcustom.
91772         (python--flymake-parse-output): New function, able to parse
91773         python-flymake-command output accordingly to
91774         python-flymake-command-output-pattern.
91775         (python-flymake): New function implementing the backend
91776         interface using python--flymake-parse-output for the real
91777         work.
91778         (python-mode): Add python-flymake to flymake-diagnostic-functions.
91780 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
91782         Allow "%" in Tramp host names
91784         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
91786         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
91788 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
91790         Use hybrid malloc for FreeBSD (Bug#28308)
91792         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
91793         using system malloc dumping does not work correctly (allocated data is
91794         invalid after dumping).
91795         * configure.ac: Set hybrid_malloc for freebsd.
91796         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
91798 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
91800         Add html-, mhtml- and python-mode support to semantic symref
91802         * lisp/cedet/semantic/symref/grep.el
91803         (semantic-symref-filepattern-alist): Fix the entry for
91804         'html-mode', which used a regexp-like syntax where only glob
91805         syntax is permitted.  As a result, 'xref-find-references' (M-?)
91806         can now find references in HTML files.  Also duplicate the same
91807         entry for the sake of 'mhtml-mode', and add a new one for
91808         'python-mode'.
91809         (semantic-symref-derive-find-filepatterns): In the documentation,
91810         clarify that returned patterns must follow the glob syntax.  Fix
91811         an 'if' test that always evaluates to nil.
91812         (semantic-symref-tool-grep):
91813         (semantic-symref-perform-search): Fix typos.
91815 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
91817         Improve documentation of 'window-scroll-functions'
91819         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
91820         arguments of 'window-scroll-functions' functions.
91822         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
91824 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
91826         Fix subtle problems in tabulated-list-mode with line numbers
91828         * lisp/emacs-lisp/tabulated-list.el
91829         (tabulated-list-watch-line-number-width): Call
91830         tabulated-list-init-header instead of tabulated-list-revert.
91831         (tabulated-list-window-scroll-function): New function.
91832         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
91833         on the buffer-local 'window-scroll-functions' list.
91835 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
91837         Make gdb-non-stop-setting default to nil on MS-Windows
91839         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
91840         MS-Windows.
91842 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
91844         Fix gdb-mi prompt after "attach PID" command
91846         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
91847         gdb-first-done-or-error non-nil.  (Bug#29020)
91849 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
91851         Fix doc string of 'window-configuration-change-hook'
91853         * src/window.c (syms_of_window) <window-configuration-change-hook>:
91854         Doc fix.  (Bug#29049)
91856 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
91858         Improve documentation of window hooks
91860         * doc/lispref/windows.texi (Window Hooks): Fix the description of
91861         window-configuration-change-hook.  (Bug#29049)
91862         <run-window-scroll-functions, run-window-configuration-change-hook>:
91863         Document these functions.
91865 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
91867         Fix hscroll suspension after cursor motion
91869         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
91870         of the window when temporary suspension of hscrolling is
91871         disabled.  (Bug#29002)
91873 2017-11-03  Alan Mackenzie  <acm@muc.de>
91875         Introduce a function to CC Mode which displays the current function name
91877         Remove an erroneous interactive specification from two functions.
91879         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
91880         (c-defun-name, c-cpp-define-name): Remove interactive specification.
91882         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
91883         command.
91885         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
91886         command.
91888 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
91890         Fix typos in ediff-wind.el
91892         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
91893         Fix typos in commentary.  (Bug#29138)
91895 2017-11-03  João Távora  <joaotavora@gmail.com>
91897         Examine tex-chktex--process in the correct buffer
91899         As in other Flymake backends, the process sentinel might run in
91900         arbitrary buffers where this variable's value doesn't make sense.
91902         For a way to trigger a problem due to this, see discussion starting in
91903         https://lists.gnu.org/r/emacs-devel/2017-10/msg00645.html
91905         * lisp/textmodes/tex-mode.el (tex-chktex): Use
91906         with-current-buffer.
91908 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
91910         * nt/INSTALL.W64: Update to current mingw64 install instructions
91912 2017-11-03  João Távora  <joaotavora@gmail.com>
91914         Don't resignal errors in flymake-diag-region
91916         * lisp/progmodes/flymake.el (flymake-diag-region): Use
91917         flymake-log instead of flymake-error.
91919 2017-11-03  João Távora  <joaotavora@gmail.com>
91921         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
91923         This is like xref-goto-xref, but quits the *xref* window just before
91924         the user jump to ref.
91926         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
91927         value for SELECT.
91928         (xref-goto-xref): Take optional QUIT arg.
91929         (xref-quit-and-goto-xref): New command.
91930         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
91931         xref-quit-and-goto-xref.
91933         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
91934         *xref*.
91936         * etc/NEWS (Xref): Describe new binding.
91938 2017-11-03  João Távora  <joaotavora@gmail.com>
91940         Allow split-window-sensibly to split threshold in further edge case
91942         As a fallback, and to avoid creating a frame, split-window-sensibly
91943         would previously disregard split-height-threshold if the window to be
91944         split is the frame's root window.
91946         This change generalizes that: it disregards the threshold if the
91947         window to be split is the frame's only _usable_ window (it is either
91948         the only one, as before, or all the other windows are dedicated to
91949         some buffer and thus cannot be touched).
91951         This is required for the fix to bug#28814.
91953         * lisp/window.el (split-height-threshold): Adjust doc to match
91954         split-window-sensibly.
91955         (split-window-sensibly): Also disregard threshold if all other
91956         windows are dedicated.
91958 2017-11-03  João Távora  <joaotavora@gmail.com>
91960         Honor window-switching intents in xref-find-definitions (bug#28814)
91962         When there is more than one xref to jump to, and an *xref* window
91963         appears to help the user choose, the original intent to open a
91964         definition in another window or frame is remembered when the choice to
91965         go to or show a reference is finally made.
91967         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
91968         (xref--original-window-intent): New variable.
91969         (xref--original-window): Rename from xref--window and move up
91970         here for clarity.
91971         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
91972         (xref--show-location): Handle window selection decision here.
91973         (xref--window): Rename to xref--original-window.
91974         (xref-show-location-at-point): Don't attempt window management here.
91975         (xref--show-xrefs): Ensure display-action intent is saved.
91977 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
91979         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
91981 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
91983         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
91985         Don't try to flymake-start within a buffer that doesn't exist any more.
91987 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
91989         Fix buffer name comparison in async shell-command
91991         * lisp/simple.el (shell-command): Keep track of output-buffer
91992         by its name, not by its object.  (Bug#28997)
91994 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
91996         Change GCALIGNMENT back to an integer literal
91998         * src/lisp.h (GCALIGNMENT): Change it back to a macro
91999         that expands to a literal integer constant, for older GCC.
92000         I had mistakenly thought that only MSVC had the problem.
92001         Problem repored by Eli Zaretskii (Bug#29040#69).
92003 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
92005         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
92007 2017-11-03  Hong Xu  <hong@topbug.net>
92009         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
92011         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
92012         function to generate the docstring for custom variables derived from
92013         pcomplete-* variables.
92014         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
92015         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
92016         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
92017         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
92018         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
92019         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
92020         (eshell-command-completion-function, eshell-cmpl-command-name-function)
92021         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
92022         to set the docstring.
92024 2017-11-02  Alan Third  <alan@idiocy.org>
92026         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
92028         * src/nsterm.m (EmacsScroller::mouseDown,
92029         EmacsScroller::mouseDragged): Take scroller buttons into account when
92030         calculating scroller knob position.
92032 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
92034         Merge from Gnulib
92036         This incorporates:
92037         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
92038         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
92039         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
92040         * build-aux/config.guess, build-aux/config.sub:
92041         * lib/timespec.h, lib/unistd.in.h:
92042         Copy from Gnulib.
92044 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
92046         Fix alignment portability problems
92048         Do not assume that the natural alignment of Lisp objects is a
92049         multiple of GCALIGNMENT.  This improves on the portability of the
92050         recent fix for Bug#29040.
92051         * lib-src/make-docfile.c (close_emacs_globals):
92052         * src/buffer.c (buffer_defaults, buffer_local_symbols):
92053         * src/lisp.h (DEFUN):
92054         * src/thread.c (main_thread):
92055         Use GCALIGNED, not alignas (GCALIGNMENT).
92056         * src/alloc.c (COMMON_MULTIPLE):
92057         Move back here from lisp.h, since it is no longer used elsewhere.
92058         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
92059         worry about MSVC.  Omit no-longer-needed consistency check.
92060         * src/thread.c (THREAD_ALIGNMENT): Remove.
92062 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
92064         Fix completion of colon after CSS property (Bug#29056)
92066         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
92067         ": ;" after completing a CSS property unless the rest of the line is
92068         empty.
92070 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
92072         * src/alloc.c (sweep_symbols): Tweak last change
92074         Avoid the double-free without the extra check.  Add an explanatory comment.
92076 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
92078         In frame parameters documentation mention desktop saving/restoring
92080         * doc/lispref/frames.texi (Frame Parameters): Mention that
92081         applications have to care about which parameters they want to
92082         get saved and restored by the desktop library.
92084 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
92086         Don't have frameset save the 'client' parameter (Bug#29067)
92088         * lisp/frameset.el (frameset-persistent-filter-alist): Never
92089         save 'client' parameter (Bug#29067).
92091 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
92093         Handle generic variables in cl-defgeneric Edebug spec
92095         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
92096         match (setf name) and replace incorrect cl-lambda-list with listp
92097         (Bug#27747).
92099 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
92101         Give a more sensible message if file-attributes fails (Bug#29070)
92103         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
92104         is a file if we fail to get anything from `file-attributes'.
92106 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
92108         Avoid wrong value from file-attributes on Linux kernel before 3.6
92110         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
92111         descriptors.  (bug#29070)
92113 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
92115         Fix customization of debugger-print-function (Bug#29077)
92117         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
92118         keyword has no effect for :type 'function, use :type '(choice ...)
92119         instead.
92121 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
92123         Avoid duplicate calls to xfree for the same pointer
92125         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
92126         pointer to a symbol's buffer-local value.  (Bug#29066)
92128 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
92130         Don't clobber docstrings of explicitly-defined mode hook variables
92132         * lisp/emacs-lisp/derived.el (define-derived-mode):
92133         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
92134         mode hook variable, do not clobber pre-existing docstrings.
92136 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
92138         Avoid fullscreen ediff control frames by default (Bug#29026)
92140         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
92141         Add parameter to avoid fullscreen control frames (Bug#29026).
92143 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
92145         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
92147         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
92148         properties to gaps (bug#29047).
92150 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
92152         Fix a typo in the ELisp manual
92154         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
92155         (Bug#29068)
92157 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
92159         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
92161         These fixes were suggested by Drew Adams.
92163         * src/window.c (Fminibuffer_selected_window): Disambiguate
92164         doc-string.
92165         * doc/lispref/minibuf.texi (Intro to Minibuffers)
92166         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
92167         the term "currently active minibuffer window".  Disambiguate
92168         documentation of `minibuffer-selected-window'.
92170 2017-10-30  Alan Mackenzie  <acm@muc.de>
92172         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
92174         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
92175         position for BASE is below point-min, scan forward to the end of the current
92176         literal.
92177         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
92178         being at point-min.
92180 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
92182         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
92184         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
92185         Reported in https://emacs.stackexchange.com/questions/36337.
92187 2017-10-29  Tom Tromey  <tom@tromey.com>
92189         Extend mhtml submode region when in comment
92191         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
92192         submode when start happens to be in a comment.
92194 2017-10-29  Tom Tromey  <tom@tromey.com>
92196         Fix mthml submode lighting at end of buffer
92198         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
92199         buffer correctly.
92201 2017-10-29  Tom Tromey  <tom@tromey.com>
92203         Remember more variables in mhtml-mode
92205         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
92206         "completion-" and "major-mode".
92207         (mhtml--variable-prefix): Remove "major-mode".
92209 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
92211         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
92213 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
92215         Fix minibuffer window related docs and strings (Bug#28978)
92217         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
92218         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
92219         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
92220         description of `minibuffer' parameter.
92221         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
92222         entries and partly rewrite section.
92223         (Minibuffer Misc): Clarify description of
92224         `minibuffer-selected-window'.
92225         * etc/NEWS: Mention new semantics of 'minibuffer' frame
92226         parameter.
92228 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
92230         Add ChkTeX flymake backend for latex-mode
92232         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
92233         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
92234         (latex-mode): Add backend to flymake-diagnostic-functions.
92235         (tex-chktex--process): New variable.
92236         (tex-chktex-command, tex-chktex): New functions.
92238 2017-10-29  Glenn Morris  <rgm@gnu.org>
92240         Fix doc typos
92242         * lisp/simple.el (line-move-ignore-invisible):
92243         * lisp/sort.el (sort-regexp-fields):
92244         * lisp/cedet/ede.el (project-add-file):
92245         * lisp/gnus/message.el (message-bogus-recipient-p):
92246         * lisp/international/mule.el (define-coding-system):
92247         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
92248         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
92249         (scheme-interaction-mode, scheme-debugger-mode)
92250         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
92252 2017-10-29  Glenn Morris  <rgm@gnu.org>
92254         Fix some duplicate word typos
92256         * doc/misc/ede.texi (ede-target):
92257         * doc/misc/flymake.texi (Using Flymake):
92258         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
92260 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
92262         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
92264 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
92266         Avoid segfaults in 64-bit Windows builds
92268         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
92269         * src/thread.c (THREAD_ALIGNMENT): New macro.
92270         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
92272 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
92274         Fix conversion of pixel coordinates to buffer position
92276         * src/dispnew.c (buffer_posn_from_coords): Adapt to
92277         auto-hscroll-mode == current-line.
92279 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
92281         Fix doc strings in desktop.el
92283         * lisp/desktop.el (desktop-auto-save-timeout)
92284         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
92286 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
92288         Add Index to ERT manual
92290         * doc/misc/ert.texi: Add @syncodeindex directives.
92291         (Index): New node.
92292         (Top): Add Index to the top-level menus.
92293         Add index entries to all nodes.
92295 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
92297         Make manuals and NEWS consistent
92299         * etc/NEWS: Fix markings on several entries, and rearrange others
92300         as needed.
92302         * doc/emacs/programs.texi (Hideshow): Document the new
92303         outline-like bindings.
92304         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
92306 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
92308         Don't allow (minibuffer-window-active-p nil) to return t
92310         * lisp/window.el (minibuffer-window-active-p): Return t
92311         only if WINDOW is a live window.
92313 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
92315         Clarify obsolescence message for 'whitespace-tab'
92317         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
92318         message more clear about the replacement.
92320 2017-10-28  Glenn Morris  <rgm@gnu.org>
92322         Fix some duplicate words typos
92324         * lisp/erc/erc.el (erc-hide-current-message-p):
92325         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
92326         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
92327         * doc/lispref/functions.texi (Defining Functions):
92328         * doc/lispref/os.texi (Terminal-Specific):
92329         * doc/misc/sem-user.texi (Analyzer Debug):
92330         * doc/misc/srecode.texi (Special Variables): Fix typos.
92332 2017-10-28  Glenn Morris  <rgm@gnu.org>
92334         * lisp/button.el (button-activate): Fix doc typo.
92336         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
92338 2017-10-28  Glenn Morris  <rgm@gnu.org>
92340         Fix some doc typos
92342         * lisp/calendar/todo-mode.el (todo-next-item)
92343         (todo-previous-item, todo-toggle-item-header):
92344         * lisp/window.el (move-to-window-group-line):
92345         * src/editfns.c (Fformat):
92346         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
92347         Fix doc typos.
92349 2017-10-27  Ken Brown  <kbrown@cornell.edu>
92351         Fix startup display on Cygwin
92353         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
92354         forces input to be read.  (Bug#24091)
92356 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
92358         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
92360         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
92362 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
92364         Improve documentation of how faces are applied to display strings
92366         * doc/lispref/display.texi (Displaying Faces): Describe how the
92367         faces of the "underlying" text affect overlay and display strings.
92368         (Display Margins): Add a cross-reference to "Displaying Faces".
92370 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
92372         Improve pixel-scroll-mode
92374         Scroll vertically by number of pixels returned by
92375         'frame-char-height' with or without horizontally scrolled.
92376         (Bug#28922)
92378         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
92379         by number of pixels returned by 'frame-char-height'.
92380         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
92381         move cursor to avoid unexpected jump.
92382         (pixel-scroll-down): Scroll by 'frame-char-height'.
92383         (pixel-bob-at-top-p): Consider number of pixels that is about to
92384         scroll.
92385         (pixel-posn-y-at-point): Consider existence of an overlay string.
92386         Return nil when horizontally scrolled.
92387         (pixel-point-at-top-p): Consider number of pixels that is about to
92388         scroll. Use different algorithm when horizontally scrolled.
92389         (pixel-point-at-bottom-p): Consider number of pixels that is about
92390         to scroll. Return nil when horizontally scrolled.
92391         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
92392         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
92393         horizontally scrolled.
92394         (pixel-line-height): Call 'pixel-visual-line-height' instead of
92395         'line-pixel-height'.
92396         (pixel-visual-line-height): New function to return height in pixels
92397         of text line where cursor is with or without horizontally scrolled,
92398         considering response of display engine.
92399         (pixel-visible-pos-in-window): New function to return position of
92400         a char shown on text line where cursor is on screen with or without
92401         horizontally scrolled.
92403 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
92405         Support Certification Authority Authorization in dns-mode.el
92407         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
92408         (Bug#28911)
92410 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
92412         Improve documentation of set-default-file-modes
92414         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
92416         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
92417         the argument of set-default-file-modes are used for setting file
92418         permissions.
92420 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
92422         Fix documentation of `newsticker-new-item-functions' (bug#29023).
92424         * lisp/net/newst-backend.el (newsticker-new-item-functions),
92425         (newsticker-new-item-functions-sample),
92426         (newsticker-download-enclosures): Fix docstring, rename
92427         variable feed to feedname (bug#29023).
92429         * doc/misc/newsticker.texi (Automatic Processing)
92430         (Automatic Processing): Fix documentation of
92431         `newsticker-new-item-functions' (bug#29023).
92433 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
92435         Require seq in rmc.el
92437         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
92438         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
92440 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
92442         Make an example code introduced in the Gnus info work (bug#29008)
92444         You can find it in the bottom of (info "(gnus)Foreign Groups").
92445         NOTE: this change is worth being merged to the trunk.
92447         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
92448         Allow a string for bug# (bug#29008).
92450 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
92452         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
92454         NOTE: *DO NOT* merge this change to the trunk.
92456         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
92457         (gnus-read-ephemeral-bug-group): Make it work for any number of times
92458         for the case `url-automatic-caching' is set (bug#29008).
92460 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
92462         Port thread.c to OpenBSD ARM
92464         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
92465         * src/thread.c (main_thread): Align to GCALIGNMENT.
92467 2017-10-26  Alan Mackenzie  <acm@muc.de>
92469         Fix another "wrong side of point" error in CC Mode.
92471         This fixes (a follow-up to) bug #28850.
92472         A internal generated form for scanning text to fontify had a LIMIT parameter.
92473         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
92474         allowing point to move beyond the original LIMIT, and to create the wrong side
92475         error.  Fix it by checking point is not beyond LIMIT in the outer context
92476         before using it.
92478         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
92479         parameter CHECK-POINT which, when non-nil, directs the function to generate a
92480         check on point.
92481         (c-make-font-lock-context-search-function): Invoke the above function with new
92482         argument value t.
92484 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
92486         Fix Bug#28959
92488         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
92489         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
92490         hop to backup file name.  (Bug#28959)
92492         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
92493         New test.
92494         (tramp-test35-make-nearby-temp-file)
92495         (tramp-test36-special-characters)
92496         (tramp-test36-special-characters-with-stat)
92497         (tramp-test36-special-characters-with-perl)
92498         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
92499         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
92500         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
92501         (tramp-test39-asynchronous-requests)
92502         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
92503         (tramp-test42-delay-load, tramp-test43-unload): Rename.
92505 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
92507         Fix duplicate .o file on QNX
92509         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
92510         Problem reported by Elad Lahav in:
92511         https://lists.gnu.org/r/emacs-devel/2017-10/msg00750.html
92513 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
92515         Fix two js indentation problems
92517         Fix indentation problems reported in
92518         https://github.com/mooz/js2-mode/issues/463.
92519         * lisp/progmodes/js.el (js--continued-expression-p):
92520         Check syntax state after /.
92521         (js--multi-line-declaration-indentation):
92522         Check syntax state before "const".
92524 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
92526         Update documentation for windows build
92528         * admin/nt/dist-build/README-scripts: New File.
92530 2017-10-25  Alan Mackenzie  <acm@muc.de>
92532         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
92534         The cause was a scanning over a bracket pair taking us beyond the supplied
92535         LIMIT parameter in c-forward-declarator.
92537         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
92538         (point) limit) whilst dealing with tokens after the declared identifier.
92540         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
92541         argument to `c-forward-declarator' (twice), since we want to fontify up till
92542         the end of a declarator, not an arbitrary jit-lock chunk end.
92544 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
92546         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
92548         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
92549         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
92550         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
92552 2017-10-25  Alan Third  <alan@idiocy.org>
92554         Fix non-native fullscreen on NS (bug#28872)
92556         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
92557         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
92558         of frame.
92560 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
92562         Fix Bug#28982
92564         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
92566         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
92567         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
92569         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
92571 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
92573         Fix windows build errors
92575         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
92576           64 bit first
92578 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
92580         Fix compile warning for non-w32 builds
92582         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
92583         binding", the non-w32 builds would treat the undeclared
92584         w32-collate-ignore-punctuation variable as lexical.
92585         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
92587 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
92589         Display commit in package description, if available (Bug#28637)
92591         MELPA includes a :commit field in its
92592         packages (https://github.com/melpa/package-build/pull/6).  You can use
92593         this to tell if MELPA has processed a recently-merged change.  This
92594         commit adds that metadata to the package description buffer.
92596         * lisp/emacs-lisp/package.el: Display commit in package description.
92598 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
92600         Port to QNX
92602         Simplified version of a patch proposed by Elad Lahav in:
92603         https://lists.gnu.org/r/emacs-devel/2017-10/msg00716.html
92604         which is based on a previous patch I proposed in:
92605         https://lists.gnu.org/r/emacs-devel/2017-10/msg00707.html
92606         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
92607         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
92608         Set appropriately for QNX.
92609         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
92610         (unexec): Check for sbrk failure, and fall back on old BSS end.
92612 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
92614         * configure.ac: Tweak libcurses diagnostic.
92616 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
92618         Scripts to automate windows binary distribution
92620         * admin/nt/dist-build/README-windows-binaries,
92621           admin/nt/dist-build/build-dep-zips.py,
92622           admin/nt/dist-build/build-zips.sh: New Files
92624 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
92626         Fix Edebug specs for map-let and with-maps-do
92628         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
92629         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
92631 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
92633         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
92635         (tramp-test42-unload): Rename.
92637 2017-10-24  Glenn Morris  <rgm@gnu.org>
92639         * admin/authors.el (authors-canonical-author-name):
92640         Ignore name issues in "lax" ChangeLogs.
92642         * test/lisp/progmodes/sql-tests.el
92643         (sql-tests-postgres-list-databases-error): Silence compiler.
92645 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
92647         Further work on Bug#28889
92649         * lisp/net/tramp.el (tramp-set-syntax): New defun.
92650         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
92652 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
92654         Improve Tramp backward compatibility
92656         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
92657         New defmacro.
92658         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
92660 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
92662         Improve backward compatibility of tramp-tests.el
92664         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
92665         (tramp-test41-unload): Skip unless Emacs >= 26.
92667 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
92669         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
92671         * lisp/window.el (window-normalize-buffer): Fix case where
92672         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
92673         doc-string (Bug#28947).
92674         (window-normalize-frame, window-normalize-window): Fix
92675         doc-strings (Bug#28947).
92677 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
92679         Port to OpenIndiana
92681         Problem reported by Nelson H. F. Beebe (Bug#28893).
92682         Also see Bug#23748, Bug#9736, and Bug#5735.
92683         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
92684         since OpenIndiana libtermcap lacks tparm.
92686 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
92688         Don't fill keywords after Emacs Lisp docstring
92690         This approach does mean that keywords that have spaces before them
92691         inside of docstrings aren't filled, but I think this is should be fine
92692         until Bug#28937 is fixed.
92694         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
92695         paragraph-start unconditionally, but require that it follows at least
92696         one space.  (Bug#24622)
92697         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
92698         Bug#7751.
92700 2017-10-22  Alan Mackenzie  <acm@muc.de>
92702         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
92704         Use the new function directly in several places where c-forward-token-2
92705         wouldn't move over the last token in the buffer.  This caused an infinite loop
92706         in c-restore-<>-properties.
92708         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
92709         extracted from c-forward-token-2.
92710         (c-forward-token-2): Refactor, calling the new function.
92711         (c-restore-<>-properties): Fix infinite loop.
92712         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
92713         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
92714         of c-forward-token-2.
92716         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
92717         place of c-forward-token-2.
92719         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
92720         function directly in place of c-forward-token-2.
92722 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
92724         Avoid unnecessary rounding errors in timestamps
92726         Avoid the rounding errors of float-time when it’s easy.  E.g.,
92727         replace (< (float-time a) (float-time b)) with (time-less-p a b).
92728         * lisp/desktop.el (desktop-save):
92729         * lisp/ecomplete.el (ecomplete-add-item):
92730         * lisp/epg.el (epg-wait-for-completion):
92731         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
92732         * lisp/image-dired.el (image-dired-get-thumbnail-image)
92733         (image-dired-create-thumb-1):
92734         * lisp/info.el (info-insert-file-contents):
92735         * lisp/ls-lisp.el (ls-lisp-format-time):
92736         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
92737         (ange-ftp-verify-visited-file-modtime):
92738         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
92739         * lisp/textmodes/remember.el (remember-store-in-mailbox):
92740         * lisp/url/url-cookie.el (url-cookie-expired-p):
92741         Bypass float-time to avoid rounding errors.
92743         * lisp/files.el (dir-locals-find-file):
92745 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
92747         Fix xdg timestamp error on 32-bit Emacs
92749         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
92750         not an integer.  This avoids signaling an error on 32-bit
92751         Emacs, where timestamps typically do not fit into fixnums
92752         (Bug#28921).
92754 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
92756         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
92758         * test/lisp/emacs-lisp/bytecomp-tests.el
92759         (bytecomp-tests--test-no-warnings-with-advice): New test.
92761 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
92763         Another fix for unsafe directory error message (Bug#865)
92765         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
92766         current user's for the wrong owner case.  Show expanded file name in
92767         error message.
92769 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
92771         Handle https url for debbugs mbox (Bug#28831)
92773         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
92774         gnus-bug-group-download-format-alist was updated to use https for the
92775         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
92776         http links.
92777         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
92778         url-parse functions to get the host name, instead of ad-hoc regexps.
92780 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
92782         Ignore string properties when saving eshell history (Bug#28700)
92784         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
92785         before inserting history strings.
92786         (eshell-read-history): Remove obsolete comment.
92787         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
92788         New test.
92790 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
92792         Fix Bug#28889
92794         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
92795         (tramp-completion-file-name-regexp-default)
92796         (tramp-completion-file-name-handler-alist)
92797         (tramp-completion-file-name-handler): Remove autoload cookie.
92798         (tramp-initial-completion-file-name-regexp): Remove.
92799         (tramp-autoload-file-name-regexp): New defconst.
92800         (tramp-register-autoload-file-name-handlers): Use it.
92801         (with-parsed-tramp-file-name): Adapt docstring.  Compute
92802         `tramp-file-name' slots.  (Bug#28889)
92804 2017-10-21  Glenn Morris  <rgm@gnu.org>
92806         Update describe-function for recent Fdocumentation change
92808         * lisp/help-fns.el (describe-function-1):
92809         Handle Fdocumentation returning either void or invalid.
92811 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
92813         Make flymake's mouse-wheel interaction portable (Bug#28732)
92815         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
92816         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
92817         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
92818         remove a stray newline in it.
92820 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
92822         Prevent eldoc from changing the mode line
92824         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
92825         change the mode line if it is not displayed.  (Bug#28697)
92827 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
92829         Fix doc strings in simple.el
92831         * lisp/simple.el (shell-command-saved-pos)
92832         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
92834 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
92836         Avoid creating inconsistent buffer states in term-char-mode
92838         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
92839         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
92840         except for the process filter's output.  Use 'read-only-mode-hook' to
92841         track and restore the user-set state of 'buffer-read-only' for
92842         'term-line-mode'.  (Bug#24837)
92843         (term-char-mode-buffer-read-only): New user option.
92844         (term-line-mode-buffer-read-only): New buffer-local variable.
92845         (term-line-mode-buffer-read-only-update): New function.
92846         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
92847         in pre-command-hook, and 'term-goto-process-mark-maybe' in
92848         post-command-hook to counter-act unexpected changes to point when
92849         using 'term-char-mode'.
92850         (term-char-mode-point-at-process-mark): New user option.
92851         (term-goto-process-mark): New buffer-local variable.
92852         (term-set-goto-process-mark): New function.
92853         (term-goto-process-mark-maybe): New function.
92854         (term-process-mark): New function.
92856         * etc/NEWS: Mention the new behavior and user options.
92858 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
92860         New input method 'usbek-cyrillic'
92862         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
92863         (Bug#28848)
92865         * etc/NEWS: Mention the new input method.
92867 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
92869         Document 'minibuffer-with-setup-hook'
92871         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
92872         minibuffer-with-setup-hook.  (Bug#28877)
92874 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
92876         Simplify make-progress-reporter vs float-time
92878         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
92879         doc and code for the case where float-time is not supported,
92880         since float-time is always present now.
92882 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
92884         Fix two more minor Gnus typos
92886         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
92887         The old code had two minor bugs: first, it multiplied by 1/65536
92888         instead of by 1/86400.  Second, it called current-time twice and
92889         glued part of the two results together, resulting in a race.
92890         Fix both bugs by simplifying the code and using
92891         time-to-number-of-days.
92893 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
92895         Fix two minor Gnus typos
92897         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
92898         Remove unused local, and fix use of local that was never assigned to.
92900 2017-10-21  Glenn Morris  <rgm@gnu.org>
92902         Tweak Fdocumentation's error for an undefined function
92904         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
92905         of signaling a void-function error for an undefined function.
92906         This seems cleaner than Emacs 25's "invalid-function: nil" error,
92907         which was (probably) an unintended consequence of changes to
92908         Findirect_function.
92910 2017-10-21  Glenn Morris  <rgm@gnu.org>
92912         Tweak format of list of old files in NEWS header
92914         * etc/NEWS: Stop list of old NEWS files growing without limit.
92915         * admin/admin.el (set-version): Handle either NEWS header format.
92917 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
92919         * lisp/help-fns.el (describe-function-1):
92920         Fix help-fns-test-dangling-alias.  (Bug#28918)
92922         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
92924 2017-10-20  Glenn Morris  <rgm@gnu.org>
92926         Fix flymake's loading of subr-x
92928         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
92929         No need to load subr-x at run-time.
92931 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
92933         Fix Bug#28896
92935         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
92936         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
92937         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
92938         being a directory.  (Bug#28896)
92940         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
92941         (tramp-test12-rename-file): Test also FILENAME being a directory.
92943 2017-10-20  João Távora  <joaotavora@gmail.com>
92945         Skip a Flymake test for old gcc versions
92947         Fixes: 28906
92949         * test/lisp/progmodes/flymake-tests.el
92950         (different-diagnostic-types): Skip this test for gcc versions
92951         < 5.
92953 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
92955         Make :align-to account for display-line-numbers
92957         These changes also update the various bundled packages to use
92958         new feature, and better support customizations of the line-number
92959         face.
92960         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
92961         Make :align-to count from the end of the line-number display when
92962         the offset or the width form reference that of the text area.
92963         (Bug#28855)
92965         * src/indent.c (Fline_number_display_width): Implement support for
92966         the PIXELWISE argument being 'columns'.  Update the doc string.
92967         (syms_of_indent): New symbol 'columns'.
92969         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
92970         Call line-number-display-width with last argument 'columns'.
92972         * lisp/proced.el (proced-header-line): Call
92973         line-number-display-width with 2nd arg 'columns', which also fixes
92974         a problem when display-line-numbers is nil.
92976         * lisp/emacs-lisp/tabulated-list.el
92977         (tabulated-list-line-number-width): Call line-number-display-width
92978         with 2nd arg 'columns.
92979         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
92980         (tabulated-list-print, tabulated-list-print-entry): No need to
92981         account for the value of tabulated-list-entry-lnum-width.
92982         (tabulated-list--current-lnum-width): New defvar.
92983         (tabulated-list-watch-line-number-width): New function.
92984         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
92985         locally, and set up tabulated-list-watch-line-number-width as
92986         pre-redisplay-functions hook.
92988         * doc/lispref/display.texi (Size of Displayed Text): Document the
92989         'columns' value of the PIXELWISE argument.
92990         (Pixel Specification): Update and improve the documentation of the
92991         supported forms.
92993 2017-10-20  João Távora  <joaotavora@gmail.com>
92995         Augment Flymake API for third-party extensions
92997         See
92998         https://lists.gnu.org/r/emacs-devel/2017-10/msg00619.html
93000         * doc/misc/flymake.texi (Flymake error types): Rewrite
93001         example.
93002         (Flymake utility functions): Augment with new API.
93004         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
93005         (flymake--diag-accessor): New helper macro.
93006         (flymake-diagnostic-buffer, flymake-diagnostic-text)
93007         (flymake-diagnostic-beg, flymake-diagnostic-end)
93008         (flymake-diagnostic-backend): Accessors for diagnostic objects.
93009         (flymake--overlays): Use flymake-diagnostic property.
93010         (flymake--highlight-line): Simplify.  Only set
93011         flymake-diagnostic property.
93012         (flymake--handle-report, flymake-goto-next-error): Use
93013         flymake-diagnostic property.
93014         (flymake-show-diagnostic): Use diagnostic object.
93015         (flymake--diagnostics-buffer-entries): Use
93016         flymake-diagnostics.
93018 2017-10-20  Glenn Morris  <rgm@gnu.org>
93020         Improve treatment of Fortran's "class default"
93022         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
93023         Handle "class default".  (Bug#28786)
93024         * test/automated/f90.el (f90-test-bug25039): Add "class default".
93026 2017-10-20  João Távora  <joaotavora@gmail.com>
93028         Flymake backends must check proc obsoleteness in source buffer
93030         Flymake backends that rely on sentinels running asynchronously and
93031         checking buffer-local variables that hold running processes should
93032         check for obsoleteness in the correct buffers, otherwise a (harmless)
93033         warning might be triggered.
93035         * doc/misc/flymake.texi (An annotated example backend):
93036         Check buffer-local proc in the current buffer.
93038         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
93039         Check buffer-local proc in the current buffer.
93041 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
93043         Skip an rsync test in tramp-tests.el
93045         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
93046         Skip for "rsync".
93048 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
93050         On Windows default a frame's border width to zero (Bug#28873)
93052         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
93053         as everywhere else, see Bug#28873.
93055 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
93057         Spelling fixes
93059         * lisp/cedet/semantic/analyze/refs.el:
93060         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
93061         misspelling of pop-to-buffer-same-window.
93063 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
93065         Use pop-to-buffer-same-window instead of switch-to-buffer
93067         * lisp/cedet/semantic/decorate/include.el
93068         (semantic-decoration-include-visit):
93069         Use pop-to-buffer-same-window instead of switch-to-buffer
93070         (bug#28645).
93072         * lisp/cedet/semantic/analyze/refs.el
93073         (semantic-analyze-proto-impl-toggle): Same.
93075         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
93076         Same.
93078         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
93079         Same.
93081         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
93082         Same.
93084 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
93086         Fix the MSDOS build.
93088         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
93089         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
93090         (LIBSYSTEMD_LIBS): Edit to empty.
93091         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
93092         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
93093         Remove editing of lines that are no longer present in
93094         src/Makefile.in.
93095         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
93096         (NEED_MKTIME_WORKING): Define to 1.
93097         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
93098         DJGPP >= 2.05.
93099         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
93100         Define PACKAGE_VERSION, not VERSION.
93101         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
93102         (HAVE_DECL_*_UNLOCKED): Define to 0.
93103         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
93104         (PENDING_*): Don't define, as Gnulib no longer supports that.
93105         Instead, define _IOERR as it is in libc/file.h.
93106         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
93107         determine the current directory.
93108         (UPDATE_MANIFEST, UTILITIES): Don't edit.
93109         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
93110         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
93111         (HYBRID_MALLOC): Edit to empty.
93112         (am__cd): Don't edit.
93113         (../config.status): Replaces $(top_builddir)/config.status.
93114         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
93115         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
93116         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
93117         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
93118         the command line shorter to fit into 126-char limit of
93119         command.com.
93120         * config.bat: Generate src/deps/*.d files.  Rename more files
93121         like djtar on plain DOS would.
93122         Don't rename src/dir.h: it is long gone.  Edit
93123         lib/gnulib.mk.in using the same scripts as for
93124         lib/Makefile.in.
93125         * msdos/depfiles.bat: Create *.d files, not *.Po.
93127         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
93128         error message.
93129         * src/thread.h [MSDOS]: Include <signal.h>.
93130         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
93131         compilation errors.
93132         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
93133         Expose to MSDOS build.
93134         * src/process.c (update_processes_for_thread_death)
93135         [!subprocess]: No-op implementation.
93136         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
93137         declaration of nofile_limit outside "#ifdef subprocesses", as
93138         it's needed for MSDOS.
93139         * src/msdos.c (faccessat): Declare fullname[].
93140         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
93141         Include termhooks.h.
93142         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
93143         WINDOWSNT, not DOS_NT.
93145         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
93147 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
93149         Fix line number display after 'widen'
93151         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
93152         by line-number-mode on the first redisplay after the buffer is
93153         widened.  (Bug#28879)
93155 2017-10-18  Alan Third  <alan@idiocy.org>
93157         Remove resizable attribute on macOS undecorated frames (bug#28512)
93159         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
93160         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
93162 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
93164         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
93166         * lisp/frameset.el (frameset--restore-frame): Don't process
93167         `border-width' parameter via ‘modify-frame-parameters’
93168         (Bug#28873).
93170 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
93172         Mention how to send CC to > 1 address in a bug report
93174         * admin/notes/bugtracker (* More detailed information):
93175         mention how to CC to more than 1 address (Bug#28833).
93177 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
93179         Improve format-time-string doc
93181         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
93182         documentation for format-time-string.  Document ^, #, %s, and %z
93183         with colons.  Say that unrecognized sequences are output as-is.
93184         * src/editfns.c (Fformat_time_string): %S can stand for 60.
93185         Also mention unrecognized sequences.
93187 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
93189         Improve documentation of 'line-number-display-width'
93191         * doc/lispref/display.texi (Size of Displayed Text): Document the
93192         additional 2 columns used for line-number display.
93194         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
93196 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
93198         Implement vc-default-dir-extra-headers for vc-rcs
93200         Add a do-nothing implementation for vc-rcs to suppress the message which
93201         the default function adds to the vc-dir buffer (Bug#28570).
93202         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
93204 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
93206         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
93208         * etc/NEWS: Mention that applications should prefer
93209         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
93211 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
93212             Noam Postavsky  <npostavs@gmail.com>
93214         Dont update primary selection with winner-undo
93216         * lisp/winner.el (winner-set):
93217         Dont update primary selection when select-enable-primary
93218         is non-nil (Bug#28631).
93220 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
93222         Work around ImageMagick bug 825
93224         This should fix several bugs reported recently against Emacs
93225         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
93226         * src/image.c (imagemagick_load_image):
93227         Do not call MagickWandTerminus.
93229 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
93231         Document rectangle-preview option more (Bug#27974)
93233         * lisp/rect.el (string-rectangle):
93234         * etc/NEWS.25: Mention `rectangle-preview'.
93236 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
93238         Do not reject https://gnu.org in commit messages
93240         * build-aux/git-hooks/commit-msg: Do not reject commit messages
93241         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
93242         rewrite the messages to use https: URLs.
93244 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
93246         Fix Edebug spec for cl-defun (bug#24255)
93248         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
93249         `cl-lambda-list' to support destructuring argument lists.
93250         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
93251         * lisp/textmodes/rst.el: Remove alternate version of Edebug
93252         specs for `cl-lambda-list' and `cl-type-spec'.
93254 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
93256         Fix errors in kmacro.el post-command-hook
93258         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
93259         avoid 'void-variable' errors.  (Bug#28818)
93260         * test/lisp/kmacro-tests.el
93261         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
93263 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
93265         Fix range-error in image-dired.el
93267         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
93268         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
93270 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
93272         Fix 'line-number-display-width' in hscrolled windows
93274         * src/indent.c (line_number_display_width): Make sure a line
93275         number is generated even when the first line of the window is
93276         completely hscrolled out of view.  (Bug#28854)
93278 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
93280         Fix error in tramp-smb-handle-insert-directory
93282         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
93283         Insert size information only when FULL-DIRECTORY-P is non-nil.
93285 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
93287         Don't reject PBM header whitespace unnecessarily
93289         * lisp/image.el (image-type-header-regexps):
93290         Allow two or more CRs or LFs in initial whitespace sequences.  See:
93291         http://netpbm.sourceforge.net/doc/pbm.html
93293 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
93295         Fix regression in display of PPM images
93297         Problem reported by Roland Winkler (Bug#28824#35).
93298         Based on a patch proposed by Andy Moreton (Bug#28824#38).
93299         * src/image.c (pbm_scan_index): New function.
93300         (pbm_load): Use it to decode raw data correctly when its top bit
93301         is set.
93303 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
93305         Require subr-x when compiling nnimap.el
93307         * lisp/gnus/nnimap.el (require): For the when-let* macro.
93309 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
93311         Fix ert-test finding by symbol (Bug#28849)
93313         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
93314         symbol used for ert tests in load-history was changed from
93315         `ert-deftest' to `ert--test', but a couple of other places were not
93316         updated accordingly.
93317         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
93318         `ert--test' as the TYPE to `find-function-do-it'.
93319         (top-level): Use `ert--test' as the key to the
93320         `find-function-regexp-alist' entry.
93322 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
93324         Don't remember old debugger window (Bug#17882)
93326         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
93327         when `debugger-will-be-back' is nil.
93329 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
93331         Disable python native completion on w32 (Bug#28580)
93333         * lisp/progmodes/python.el
93334         (python-shell-completion-native-disabled-interpreters): For windows-nt
93335         systems, put an empty string to match interpreters.
93337 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
93339         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
93341         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
93342         frames in the non-interactive part, if not found on the current
93343         display.
93345 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
93347         * lisp/dired-aux.el (dired-create-directory): Doc fix.
93349 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
93351         Avoid compilation warnings in optimized builds
93353         * src/process.c (Fmake_network_process):
93354         * src/image.c (xbm_scan, gif_load):
93355         * src/fileio.c (Frename_file):
93356         * src/data.c (Fmake_local_variable):
93357         * src/buffer.c (fix_start_end_in_overlays):
93358         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
93359         to avoid compiler warnings in optimized builds.
93361 2017-10-15  K. Handa  <handa@gnu.org>
93363         Improve customization of arabic-shaper-ZWNJ-handling.
93365         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
93366         immediately.
93367         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
93368         value.
93369         * src/composite.c (Fclear_composition_cache): New function.
93370         (syms_of_composite): Defsubr it.
93372 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
93374         Improve customization type of 'mouse-drag-and-drop-region'
93376         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
93377         precise customization type.
93379 2017-10-15  Paul Eggert  <eggert@day>
93381         Encourage https: in commit messages
93383         * CONTRIBUTE: Prefer https: when citing.
93384         * build-aux/git-hooks/commit-msg:
93385         Diagnose http: and ftp: URLs to FSF or GNU hosts.
93387 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
93389         Fix wording in Elisp manual's child frames section (Bug#28819)
93391         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
93393 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
93395         Another fix for C mode fontification of w32 source files
93397         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
93398         "CALLBACK", to correctly fontify functions with this attribute.
93400 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
93402         Fix fontification of ALIGN_STACK functions
93404         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
93405         "ALIGN_STACK", to correctly fontify functions with this attribute.
93407 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
93409         Make sure thread stack is properly aligned on MS-Windows
93411         * src/systhread.c: Include w32term.h instead of windows.h.
93412         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
93413         the thread's stack is correctly aligned.
93414         * src/w32term.h (ALIGN_STACK): Update commentary.
93416 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
93418         Do not under-align pseudovectors
93420         Problem reported by Fabrice Popineau in:
93421         https://lists.gnu.org/r/emacs-devel/2017-10/msg00357.html
93422         Also see diagnosis by Eli Zaretskii in:
93423         https://lists.gnu.org/r/emacs-devel/2017-10/msg00476.html
93424         * src/alloc.c (vector_alignment):
93425         Now a multiple of alignof (max_align_t).
93427 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
93429         Fix indentation bug in multi-line CSS selectors
93431         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
93432         indentation of multi-line CSS selectors that include both a
93433         pseudo-class and parenthesis.
93435         * test/manual/indent/css-mode.css: Add test for the above change.
93437 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
93439         gnutls_mac_get_nonce_size has been added in gnutls 3.3
93441         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
93442         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
93443         (gnutls_mac_get_nonce_size): Depend on
93444         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
93445         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
93446         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
93448 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
93450         * CONTRIBUTE: Suggest American English.
93452 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
93454         Fix this-command-keys for "M-x foo" commands
93456         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
93457         unibyte string.  (Bug#28798)
93459 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
93461         Let rename-file rename dirs across filesystems
93463         Problem diagnosed by Andreas Schwab (Bug#28792#65).
93464         This fixes a bug that I introduced in
93465         2017-09-10T22:39:24@eggert@cs.ucla.edu
93466         "Fix race with rename-file etc. with dir NEWNAME".
93467         * src/fileio.c (Frename_file): Copy a source directory across
93468         file system boundaries even if its name does not end in slash.
93470 2017-10-12  João Távora  <joaotavora@gmail.com>
93472         Simplify Flymake user documentation
93474         Fix some confusing parts of Flymake user documentation, like a
93475         repeated listing of situations leading to a syntax check.
93476         Documentation is now divided into three chapters only: "Using
93477         Flymake", "Extending Flymake", and a chapter for the legacy backend.
93479         Obsolete mention of "errors" and "lines" is replaced by
93480         "diagnostics/problems" and "regions" where appropriate.
93482         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
93483         (Using Flymake): Merge with chapter "Overview of Flymake".
93484         (Installing Flymake): Delete chapter.
93485         (Flymake mode, Running the syntax check)
93486         (Navigating to error lines): Delete sections.
93487         (Syntax check statuses): Review and augment with x-references.
93488         (Backend exceptions): Mention shortcut in menu.
93490         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
93491         menu to not speak of "errors".
93492         (flymake-goto-next-error, flymake-goto-prev-error): Fix
93493         wording.
93495 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
93497         * etc/NEWS: Mention the new version of Org.
93499 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
93501         Don't use (format "%s" ...) for string copying (Bug#28774)
93503         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
93504         "%s" STRING) no longer produces a new string.
93505         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
93506         string, so that we can add text properties to (copies of) symbol
93507         names.
93509 2017-10-11  Alan Third  <alan@idiocy.org>
93511         Make frame-list-z-order on NS match Windows behavior (bug#28788)
93513         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
93514         ignore it rather than returning nil.
93516 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
93518         Bump Emacs version to 26.0.90
93520         * README:
93521         * configure.ac:
93522         * msdos/sed2v2.inp:
93523         * nt/README.W32: Bump Emacs version.
93525 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
93527         Update authors.el
93529         * admin/authors.el (authors-valid-file-names)
93530         (authors-renamed-files-alist): Additions.
93532 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
93534         * admin/authors.el (authors-aliases): Additions.
93536         * ChangeLog.3: Update.
93538 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
93540         Fix docstring style for 'functionp'
93542         * src/eval.c (functionp): Make docstring start with verb.
93543         (Bug#28781)
93545 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
93547         Format shell commands in tramp.texi
93549         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
93550         Format shell commands better.
93552 2017-10-10  João Távora  <joaotavora@gmail.com>
93554         Unbreak the button in the Flymake diagnostics buffer again
93556         Adding the 'keymap' property enabled RET but broke the mouse-action.
93558         * lisp/progmodes/flymake.el
93559         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
93561 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
93563         Add mode map to Flymake diagnostic button
93565         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
93566         keymap propery.
93568 2017-10-10  João Távora  <joaotavora@gmail.com>
93570         Tweak the Flymake diagnostics buffer again
93572         * lisp/progmodes/flymake.el
93573         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
93574         (flymake-show-diagnostic): Rename from
93575         flymake-show-diagnostic-at-point.  Really use another window.
93576         (flymake-goto-diagnostic): Rename from
93577         flymake-goto-diagnostic-at-point.
93578         (flymake--diagnostics-buffer-entries): Use a button just for
93579         the message bit.
93581 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
93583         Simplify Flymake diagnostics buffer UX
93585         Don't create text-buttons unnecessarily, just bind RET and SPC in the
93586         diagnostics buffer to a command that figures out which diagnostic it
93587         was invoked on.
93589         * lisp/progmodes/flymake.el
93590         (flymake--diagnostics-buffer-mode-keymap): Renamed from
93591         flymake--diagnostics-buffer-button-keymap.
93592         (flymake-show-diagnostic-at-point): Don't take a button.
93593         (flymake-goto-diagnostic-at-point): Don't pass button to
93594         flymake-show-diagnostic-at-point.
93595         (flymake--diagnostics-buffer-entries): Simplify.
93597 2017-10-10  João Távora  <joaotavora@gmail.com>
93599         First stab at a Flymake diagnostics buffer
93601         The diagnostics buffer summarizes the diagnostics of a buffer in a
93602         tabulated list and is permanently updated after each Flymake check.
93604         * lisp/progmodes/flymake.el (flymake--handle-report): Call
93605         flymake-show-diagnostics-buffer under certain conditions.
93606         (flymake-menu, flymake--diagnostics-buffer-source)
93607         (flymake--diagnostics-buffer-button-keymap)
93608         (flymake-show-diagnostic-at-point)
93609         (flymake-goto-diagnostic-at-point)
93610         (flymake--diagnostics-buffer-entries)
93611         (flymake-diagnostics-buffer-mode)
93612         (flymake--diagnostics-buffer-name)
93613         (flymake-show-diagnostics-buffer): New definitions.
93615 2017-10-10  João Távora  <joaotavora@gmail.com>
93617         * etc/NEWS (Flymake): Rewrite entry.
93619 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
93621         Improve the Flymake manual
93623         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
93624         @syncodeindex directive for @vindex.  Use 2 spaces between
93625         sentences.  Lower-case @cindex entries.
93626         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
93627         punctuation and markup.
93628         (Backend exceptions): Use @emph instead of @dfn.  Add more
93629         indexing.
93630         (Customizable variables, Extending Flymake): Improve wording.
93631         (Flymake error types): Fix usage of @itemize.  Improve wording.
93632         (Backend functions): Fix punctuation.  Fix markup.  Add a
93633         cross-reference to ELisp manual.
93634         (Flymake utility functions): Add a cross-reference to ELisp manual.
93635         (An annotated example backend): Fix punctuation and typos.
93636         (Flymake mode, Running the syntax check)
93637         (Navigating to error lines, Backend exceptions)
93638         (Customizable variables, Flymake error types, Backend functions)
93639         (Flymake utility functions, Proc customization variables)
93640         (Locating a master file, Locating the buildfile)
93641         (Starting the syntax check process, Parsing the output)
93642         (Interaction with other modes): Fix indexing.  Add index entries
93643         for functions, variables, and concepts.
93645 2017-10-10  João Távora  <joaotavora@gmail.com>
93647         Fix two Flymake bugs
93649         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
93650         against --without-x.
93651         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
93652         in their own windows.
93654 2017-10-10  João Távora  <joaotavora@gmail.com>
93656         Don't log "emergencies" in the Flymake legacy backend
93658         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
93659         (flymake-proc-legacy-flymake): Don't log "emergencies"
93661 2017-10-10  João Távora  <joaotavora@gmail.com>
93663         Add full documentation on new Flymake API
93665         Also, as a minor addition to this API, set flymake-text
93666         on the diagnostic overlay.  This enables a good example in
93667         the section "Customization Flymake annotations".
93669         * doc/misc/flymake.texi (Overview of Flymake)
93670         (Syntax check statuses): Rework.
93671         (Backend exceptions): Rename from "Troubleshooting"
93672         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
93673         (Extending Flymake): Write chapter.
93674         (Customizing Flymake annotations, Flymake backends)
93675         (Flymake utility functions, An annotated example backend):
93676         New sections and subsections
93678         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
93679         (flymake-diagnostic-types-alist): Rework docstring.
93680         (flymake--highlight-line): Set and use flymake-text property in overlay.
93681         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
93683 2017-10-10  João Távora  <joaotavora@gmail.com>
93685         Fix some Flymake docstrings and messages
93687         * lisp/progmodes/flymake.el
93688         (flymake-start-on-flymake-mode): fix typo.
93689         (flymake-mode): Add docstring.
93690         (flymake-mode-line-format): Fix help-echo indications. mouse-2
93691         describes flymake-mode.
93693 2017-10-10  João Távora  <joaotavora@gmail.com>
93695         Make three new Flymake commands for debugging common problems
93697         * lisp/progmodes/flymake.el (flymake-running-backends)
93698         (flymake-disabled-backends)
93699         (flymake-reporting-backends): Make interactive.
93700         (flymake--collect): Take optional arg.
93702 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
93704         * admin/authors.el (authors-renamed-files-alist): addition.
93706 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
93708         Fix PWD check on DOS_NT
93710         * src/sysdep.c (get_current_dir_name_or_unreachable):
93711         Do not consider a file name like "a:b" to be absolute on DOS_NT.
93713 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
93715         Fix unlikely overflows with wd length
93717         * src/sysdep.c (get_current_dir_name_or_unreachable):
93718         Avoid integer overflow if working directory name is absurdly long.
93719         When allocating memory for getcwd, do not exceed MAXPATHLEN.
93721 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
93723         * lisp/gnus/message.el: Improve last commit
93725         (message-clone-locals): Don't mistakenly match other variables whose
93726         name happens to include "message-default-charset".
93728 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
93730         Fix problems when editing raw undecoded message (Bug#28671)
93732         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
93733         is set, meaning that we are editing the raw message, do not
93734         encode it again.  Delete old body after, not before, inserting
93735         new, to avoid moving marker at beginning of next message.
93737 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
93739         Avoid encoding errors in message.el
93741         * lisp/gnus/message.el (message-clone-locals): Don't clone
93742         message-default-charset.  (Bug#25645)
93744 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
93746         Improve doc string and prompt of 'grep-read-files'
93748         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
93749         string and in the prompt that shell wildcards can be used.
93750         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
93752 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
93754         Avoid assertion violations when line numbers are displayed
93756         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
93757         matrix before calling try_window with the same starting point.
93758         This avoids assertion violations when switching from a buffer
93759         without line numbers to a buffer with line numbers.  (Bug28710)
93761 2017-10-09  João Távora  <joaotavora@gmail.com>
93763         Be lazy when starting Flymake checks
93765         Don't start the check immediately if the buffer is not being
93766         displayed.  Wait until it is, using window-configuration-change-hook.
93768         This enables the user to batch-enable flymake-mode on many buffers and
93769         not have that operation exhaust system resources for checking each
93770         one.  Likewise, an editing or save operation in a currently
93771         non-displayed buffer does not immediately start a check.
93773         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
93774         Rename from flymake-start-syntax-check-on-find-file.
93775         (flymake-start-syntax-check-on-find-file): Obsolete alias for
93776         flymake-start-on-flymake-mode.
93777         (flymake-start): Redesign.  Affect the global post-command-hook
93778         and local window-configuraiton-change-hook.
93779         (flymake--schedule-timer-maybe)
93780         (flymake-after-change-function, flymake-after-save-hook): Pass
93781         t to flymake-start.
93783         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
93784         (dummy-backends, recurrent-backend): Start flymake check
93785         explicitly and immediately.
93787 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
93789         Fix last change in frameset.el
93791         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
93792         filtering the 'font' parameter.  (Bug#17352)
93794 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
93796         Describe how window dividers can replicate vertical borders (Bug#27830)
93798         * doc/emacs/frames.texi (Scroll Bars): Describe how window
93799         dividers can be used to replicate vertical borders when scroll
93800         bars are disabled (Bug#27830).
93801         * doc/emacs/frames.texi (Window Dividers): Mention their use
93802         in replicating vertical borders.
93804 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
93806         Add line-number faces to the display-line-numbers group
93808         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
93809         and its resulting thread.
93811         * lisp/display-line-numbers.el (display-line-numbers): Add to the
93812         convenience group.
93813         * lisp/faces.el (line-number):
93814         (line-number-current-line): Add to the display-line-numbers group.
93816 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
93818         Increase xterm click count only within double-click-fuzz
93820         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
93821         and check it against the current click's position.  (Bug#28658)
93823 2017-10-08  Alan Third  <alan@idiocy.org>
93825         Change pause in fullscreen toggling for NS port (bug#28496)
93827         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
93828         sleep-for, and reduce time.
93830 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
93832         Handle PARENTS properly in tramp-*-handle-make-directory
93834         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
93835         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
93836         Handle PARENTS properly.
93838         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
93839         Extend test.
93841 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
93843         Improve test for unreachable dirs
93845         * src/sysdep.c (get_current_dir_name_or_unreachable):
93846         New function, with most of the old contents of
93847         emacs_get_current_dir_name.
93848         (emacs_get_current_dir_name): Use it.  Use a simpler
93849         test for unreachable directory strings, and also apply
93850         it to getcwd etc. (Bug#27871)
93852 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
93854         * src/xsmfns.c (x_session_initialize): Fix memory leak.
93856 2017-10-08  K. Handa  <handa@gnu.org>
93858         New option for handling ZWNJ in Arabic text rendering
93860         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
93861         to display ZWNJ in Arabic text rendering (Bug#28339).
93862         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
93863         composition-function-table.
93864         (arabic-shaper-ZWNJ-handling): New variable.
93865         (arabic-shape-log): New variable.
93866         (arabic-shape-gstring): New function.
93867         * lisp/composite.el (lgstring-remove-glyph): New function.
93869 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
93871         Make python prettify symbols into a defvar (Bug#28713)
93873         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
93874         variable.
93875         (python--prettify-symbols-alist): Make into obsolete alias for
93876         `python-prettify-symbols-alist'.
93878 2017-10-07  Alan Third  <alan@idiocy.org>
93880         Fix fullscreen crash on macOS (bug#28496)
93882         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
93883         complete on macOS.
93885 2017-10-07  Alan Third  <alan@idiocy.org>
93887         Fix crash when closing fullscreen frame on macOS (bug#28661)
93889         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
93890         unmodified if the frame isn't live.
93892 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
93894         Support gio tool in Tramp
93896         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
93897         must use "gio <command>" tool instead.
93899         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
93900         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
93901         (tramp-gvfs-gio-tool-p): New defun.
93902         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
93904 2017-10-07  João Távora  <joaotavora@gmail.com>
93906         Fix flymake-goto-next-error when message has %-constructs
93908         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
93909         message call.  Add missing period in docstring.
93911 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
93913         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
93915 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
93917         Move the entry about 'format' into Incompatible Lisp Changes
93919         * etc/NEWS: Move the entry about 'format' refraining from allocating
93920         new strings into Incompatible Lisp Changes.  (Bug#28625)
93922 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
93924         Fix glitches in displaying TTY menus
93926         * src/dispnew.c (update_frame_line): Accept an additional argument
93927         UPDATING_MENU_P; if non-zero, home the cursor before updating a
93928         frame's line.  All callers changed.
93929         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
93930         and pass it to update_frame_line.  All callers changed.
93931         (update_frame_with_menu): Call update_frame_1 with last argument
93932         non-zero.  (Bug#17497)
93934 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
93936         Create new Edebug spec for docstrings and use it in closures
93938         Since (:documentation FORM) can be used to create a docstring
93939         when lexical-binding is on, allow for that possibility in Edebug
93940         specs (bug#24773).
93941         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
93942         called lambda-doc and modify the Edebug specs for defun and
93943         defmacro to use it.
93944         (edebug-instrument-function): Check for generic functions first,
93945         to fix bug where edebug-step-in didn't work on methods now that
93946         cl-defgeneric has an Edebug spec.
93947         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
93948         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
93949         (bug#27747).
93950         (cl-defmethod): Use lambda-doc in Edebug spec.
93951         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
93952         cl-declarations-or-string to use lambda-doc, and modify Edebug
93953         spec for cl-lambda-expr to use cl-declarations-or-string.
93954         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
93955         use lambda-doc, as well as &define and def-body which are
93956         necessary for using Edebug on code wrapped by lambda.
93957         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
93958         Edebug specs.
93960 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
93962         Avoid byte-compilation warnings in message.el
93964         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
93965         avoid compiler warnings.
93967 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
93969         Fix bug in recent styled_format change
93971         Problem reported by Kaushal Modi in:
93972         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
93973         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
93974         not always followed by SAFE_FREE.  This bug was introduced in my
93975         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
93976         unnecessary copying in Fformat etc."
93978 2017-10-06  João Távora  <joaotavora@gmail.com>
93980         Cleanup emacs-lisp-mode's use of Flymake
93982         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
93983         Delete.
93984         (elisp-flymake-checkdoc): Incorporate old
93985         elisp-flymake--checkdoc-1.
93986         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
93987         here.
93988         (elisp-flymake-byte-compile): Remove spurious interactive spec.
93989         Simplify.  Cleanup on every possible exit.
93991 2017-10-06  João Távora  <joaotavora@gmail.com>
93993         Fix @include directive in Flymake doc
93995         * doc/misc/flymake.texi: Don't @include a relative path.
93997 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
93999         Move read-multiple-choice to its own library
94001         * lisp/emacs-lisp/rmc.el: New file.
94002         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
94003         * lisp/gnus/message.el:
94004         * lisp/net/nsm.el: Change required library.
94006 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
94008         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
94010         Fixes: Bug#28721
94012 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
94014         Fix typos in Flymake documentation
94016         * doc/misc/flymake.texi (Syntax check statuses)
94017         (Adding support for a new syntax check tool)
94018         (Implementation overview, Locating the buildfile): Fix typos.
94020         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
94021         (flymake-proc--find-possible-master-files):Fix typos.
94022         (flymake-proc--panic)
94023         (flymake-proc-legacy-flymake): Fix function reference in doc.
94025         * lisp/progmodes/flymake.el (flymake-error)
94026         (flymake-diagnostic-functions): Fix typos.
94027         (flymake-diagnostic-types-alist): Rephrase and fix typos.
94028         (flymake--backend-state): Fix typos and rephrase.
94029         (flymake--handle-report): Delete empty line.
94030         (flymake--disable-backend)
94031         (flymake--run-backend): Fix typos.
94032         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
94034 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
94036         Revert last change in 'shr-descend'
94038         * lisp/net/shr.el (shr-descend): Revert the part of the last
94039         change which introduced calls to shr-indirect-call into this
94040         function.  Add a comment explaining the rationale for that.
94041         (Bug#28402)
94043 2017-10-06  João Távora  <joaotavora@gmail.com>
94045         Don't error when turning on Flymake with no known backends
94047         Leave it to the mode line indicator to inform the user that there
94048         is still some configuration to do.
94050         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
94052 2017-10-06  João Távora  <joaotavora@gmail.com>
94054         Delete a Flymake obsolete alias that can't possibly work
94056         The function `flymake-ler-make-ler' can't possibly work as an backward
94057         compatible interface to existing extensinos (even purely hypothetical
94058         ones, since none are known).  This is because every diagnostic
94059         considered by Flymake has to passed to a report-fn function.
94061         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
94063 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
94065         Fix bug with unmounted directory on GNU/Linux
94067         * src/sysdep.c (emacs_get_current_dir_name): Do not use
94068         get_current_dir_name result unless it is absolute (Bug#27871).
94071 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
94073         Update authors.el
94075         * admin/authors.el (authors-renamed-files-alist)
94076         (authors-valid-file-names): Additions.
94078 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
94080         Fix dynamic binding wrapper in iter-lambda (bug#25965)
94082         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
94083         Remove extra evaluation of form.
94084         * test/lisp/emacs-lisp/generator-tests.el
94085         (cps-iter-lambda-with-dynamic-binding): New test.
94087 2017-10-05  Rasmus  <rasmus@gmx.us>
94089         Update Org to v9.1.2
94091         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
94093 2017-10-05  Alan Mackenzie  <acm@muc.de>
94095         Fix irregularities with CC Mode fontification, particularly with "known types"
94097         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
94098         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
94099         type.
94100         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
94101         have a construct like the above.  Pass this as argument to
94102         c-font-lock-declarators.
94103         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
94104         being processed starts before the function's starting position.
94105         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
94106         preceded by, e.g., "struct"".
94108         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
94109         (c-template-typename-key): New lang defconsts and defvar.
94111 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
94113         Fix breakage due to recent change in tabulated-list-print-entry
94115         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
94116         Update the doc string.
94117         (tabulated-list-print-entry): Revert to using only 2 arguments.
94118         Update the doc string.
94119         (tabulated-list-entry-lnum-width): New defvar.
94120         (tabulated-list-print): Compute the width of line-number display
94121         once, then store that value in tabulated-list-entry-lnum-width,
94122         for tabulated-list-printer to use.  (Bug#28704)
94124 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
94126         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
94128 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
94130         Set xterm click count to 1 even with no last click
94132         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
94133         the last click so that click-count is initialized properly.
94134         Handle the value of t for double-click-time.
94135         (Bug#28658)
94137 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
94139         Support indirection for all shr-tag-* calls
94141         The 'shr-external-rendering-functions' variable was previously only
94142         honored in the shr-descend function, now all direct calls to the
94143         shr-tag-* functions have been replaced by a call to
94144         'shr-indirect-call' which tries using an alternative rendering
94145         function first.
94147         * lisp/net/shr.el (shr-indirect-call): New helper function.
94148         (shr-descend, shr-tag-object, shr-tag-video):
94149         (shr-collect-extra-strings-in-table): Fix callers to call via
94150         shr-indirect-call.  (Bug#28402)
94152 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
94154         Speed up list-packages when 'visual' line numbers are displayed
94156         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
94157         Update the doc string.
94158         (tabulated-list-print-entry): Accept an additional optional
94159         argument INDENT.  Update the doc string.
94160         (tabulated-list-print): Compute the width of line-number display
94161         once, then call tabulated-list-printer with that value as 3rd
94162         argument.  (Bug#28704)
94164 2017-10-05  João Távora  <joaotavora@gmail.com>
94166         Misc. minor adjustments to Flymake
94168         - Add a half-decent minor-mode menu;
94169         - Fix "waiting for backends" mode line message;
94170         - Adjust the flymake-diag-region API;
94171         - Autoload the flymake-log macro;
94172         - Auto-disable the legacy backend in more situations;
94173         - Fix a couple of warnings in legacy backend.
94175         * lisp/progmodes/flymake-proc.el
94176         (flymake-proc--diagnostics-for-pattern): Use new
94177         flymake-diag-region.
94179         * lisp/progmodes/flymake-proc.el
94180         (flymake-proc-legacy-flymake): Do error when no
94181         buffer-file-name or not writable.
94182         (flymake-proc-legacy-flymake)
94183         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
94185         * lisp/progmodes/flymake.el (flymake-diag-region):
94186         Autoload.  Take buffer as first argument.
94188         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
94189         New command.
94190         (flymake-menu): Add a simple menu.
94191         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
94192         log buffer when clicking exceptional warnings.
94194 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
94196         Fix search for ~/.Xdefaults-HOSTNAME
94198         * src/xrdb.c (get_environ_db): Fix typo when handling
94199         ~/.Xdefaults-HOSTNAME (Bug#28708).
94201 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
94203         Speed up (format "%s" STRING) and the like
94205         Although the Lisp manual said that ‘format’ returns a
94206         newly-allocated string, this was not true for a few cases like
94207         (format "%s" ""), and fixing the documentation to allow reuse of
94208         arguments lets us improve performance in common cases like
94209         (format "foo") and (format "%s" "foo") (Bug#28625).
94210         * doc/lispref/strings.texi (Formatting Strings):
94211         * etc/NEWS:
94212         Say that the result of ‘format’ might not be newly allocated.
94213         * src/callint.c (Fcall_interactively):
94214         * src/dbusbind.c (XD_OBJECT_TO_STRING):
94215         * src/editfns.c (Fmessage, Fmessage_box):
94216         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
94217         Just use Fformat or Fformat_message, as that’s simpler and no
94218         longer makes unnecessary copies.
94219         * src/editfns.c (styled_format): Remove last argument, as it
94220         is no longer needed: all callers now want it to behave as if it
94221         were true.  All remaining callers changed.  Make this function
94222         static again.  Simplify the function now that we no longer
94223         need to worry about whether the optimization is allowed.
94225 2017-10-04  Alan Mackenzie  <acm@muc.de>
94227         Fontify untyped function declarations in C Mode correctly.
94229         Also correct two bugs where deleting WS at a BOL could leave an untyped
94230         function declaration unfontified.
94232         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
94233         "top-level" when we're in a macro.
94234         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
94235         Mode as a implicitly typed function declaration.
94236         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
94237         macro.  It's not a function plus arglist.
94239         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
94240         defvar.
94242         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
94243         over any following parenthesis expression (i.e. parameter list).
94244         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
94245         the returned region, to cope with deletions at column 0.
94247 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
94249         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
94251         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
94253 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
94255         Avoid crashes on C-g when several threads wait for input
94257         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
94258         (getcjmp): Define to current thread's 'm_getcjmp'.
94259         * src/thread.c (maybe_reacquire_global_lock): Switch to main
94260         thread, since this is called from a SIGINT handler, which always
94261         runs in the context of the main thread.
94262         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
94263         definitions before thread.h is included, as thread.h now uses
94264         sys_jmp_buf.
94265         * src/keyboard.c (getcjmp): Remove declaration.
94266         (read_char): Don't call maybe_reacquire_global_lock here.
94267         (handle_interrupt): Call maybe_reacquire_global_lock here, if
94268         invoked from the SIGINT handler, to make sure
94269         quit_throw_to_read_char runs with main thread's Lisp bindings and
94270         uses the main thread's jmp_buf buffer.  (Bug#28630)
94272 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
94274         Warn if --without-pop is now the default
94276         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
94277         Warn about the change if defaulting to "no".  Update URLs.
94279 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
94281         --with-pop is now the default only on MS-Windows
94283         Problem reported by N. Jackson (Bug#28597).
94284         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
94285         * INSTALL, configure.ac, etc/NEWS:
94286         Make --with-pop the default only on native MS-Windows.
94288 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
94290         Add support for `file-system-info' in Tramp
94292         * lisp/net/tramp.el (tramp-file-name-for-operation):
94293         Add `file-system-info'.
94295         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
94296         (tramp-adb-file-name-handler-alist): Use it.
94298         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
94299         (tramp-gvfs-file-system-attributes-regexp): New defconst.
94300         (tramp-gvfs-handle-file-system-info): New defun.
94301         (tramp-gvfs-file-name-handler-alist): Use it.
94302         (tramp-gvfs-get-directory-attributes): Fix property name.
94303         (tramp-gvfs-get-root-attributes): Support also file system attributes.
94305         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
94306         (tramp-sh-file-name-handler-alist): Use it.
94307         (tramp-sh-handle-insert-directory): Insert size information.
94308         (tramp-get-remote-df): New defun.
94310         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
94311         (tramp-smb-file-name-handler-alist): Use it.
94312         (tramp-smb-handle-insert-directory): Insert size information.
94314         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
94315         New test.
94316         (tramp-test38-asynchronous-requests)
94317         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
94318         (tramp-test41-unload): Rename.
94320 2017-10-03  João Távora  <joaotavora@gmail.com>
94322         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
94324 2017-10-03  João Távora  <joaotavora@gmail.com>
94326         Start rewriting Flymake manual
94328         Missing the parts pertaining to the new customization API.
94330         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
94331         (Installing Flymake): Delete most of this.
94332         (Running the syntax check): Mention flymake-start.
94333         (Navigating to error lines): Rewrite.
94334         (Viewing error messages): Commente out.
94335         (Syntax check statuses, Troubleshooting): Rewrite a bit.
94336         (Customizable variables): New section under "Using
94337         Flymake".  Don't mention any proc variables here.
94338         (Configuring Flymake): Delete
94339         (Proc backend): New chapter
94340         (Proc customization variables): New chapter.
94342         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
94343         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
94344         (Running the syntax check): Simplify.
94345         (Viewing error messages): Dekete,
94346         (Syntax check statuses): Rewrite.
94347         (Troubleshooting): Simplify.
94348         (Customizable variables): Rewrite.
94349         (Extending Flymake): New chapter, empty for now.
94350         (The legacy Proc backend): New chapter.
94351         (Proc customizable variables)
94352         (Adding support for a new syntax check tool)
94353         (Implementation overview)
94354         (Making a temporary copy)
94355         (Locating a master file)
94356         (Getting the include directories)
94357         (Locating the buildfile)
94358         (Starting the syntax check process)
94359         (Parsing the output)
94360         (Interaction with other modes)
94361         (Example---Configuring a tool called via make)
94362         (Example---Configuring a tool called directly): Rewrite a bit.
94364 2017-10-03  João Távora  <joaotavora@gmail.com>
94366         Minimal tweak as an attempt to future-proof Flymake API
94368         Discussed with Stefan that this should allow Flymake to request more
94369         from backends in the future, while also allowing backends to report
94370         more accurately.
94372         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
94373         (elisp-flymake-byte-compile): Adjust to new API.
94375         * lisp/progmodes/flymake-proc.el ()
94376         (flymake-proc-legacy-flymake): Adjust to new API.
94378         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
94379         Review API again.
94380         (flymake--handle-report): Allow other keys.  Change ACTION to
94381         REPORT-ACTION.
94383 2017-10-03  João Távora  <joaotavora@gmail.com>
94385         Integrate Flymake elisp checkers into elisp-mode.el directly
94387         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
94388         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
94389         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
94390         (elisp-flymake--byte-compile-done)
94391         (elisp-flymake--byte-compile-process)
94392         (elisp-flymake-byte-compile): Rename from flymake-elisp
94393         counterparts in deleted flymake-elisp.el
94394         (elisp-flymake--batch-compile-for-flymake): New helper.
94395         (checkdoc-create-error-function)
94396         (checkdoc-autofix-flag)
94397         (checkdoc-generate-compile-warnings-flag)
94398         (checkdoc-diagnostic-buffer): Forward declare.
94400         * lisp/progmodes/flymake-elisp.el: Delete.
94402 2017-10-03  João Távora  <joaotavora@gmail.com>
94404         Hook Flymake onto proper checkdoc and byte-compile interfaces
94406         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
94407         with little knowledge of actual internals or thought given to the
94408         usefulness of said interfaces in contexts other than Flymake's.
94410         * lisp/emacs-lisp/bytecomp.el
94411         (byte-compile-log-warning-function): New variable.
94412         (byte-compile-log-warning): Use it.
94413         (byte-compile--log-warning-for-byte-compile): New function.
94415         * lisp/emacs-lisp/checkdoc.el
94416         (checkdoc-create-error-function): New variable.
94417         (checkdoc-create-error): Use it.
94418         (checkdoc--create-error-for-checkdoc): New function.xo
94420         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
94421         Use checkdoc-create-error-function.
94422         (flymake-elisp--batch-byte-compile): Use
94423         byte-compile-log-warning-function.
94425 2017-10-03  João Távora  <joaotavora@gmail.com>
94427         Tweak Flymake autoloads and dependencies
94429         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
94430         flymake-diagnostic-functions here.
94432         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
94433         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
94434         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
94435         Autoload.  (flymake-elisp-setup-backends): Remove.
94437         * lisp/progmodes/flymake.el: Add some top-level comments.
94438         (flymake-make-diagnostic)
94439         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
94441         Where to fixup this shit?
94443 2017-10-03  João Távora  <joaotavora@gmail.com>
94445         Capitalize "Flymake" in docstrings and comments
94447         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
94448         (flymake-elisp-setup-backends): Capitalize "Flymake"
94450         * lisp/progmodes/flymake-proc.el:
94451         (flymake-proc-reformat-err-line-patterns-from-compile-el)
94452         (flymake-proc--panic, flymake-proc-legacy-flymake)
94453         (flymake-start-syntax-check, flymake-proc-compile)
94454         (define-obsolete-variable-alias): Capitalize "Flymake"
94456         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
94457         (flymake-make-diagnostic, flymake-delete-own-overlays)
94458         (flymake-diagnostic-functions)
94459         (flymake-diagnostic-types-alist, flymake-is-running)
94460         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
94461         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
94463 2017-10-03  João Távora  <joaotavora@gmail.com>
94465         Flymake backends can report multiple times per check
94467         Rewrote a significant part of the Flymake backend API.  Flymake now
94468         ignores the return value of backend functions: a function can either
94469         returns or errors.  If it doesn't error, a backend is no longer
94470         constrained to call REPORT-FN exactly once.  It may do so any number
94471         of times, cumulatively reporting diagnostics.  Flymake keeps track of
94472         outdated REPORT-FN instances and disconsiders obsolete reports.
94473         Backends should avoid reporting obsolete data by canceling any
94474         ongoing processing at every renewed call to the backend function.
94476         Consolidated flymake.el internal data structures to require less
94477         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
94478         new semantics.
94480         Adapted and simplified the implementation of elisp and legacy
94481         backends, fixing potential race conditions when calling backends in
94482         rapid succession.
94484         Added a new test for a backend that calls REPORT-FN multiple
94485         times.  Simplify test infrastructure.
94487         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
94488         (flymake-elisp-byte-compile): Error instead of returning nil
94489         if not in emacs-lisp-mode.
94490         (flymake-elisp--byte-compile-process): New buffer-local variable.
94491         (flymake-elisp-byte-compile): Mark (and kill) previous process
94492         obsolete process before starting a new one.  Don't report if
94493         obsolete process.
94495         * lisp/progmodes/flymake-proc.el
94496         (flymake-proc--current-process): New buffer-local variable.
94497         (flymake-proc--processes): Remove.
94498         (flymake-proc--process-filter): Don't bind
94499         flymake-proc--report-fn.
94500         (flymake-proc--process-sentinel): Rewrite.  Don't report if
94501         obsolete process.
94502         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
94503         previous process obsolete process before starting a new
94504         one.  Integrate flymake-proc--start-syntax-check-process
94505         helper.
94506         (flymake-proc--start-syntax-check-process): Delete.
94507         (flymake-proc-stop-all-syntax-checks): Don't use
94508         flymake-proc--processes, iterate buffers.
94509         (flymake-proc-compile):
94511         * lisp/progmodes/flymake.el (subr-x): Require it
94512         explicitly.
94513         (flymake-diagnostic-functions): Reword docstring.
94514         (flymake--running-backends, flymake--disabled-backends)
94515         (flymake--diagnostics-table): Delete.
94516         (flymake--backend-state): New buffer-local variable and new defstruct.
94517         (flymake--with-backend-state, flymake--collect)
94518         (flymake-running-backends, flymake-disabled-backends)
94519         (flymake-reporting-backends): New helpers.
94520         (flymake-is-running): Use flymake-running-backends.
94521         (flymake--handle-report): Rewrite.
94522         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
94523         buffer or not at all.
94524         (flymake--disable-backend, flymake--run-backend): Rewrite.
94525         (flymake-start): Rewrite.
94526         (flymake-mode): Set flymake--backend-state.
94527         (flymake--mode-line-format): Rewrite.
94529         * test/lisp/progmodes/flymake-tests.el
94530         (flymake-tests--wait-for-backends): New helper.
94531         (flymake-tests--call-with-fixture): Use it.
94532         (included-c-header-files): Fix whitespace.
94533         (flymake-tests--diagnose-words): New helper.
94534         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
94535         (flymake-tests--assert-set): Use quote.
94536         (recurrent-backend): New test.
94538 2017-10-03  João Távora  <joaotavora@gmail.com>
94540         Flymake uses proper idle timers
94542         Also, flymake-no-changes-timeout can be set to nil to disable
94543         automatic periodic checks.  But even in that situation the idle timer
94544         still runs at a reduced rate to detect changes in the variable and
94545         revert that decision.
94547         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
94548         (flymake-last-change-time): Delete.
94549         (flymake--schedule-timer-maybe): New helper.
94550         (flymake-after-change-function): Use it.
94551         (flymake-on-timer-event): Delete
94552         (flymake-mode): Don't scheduler timer.
94554 2017-10-03  João Távora  <joaotavora@gmail.com>
94556         Flymake variable flymake-diagnostic-functions now a special hook
94558         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
94559         flymake-diagnostic-functions.
94561         * lisp/progmodes/flymake-elisp.el
94562         (flymake-elisp-setup-backends): Use add-hook.
94564         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
94565         Revise docstring.
94566         (flymake-start): Use run-hook-wrapped.
94568 2017-10-03  João Távora  <joaotavora@gmail.com>
94570         Batch of minor Flymake cleanup actions agreed to with Stefan
94572         Discussed with Stefan, in no particular order
94574         - Remove aliases for symbols thought to be internal to flymake-proc.el
94575         - Don’t need :group in defcustom and defface in flymake.el
94576         - Fix docstring of flymake-make-diagnostic
94577         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
94578         - Mark overlays with just the property ’flymake, not ’flymake-overlay
94579         - Tune flymake-overlays for performance
94580         - Make flymake-mode-on and flymake-mode-off obsolete
94581         - Don’t use hash-table-keys unless necessary.
94582         - Copyright notice in flymake-elisp.
94584         Added some more
94586         - Clarify docstring of flymake-goto-next-error
94587         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
94588         - Prevent compilation warnings in flymake-proc.el
94589         - Remove doctring from obsolete aliases
94591         Now the changelog:
94593         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
94595         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
94596         (flymake-proc-diagnostic-type-pred)
94597         (flymake-proc-default-guess)
94598         (flymake-proc--get-file-name-mode-and-masks): Move up to
94599         beginning of file to shoosh compiler warnings
94600         (define-obsolete-variable-alias): Delete many obsolete aliases.
94602         * lisp/progmodes/flymake.el (flymake-error-bitmap)
94603         (flymake-warning-bitmap, flymake-note-bitmap)
94604         (flymake-fringe-indicator-position)
94605         (flymake-start-syntax-check-on-newline)
94606         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
94607         (flymake-start-syntax-check-on-find-file, flymake-log-level)
94608         (flymake-wrap-around, flymake-error, flymake-warning)
94609         (flymake-note): Don't need :group in these defcustom and defface.
94610         (flymake--run-backend): Clarify comment
94611         (flymake-mode-map): Remove.
94612         (flymake-make-diagnostic): Fix docstring.
94613         (flymake--highlight-line, flymake--overlays): Identify flymake
94614         overlays with just ’flymake.
94615         (flymake--overlays): Reverse order of invocation for
94616         cl-remove-if-not and cl-sort.
94617         (flymake-mode-on)
94618         (flymake-mode-off): Make obsolete.
94619         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
94620         (flymake-diagnostic-functions): Clarify keyword arguments in
94621         docstring.
94623         Maybe squash in that one where I remove many obsoletes
94625 2017-10-03  João Távora  <joaotavora@gmail.com>
94627         Explicitly add a(n empty) keymap for Flymake
94629         Too early to decide what will be in it, if anything.  Though "M-n" and
94630         "M-p" would be great.
94632         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
94634 2017-10-03  João Távora  <joaotavora@gmail.com>
94636         Flymake uses some new fringe bitmaps
94638         Also fix behavior whereby flymake wouldn't react to a change in the
94639         variable.
94641         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
94642         (flymake-warning-bitmap): Update bitmaps.
94643         (flymake-note-bitmap): New defcustom.
94644         (flymake-double-exclamation-mark): New bitmap.
94645         (flymake-error, flymake-warning, flymake-note)
94646         (flymake--highlight-line): 'bitmap property must be a symbol.
94647         Also set default face to flymake-error.
94648         (flymake--fringe-overlay-spec): Bitmap property can be a
94649         variable symbol.
94651 2017-10-03  João Távora  <joaotavora@gmail.com>
94653         Remove old flymake-display-err-menu-for-current-line, it's useless
94655         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
94657         * lisp/progmodes/flymake-ui.el
94658         (flymake-popup-current-error-menu): Remove.
94660 2017-10-03  João Távora  <joaotavora@gmail.com>
94662         Treat Flymake errors as just another type of diagnostic
94664         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
94665         (flymake--handle-report, flymake-popup-current-error-menu):
94666         Don't use it.
94668 2017-10-03  João Távora  <joaotavora@gmail.com>
94670         Fix three Flymake bugs when checking C header files
94672         The first of these problems is longstanding: if an error-less B.h is
94673         included from error-ridden A.h, flymake's legacy parser will panic
94674         (and disable itself) since it sees a non-zero exit for a clean file.
94675         To fix this, recommend returning 'true' in the documentation for the
94676         check-syntax target.
94678         Another problem was introduced by the parser rewrite.  For error
94679         patterns spanning more than one line, point may be left in the middle
94680         of a line and thus render other patterns useless.  Those patterns were
94681         written for the old line-by-line parser.  To make them useful again,
94682         move to the beginning of line in those situations.
94684         The third problem was also longstanding and happened on newer GCC's:
94685         The "In file included from" prefix confused
94686         flymake-proc-get-real-file-name.  Fix this.
94688         Also updated flymake--diag-region to fallback to highlighting a full
94689         line less often.
94691         Add automatic tests to check this.
94693         * lisp/progmodes/flymake-proc.el
94694         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
94695         accidentally spans more than one line.  Don't create
94696         diagnostics without error messages.
94697         (flymake-proc-real-file-name-considering-includes): New
94698         helper.
94699         (flymake-proc-allowed-file-name-masks): Use it.
94701         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
94702         argument explicitly optional.  Only fall back to full line in extreme
94703         cases.
94705         * test/lisp/progmodes/flymake-tests.el
94706         (included-c-header-files): New test.
94707         (different-diagnostic-types): Update.
94709         * test/lisp/progmodes/flymake-resources/Makefile
94710         (check-syntax): Always return success (0) error code.
94711         (CC_OPTS): Add -Wextra
94713         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
94714         (main): Rewrite comments.
94716         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
94717         Include some dummy header files.
94719         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
94721         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
94723         * doc/misc/flymake.texi (Example---Configuring a tool called
94724         via make): Recommend adding "|| true" to the check-syntax target.
94726 2017-10-03  João Távora  <joaotavora@gmail.com>
94728         Add interactive flymake-start function
94730         * lisp/progmodes/flymake.el (flymake-on-timer-event)
94731         (flymake-after-change-function, flymake-mode): Call
94732         flymake-start.
94733         (flymake-start): Rename from flymake--start-syntax-check.
94735 2017-10-03  João Távora  <joaotavora@gmail.com>
94737         A couple of Flymake backends for emacs-lisp-mode
94739         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
94740         automatically, but it affects emacs-lisp-mode-hook so that
94741         flymake-diagnostic-functions is setup with a suitable buffer-local
94742         value.  The variable flymake-diagnostic-functions in every live
94743         emacs-lisp-mode buffer is also adjusted.
94745         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
94747         * lisp/progmodes/flymake-elisp.el: New file.
94749 2017-10-03  João Távora  <joaotavora@gmail.com>
94751         Fancy Flymake mode-line construct displays status
94753         Imitates compilation-mode's mode-line a bit, and uses its faces.
94755         * lisp/progmodes/flymake.el
94756         (flymake-error, flymake-warning, flymake-note): Add
94757         mode-line-face to these flymake error types.
94758         (flymake-note): Notes don't need a noisy fringe bitmap.
94759         (flymake-lighter): Delete.
94760         (flymake--update-lighter): Delete.
94761         (flymake--mode-line-format): New function and variable.
94762         (flymake--diagnostics-table): New buffer-local variable.
94763         (flymake--handle-report): Don't update "lighters".  Affect
94764         flymake--diagnostics-table.
94765         (flymake--run-backend): Init flymake--diagnostics-table for backend.
94766         (flymake-mode): Use flymake--mode-line-format.
94767         (flymake-mode): Don't update lighter.
94768         (flymake--highlight-line): Be more careful when overriding a
94769         nil default overlay property.
94771 2017-10-03  João Távora  <joaotavora@gmail.com>
94773         Tweak Flymake commands flymake-goto-[next/prev]-error
94775         Add filters, useful for backends like the upcoming
94776         flymake-elisp-checkdoc backend, for example, which litters everything
94777         with low-priority notes.
94779         Also re-implement wraparound for flymake-goto-next-error. Manual
94780         mentions this, so it's probably a good idea to keep it.  Added a new
94781         customization variable flymake-wrap-around to control it.
94783         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
94784         (flymake-goto-next-error): Accept FILTER argument.
94785         (flymake-wrap-around): New variable.
94786         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
94788         * test/lisp/progmodes/flymake-tests.el
94789         (different-diagnostic-types, dummy-backends): Pass FILTER to
94790         flymake-goto-prev-error.
94791         (different-diagnostic-types)
94792         (dummy-backends): Use flymake-wrap-around.
94794 2017-10-03  João Távora  <joaotavora@gmail.com>
94796         Flymake's flymake-proc.el backend slightly easier to debug
94798         Misc cleanup in flymake-proc.el
94800         Improve description of what this file contains.
94802         Better name for the backend function.  Fix the case where it is run
94803         interactively.
94805         Keep the output buffer alive iff the external process panics.
94807         * lisp/progmodes/flymake-proc.el
94808         (flymake-proc-legacy-flymake): Rename from
94809         flymake-proc-start-syntax-check.  Allow running interactively.
94810         (flymake-start-syntax-check): Obsolete alias for
94811         flymake-proc-legacy-flymake.
94812         (flymake-proc-start-syntax-check): Delete.
94813         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
94814         (flymake-proc--process-sentinel): Keep output buffer alive.
94815         Clarify with comments.
94816         (flymake-proc--diagnostics-for-pattern)
94817         (flymake-proc--process-sentinel)
94818         (flymake-proc--safe-delete-directory)
94819         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
94821 2017-10-03  João Távora  <joaotavora@gmail.com>
94823         Simplify Flymake logging and erroring
94825         Use display-warning and a dedicated *Flymake log* buffer.
94827         To ease readability, flymake log messages are now prefixed with a
94828         common prefix and the buffer that originated them.
94830         Some situations of over-zealous logging are fixed.
94832         Use byte-compiler info, if available, to determine whence the
94833         flymake-related log message is coming.
94835         * lisp/progmodes/flymake-proc.el
94836         (flymake-proc--diagnostics-for-pattern): Improve log message.
94837         (flymake-proc--panic): Always flymake-log an error
94838         (flymake-proc--safe-delete-file)
94839         (flymake-proc--safe-delete-directory):
94840         Downgrade warning
94841         (flymake-proc-start-syntax-check): Simplify slightly.
94842         (flymake-proc--start-syntax-check-process): Simplify.
94843         (flymake-proc--init-find-buildfile-dir)
94844         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
94845         No need to warn twice.
94847         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
94848         (flymake--log-1): New helper.
94849         (flymake-log-level): Deprecate.
94850         (flymake-error): New helper.
94851         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
94852         Use flymake-error.
94853         (flymake-on-timer-event)
94854         (flymake--handle-report, flymake--disable-backend)
94855         (flymake--run-backend, flymake-start, flymake-mode-on)
94856         (flymake-mode-off, flymake-after-change-function)
94857         (flymake-after-save-hook, flymake-find-file-hook): Adjust
94858         flymake-log calls.
94860         * test/lisp/progmodes/flymake-tests.el
94861         (flymake-tests--call-with-fixture): Only log errors.
94863 2017-10-03  Philipp Stephani  <phst@google.com>
94865         Work around deprecation of gtk_style_context_get_background_color
94867         * src/gtkutil.c (xg_check_special_colors): Replace call to
94868         gtk_style_context_get_background_color with its definition.
94870 2017-10-03  João Távora  <joaotavora@gmail.com>
94872         New Flymake API variable flymake-diagnostic-functions
94874         Lay groundwork for multiple active backends in the same buffer.
94876         Backends are lisp functions called when flymake-mode sees fit.  They
94877         are responsible for examining the current buffer and telling
94878         flymake.el, via return value, if they can syntax check it.
94879         Backends should return quickly and inexpensively, but they are also
94880         passed a REPORT-FN argument which they may or may not call
94881         asynchronously after performing more expensive work.
94883         REPORT-FN's calling convention stipulates that a backend calls it with
94884         a list of diagnostics as argument, or, alternatively, with a symbol
94885         denoting an exceptional situation, usually some panic resulting from a
94886         misconfigured backend.  In keeping with legacy behavior,
94887         flymake.el's response to a panic is to disable the issuing backend.
94889         The flymake--diag object representing a diagnostic now also keeps
94890         information about its source backend.  Among other uses, this allows
94891         flymake to selectively cleanup overlays based on which backend is
94892         updating its diagnostics.
94894         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
94895         New dynamic variable.
94896         (flymake-proc--process): New variable.
94897         (flymake-can-syntax-check-buffer): Remove.
94898         (flymake-proc--process-sentinel): Simplify.  Use
94899         unwind-protect.  Affect flymake-proc--processes here.
94900         Bind flymake-proc--report-fn.
94901         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
94902         (flymake-proc--post-syntax-check): Delete
94903         (flymake-proc-start-syntax-check): Take mandatory
94904         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
94905         (flymake-proc--process-sentinel): Rewrite and simplify.
94906         (flymake-proc--panic): New helper.
94907         (flymake-proc--start-syntax-check-process): Record report-fn
94908         in process.  Use flymake-proc--panic.
94909         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
94910         flymake-proc--processes here.  Record interruption reason.
94911         (flymake-proc--init-find-buildfile-dir)
94912         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
94913         Use flymake-proc--panic.
94914         (flymake-diagnostic-functions): Add
94915         flymake-proc-start-syntax-check.
94916         (flymake-proc-compile): Call
94917         flymake-proc-stop-all-syntax-checks with a reason.
94919         * lisp/progmodes/flymake.el (flymake-backends): Delete.
94920         (flymake-check-was-interrupted): Delete.
94921         (flymake--diag): Add backend slot.
94922         (flymake-delete-own-overlays): Take optional filter arg.
94923         (flymake-diagnostic-functions): New user-visible variable.
94924         (flymake--running-backends, flymake--disabled-backends): New
94925         buffer-local variables.
94926         (flymake-is-running): Now a function, not a variable.
94927         (flymake-mode-line, flymake-mode-line-e-w)
94928         (flymake-mode-line-status): Delete.
94929         (flymake-lighter):  flymake's minor-mode "lighter".
94930         (flymake-report): Delete.
94931         (flymake--backend): Delete.
94932         (flymake--can-syntax-check-buffer): Delete.
94933         (flymake--handle-report, flymake--disable-backend)
94934         (flymake--run-backend, flymake--run-backend):  New helpers.
94935         (flymake-make-report-fn): Make a lambda.
94936         (flymake--start-syntax-check): Iterate
94937         flymake-diagnostic-functions.
94938         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
94939         flymake--running-backends and flymake--disabled-backends.
94940         (flymake-find-file-hook): Simplify.
94942         * test/lisp/progmodes/flymake-tests.el
94943         (flymake-tests--call-with-fixture): Use flymake-is-running the
94944         function.  Check if flymake-mode already active before activating it.
94945         Add a thorough test for flymake multiple backends
94947         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
94948         Don't use condition-case-unless-debug, use condition-case
94950         * test/lisp/progmodes/flymake-tests.el
94951         (flymake-tests--assert-set): New helper macro.
94952         (dummy-backends): New test.
94954 2017-10-03  João Távora  <joaotavora@gmail.com>
94956         More Flymake cleanup before advancing to backend redesign
94958         Diagnostics are reported for buffers, not necessarily files.  It’s the
94959         backend’s responsibility to compute the buffer where the diagnostic is
94960         applicable.  For now, this has to match the buffer where flymake-mode
94961         is active and which is at the origin of the backend call.
94963         flymake.el knows nothing about line/column diagnostics (except for
94964         backward-compatible flymake-ler-make-ler, which must yet be tested).
94965         It’s also the backend’s responsibility to compute a BEG and END
94966         positions for the diagnostic in the relevant buffer.
94968         * lisp/progmodes/flymake-proc.el
94969         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
94970         region here.  Check file buffer here.
94971         (flymake-proc--process-sentinel): Don’t kill output buffer if
94972         high enough log level.
94974         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
94975         function.  (flymake--highlight-line): Diagnostic has region now.
94976         (flymake-popup-current-error-menu): Don’t add file and line numbers to
94977         already this silly menu.  (flymake--fix-line-numbers): Remove.
94978         (flymake-report): No need to fix diagnostics here.
94980 2017-10-03  João Távora  <joaotavora@gmail.com>
94982         Protect Flymake's eager checks against commands like fill-paragraph
94984         If flymake-start-syntax-check-on-newline is t, check should start as
94985         soon as a newline is seen by after-change-functions.  But don't rush
94986         it: since the buffer state might not be final, we might end up with
94987         invalid diagnostic regions after some commands silently insert and
94988         delete newlines (looking at you, fill-paragraph).
94990         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
94991         `deferred' to flymake--start-syntax-check.
94992         (flymake--start-syntax-check): Take optional `deferred' arg.
94994 2017-10-03  João Távora  <joaotavora@gmail.com>
94996         Flymake highlights GCC info/notes as detected by flymake-proc.el
94998         * lisp/progmodes/flymake-proc.el
94999         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
95000         honour more sophisticated flymake-proc-diagnostic-type-pred.
95001         (flymake-warning-re): Is now an obsolete alias for
95002         flymake-proc-diagnostic-type-pred.
95003         (flymake-proc-diagnostic-type-pred): Rename and augment from
95004         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
95005         Delete.
95007         * lisp/progmodes/flymake.el (flymake-note): New face.
95008         (flymake-diagnostic-types-alist): Simplify.
95009         (flymake-note): New overlay category.
95010         (flymake--lookup-type-property): Only lookup single keys, not lists.
95011         (flymake--diag-errorp): Rewrite.
95012         (flymake--highlight-line): Use flymake--lookup-type-property.
95014         * test/lisp/progmodes/flymake-tests.el
95015         (different-diagnostic-types): Rename from errors-and-warnings.
95016         Check notes.
95017         (flymake-tests--call-with-fixture): Use
95018         flymake-proc-diagnostic-type-pred.
95020 2017-10-03  João Távora  <joaotavora@gmail.com>
95022         Flymake checks file names before considering diagnostics
95024         The error patterns for gcc picked up errors for the Makefile itself,
95025         for example.  These shouldn't count as actual errors.
95027         * lisp/progmodes/flymake.el (flymake-report): Check
95028         matching file names.
95030 2017-10-03  João Távora  <joaotavora@gmail.com>
95032         Echo Flymake error messages when navigating errors interactively
95034         Perhaps binding M-n and M-p to flymake-goto-next-error and
95035         flymake-goto-prev-error also wouldn't be a bad idea.
95037         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
95038         target overlay's help-echo.
95040 2017-10-03  João Távora  <joaotavora@gmail.com>
95042         Add a new Flymake test for multiple errors and warnings
95044         * test/lisp/progmodes/flymake-tests.el
95045         (flymake-tests--call-with-fixture): Save excursion.
95046         (errors-and-warnings): New test.
95048         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
95049         New test fixture.
95051 2017-10-03  João Távora  <joaotavora@gmail.com>
95053         Flymake warning face easier to distinguish
95055         A orange wavy underline is very hard to tell from a red wavy
95056         underline.
95058         * lisp/progmodes/flymake.el (flymake-warning): Change color to
95059         "deep sky blue"
95061 2017-10-03  João Távora  <joaotavora@gmail.com>
95063         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
95065         Column numbers are not a great way of marking diagnostic regions, but
95066         that's probably all that can be expected from the flymake-proc.el
95067         backend.  For now, try (end-of-thing 'sexp) to discover the
95068         diagnostic's end position.
95070         * lisp/progmodes/flymake-proc.el ()
95071         (flymake-proc-err-line-patterns): Also parse column numbers,
95072         if available, for gcc/javac warnings.
95074 2017-10-03  João Távora  <joaotavora@gmail.com>
95076         New Flymake variable flymake-diagnostic-types-alist and much cleanup
95078         A new user-visible variable is introduced where different diagnostic
95079         types can be categorized.  Flymake backends can also contribute to
95080         this variable.  Anything that doesn’t match an existing error type
95081         is considered.
95083         The variable’s alists are used to propertize the overlays pertaining
95084         to each error type.  The user can override the built-in properties by
95085         either by modifying the alist, or by modifying the properties of a
95086         special "category" symbol, named by the `flymake-category' entry in
95087         the alist.
95089         The `flymake-category' entry is especially useful for, say, the author
95090         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
95091         should behave like notes, except with no fringe bitmap:
95093            (add-to-list 'flymake-diagnostic-types-alist
95094                         '(:foo-note
95095                           . ((flymake-category . flymake-note)
95096                              (bitmap . nil))))
95098         For essential properties like `severity', `priority', etc, a default
95099         value is produced.  Some properties like `evaporate' cannot be
95100         overridden.
95102         * lisp/progmodes/flymake.el (flymake--diag): Rename from
95103         flymake-ler.
95104         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
95105         (flymake-ler-errorp): Rewrite using flymake--severity.
95106         (flymake--place-overlay): Delete.
95107         (flymake--overlays): Now a cl-defun with &key args.  Document.
95108         Use `overlays-at' if BEG is non-nil and END is nil.
95109         (flymake--lookup-type-property): New helper.
95110         (flymake--highlight-line): Rewrite.
95111         (flymake-diagnostic-types-alist): New API variable.
95112         (flymake--diag-region)
95113         (flymake--severity, flymake--face)
95114         (flymake--fringe-overlay-spec): New helper.
95115         (flymake-popup-current-error-menu): Use new flymake-overlays.
95116         (flymake-popup-current-error-menu, flymake-report): Use
95117         flymake--diag-errorp.
95118         (flymake--fix-line-numbers): Use flymake--diag-line.
95119         (flymake-goto-next-error): Pass :key to flymake-overlays
95121         * lisp/progmodes/flymake-proc.el
95122         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
95124 2017-10-03  João Távora  <joaotavora@gmail.com>
95126         Refactor Flymake tests in preparation for more tests
95128         Introduce a slightly more generic fixture macro.
95130         Also make flymake-tests.el friendlier to interactive runs, by not
95131         killing buffers visited by the user.
95133         * test/lisp/progmodes/flymake-tests.el
95134         (flymake-tests--call-with-fixture): New helper from
95135         flymake-tests--current-face.  Don't kill file buffers already
95136         being visited before the test starts.
95137         (flymake-tests--with-flymake): New macro.
95138         (flymake-tests--current-face): Delete.
95139         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
95140         (warning-predicate-rx-perl, warning-predicate-function-perl):
95141         Use flymake-test--with-flymake.
95143 2017-10-03  João Távora  <joaotavora@gmail.com>
95145         Allow running Flymake tests from interactive sessions
95147         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
95148         Expand to reasonable value if no
95149         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
95150         "weirdness" of bug 17647 with read-event.
95152 2017-10-03  João Távora  <joaotavora@gmail.com>
95154         Flymake diagnostics now apply to arbitrary buffer regions
95156         Make Flymake UI some 150 lines lighter
95158         Strip away much of the original implementation's complexity in
95159         manipulating objects representing diagnostics as well as creating and
95160         navigating overlays.
95162         Lay some groundwork for a more flexible approach that allows for
95163         different classes of diagnostics, not necessarily line-based.
95164         Importantly, one overlay per diagnostic is created, whereas the
95165         original implementation had one per line, and on it it concatenated
95166         the results of errors and warnings.
95168         This means that currently, an error and warning on the same line are
95169         problematic and the warning might be overlooked but this will soon be
95170         fixed by setting appropriate priorities.
95172         Since diagnostics can highlight arbitrary regions, not just lines, the
95173         faces were renamed.
95175         Tests pass and backward compatibility with interactive functions is
95176         maintained, but probably any third-party extension or customization
95177         relying on more than a trivial set of flymake.el internals has stopped
95178         working.
95180         * lisp/progmodes/flymake-proc.el
95181         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
95182         constructor syntax.
95184         * lisp/progmodes/flymake.el (flymake-ins-after)
95185         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
95186         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
95187         (flymake-ler-set-full-file, flymake-ler-set-line)
95188         (flymake-get-line-err-count, flymake-get-err-count)
95189         (flymake-highlight-err-lines, flymake-overlay-p)
95190         (flymake-make-overlay, flymake-region-has-flymake-overlays)
95191         (flymake-find-err-info)
95192         (flymake-line-err-info-is-less-or-equal)
95193         (flymake-add-line-err-info, flymake-add-err-info)
95194         (flymake-get-first-err-line-no)
95195         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
95196         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
95197         (flymake-goto-line, flymake-goto-next-error)
95198         (flymake-goto-prev-error, flymake-patch-err-text): Delete
95199         functions no longer used.
95200         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
95201         (flymake-report): Rewrite.
95202         (flymake-popup-current-error-menu): Rewrite.
95203         (flymake--highlight-line): Rename from
95204         flymake-highlight-line.  Call `flymake--place-overlay.
95205         (flymake--place-overlay): New function.
95206         (flymake-ler-errorp): New predicate.
95207         (flymake-ler): Simplify.
95208         (flymake-error): Rename from
95209         flymake-errline.
95210         (flymake-warning): Rename from flymake-warnline.
95211         (flymake-warnline, flymake-errline): Obsoletion aliases.
95213         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
95214         (warning-predicate-function-gcc, warning-predicate-rx-perl)
95215         (warning-predicate-function-perl): Use face `flymake-warning'.
95217 2017-10-03  João Távora  <joaotavora@gmail.com>
95219         Move symbols in flymake-proc.el to separate namespace
95221         Every symbol in this flymake now starts with the prefix flymake-proc-.
95223         Make obsolete aliases for (almost?) every symbol.
95225         Furthermore, many flymake-proc.el symbols are prefixed with
95226         "flymake-proc--", that is they were considered internal.
95228         Some customization variables, interactive functions, and other symbols
95229         considered useful to user customizations or third-party libraries are
95230         considered "public" or "external" and so use a "flymake-proc-" prefix.
95232         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
95234         * test/lisp/progmodes/flymake-tests.el
95235         (flymake-tests--current-face): Use
95236         flymake-proc-warning-predicate, not flymake-warning-predicate.
95238         * lisp/progmodes/flymake-proc.el
95239         (flymake-proc--get-project-include-dirs-function)
95240         (flymake-proc--get-project-include-dirs-imp)
95241         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
95242         (flymake-proc--find-make-buildfile)
95243         (flymake-proc--get-syntax-check-program-args)
95244         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
95245         (flymake-proc--init-find-buildfile-dir)
95246         (flymake-proc--get-full-nonpatched-file-name)
95247         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
95248         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
95249         (flymake-proc--temp-source-file-name)
95250         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
95251         (flymake-proc--start-syntax-check-process)
95252         (flymake-proc--compilation-is-running)
95253         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
95254         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
95255         (flymake-proc--clear-project-include-dirs-cache)
95256         (flymake-proc--project-include-dirs-cache)
95257         (flymake-proc--get-system-include-dirs)
95258         (flymake-proc--get-project-include-dirs)
95259         (flymake-proc--add-project-include-dirs-to-cache)
95260         (flymake-proc--get-project-include-dirs-from-cache)
95261         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
95262         (flymake-proc--process-filter) (flymake-proc--create-master-file)
95263         (flymake-proc--find-buffer-for-file)
95264         (flymake-proc--copy-buffer-to-temp-buffer)
95265         (flymake-proc--read-file-to-temp-buffer)
95266         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
95267         flymake-proc--check-include)
95268         (flymake-proc--check-patch-master-file-buffer)
95269         (flymake-proc--master-file-compare)
95270         (flymake-proc--find-possible-master-files)
95271         (flymake-proc--included-file-name, flymake-proc--same-files)
95272         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
95273         (flymake-proc--clear-buildfile-cache)
95274         (flymake-proc--add-buildfile-to-cache)
95275         (flymake-proc--get-buildfile-from-cache)
95276         (flymake-proc--find-buildfile-cache)
95277         (flymake-proc--get-real-file-name-function)
95278         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
95279         (flymake-proc--get-file-name-mode-and-masks)
95280         (flymake-proc--processes): Rename to internal symbol from
95281         flymake-proc- version.
95283 2017-10-03  João Távora  <joaotavora@gmail.com>
95285         Completely rewrite Flymake's subprocess output processing
95287         Instead of parsing and matching regexps line-by-line, insert
95288         subprocess output in a separate buffer and parse using
95289         `search-forward-regexp'.  This eventually enables multi-line error
95290         patterns and simplifies code all around.  Store per-check information
95291         in the subprocess using `process-get' and `process-put'.  Treat error
95292         messages, warnings, etc. more generically as "diagnostics".  Create
95293         these objects as soon as possible, reusing existing `flymake-ler'
95294         structure.  Fix some whitespace.
95296         * lisp/progmodes/flymake.el (cl-lib): Require also when
95297         loading.
95298         (flymake--fix-line-numbers): Rename from
95299         flymake-fix-line-numbers.  Simplify.
95300         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
95301         plain diagnostics list into alist format expected by
95302         flymake-highlight-err-lines.
95304         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
95305         process output and parse in dedicated output buffer.
95306         (flymake-proc--diagnostics-for-pattern): New helper function.
95307         (flymake-process-sentinel): Call flymake-post-syntax-check with
95308         collected diagnostics.  Kill output buffer.
95309         (flymake-post-syntax-check): Receive diagnostics as third argument.
95310         (flymake-parse-output-and-residual, flymake-new-err-info)
95311         (flymake-parse-residual, flymake-parse-err-lines)
95312         (flymake-split-output, flymake-proc-parse-line)
95313         (flymake-output-residual): Delete.
95314         (flymake-start-syntax-check-process): Use make-process.  Setup
95315         dedicated an output buffer
95317 2017-10-03  João Távora  <joaotavora@gmail.com>
95319         Flymake provides flymake-report re-entry point for backends
95321         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
95322         Simplify.  Call flymake-report.
95324         * lisp/progmodes/flymake.el (flymake-report): New function.
95326 2017-10-03  João Távora  <joaotavora@gmail.com>
95328         Split Flymake into flymake.el into flymake-proc.el (again!)
95330         After deciding that this work would continue on master only, which
95331         caused two commits named
95333            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
95335         and
95337            Revert "Add flymake-backends defcustom"
95339         to be added to the emacs-26 branch, further discussion reversed that
95340         decision.
95342            See:
95344              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
95345              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
95347         This means that those two commits MUST be merged to master AFTER ALL.
95349         flymke-proc.el contains the main syntax-checking backend, while
95350         flymake.el keeps mostly the UI part.
95352         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
95354         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
95356 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
95358         Update authors.el
95360         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
95361         (authors-renamed-files-alist): Additions.
95363 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
95365         Give more helpful messages for python completion setup failures
95367         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
95368         case the completion setup failed with some exception, print out the
95369         exception type and message.  If libedit is detected, raise an
95370         exception, since this is known to fail.
95372 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
95374         Fix the --without-x build
95376         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
95377         frame_parent only in GUI builds to avoid compilation errors in
95378         --without-x builds.  (Bug#28611)
95380 2017-10-02  Paul Eggert  <eggert@day>
95382         Fix customization of zoneinfo-style-world-list
95384         A customizable variable's initial value cannot depend on that of
95385         another customizable variable, since the variables are initialized
95386         in other than textual order.  Problem reported by N. Jackson
95387         (Bug#24291).
95388         * lisp/time.el (display-time-world-list): Default to t,
95389         a special value that expands to zoneinfo-style-word-list
95390         if that works, and to legacy-style-word-list otherwise.
95391         (time--display-world-list): New function.
95392         (display-time-world, display-time-world-timer): Use it.
95394 2017-10-02  Alan Mackenzie  <acm@muc.de>
95396         Fix a CC Mode brace stack cache bug.
95398         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
95399         c-beginning-of-current-token after a failing search operation, to ensure we
95400         don't cache a point inside a token.
95402 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
95404         * etc/PROBLEMS: Document Bug#26638.
95406 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
95408         Prefer HTTPS to HTTP for gnu.org
95410         This fixes some URLs I omitted from my previous pass,
95411         notably those in lists.gnu.org.  Although lists.gnu.org
95412         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
95413         * lisp/erc/erc.el (erc-official-location):
95414         * lisp/mail/emacsbug.el (report-emacs-bug):
95415         Use https:, not http:.
95417 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
95419         Merge from Gnulib
95421         This is mostly to change http: to https: in licenses.
95422         * COPYING, build-aux/config.guess, build-aux/config.sub:
95423         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
95424         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
95425         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
95426         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
95427         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
95428         * msdos/COPYING, nt/COPYING, src/COPYING:
95429         Copy from Gnulib.
95431 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
95433         Keep eww buffer current when looking up CSS on MDN
95435         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
95436         current when looking up CSS documentation on MDN.  This fixes a bug
95437         where the eww buffer's content sometimes get mangled when switching
95438         buffers mid-render.
95440 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
95442         Workaround for faulty localtime() under macOS 10.6
95444         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
95445         'decode-time' on times later than year -2**31 under macOS 10.6.
95446         See Bug#27706.
95448 2017-10-01  Alan Mackenzie  <acm@muc.de>
95450         Doc amendment for syntax-ppss.
95452         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
95453         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
95454         buffer.  Final part of the fix for bug #22983.
95456 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
95458         Remove incorrect NEWS entry about 'find-library'
95460         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
95461         'find-library' taking a prefix argument to pop to a different
95462         window.  This behavior was added in "Allow a prefix argument to
95463         find-library to pop to a different window" (commit e1f2d14a), and
95464         then removed in "New commands: find-library-other-window,
95465         find-library-other-frame" (commit 021430f4).
95467 2017-10-01  Alan Mackenzie  <acm@muc.de>
95469         Remove inadvertent changes to syntax.texi in last commit.
95471         * doc/lispref/syntax.texi (Position Parse): revert changes.
95473 2017-10-01  Alan Mackenzie  <acm@muc.de>
95475         Amend documentation for text-quoting-style becoming a user option.
95477         * doc/lispref/control.texi (Signaling Errors):
95478         * doc/lispref/display.texi (Displaying Messages):
95479         * doc/lispref/strings.texi (Formatting Strings):
95480         Edit for brevity, farming out the details to the new
95481         Text Quoting Style node.
95482         * doc/lispref/help.texi (Text Quoting Style): New section.
95483         Move detailed discussion of text-quoting-style here.
95484         Add discussion about how to output grave accent and apostrophe in
95485         documentation and messages.  Adjust xrefs to point to this section
95486         when appropriate.
95487         * etc/NEWS: text-quoting-style semantics have not changed.
95489 2017-10-01  Alan Mackenzie  <acm@muc.de>
95491         Make the value nil in text-quoting-style mean what it does in Emacs 25.
95493         This is a partial reversion of yesterday's commit by the same author, which
95494         changed the meaning of nil and introduced the new value t.
95496         * src/doc.c (text_quoting_style, text-quoting-style)
95497         (internal--text-quoting-flag): Revert yesterday's changes.
95499         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
95501         * etc/NEWS: Amend the entry for text-quoting-style.
95503         * doc/lispref/control.texi (Signalling Errors)
95504         * doc/lispref/display.texi (Displaying Messages)
95505         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
95506         grave rather than nil to inhibit translation of quotes.
95508         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
95509         proposed new default, t.
95511 2017-10-01  Alan Mackenzie  <acm@muc.de>
95513         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
95515         A value of nil for text-quoting-style now means "no translation".  t means
95516         "Use curved quotes if displayable".
95518         * src/doc.c (text-quoting-style (function)): modify for new semantics.
95519         (text-quoting-style (variable)): Amend the doc string, set the default value
95520         to t.
95522         * lisp/cus-start.el: (top level): Create a customize entry for
95523         text-quoting-style in group display.
95525         * etc/NEWS: Amend the entry for text-quoting-style.
95527         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
95528         quotes to curved quotes, and how to influence or inhibit it.
95530         * doc/lispref/control.texi (Signalling Errors)
95531         * doc/lispref/display.texi (Displaying Messages)
95532         * doc/lispref/strings.texi (Formatting Strings): Describe binding
95533         text-quoting-style to nil to inhibit unwanted quote translation.
95535         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
95536         from a variable to a user option.  Describe its changed set of values.  State
95537         that it can be customized freely.
95539 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
95541         eshell.texi improvements
95543         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
95544         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
95545         (Aliases): Add $*, $1, $2, ... to the variable index.
95547 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
95549         Fix ns-win.el on GNUstep
95551         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
95552         don't try it when not using Cocoa.
95554 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
95556         Fix reference style in org.texi
95558         * doc/misc/org.texi (A Texinfo example): Fix reference style.
95560 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
95562         Improve handling of iconification of child frames (Bug#28611)
95564         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
95565         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
95566         (iconify_child_frame): New option.
95567         * lisp/cus-start.el (iconify-child-frame): Add customization
95568         properties.
95569         * doc/lispref/frames.texi (Child Frames): Describe new option
95570         `iconify-child-frame'.  Don't index "top-level frame" twice.
95572 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
95574         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
95576         It broke the established argument handling methods provided by eshell
95577         aliases (Bug#28568).
95578         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
95579         arguments in aliases.
95580         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
95581         ARGS.
95583 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
95585         Make "unsafe directory" error message more informative (Bug#865)
95587         * lisp/server.el (server-ensure-safe-dir): Produce a description for
95588         each "unsafe" condition.
95590 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
95592         Fix slot typecheck in eieio-persistent
95594         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
95595           An `or' form can specify multiple potential classes (or null) as
95596           valid types for a slot, but previously only the final element of the
95597           `or' was actually checked. Now returns all valid classes in the `or'
95598           form.
95599           (eieio-persistent-validate/fix-slot-value): Check if proposed value
95600           matches any of the valid classes.
95601         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
95602           (eieio-test-multiple-class-slot): Test this behavior.
95604 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
95606         Fix semantic-ia-fast-jump
95608         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
95609         Use `pop-to-buffer-same-window' (bug#28645).
95611 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
95613         Bind vc-region-history
95615         * lisp/vc/vc-hooks.el (vc-prefix-map):
95616         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
95617         `vc-insert-headers' (Bug#27644).
95618         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
95619         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
95620         'C-x v h' with `vc-insert-headers'.
95621         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
95623 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
95625         Exit macro definition on undefined keys
95627         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
95628         (Bug#28008)
95630 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
95632         Reset bidi-paragraph-direction on article rendering
95634         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
95635         bidi-paragraph-direction on article rendering.  (Bug#28454)
95637 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
95639         Fix url-http use of url-current-object
95641         * lisp/url/url-http.el (url-http): Bind url-current-object before
95642         calling url-http-find-free-connection.  (Bug#28515)
95644 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
95646         Avoid assertions in vc-hg.el on MS-Windows
95648         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
95649         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
95650         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
95651         instead of relying on Unix file-name syntax.  This avoids
95652         assertion violations on MS-Windows.
95654 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
95656         Improve documentation of 'copy-sequence'
95658         * src/fns.c (Fcopy_sequence):
95659         * doc/lispref/sequences.texi (Sequence Functions): Mention the
95660         exception when copying an empty sequence.  (Bug#28627)
95662 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
95664         Minor update of ack.texi
95666         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
95667         contributions.
95669 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
95671         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
95673 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
95675         Improve indexing of multi-file/buffer Isearch commands
95677         * doc/emacs/maintaining.texi (Identifier Search): Change wording
95678         of index entries to make them different from those for multi-file
95679         isearch commands.  (Bug#28584)
95680         * doc/emacs/search.texi (Other Repeating Search): Index the
95681         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
95682         each index entry close to its subject.
95684 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
95686         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
95688         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
95689         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
95690         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
95691         functions.
95692         (lcms-cam02-ucs): Refactor.
95693         (syms_of_lcms2): Declare new functions.
95694         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
95695         (lcms-jmh->cam02-ucs-silver): New tests.
95696         * etc/NEWS: Mention new functions.
95698 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
95700         Fix uses of @kindex in the Emacs manual
95702         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
95703         * doc/emacs/mark.texi (Global Mark Ring)
95704         (Disabled Transient Mark):
95705         * doc/emacs/buffers.texi (Select Buffer):
95706         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
95707         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
95709 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
95711         Merge from gnulib
95713         This incorporates:
95714         2017-09-28 string: code style
95715         2017-09-25 sys_types: update URL
95716         2017-09-23 install-sh: do not assume / = //
95717         2017-09-21 mktime: port to OpenVMS
95718         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
95719         * m4/sys_types_h.m4: Copy from Gnulib.
95720         * lib/gnulib.mk.in: Regenerate.
95722 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
95724         Prefer HTTPS to HTTP for gnu.org
95726         This catches some URLs I missed in my previous scan,
95727         or perhaps were added after the scan.
95729 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
95731         Wait for frame visibility with timeout in w32term too
95733         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
95734         variable.
95735         (x_make_frame_visible): Wait for frame to become visible according to
95736         its value.
95737         (input_signal_count): Remove.
95739 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
95741         Bring back the busy wait after x_make_frame_visible (Bug#25521)
95743         But wait specifically for a MapNotify event, and only for a
95744         configurable amount of time.
95745         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
95746         variable.
95747         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
95748         (x_make_frame_visible): Call x_wait_for_event at the end.
95749         * etc/NEWS: Announce x_wait_for_event.
95751 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
95753         Fix last doc string change in simple.el
95755         * lisp/simple.el (shell-command-saved-pos)
95756         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
95758 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
95760         Revert "bug#28609: simple.el"
95762         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
95764 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
95766         bug#28609: simple.el
95768         Correct grammar; also, call a pair a pair.
95770         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
95772 2017-09-29  Rasmus  <rasmus@gmx.us>
95774         Merge branch 'emacs-26' into scratch/org-mode-merge
95776 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
95778         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
95780         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
95781         above the `debugger' frame, rather than assuming there will be a
95782         `signal' frame.
95784 2017-09-28  Alan Third  <alan@idiocy.org>
95786         Revert "Fix build on macOS (bug#28571)"
95788         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
95790         Prematurely pushed.
95792 2017-09-28  Alan Third  <alan@idiocy.org>
95794         Fix build on macOS (bug#28571)
95796         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
95797         [DARWIN_OS]: Undefine.
95799 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
95801         Add tests for `css-current-defun-name'
95803         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
95804         (css-test-current-defun-name-nested)
95805         (css-test-current-defun-name-complex): New tests for
95806         `css-current-defun-name'.
95808 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
95810         In w32fullscreen_hook don't add decorations to undecorated frames
95812         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
95813         remove) decorations for undecorated frames.
95815 2017-09-28  João Távora  <joaotavora@gmail.com>
95817         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
95819         In other words, re-coalesce the two files,
95820         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
95821         into a single one, lisp/progmodes/flymake.el.
95823         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
95824         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
95825         are kept in place in the new lisp/progmodes/flymake.el.
95827         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
95829         Don't merge this back to master as development happening there builds
95830         upon this work. See also
95831         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
95833 2017-09-28  João Távora  <joaotavora@gmail.com>
95835         Revert "Add flymake-backends defcustom"
95837         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
95839         Don't merge this back to master as development happening there builds
95840         upon this work. See also
95841         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
95843 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
95845         * src/editfns.c (styled_format): Fix typo in previous change.
95847 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
95849         Avoid some unnecessary copying in Fformat etc.
95851         This patch is just for performance; it should not affect behavior.
95852         On my platform, it made the microbenchmark (format "%S" load-path)
95853         run about 45% faster.  It should also speed up calls like (message
95854         "%s" STRING).
95855         * src/callint.c (Fcall_interactively):
95856         * src/dbusbind.c (XD_OBJECT_TO_STRING):
95857         * src/editfns.c (Fmessage, Fmessage_box):
95858         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
95859         Use styled_format instead of Fformat or Fformat_message,
95860         to avoid unnecessary copying.
95861         * src/editfns.c (styled_format): New arg NEW_RESULT.
95862         All uses changed.  Reuse an input string if it has the
95863         right value and if !NEW_RESULT.
95864         * src/lisp.h (style_format): New decl.
95866 2017-09-26  John Wiegley  <johnw@newartisans.com>
95868         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
95870 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
95872         bug#28609: simple.el
95874         Correct grammar; also, call a pair a pair.
95876 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
95878         Use a separate syntax-ppss cache for narrowed buffers
95880         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
95881         New variable, to contain the data from `syntax-ppss-last' and
95882         `syntax-ppss-cache'.
95883         (syntax-ppss-cache, syntax-ppss-last): Remove.
95884         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
95885         (syntax-ppss-flush-cache): Flush both caches.
95886         (syntax-ppss--data): Return the appropriate last result and
95887         buffer cache for the current restriction.
95888         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
95890 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
95892         Improve python3-compatibility of fallback completion (Bug#28499)
95894         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
95895         inspect.getfullargspec instead of inspect.getargspec to avoid a
95896         deprecation warning on every usage of eldoc in python-mode.
95898 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
95900         Fix subr-x-tests when running from elc
95902         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
95903         Use `eval' around the `should-error' cases.
95905 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
95907         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
95909 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
95911         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
95913         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
95914         variable alias for `sh-basic-offset'.
95915         (sh-mode, sh-smie--indent-continuation)
95916         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
95917         with `sh-basic-offset'.
95919 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
95921         Fix loading of smie-config rules (Bug#24848)
95923         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
95924         instead of `setq-default'.
95925         (smie-config): Use `custom-initialize-set' instead of
95926         `custom-initialize-default' as the :initialize argument.
95928         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
95929         we call `smie-config-guess' so that the user will have a chance to
95930         find the correct docstring to consult.  Remove hedging comments
95931         regarding use of abnormal hooks.
95933 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
95935         Reset default-directory inside *xref-grep* buffer
95937         * lisp/progmodes/xref.el (xref-collect-matches):
95938         Reset default-directory, too. (Bug#28575)
95940 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
95942         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
95943         code for smb.
95945 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
95947         Loosen strict parsing requirement for desktop files
95949         There are other desktop-looking files, for instance those having to do
95950         with MIME typess, that would benefit from being able to be read by this
95951         function.  It helps to have some flexibility.
95952         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
95953         * test/lisp/xdg-tests.el: Remove a test.
95955 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
95957         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
95959 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
95961         Fix documentation of `make-frame' and related variables and hooks
95963         * lisp/frame.el (before-make-frame-hook)
95964         (after-make-frame-functions, frame-inherited-parameters)
95965         (make-frame): Fix doc-strings.
95966         * doc/lispref/frames.texi (Creating Frames): Fix description
95967         of `make-frame' and related variables and hooks.
95969 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
95971         Accept new `always' value for option `buffer-offer-save'
95973         Also revert ee512e9a82
95975         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
95976           allows a third symbol value, `always'. A buffer where this option is
95977           set to `always' will always be offered for save by
95978           `save-some-buffers'.
95979           (save-some-buffers): Check the exact value of this buffer-local
95980           variable. No longer check the buffer name, or the value of
95981           `write-contents-functions'.
95982         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
95983         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
95984           names.
95985         * etc/NEWS: Mention in NEWS.
95987 2017-09-24  Alan Third  <alan@idiocy.org>
95989         Improve new NS scrolling variable names
95991         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
95992         'ns-use-mwheel-acceleration'.
95993         (ns-touchpad-scroll-line-height): Replace with
95994         'ns-mwheel-line-height'.
95995         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
95996         * etc/NEWS: Change variable names.
95998 2017-09-24  Philipp Stephani  <phst@google.com>
96000         Document 'replace-buffer-contents' in the manual.
96002         * doc/lispref/text.texi (Replacing): New node.
96004 2017-09-23  Alan Third  <alan@idiocy.org>
96006         Fix undecorated frame resizing issues on NS (bug#28512)
96008         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
96009         toolbar on undecorated frames.
96010         (EmacsView::initFrameFromEmacs): Group window flags correctly.
96012 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
96014         Fix doc string of 'dired-listing-switches'
96016         * lisp/dired.el (dired-listing-switches): Fix the quoting
96017         example.  (Bug#28569)
96019 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
96021         Documentation improvements for 'display-line-numbers'
96023         * doc/emacs/display.texi (Display Custom): Document a few more
96024         options for display-line-numbers.  (Bug#28533)  Fix a typo.
96026 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
96028         Fix last change in bat-mode.el
96030         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
96031         change.  (Bug#28311)
96033 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
96035         Fix restoring in GUI sessions desktop saved in TTY sessions
96037         * lisp/frameset.el (frameset-filter-font-param): New function.
96038         (frameset-persistent-filter-alist): Use it for processing the
96039         'font' frame parameter.  (Bug#17352)
96041 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
96043         Improve syntax highlighting in bat-mode
96045         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
96046         font-locking of environment variables.  Suggested by Achim Gratz
96047         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
96049 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
96051         Document the 'list-FOO' convention
96053         * doc/lispref/tips.texi (Coding Conventions): Document the
96054         list-FOO convention.
96056 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
96058         Expose viewing conditions in CAM02-UCS metric
96060         Also add tests from the colorspacious library.  Finally, catch an
96061         errant calculation, where degrees were not being converted to radians.
96062         * src/lcms.c (deg2rad, default_viewing_conditions):
96063         (parse_viewing_conditions): New functions.
96064         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
96065         the docstring and explain viewing conditions.  JCh hue is given in
96066         degrees and needs to be converted to radians.
96067         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
96068         API needlessly impure.
96069         * test/src/lcms-tests.el: Reword commentary.
96070         (lcms-rgb255->xyz): New function.
96071         (lcms-cri-cam02-ucs): Fix let-binding.
96072         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
96074 2017-09-21  Alan Third  <alan@idiocy.org>
96076         Revert "Set frame size to actual requested size (bug#18215)"
96078         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
96080         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
96082 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
96084         Add tests for Edebug
96086         * test/lisp/emacs-lisp/edebug-tests.el: New file.
96087         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
96089 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
96091         Catch more messages in ert-with-message-capture
96093         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
96094         messages from prin1, princ and print.
96095         (ert--make-message-advice): New function.
96096         (ert--make-print-advice): New function.
96098 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
96100         Support setting region from secondary selection and vice versa
96102         * lisp/mouse.el (secondary-selection-exist-p): New function to
96103         allow callers to tell existence of the secondary selection
96104         in current buffer.
96105         (secondary-selection-to-region): New function to set
96106         beginning and end of the region from those of the secondary
96107         selection.
96108         (secondary-selection-from-region): New function to set
96109         beginning and end of the secondary selection from those of
96110         the region.  (Bug#27530)
96112         * etc/NEWS: Mention the new functions.
96114 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
96116         Fix new copy-directory bug with empty dirs
96118         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
96119         (Bug#28483#34).  This is another bug that I introduced in my
96120         recent copy-directory changes.
96121         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
96122         * test/lisp/files-tests.el (files-tests--copy-directory):
96123         Test for this bug.
96125 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
96127         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
96129 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
96131         Fix 2 testsuite tests for MS-Windows
96133         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
96134         create files with "*" in their names.
96135         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
96136         results to MS-Windows build.  Reported by Fabrice Popineau
96137         <fabrice.popineau@gmail.com>.
96139 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
96141         Rename timer-list to list-timers
96143         * doc/emacs/anti.texi (Antinews):
96144         * doc/lispref/os.texi (Timers):
96145         * etc/NEWS:
96146         * lisp/emacs-lisp/timer-list.el:
96147         (timer-list-mode): Rename timer-list to list-timers.
96149 2017-09-19  Alan Third  <alan@idiocy.org>
96151         Provide native touchpad scrolling on macOS
96153         * etc/NEWS: Describe changes.
96154         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
96155         mouse-wheel-progressive-speed): Set to smarter values for macOS
96156         touchpads.
96157         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
96158         calculate scrolling for touchpads and mouse wheels.
96159         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
96160         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
96161         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
96162         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
96163         * lisp/mwheel.el (mwheel-scroll): Use line count.
96164         * lisp/subr.el (event-line-count): New function.
96166 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
96168         Fix MinGW64 build broken by recent MinGW64 import libraries
96170         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
96171         MinGW64 import libraries require that.  (Bug#28493)
96173         * src/Makefile.in: Adjust commentary to the new order of w32
96174         libraries.
96176 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
96178         Fix crashes in 'move-point-visually' in minibuffer windows
96180         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
96181         comparing against the last valid glyph_row of a window glyph
96182         matrix.  (Bug#28505)
96184 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
96186         * src/emacs.c (usage_message): Don't mention 'find-file'.
96188 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
96190         Fix a minor inaccuracy in the Emacs manual
96192         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
96193         'find-file', as the implementation has changed.  Reported by
96194         Everton J. Carpes <everton.carpes@gmail.com> in
96195         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
96197 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
96199         Fix errors in flyspell-post-command-hook
96201         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
96202         case of a nil Nth element of the language dictionary slot.  This
96203         avoids errors in 'flyspell-post-command-hook' when switching
96204         dictionaries with some spell-checkers.  (Bug#28501)
96206 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
96208         Work on Tramp's file-truename
96210         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
96211         Check also for symlinks.
96212         (tramp-sh-handle-file-truename): Move check for a symlink
96213         cycle to the end.  Do not blame symlinks which look like a
96214         remote file name.
96216         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
96218 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
96220         Fix bug with make-directory on MS-Windows root
96222         * lisp/files.el (files--ensure-directory): Treat any error, not
96223         just file-already-exists, as an opportunity to check whether DIR
96224         is already a directory (Bug#28508).
96226 2017-09-19  Tom Tromey  <tom@tromey.com>
96228         Fix log-view-diff-common when point is after last entry
96230         Bug#28466
96231         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
96232         entry, look at the previous revision.
96234 2017-09-18  Ken Brown  <kbrown@cornell.edu>
96236         Adapt fileio-tests--symlink-failure to Cygwin
96238         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
96239         [CYGWIN]: Skip the case of a symlink target starting with '\';
96240         this is treated specially on Cygwin.
96242 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
96244         Ignore buffers whose name begins with a space in save-some-buffers
96246         * lisp/files.el (save-some-buffers): Consider these buffers
96247           "internal", and don't prompt the user to save them.
96248         * doc/lispref/files.texi: Document.
96250 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
96252         Improve tramp-interrupt-process robustness
96254         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
96255         process has disappeared.
96257 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
96259         Minor Tramp doc update
96261         * doc/misc/tramp.texi (Frequently Asked Questions):
96262         Mention `vc-handled-backends'.
96264 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
96266         Fix gensym
96268         * lisp/subr.el (gensym): Actually implement the default prefix.
96269         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
96271 2017-09-18  Rasmus  <rasmus@gmx.us>
96273         Update Org to v9.1.1
96275         Please see etc/ORG-NEWS for major changes.
96277 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
96279         Cleanup in files-tests.el
96281         * test/lisp/files-tests.el (files-tests--make-directory)
96282         (files-tests--copy-directory): Cleanup temporary directories.
96284 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96286         Remove old cl-assert calls in 'newline'
96288         * lisp/simple.el (newline): Remove cl-assert calls
96289         that didn't seem to be helping us debug Bug#18913,
96290         and that caused problems as reported in Bug#28280.
96291         Suggested by Glenn Morris (Bug#28280#8).
96293 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96295         Avoid crash with C-g C-g in GC
96297         Problem reported by Richard Stallman (Bug#17406).
96298         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
96299         * src/term.c (tty_send_additional_strings):
96300         Use only safe accessors, to avoid crash when C-g C-g in GC.
96302 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96304         Fix format-time-string %Z bug with negative tz
96306         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
96307         numeric zone is negative (Bug#28746).
96308         * test/src/editfns-tests.el (format-time-string-with-zone):
96309         Add test for this bug.
96311 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96313         message-citation-line-format %Z is now tz name
96315         * etc/NEWS:
96316         * lisp/gnus/message.el (message-citation-line-format):
96317         Fix doc to match new behavior (Bug#28476).
96319 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
96321         Use doc-view or pdf-tools on any window-system
96323         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
96324         window-system.
96326 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96328         Fix bug with min and max and NaNs
96330         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
96331         mistakenly yielded 0.  Also, pacify GCC in a better way.
96332         * test/src/data-tests.el (data-tests-min): Test for the bug.
96334 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
96336         Fix recently-introduced copy-directory bug
96338         Problem reported by Andrew Christianson (Bug#28451):
96339         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
96340         destination directory if it does not exist, even if it is a
96341         directory name.  Simplify, and omit unnecessary test for an
96342         already-existing non-directory target, since make-directory
96343         diagnoses that for us now.
96344         * test/lisp/files-tests.el (files-tests--copy-directory):
96345         Test for this bug.
96347 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
96349         Merge from Gnulib
96351         This incorporates:
96352         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
96353         2017-09-13 all: Replace many more http URLs by https URLs
96354         * build-aux/config.guess, build-aux/config.sub:
96355         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
96356         * lib/allocator.h, lib/count-leading-zeros.h:
96357         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
96358         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
96359         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
96360         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
96361         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
96362         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
96363         Copy from Gnulib.
96364         * lib/gnulib.mk.in: Regenerate.
96366 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
96368         Fix compatibility problem in Tramp
96370         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
96372         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
96373         (top): Do not call `tramp-change-syntax' anymore.
96374         (tramp-compat-directory-name-p): New defalias.
96376         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
96377         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
96378         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
96379         (tramp-smb-handle-copy-file): Use it.
96381         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
96382         Modify test.
96384 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
96386         Avoid GCC 7 compilation warning in eval.c
96388         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
96389         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
96390         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
96392 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
96394         Adapt Tramp version.  Do not merge
96396         * doc/misc/trampver.texi:
96397         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
96398         (customize-package-emacs-version-alist): Add Tramp version
96399         integrated in Emacs 26.1.
96401 2017-09-17  Tom Tromey  <tom@tromey.com>
96403         Search for Syntax section when viewing MDN
96405         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
96406         "Syntax" section.
96408 2017-09-17  Tom Tromey  <tom@tromey.com>
96410         Allow smerge-keep-current to work for empty hunks
96412         Bug#25555
96413         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
96414         match-end.
96415         * test/lisp/vc/smerge-mode-tests.el: New file.
96417 2017-09-17  Tom Tromey  <tom@tromey.com>
96419         Call vc-setup-buffer in vc-git-log-{in,out}going
96421         Bug#28427:
96422         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
96423         vc-setup-buffer.
96425 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
96427         Fix last change to textmodes/page-ext.el
96429         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
96430         while we build it (bug#28431).
96432 2017-09-16  Glenn Morris  <rgm@gnu.org>
96434         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
96436 2017-09-16  Glenn Morris  <rgm@gnu.org>
96438         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
96440         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
96442 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
96444         Fix compilation warning in etags.c
96446         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
96447         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
96449 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
96451         Add lisp variable lcms-d65-xyz
96453         This serves as the default optional argument for functions in this
96454         library.
96455         * src/lcms.c (lcms-d65-xyz): New variable.
96456         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
96457         color1 -> color2.
96458         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
96459         (lcms-colorspacious-d65): New variable.
96461 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
96463         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
96465 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
96467         Avoid MinGW64 compiler warnings in unexw32.c
96469         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
96470         64-bit build.
96472 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
96474         Start emacs-26 release branch
96476         * configure.ac:
96477         * nt/README.W32:
96478         * README:
96479         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
96481         * lisp/cus-edit.el (customize-changed-options-previous-release):
96482         Update value to "25.3".
96484 2017-09-16  Alan Mackenzie  <acm@muc.de>
96486         Cope better with C++ and Objective-C protection keywords in class declarations
96488         This fix fixes the fontification of a method inside a class at the time it is
96489         typed, when there is a protection keyword clause preceding it.
96491         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
96492         keywords.
96493         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
96494         clauses too eagerly.
96496         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
96497         lang defconsts and defvars.
96499         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
96500         keyword following a semicolon or brace, move forward over it before attempting
96501         to parse a type.
96503 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
96505         Fix order of sorted overlays returned by 'overlays-at'
96507         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
96508         list of results, to have their order as per the documentation.
96509         (Bug#28390)
96511         * etc/NEWS: Mention the change in the behavior of overlays-at.
96513 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
96515         Disable execution of unsafe Lisp by Enriched Text mode
96517         * src/xdisp.c (handle_display_spec): If the display property is
96518         wrapped in 'disable-eval' form, disable Lisp evaluation while
96519         processing this property.
96520         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
96521         If that argument is false, don't evaluate Lisp while processing
96522         display properties.
96524         * lisp/textmodes/enriched.el
96525         (enriched-allow-eval-in-display-props): New defcustom.
96526         (enriched-decode-display-prop): If
96527         enriched-allow-eval-in-display-props is nil, wrap the display
96528         property with 'disable-eval' to disable Lisp evaluation when the
96529         display property is processed for display.  (Bug#28350)
96530         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
96531         enriched text.
96533         * doc/lispref/display.texi (Display Property): Document the
96534         'disable-eval' wrapping of 'display' properties.
96535         * doc/emacs/text.texi (Enriched Properties): Document
96536         'enriched-allow-eval-in-display-props'.
96538         * etc/NEWS: Describe the security issues with Enriched Text mode
96539         and their solution.
96541 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
96543         Avoid MinGW64 compilation warning in w32.c
96545         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
96547 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
96549         Fix MS-Windows build broken by recent changes in lcms.c
96551         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
96552         and cmsxyY2XYZ function pointers.
96553         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
96554         cmsxyY2XYZ from liblcms2.
96555         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
96556         corresponding function pointers.
96557         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
96558         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
96560 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
96562         Avoid GCC 7 compilation warning in data.c
96564         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
96565         warnings.  Reported by Fabrice Popineau
96566         <fabrice.popineau@centralesupelec.fr>.
96568 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
96570         Add lcms-temp->white-point and initial tests
96572         * src/lcms.c (lcms-temp->white-point): New function.
96573         * test/src/lcms-tests.el: New file.
96575 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
96577         Use cl-print in timer list
96579         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
96580         for handling functions.
96581         (timer-list-mode): Capitalize major mode name.  Set bidi direction
96582         as in tabulated-list-mode.
96584 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
96586         Make landscape layout with geometry package rather than a PostScript special.
96588         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
96589         default class option.
96590         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
96591         request to `cal-tex-insert-preamble' function call within the
96592         class option string.
96593         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
96594         to `cal-tex-insert-preamble' function, as it is default.
96595         (cal-tex-insert-preamble): Suppress landscape and size
96596         argument, and replace them by a class-options string
96597         argument. Do not insert any longer "\special{landscape}" in
96598         case of landscape layout, as the job is made by the geometry
96599         package.
96601 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
96603         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
96605 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
96607         One more attempt to avoid GCC 7 warnings in dispnew.c
96609         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
96610         eassert, to avoid compilation warnings about NULL pointer
96611         dereferences.
96613 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
96615         Fix color-distance docstring
96617         Also feed the translated color to the metric argument.
96618         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
96619         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
96620         instead of the function's color arguments.
96622 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
96624         Improve Tramp behavior according to bug#27986
96626         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
96627         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
96628         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
96629         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
96630         directory name when existing.  Use `file-name-as-directory'
96631         where appropriate.
96633 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
96635         More JSON optimization
96637         Last I checked, inlining json-skip-whitespace didn't make much
96638         difference.  However, changing defsubsts to define-inline results
96639         in roughly 15% reduction in read time on a 200K file.
96640         * lisp/json.el (json-advance, json-peek, json-pop):
96641         (json-skip-whitespace): Inline with define-inline.
96642         (json-read-keyword): Don't use whitespace syntax.
96643         (json-add-to-object): Simpler condition.
96645 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
96647         Avoid crashes due to invalid error forms from sentinels/filters
96649         * src/process.c (exec_sentinel_error_handler): Make sure the error
96650         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
96652 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
96654         Avoid compilation warnings with GCC 7 on MS-Windows
96656         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
96657         (w32_read_socket): Initialize variables to shut up bogus
96658         compilation warnings from GCC 7.
96659         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
96660         to avoid compiler warnings about printing signed values using %x
96661         format spec.
96662         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
96663         compiler warning about possible NULL pointer dereference.
96664         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
96666 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
96668         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
96670         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
96671         case only to avoid unused macros warning otherwise.
96673 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
96675         In w32heap.c bump up DUMPED_HEAP_SIZE
96677         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
96678         to 13*1024*1024 for 32-bit non-wide-integer builds.
96680 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
96682         Bind n,p in timer-list
96684         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
96685         to next- and previous-line, respectively.
96687 2017-09-14  Glenn Morris  <rgm@gnu.org>
96689         * lisp/net/tls.el (tls-program): Fix :version.
96691 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
96693         * configure.ac (--with-lcms2, --without-lcms2): New options.
96695 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
96697         Avoid 64-bit compilation warnings in unexw32.c
96699         * src/unexw32.c (pDWP): New macro.
96700         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
96701         pDWP for printing values that can be either 32-bit or 64-bit wide.
96703 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
96705         Fix warnings about formats in printf-like functions on MS-Windows
96707         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
96708         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
96709         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
96710         for the details.
96711         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
96712         definition specific to MinGW64.
96713         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
96714         __mingw_printf__ in ANSI-compatible mode.
96716 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
96718         Support lcms2 in MS-Windows builds
96720         * lisp/term/w32-win.el (dynamic-library-alist): Include
96721         association for the lcms2 library.
96723         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
96724         DEF_DLL_FN to define pointers to dynamically loaded lcms2
96725         functions.
96726         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
96727         (cmsCIECAM02Done): New macros.
96728         (init_lcms_functions, Flcms2_available_p): New functions.
96729         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
96730         init_lcms_functions.
96731         (syms_of_lcms2): Defsubr lcms2-available-p.
96732         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
96734         * configure.ac: Include lcms2 in the final report and in
96735         emacs_config_features.
96737         * nt/INSTALL:
96738         * nt/INSTALL.W64: Update with the information about lcms2 library.
96740 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
96742         Port renameat_noreplace to openSUSE 12.3
96744         Problem reported by M. Nomiya in:
96745         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
96746         * src/sysdep.c (renameat_noreplace):
96747         Call renameat2 only if CYGWIN.
96749 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
96751         Prefer HTTPS to FTP and HTTP in documentation
96753         Most of this change is to boilerplate commentary such as license URLs.
96754         This change was prompted by ftp://ftp.gnu.org's going-away party,
96755         planned for November.  Change these FTP URLs to https://ftp.gnu.org
96756         instead.  Make similar changes for URLs to other organizations moving
96757         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
96758         fsf.org when this works, as this will further help defend against
96759         man-in-the-middle attacks (for this part I omitted the MS-DOS and
96760         MS-Windows sources and the test tarballs to keep the workload down).
96761         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
96762         for now.
96764 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
96766         Prefer HTTPS to HTTP for gnu.org
96768         This patch just changes code files; a followup companion patch
96769         (much larger) will affect the commentary.  This part is
96770         separated out to make it easier to review.
96771         * .dir-locals.el (change-log-mode):
96772         * lisp/org/org-info.el (org-info-other-documents)
96773         (org-info-map-html-url):
96774         * lisp/org/ox-html.el (org-html-creator-string):
96775         * lisp/startup.el (fancy-startup-text, fancy-about-text)
96776         (fancy-splash-head):
96777         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
96778         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
96779         Use HTTPS instead of HTTP.
96781 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
96783         Add tests for color.el
96785         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
96786         docstrings that RGB triplets should use four digits per component.
96787         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
96788         warning.
96790         * test/lisp/color-tests.el: New file.
96792 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
96794         Make gnutls-verify-error work again with url-retrieve-synchronously
96796         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
96797         we're doing async connections (bug#26835).
96799         * lisp/url/url-parse.el (url): Add an asynchronous slot.
96801         * lisp/url/url.el (url-asynchronous): New variable.
96802         (url-retrieve-internal): Store the value.
96803         (url-retrieve-synchronously): Bind the variable.
96805 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
96807         Improve backward compatibility of tramp-tests
96809         * test/lisp/net/tramp-tests.el (seq): Don't require.
96810         (tramp--test-emacs26-p): New defun.
96811         (tramp-test10-write-region, tramp-test11-copy-file)
96812         (tramp-test12-rename-file, tramp-test15-copy-directory)
96813         (tramp-test21-file-links): Use it.
96814         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
96816 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
96818         * lisp/net/trampver.el (customize-package-emacs-version-alist):
96820         Add Tramp version integrated in Emacs 25.3.
96822 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
96824         Add clarification to if-let* docstring
96826         Also make its behavior consistent with and-let* in that empty bindings
96827         results in success, not failure.
96828         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
96830 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
96832         Make fully qualified domain names more fully qualified
96834         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
96835         system-name without any periods as a fully qualified domain name.
96837 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
96839         Remove unused file lib/getopt_.h
96841         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
96842         on 2011-01-08, but I forgot to remove the old file.
96844 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
96846         Remove "baroque" use of prefix argument from gensym
96848         'cl-gensym' was simply moved here, but let us take an opportunity to
96849         shed some historical baggage.
96850         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
96851         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
96852         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
96853         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
96855 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
96857         Provide an lcms2 feature
96859         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
96861 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
96863         Add lcms2 interface
96865         configure.ac: Add boilerplate for configuring and detecting liblcms2.
96866         etc/NEWS: Mention new configure option and color-distance change.
96867         src/Makefile.in: Add references to lcms.c and liblcms.
96868         src/emacs.c: Define lcms2 symbols.
96869         src/lcms.c: New file.
96870         src/lisp.h: Add declaration for lcms2.
96871         src/xfaces.c: Add optional METRIC argument.
96873 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
96875         Add other D series white points and some simple conversions
96877         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
96878         constants.
96879         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
96880         (color-lch-to-lab): New functions.
96882 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
96884         Permit non-integral color gradients
96886         * lisp/color.el (color-gradient): Float the step-number.
96888 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
96890         Protect against malformed MIME messages that cause inf-loop (bugfix)
96892         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
96893         Protect against malformed MIME messages that cause inf-loop.
96895 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
96897         Merge from Gnulib
96899         This incorporates:
96900         2017-09-13 all: prefer https: URLs
96901         This just changes http: to https: in comments,
96902         in files copied from Gnulib.
96904 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
96906         Call vc-resynch-buffer in vc-git-resolve-when-done
96908         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
96909         Call vc-resynch-buffer on the current file (bug#28121).
96910         Move its autoload to before this function.
96912 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
96914         Allow write-contents-functions to short-circuit buffer save
96916         Bug#28412
96918         * lisp/files.el (basic-save-buffer): Re-arrange function so that
96919           write-contents-functions are run earlier. If they return non-nil,
96920           consider the buffer saved without requiring the buffer to be
96921           visiting a file.
96922           (save-some-buffers): This function should consider any buffer with a
96923           buffer-local value for write-contents-functions eligible for
96924           saving.
96925         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
96926           test.
96927         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
96928         * etc/NEWS: And in NEWS.
96930 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
96932         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
96934 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
96936         Less chatter for ’make info/dir’
96938         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
96939         that an ordinary make says just "GEN info/dir" rather than
96940         also having a seemingly-unrelated mv line.
96942 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
96944         Tweak Gnus doc re gnus-copy-file
96946         * doc/misc/gnus.texi (Saving Articles):
96947         Document behavior with directory name targets (Bug#27986).
96948         Problem reported by Katsumi Yamaoka in:
96949         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
96951 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
96953         Update uses of if-let and when-let
96955         * lisp/dom.el (dom-previous-sibling):
96956         * lisp/emacs-lisp/package.el (package--with-work-buffer):
96957         (package--sort-deps-in-alist, package--sort-by-dependence):
96958         (package-install-from-archive, package-install):
96959         (package-menu-execute, package-menu--populate-new-package-list):
96960         * lisp/filenotify.el (file-notify--rm-descriptor):
96961         (file-notify--event-watched-file, file-notify--event-file-name):
96962         (file-notify--event-file1-name, file-notify-rm-watch):
96963         (file-notify-valid-p):
96964         * lisp/gnus/message.el (message-toggle-image-thumbnails):
96965         * lisp/gnus/nnimap.el (nnimap-request-move-article):
96966         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
96967         * lisp/mpc.el (mpc-format):
96968         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
96969         (eww-save-history):
96970         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
96971         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
96972         * lisp/svg.el (svg-remove):
96973         * lisp/textmodes/css-mode.el (css--named-color):
96974         (css--colon-inside-funcall):
96975         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
96976         (html-current-buffer-ids): Use if-let* and when-let* instead.
96978 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
96980         Implement and-let*
96982         This also includes changes to if-let and when-let.  The single tuple
96983         special case is ambiguous, and binding a symbol to nil is not as
96984         useful as binding it to its value outside the lexical scope of the
96985         binding.  (Bug#28254)
96986         * etc/NEWS: Mention.
96987         * lisp/emacs-lisp/subr-x.el (internal--listify):
96988         (internal--build-binding-value-form): Extend to account for
96989         solitary symbols and (EXPR) items in binding varlist.
96990         (if-let*, when-let*): Nix single tuple case and incumbent
96991         bind-symbol-to-nil behavior.
96992         (and-let*): New macro.
96993         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
96994         they implicitly gain the new features without breaking existing code.
96995         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
96996         single-tuple special case, lack of binding solitary symbols to nil,
96997         and the introduction of uninterned symbols for (EXPR) bindings.  Add
96998         SRFI-2 test suite adapted to Elisp.
97000 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
97002         Fix minor typos in the Emacs manual
97004         * doc/emacs/text.texi (Org Organizer):
97005         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
97007 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
97009         Merge Emacs 25.3 fixes
97011         The security patches released for Emacs 25.3 were less drastic
97012         than what we had immediately put into master.  Adjust master to
97013         match 25.3 (Bug#28350).
97014         * lisp/textmodes/enriched.el (enriched-translations):
97015         Re-enable FUNCTION and display translations that are safe.
97016         (enriched-handle-display-prop): Bring back.
97017         (enriched-decode-display-prop): Bring back, but disable
97018         the unsafe part.
97020 2017-09-12  Alan Mackenzie  <acm@muc.de>
97022         Don't match C++ template delims starting within a token.  FIxes bug #28418.
97024         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
97025         attempted match from the start of a token (in particular, "<<"), move to the
97026         next token rather than the nex character before searching for the next "<".
97028 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
97030         Move gensym to core Elisp
97032         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
97033         after make-symbol.
97034         * etc/NEWS: Mention.
97035         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
97036         gensym-counter.
97037         (cl-gensym): Alias to gensym.
97038         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
97039         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
97040         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
97041         (ert--expand-should-1, ert--expand-should):
97042         (ert--should-error-handle-error):
97043         * lisp/emacs-lisp/generator.el (cps--gensym):
97044         * lisp/emacs-lisp/gv.el (setf):
97045         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
97046         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
97047         (pcase--funcall, pcase--u1): Use gensym.
97048         * lisp/subr.el (gensym-counter): New variable.
97049         (gensym): New function, assimilated from cl-lib.
97051 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
97053         Fix cl-gentemp
97055         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
97056         (cl-gentemp): Use it.  Change prefix to "T".
97058 2017-09-12  Sam Steingold  <sds@gnu.org>
97060         gnus-score-file-name: Do not append empty suffix.
97062 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
97064         Extend tramp-tests according to bug#27986
97066         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
97067         (tramp-test12-rename-file, tramp-test15-copy-directory)
97068         (tramp-test21-file-links): Extend tests.
97069         (tramp-test13-make-directory, tramp-test14-delete-directory):
97070         Specify error symbol in `should-error'.
97072 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
97074         Add cl-print method for hash tables
97076         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
97078 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
97080         Add docstrings to cl-print entry points
97082         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
97083         (cl-prin1, cl-prin1-to-string): Add docstrings.
97085 2017-09-12  Glenn Morris  <rgm@gnu.org>
97087         Improve reproducibility of generated leim-list.el
97089         * lisp/international/quail.el (quail-update-leim-list-file):
97090         Sort the quail directory listing, for more stable output.
97092 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
97094         Include sxhash of object with printed bytecode
97096         This printing, while succinct, is rather opaque.  At least give an
97097         immediate clue of whether different byte code printouts are for the
97098         same or different byte code objects.
97099         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
97100         printed token "#<bytecode>".
97102 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
97104         Update documentation of 'max-lisp-eval-depth'
97106         * doc/lispref/eval.texi (Eval): Update the documented default
97107         value of 'max-lisp-eval-depth'.
97109 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
97111         Another place to produce debugging output in etags
97113         * lib-src/etags.c (Ruby_functions): One more place to print
97114         debugging output under --debug.
97116 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
97118         Improve documentation of etags-related features
97120         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
97121         'xref-prompt-for-identifier'.  (Bug#28403)
97122         (Etags Regexps): Document \D back references in etags regexps.
97124 2017-09-11  Alan Third  <alan@idiocy.org>
97126         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
97128         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
97129         Change macOS compatibility from 10.9 to 10.10.
97131 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
97133         Further optimization in Tramp's file name decomposition
97135         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
97136         components.  Call `custom-set-variables' after loading.
97137         (tramp-build-prefix-format, tramp-build-prefix-regexp)
97138         (tramp-build-method-regexp)
97139         (tramp-build-postfix-method-format)
97140         (tramp-build-postfix-method-regexp)
97141         (tramp-build-prefix-ipv6-format)
97142         (tramp-build-prefix-ipv6-regexp)
97143         (tramp-build-postfix-ipv6-format)
97144         (tramp-build-postfix-ipv6-regexp)
97145         (tramp-build-postfix-host-format)
97146         (tramp-build-postfix-host-regexp)
97147         (tramp-build-file-name-regexp)
97148         (tramp-build-completion-file-name-regexp): New defuns.
97149         (tramp-prefix-format, tramp-prefix-regexp)
97150         (tramp-method-regexp, tramp-postfix-method-format)
97151         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
97152         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
97153         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
97154         (tramp-postfix-host-regexp)
97155         (tramp-remote-file-name-spec-regexp)
97156         (tramp-file-name-structure, tramp-file-name-regexp)
97157         (tramp-completion-file-name-regexp): Convert defuns into defvars.
97158         (tramp-prefix-regexp-alist)
97159         (tramp-postfix-method-regexp-alist)
97160         (tramp-prefix-ipv6-regexp-alist)
97161         (tramp-postfix-ipv6-regexp-alist)
97162         (tramp-postfix-host-regexp-alist)
97163         (tramp-remote-file-name-spec-regexp-alist): Remove.
97164         (tramp-build-remote-file-name-spec-regexp)
97165         (tramp-build-file-name-structure): Simplify.
97166         (tramp-completion-file-name-regexp-alist): New defconst.
97167         (tramp-tramp-file-p, tramp-dissect-file-name)
97168         (tramp-make-tramp-file-name)
97169         (tramp-completion-make-tramp-file-name)
97170         (tramp-rfn-eshadow-update-overlay-regexp)
97171         (tramp-register-file-name-handlers)
97172         (tramp-completion-handle-file-name-all-completions)
97173         (tramp-completion-dissect-file-name, tramp-clear-passwd):
97174         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
97175         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
97176         (tramp-compute-multi-hops): Use variables but functions for
97177         file name components.
97179         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
97180         Use variables but functions for file name components.
97182 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97184         Port tramp-tests to new copy-directory behavior
97186         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
97187         Use directory name as arg for copy-directory when we want
97188         the special behavior.
97190 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97192         Adjust thumbs to new rename-file behavior
97194         * etc/NEWS: Mention this.
97195         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
97196         as special only if it is a directory name.  When there is
97197         a marked list, turn the destination into a directory name
97198         if it is not already.
97200 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97202         Adjust ob-tangle to new copy-file behavior
97204         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
97205         Port to new copy-file behavior.
97207 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97209         Make gnus-copy-file act like copy-file etc.
97211         * etc/NEWS: Mention this.
97212         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
97213         as special only if it is a directory name.
97215 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97217         Make write-file act like copy-file etc.
97219         Change write-file to be consistent with the new behavior
97220         of copy-file, etc.
97221         * etc/NEWS: Mention this.
97222         * lisp/files.el (write-file): Treat the destination as special
97223         only if it is a directory name.
97225 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97227         Make copy-directory act like copy-file etc.
97229         Do the special dance with the destination only if it is a
97230         directory name, for consistency with copy-file etc. (Bug#27986).
97231         * doc/emacs/files.texi (Copying and Naming):
97232         * doc/lispref/files.texi (Create/Delete Dirs):
97233         * etc/NEWS: Document this.
97234         * lisp/files.el (copy-directory): Treat NEWNAME as special
97235         only if it is a directory name.
97237 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97239         Fix some make-directory bugs
97241         * lisp/files.el (files--ensure-directory): New function.
97242         (make-directory): Use it to avoid bugs when (make-directory FOO t)
97243         is invoked on a non-directory, or on a directory hierarchy that
97244         is being built by some other process while Emacs is running.
97245         * test/lisp/files-tests.el (files-tests--make-directory): New test.
97247 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
97249         Fix race with rename-file etc. with dir NEWNAME
97251         This changes the behavior of rename-file etc. slightly.
97252         The old behavior mostly disagreed with the documentation, and had
97253         a race condition bug that could allow attackers to modify victims'
97254         write-protected directories (Bug#27986).
97255         * doc/lispref/files.texi (Changing Files): Document that in
97256         rename-file etc., NEWFILE is special if it is a directory name.
97257         * etc/NEWS: Document the change in behavior.
97258         * src/fileio.c (directory_like): Remove.  All uses removed.
97259         (expand_cp_target): Test only whether NEWNAME is a directory name,
97260         not whether it is currently a directory.  This avoids a race.
97261         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
97262         Document behavior if NEWNAME is a directory name.
97263         (Frename_file): Simplify now that the destdir behavior occurs
97264         only when NEWNAME is a directory name.
97265         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
97266         (tramp-test12-rename-file, tramp--test-check-files):
97267         Adjust tests to match new behavior.
97269 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
97271         Extend --debug printouts in etags
97273         * lib-src/etags.c (regex_tag_multiline, readline): Under
97274         "--debug", print tags found via regexps.
97276 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
97278         Add --debug option to etags
97280         * lib-src/etags.c (make_tag): Print found tags under --debug.
97281         (longopts): Add --debug.
97283 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
97285         Spelling fixes
97287         * lisp/progmodes/cc-langs.el:
97288         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
97289         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
97291 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
97293         Merge from gnulib
97295         This incorporates:
97296         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
97297         2017-08-24 warnings: fix compilation with old autoconf
97298         2017-08-23 glob: merge from glibc with Zanella glob changes
97299         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
97300         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
97301         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
97302         * m4/warnings.m4:
97303         Copy from Gnulib.
97304         * lib/gnulib.mk.in: Regenerate.
97306 2017-09-10  Ken Brown  <kbrown@cornell.edu>
97308         Implement renameat_noreplace on recent Cygwin
97310         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
97311         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
97312         (Bug#27986)
97314 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
97316         Avoid warnings about file names in autoloads on MS-Windows
97318         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
97319         avoid warnings from find-file-noselect when making autoloads.  For
97320         the details, see
97321         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
97323 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
97325         Avoid looking at localized strings
97327         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
97328         localized strings.
97329         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
97330         parsing l10n strings doesn't error but is essentially a no-op.
97332 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
97334         * etc/NEWS.25: Document 25.3 changes.
97336 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
97338         Remove unsafe enriched mode translations
97340         * lisp/gnus/mm-view.el (mm-inline-text):
97341         Do not worry about enriched or richtext type.
97342         * lisp/textmodes/enriched.el (enriched-translations):
97343         Remove translations for FUNCTION, display (Bug#28350).
97344         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
97346 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
97348         Be more consistent about "directory name" in manual
97350         This clarifies the documentation, partly in response to the
97351         discussion in Bug#27986.
97353 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
97355         Remove more compilation warnings in MinGW64 build
97357         * src/w32.c (faccessat, map_w32_filename):
97358         * src/w32fns.c (w32_wnd_proc):
97359         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
97360         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
97361         warnings with GCC 7 and later.
97363 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
97365         Improve --enable-gcc-warnings for MinGW64
97367         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
97368         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
97369         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
97370         * lib-src/etags.c (process_file_name, TeX_commands):
97371         * src/buffer.c (fix_overlays_before):
97372         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
97373         (cons_to_signed):
97374         * src/editfns.c (Ftranslate_region_internal):
97375         Prefer UNINIT to some stray value, as this simplifies
97376         code-reading later.
97377         * src/eval.c (CACHEABLE): New macro.
97378         (internal_lisp_condition_case): Use it.
97379         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
97381 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
97383         Fix font-lock in Compilation mode
97385         * lisp/progmodes/compile.el (compilation-face): Restore function
97386         lost during recent changes.  (Bug#28349)
97388 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
97390         Add function to read all entries in a group
97392         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
97393         entries in all groups were read and returned by xdg-desktop-read-file.
97394         * lisp/xdg.el (xdg-desktop-read-group): New function.
97395         (xdg-desktop-read-file): Use it.
97396         * test/data/xdg/malformed.desktop: New file.
97397         * test/data/xdg/test.desktop: Add another section.
97398         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
97399         in another group.  Test reading a prescribed group.  Test detecting a
97400         malformed key=value.
97402 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
97404         Reduce Tramp's memory usage
97406         Construct Tramp syntax strings and regular expressions once instead
97407         of every time they are used, and store them in alists keyed by Tramp
97408         syntax.
97409         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
97410         (tramp-build-file-name-structure): New functions.
97411         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
97412         (tramp-method-regexp-alist)
97413         (tramp-postfix-method-format-alist)
97414         (tramp-postfix-method-regexp-alist)
97415         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
97416         (tramp-postfix-ipv6-format-alist)
97417         (tramp-postfix-ipv6-regexp-alist)
97418         (tramp-postfix-host-format-alist)
97419         (tramp-postfix-host-regexp-alist)
97420         (tramp-remote-file-name-spec-regexp-alist)
97421         (tramp-file-name-structure-alist): New constants.
97422         (tramp-lookup-syntax): New function.
97423         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
97424         (tramp-postfix-method-format, tramp-postfix-method-regexp)
97425         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
97426         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
97427         (tramp-postfix-host-format, tramp-postfix-host-regexp)
97428         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
97429         Use it.
97431 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
97433         Fix compilation warnings in MinGW64 build using GCC 7
97435         Reported by Richard Copley <rcopley@gmail.com>.
97436         * src/w32heap.c (init_heap): Declare enable_lfh only for
97437         mingw.org's MinGW build.
97439         * src/w32console.c (w32con_write_glyphs):
97440         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
97441         mismatches of data type vs format spec.
97443         * src/w32fns.c (compute_tip_xy):
97444         * src/w32proc.c (stop_timer_thread):
97445         * src/w32notify.c (remove_watch):
97446         * src/eval.c (internal_lisp_condition_case):
97447         * src/editfns.c (Ftranslate_region_internal):
97448         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
97449         (cons_to_signed):
97450         * src/buffer.c (fix_overlays_before): Initialize variables to
97451         avoid compiler warnings.
97453         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
97454         variables to avoid compilation warnings.
97456 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
97458         Avoid infloop when scrolling under scroll-preserve-screen-position
97460         * src/window.c (window_scroll_pixel_based): If screen position is
97461         to be preserved, make sure its recorded Y coordinate is outside
97462         the scroll margin.  (Bug#28342)
97464 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
97466         Clarification in tramp-texi
97468         * doc/misc/tramp.texi (Connection caching): Two connections are
97469         regarded as different now when they differ in the port number only.
97471 2017-09-09  Miles Bader  <miles@gnu.org>
97473         * admin/quick-install-emacs: Tweak configure.ac parsing
97475 2017-09-09  Miles Bader  <miles@gnu.org>
97477         Use text-property buttons in rcirc-markup-urls
97479         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
97480         instead of `make-button'; the former is much more efficient in large
97481         buffers, and for the purposes of rcirc, changes no functionality.
97483 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
97485         Fix line-pixel-height for lines of variable height
97487         * src/xdisp.c (Fline_pixel_height): Start moving from the
97488         beginning of the screen line, to capture the full metrics of the
97489         line.  (Bug#28391)
97491 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
97493         New variable 'dired-confirm-killing-deleted-buffers'
97495         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
97496         New variable.
97497         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
97498         visiting deleted files without confirming if
97499         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
97500         * etc/NEWS: Document the change.
97502 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
97504         Support SVN files with svn:externals property
97506         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
97507         marked with the svn:externals property.
97509 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
97511         List locally removed files in vc-dir with SVN back-end
97513         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
97514         with ?! as needs-update.
97516 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
97518         Fix Rmail editing with reapplying encoding to message body
97520         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
97521         content-type in edited headers, look for one in original
97522         headers and add it to edited headers.  (Bug #26918)
97523         Use a marker to track start of new body, so that
97524         content-transfer-encoding gets applied only to body.  (Bug #27353).
97525         Ensure blank line at end of message after encoding, not
97526         before.
97528 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
97530         Document last change in dired.el
97532         * etc/NEWS (Dired): Document the last change in dired.el.
97533         (Bug#27435)
97535 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
97537         Make mouse clicks in Dired more customizable
97539         * lisp/dired.el (dired-mouse-find-file): Allow callers to
97540         specify functions to visit file/directory.
97541         (dired-mouse-find-file-other-window)
97542         (dired-mouse-find-file-other-frame): New functions to visit
97543         files in another window/frame.  (Bug#27435)
97545 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
97547         Avoid compiler warnings on MS-Windows with GCC 6 and 7
97549         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
97550         bit-shifting, to avoid compiler warnings.
97551         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
97552         a warning.  For details of the warning, see
97553         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
97554         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
97555         in that build.
97556         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
97557         function is not used in that build.
97559         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
97561 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
97563         Fix 'directory-file-name' on DOS_NT systems as well
97565         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
97566         to be consistent with last change.
97568         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
97569         Disable on MS-Windows.
97570         (fileio-tests--directory-file-name-dos-nt)
97571         (fileio-tests--file-name-as-directory-dos-nt): New tests.
97573 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
97575         Fix various verilog-mode.el issues.
97577         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
97578         "*/*", msg2284. Reported by Jonathan Ferguson.
97579         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
97580         by Victor Lau.
97581         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
97582         verilog-substitute-file-name-path): Support -F in verilog getopt files,
97583         bug1171. Reported by George Cuan.
97584         (verilog-do-indent): Fix misindenting symbols starting with t,
97585         bug1169. Reported by Hoai Tran.
97586         (verilog-read-auto-template-middle): Fix slow template matching on
97587         AUTOINST. Reported by Jeffrey Huynh.
97588         (verilog-pretty-expr): The extra whitespace addition before "=" operators
97589         is now done only if the whole assignment block contains the 2-character
97590         "<=" operator.  Remove the unused argument _myre.  Use `unless',
97591         `save-excursion' and `when' functions where possible.  Internal variables
97592         refactored for clarity.  Follow elisp convention for closing parentheses.
97593         By Kaushal Modi.
97594         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
97595         refactored for clarity.  Earlier EDPOS argument was expected to be a
97596         marker; it is now renamed to END and is now expected to be a position.
97597         Use `when' instead of `if'.  By Kaushal Modi.
97598         (electric-verilog-terminate-line): Remove the unused second argument from
97599         `verilog-pretty-expr' call.  By Kaushal Modi.
97600         (verilog-calc-1): Fix indentation of a virtual class definition after a
97601         typedef class, bug1080.  By Kaushal Modi.
97603 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
97605         Don't use summary window to visit group buffer (bugfix)
97607         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
97608         the window to open the group buffer doesn't visit the summary buffer.
97609         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
97610         by trying to select nonexistent summary window.
97612 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
97614         Fix bug: (directory-file-name "///") returned "//"
97616         * src/fileio.c (directory_file_name): For "///" and longer,
97617         return "/", not "//", as per POSIX.
97618         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
97619         (fileio-tests--file-name-as-directory): New tests.
97621 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
97623         Remove obsolete vc-mistrust-permissions doc
97625         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
97626         for vc-mistrust-permissions, which no longer exists.
97628 2017-09-07  Alan Third  <alan@idiocy.org>
97630         Set frame size to actual requested size (bug#18215)
97632         * src/nsterm.m (x_set_window_size): Don't use
97633         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
97635 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
97637         autogen.sh: omit bogus chatter if no .git
97639         Problem reported by Angelo Graziosi in:
97640         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
97641         * autogen.sh (git_config): Do not execute 'git' if $do_git fails.
97643 2017-09-07  Glenn Morris  <rgm@gnu.org>
97645         Skip emacsclient tests if --enable-profiling was used
97647         * test/lib-src/emacsclient-tests.el
97648         (emacsclient-test-call-emacsclient): Make it a macro.
97649         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
97650         (emacsclient-test-alternate-editor-allows-arguments)
97651         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
97653 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
97655         Fix a minor markup problem in ELisp manual
97657         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
97658         @example and @group.  For the details, see
97659         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
97661 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
97663         Add XDG desktop file parsing and tests
97665         * lisp/xdg.el: Add support for Desktop Entry Specification.
97666         (xdg--user-dirs-parse-line): Check if file is readable.
97667         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
97668         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
97669         New functions.
97670         * test/lisp/xdg-tests.el:
97671         * test/data/xdg/test.desktop:
97672         * test/data/xdg/wrong.desktop: New files.
97674 2017-09-06  Glenn Morris  <rgm@gnu.org>
97676         Allow for adjusting line length of test backtraces
97678         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
97679         (%.log): Respect backtrace line length.
97681 2017-09-06  Glenn Morris  <rgm@gnu.org>
97683         Allow customizing line length of ert backtraces in batch mode
97685         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
97686         Make it a user option.
97687         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
97689 2017-09-06  Glenn Morris  <rgm@gnu.org>
97691         Minor emacsclient-tests simplification
97693         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
97694         Simplify.  Also work when running installed.
97696 2017-09-06  Alan Third  <alan@idiocy.org>
97698         Revert "Force screen update after drawing cursor glyph (bug#23774)"
97700         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
97702         See bug#28358
97704 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
97706         Refactor some loops in mailcap.el
97708         * lisp/net/mailcap.el (mailcap-mime-types):
97709         (mailcap-file-default-commands): Convert nested maps to loops.
97711 2017-09-05  Glenn Morris  <rgm@gnu.org>
97713         emacsclient-tests: remove some debug statements
97715         * test/lib-src/emacsclient-tests.el
97716         (emacsclient-test-call-emacsclient): Remove debug statements.
97718 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
97720         Handle non-zero exit status from psql more gracefully
97722         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
97723         exit statuses from `psql -ltX' more gracefully by returning nil.
97725         * test/lisp/progmodes/sql-tests.el
97726         (sql-tests-postgres-list-databases-error): New test.
97728 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
97730         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
97732         * src/w32proc.c (sys_kill): Preserve the up/down state of the
97733         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
97735 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
97737         * src/image.c (Fimagemagick_types): Doc fix.
97739 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
97741         Move soundex.el test to a proper test
97743         * test/lisp/soundex-tests.el: New file.
97744         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
97746 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
97748         Add tests for mailcap.el
97750         * test/data/mailcap/mime.types: New file.
97751         * test/lisp/net/mailcap-tests.el: New file.
97753 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
97755         Doc precisment about remote link targets
97757         * doc/lispref/files.texi (Truenames): Explain handling of
97758         targets of `file-truename' and `make-symbolic-link', which
97759         look like a remote file name.
97761         * etc/NEWS: Precise examples for symlinks which look like
97762         remote file names.  MUSTBENEW of `write-region' is not
97763         propagated to file name handlers.
97765 2017-09-05  John Wiegley  <johnw@newartisans.com>
97767         Remove an opinionated section on "What Eshell is not"
97769         I don't find this information to accurately reflect possible use cases
97770         for Eshell; plus, it doesn't offer much in the way of information,
97771         just opinion.
97773 2017-09-05  Ken Brown  <kbrown@cornell.edu>
97775         Fix configure test for Xpm
97777         Problem reported by Ashish Shukla in
97778         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
97779         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
97780         noX/xpm.h in configure test.
97782 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
97784         Revert recent float→double Motif change
97786         Problem reported by Martin Rudalics in:
97787         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
97788         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
97789         (x_set_toolkit_scroll_bar_thumb)
97790         (x_set_toolkit_horizontal_scroll_bar_thumb):
97791         Go back to using ‘float’ temporaries rather than ‘double’.
97792         Although quite possibly this masks an underlying bug,
97793         we lack time to look into that now.
97795 2017-09-04  Glenn Morris  <rgm@gnu.org>
97797         emacsclient-tests: add some debug statements
97799         * test/lib-src/emacsclient-tests.el
97800         (emacsclient-test-call-emacsclient): Add debug statements.
97802 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
97804         Work on Tramp's (symbolic) links
97806         * doc/misc/tramp.texi (Traces and Profiles): Mention the
97807         backtrace when tramp-verbose is greater than or equal to 10.
97809         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
97810         Use `tramp-handle-add-name-to-file'.
97812         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
97813         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
97815         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
97817         * lisp/net/tramp-smb.el (tramp-smb-errors):
97818         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
97819         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
97820         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
97821         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
97822         if one of the attributes is non-nil.
97823         (tramp-smb-handle-file-local-copy): Use `file-truename'.
97824         (tramp-smb-handle-file-truename): Move to tramp.el.
97825         (tramp-smb-handle-insert-directory): Show symlinks.
97826         (tramp-smb-handle-make-symbolic-link): Improve.
97827         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
97829         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
97830         (tramp-handle-file-truename): New defuns.
97832         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
97833         (tramp--test-check-files): Make check for "smb".
97835 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
97837         Embed JSON readtable into json-read
97839         Also unroll dispatch into a cond.
97840         * lisp/json.el (json-readtable): Remove.
97841         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
97842         (json-read): Use the macro.
97844 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
97846         Hexify strings in EWW search queries
97848         Previously, inputting "cats & dogs" would lose dogs because the
97849         ampersand signifies a query parameter.  Instead, hexify each word while
97850         preserving quotes with split-string.
97851         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
97852         with + separators, instead of replacing whitespace with +.
97854 2017-09-03  Glenn Morris  <rgm@gnu.org>
97856         emacsclient-tests: call-process may return non-integer
97858         * test/lib-src/emacsclient-tests.el
97859         (emacsclient-test-alternate-editor-allows-arguments)
97860         (emacsclient-test-alternate-editor-allows-quotes):
97861         Handle non-integer return from call-process.
97863 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
97865         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
97867 2017-09-03  Alan Third  <alan@idiocy.org>
97869         Force screen update after drawing cursor glyph (bug#23774)
97871         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
97872         drawing the glyph over the cursor.
97874 2017-09-03  Alan Mackenzie  <acm@muc.de>
97876         Correct the fontification of quote marks after buffer changes in CC Mode.
97878         * lisp/progmodes/cc-defs.el
97879         (c-search-forward-char-property-with-value-on-char): New macro.
97881         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
97882         (c-parse-quotes-after-change): Rewrite the functions, simplifying
97883         considerably, and removing unnecessary optimizations.
97884         Invalidate two caches after manipulating text properties.
97886 2017-09-03  Alan Mackenzie  <acm@muc.de>
97888         Fix fontification of "operator~" in C++ Mode.
97890         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
97891         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
97893         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
97894         two other symbols) as a cast without good evidence.  Prefer an overloaded
97895         operator in ambiguous cases.
97897 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
97899         In delete_frame do not delete terminal for any toolkit build
97901         * src/frame.c (delete_frame): Neither delete terminal for
97902         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
97903         Bug#27816).
97905 2017-09-02  Philipp Stephani  <phst@google.com>
97907         Improve error messages for improper plists (Bug#27726)
97909         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
97910         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
97911         improper plists instead of ‘listp.’
97913         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
97914         (lax-plist-get/odd-number-of-elements)
97915         (plist-put/odd-number-of-elements)
97916         (lax-plist-put/odd-number-of-elements)
97917         (plist-member/improper-list): Add unit tests.
97919 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
97921         Fix decrypting in plstore.el on MS-Windows
97923         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
97924         raw-text, instead of using insert-file-contents-literally.
97925         (Bug#28114)
97927 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
97929         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
97931 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
97933         Rewrite Antinews for Emacs 26
97935         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
97936         * doc/lispref/elisp.texi (Top): Update the top-level menu's
97937         Antinews entry.
97938         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
97939         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
97940         entry.
97942         * etc/NEWS: Rearrange some entries in a more reasonable order.
97944 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
97946         Fix a mis-binding in a test
97948         * test/lisp/progmodes/python-tests.el
97949         (python-shell-calculate-process-environment-3): Fix binding of
97950         process-environment.  A level of parens was missing.
97952         This was found after Glenn Morris noticed a similar problem with the
97953         patch for Bug#28319.
97955 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
97957         Fix a mis-binding and a bad defun name in a test (Bug#28319)
97959         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
97960         emacsclient-test-call-emacsclient.
97961         (emacsclient-test-alternate-editor-allows-arguments)
97962         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
97963         process-environment.
97965         Thanks to Glenn Morris for noticing these errors.
97967 2017-09-02  Glenn Morris  <rgm@gnu.org>
97969         * test/Makefile.in (check-no-automated-subdir): Silence by default.
97971         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
97973 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
97975         Turn off checkdoc complaint about default argument order
97977         * etc/NEWS: Mention change.
97978         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
97979         Disable by default, note version.
97981 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
97983         Stop emacsclient tests hanging (Bug#28319)
97985         * test/lib-src/emacsclient-tests.el
97986         (emacsclient-test-alternate-editor-allows-arguments): Use a
97987         non-existent file to communicate with server, so that any existing
97988         default server will not be hijacked (in fact, the test does
97989         not need a server).
97990         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
97992 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
97994         * lisp/obsolete/html2text.el: Don't require CL
97996         (html2text-clean-anchor): Mark unused arg.
97998 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
98000         Don't remove undisplayers from inlined MIME parts (bugfix)
98002         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
98003         Don't remove undisplayers from inlined MIME parts (bugfix);
98004         Simplify criterion that finds attachments.
98006 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
98008         Make ucs-names a hash table (Bug#28302)
98010         * etc/NEWS: Mention the type change.
98011         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
98012         Hardcode BEL's name into the function instead of needlessly mapping
98013         over the hash table in the spirit of rassoc.
98014         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
98015         function docstrings.  Initialize a hash table for ucs-names--the
98016         number of entries is 42845 here.  Switch to hash-table
98017         getters/setters.
98018         (mule--ucs-names-annotation): Use hash-table getter.
98019         (char-from-name): Upcase the string if ignore-case is truthy.
98020         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
98022 2017-08-31  Alan Third  <alan@idiocy.org>
98024         Remove unneeded version checks (bug#28222)
98026         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
98027         check.
98028         * src/macfont.m (macfont_draw): Remove version check, and test for
98029         existence of CGContextSetFontSmoothingStyle.
98031 2017-08-31  Alan Mackenzie  <acm@muc.de>
98033         Fix a glitch in CC Mode's syntactic whitespace cache.
98035         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
98036         comment close at the end of a macro.
98038 2017-08-31  Alan Mackenzie  <acm@muc.de>
98040         Correct the fontification of C++ Mode enclosed declarations.
98042         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
98043         spurious check that the character before the start of an enclosed declaration
98044         must be ; or }.  It might also be {.
98046 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
98048         In xterm.c fix some recently introduced compiler warnings
98050         * src/xterm.c (xaw_jump_callback)
98051         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
98052         -Wdouble-promotion warnings.
98054 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
98056         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
98058         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
98059         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
98060         react to state changes received via ConfigureNotify.
98062 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
98064         Respect directory a user enters (bug#28299)
98066         * lisp/gnus/mm-decode.el (mm-save-part):
98067         Respect directory a user enters (bug#28299).
98069 2017-08-31  Samuel Freilich  <sfreilich@google.com>
98071         Do not split line before width of fill-prefix
98073         When auto-filling a paragraph, don't split a line before the width of the
98074         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
98075         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
98076         the line than the width of the fill-prefix.  This is a more general solution
98077         than the previous logic, which only skipped over the exact fill-prefix.  The
98078         fill-prefix doesn't necessarily match the prefix of the first line of a
98079         paragraph in adaptive-fill-mode.
98081 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
98083         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
98085         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
98086         Consider any documentation that ended up in code as a docstring (e.g.,
98087         autogenerated (fn ARG1 ARG2) type things), not just what the user
98088         passed.
98090 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
98092         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
98094         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
98095         to drop the docstring.  Add a simple docstring to the compiler-macro.
98097 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
98099         Quote file-truename symlink to "../foo:bar:"
98101         Problem reported by Michael Albinus (Bug#28264#19).
98102         * lisp/files.el (files--splice-dirname-file): Fix bug where
98103         a relative symlink to "../foo:bar:" did not quote the result.
98105 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
98107         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
98109         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
98110         corresponding command-line argument, into quote- or space-separated
98111         tokens.  If a token starts with a quote, then it naturally is expected
98112         to end with a quote; escaping is not supported. This is enough to cope
98113         with the typical case of requiring the initial path to be quoted,
98114         common on Windows where it may contain spaces.
98115         * etc/NEWS: Document.
98116         * doc/emacs/misc.texi: Likewise.
98117         * doc/man/emacsclient.1: Tweak to remove the implication that only an
98118         editor can be specified (the manual already mentions a “command”).
98119         Fix a small error where “EDITOR” is referred to rather than
98120         “ALTERNATE_EDITOR”.
98121         * test/lib-src/emacsclient-tests.el: Add tests.
98123 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
98125         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
98127 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
98129         Correct "hide others" shortcut on macOS (bug#28215)
98131         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
98133 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
98135         Sync NEWS with the documentation
98137         * etc/NEWS: Mark entries according to documentation.
98139         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
98141 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
98143         Improve symlinks for Tramp
98145         * lisp/files.el (files--splice-dirname-file): Quote whole file.
98147         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
98148         Do not expand TARGET, it could be remote.
98149         (tramp-sh-handle-file-truename): Check for cyclic symlink also
98150         in case of readlink.  Quote result if it looks remote.
98151         (tramp-sh-handle-file-local-copy): Use `file-truename'.
98153         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
98154         (tramp-test09-insert-file-contents): Test also file missing.
98155         (tramp-test21-file-links): Extend test.
98157 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
98159         Preserve display's foreground color when clearing internal borders (Bug#28278)
98161         * src/xterm.c (x_after_update_window_line): Preserve display's
98162         foreground color when clearing internal borders (Bug#28278).
98164 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
98166         Use cl-print for all values printed by `describe-variable'
98168         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
98169         global values too.
98171 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
98173         Minor simplification for byte-compile-constant-push
98175         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
98176         of the code from here...
98177         (byte-compile-constant-push): ... to here.  No need to bind
98178         byte-compile--for-effect anymore.
98180 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
98182         Prefer file-name-quote to concat "/:"
98184         Suggested by Michael Albinus (Bug#28264#13).
98185         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
98186         rather than attempting to do it by hand.
98188 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
98190         * configure.ac: fix typo in previous change
98192 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
98194         Be more conservative in link time optimization doc
98196         While testing --enable-link-time-optimization with GCC 7.1.1
98197         I ran into a serious GCC code-generation bug which makes me
98198         think that --enable-link-time-optimization should be
98199         discouraged for typical installs (Bug#28213).  See:
98200         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
98202 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
98204         Make garbage collection more conservative
98206         Check for a pointer anywhere within the object, as opposed to just
98207         the start of the object.  This is needed for gcc -Os -flto on
98208         x86-64 (Bug#28213).  This change means that the garbage collector
98209         is more conservative, and will incorrectly keep objects that it
98210         does not need to, but that is better than incorrectly discarding
98211         objects that should be kept.
98212         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
98213         this is easier to debug.
98214         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
98215         Now a function with two args, not a macro with three.
98216         All callers changed.
98217         (live_string_holding, live_cons_holding, live_symbol_holding)
98218         (live_misc_holding, live_vector_holding, live_buffer_holding):
98219         New functions, which check for any object containing the addressed
98220         byte, not just for an object at the given address.
98221         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
98222         (live_vector_p, live_buffer_p):
98223         Redefine in terms of the new functions.
98224         (live_float_p): Refactor slightly to match the new functions.
98225         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
98226         Don’t bother checking mark bits, as mark_object already does that,
98227         and omitting the checks here simplifies the code.  Although
98228         mark_maybe_object can continue to insist that tagged pointers
98229         still address the start of the object, mark_maybe_pointer now is
98230         more conservative and checks for pointers anywhere into an object.
98232 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
98234         Improve stack-top heuristic
98236         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
98237         of the stack when scanning for heap roots, causing Emacs to crash
98238         later (Bug#28213).  The problem is that Emacs's hack for getting an
98239         address near the stack top does not work when link-time optimization
98240         moves stack variables around.
98241         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
98242         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
98243         (write_globals, scan_c_stream): Support noinline.
98244         * src/alloc.c (NEAR_STACK_TOP): New macro.
98245         (SET_STACK_TOP_ADDRESS): Use it.
98246         (flush_stack_call_func, Fgarbage_collect): Now noinline.
98248 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
98250         Align stack bottom properly.
98252         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
98253         * src/emacs.c (main): Align stack-bottom variable as a pointer,
98254         since mark_memory requires this.
98256 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
98258         Avoid spinning waiting for git-gui.exe on Windows
98260         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
98261         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
98262         process exited.  (Bug#28268)
98264 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
98266         Document '--module-assertions'
98268         * doc/emacs/cmdargs.texi (Initial Options): Document the
98269         '--module-assertions' command-line option.
98270         * doc/lispref/loading.texi (Dynamic Modules): Add a
98271         cross-reference to the description of '--module-assertions'.
98273         * etc/NEWS: Update the NEWS entry for --module-assertions.
98275 2017-08-29  Alan Third  <alan@idiocy.org>
98277         Add news entry about new macOS features
98279         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
98280         ns-use-thin-smoothing.
98282 2017-08-29  Alan Third  <alan@idiocy.org>
98284         Fix cross macOS version building (bug#28222)
98286         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
98287         declaration.
98288         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
98290 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
98292         Enable thin font smoothing in macOS (bug#28222)
98294         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
98295         * src/macfont.m (macfont_draw): Use font smoothing.
98297 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
98299         Minor improvement in documentation of display-line-numbers
98301         * doc/emacs/display.texi (Display Custom): Document the
98302         display-line-numbers-mode and related options.
98304 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
98306         Avoid aborting in 'waitpid' on MS-Windows
98308         * src/w32proc.c (waitpid): Don't allow quitting if called with
98309         WNOHANG in OPTIONS.  (Bug#28268)
98311 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
98313         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
98315         (sh-syntax-propertize-function): Fix off-by-one error.
98316         Fixes bug#23526.
98318 2017-08-29  Rasmus  <rasmus@gmx.us>
98320         Update Org to v9.0.10
98322         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
98323         release.
98325 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
98327         Silence false alarms for symlinks to sources
98329         Problem reported by Glenn Morris (Bug#28264).
98330         * lisp/files.el (files--splice-dirname-file): New function.
98331         (file-truename, file-chase-links): Use it.
98333 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
98335         Simplify remove_slash_colon
98337         * src/process.c (remove_slash_colon): Simplify
98338         and avoid a special case for "/:" by itself.
98340 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
98342         Remove font family from minibuffer-prompt face
98344         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
98345         minibuffer-prompt face.
98347 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
98349         Further fixes in tramp-smb.el
98351         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
98352         (tramp-smb-file-name-handler-alist): Use it.
98353         (tramp-smb-handle-make-symbolic-link): Unquote target.
98355         * test/lisp/net/tramp-tests.el
98356         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
98357         (tramp-test18-file-attributes, tramp-test21-file-links)
98358         (tramp--test-check-files): Use it.
98360 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
98362         Don’t assume -g3 in .gdbinit
98364         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
98365         Use reasonable defaults if not in the symbol table.
98367 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
98369         Use string-match to check for dotfiles in ido
98371         * lisp/ido.el (ido-make-file-list): Use string-match to check
98372         for dotfiles instead of substring, as when using tramp
98373         simplified syntax ido-temp-list may contain empty strings.
98375 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
98377         Font-lock FDO desktop files correctly
98379         Single and double quotes do not have a special meaning in
98380         desktop files.
98381         https://standards.freedesktop.org/desktop-entry-spec/latest/
98382         * etc/NEWS: Mention new mode.
98383         * lisp/files.el (auto-mode-alist): Split out an entry for handling
98384         the .desktop extension with conf-desktop-mode.
98385         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
98386         variable with rules for booleans and format specifiers.
98387         (conf-unix-mode): Remove desktop file entry example from docstring.
98388         (conf-desktop-mode): New derived major mode.
98390 2017-08-27  Tom Tromey  <tom@tromey.com>
98392         Fix auto-fill bug in js-mode
98394         * lisp/progmodes/js.el (js-do-auto-fill): New function.
98395         (js-mode): Set normal-auto-fill-function.
98396         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
98397         test.
98399 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
98401         Disable completion while entering python multiline statements
98403         The "legacy" completion mechanism sends newlines to the running python
98404         process to get the list of completions, which confuses things if the
98405         user is in the middle of entering a multiline statement (Bug#28051).
98406         It's better to disable completion in this case.
98407         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
98408         (python-shell-prompt-set-calculated-regexps): Set it.
98409         (python-shell-completion-at-point): Return 'ignore' as the completion
98410         function when the current prompt is a block prompt.
98412 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
98414         Tramp cleanup
98416         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
98417         (tramp-sh-handle-make-symbolic-link): More robust check for
98418         TARGET remoteness.
98420         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
98421         Disable copying by tar temporarily, it doesn't work reliably.
98422         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
98423         (tramp-smb-handle-make-symbolic-link): Fix implementation.
98425         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
98427         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
98428         Extend test.
98430 2017-08-27  Glenn Morris  <rgm@gnu.org>
98432         Fix previous xterm.h change for non-gtk builds
98434         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
98436 2017-08-27  Philipp Stephani  <phst@google.com>
98438         Fix GdkSettings-related deprecation warnings
98440         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
98441         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
98442         instead of deprecated gtk_settngs_set_string_property otherwise.
98444 2017-08-27  Philipp Stephani  <phst@google.com>
98446         Always use gtk_window_move in new versions
98448         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
98449         GTK+.
98450         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
98452         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
98453         is ignored.
98455         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
98457 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
98459         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
98461         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
98462         narrowing, and widen the buffer before searching for the name of the
98463         file corresponding to the diff.
98465         With thanks to Noam Postavsky.
98467 2017-08-27  Philipp Stephani  <phst@google.com>
98469         Remove use of a deprecated GTK+ function in new versions
98471         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
98472         if available
98474 2017-08-27  Philipp Stephani  <phst@google.com>
98476         Stop using deprecated GdkScreen monitor functions in newer GDK
98478         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
98479         objects instead of the deprecated GdkScreen functions in GDK 3.22+
98481 2017-08-27  Philipp Stephani  <phst@google.com>
98483         Use GdkSeat in new GDK versions
98485         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
98486         GdkDeviceManager in GDK 3.20+
98488 2017-08-27  Philipp Stephani  <phst@google.com>
98490         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
98492 2017-08-27  Philipp Stephani  <phst@google.com>
98494         Remove call of deprecated GDK function
98496         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
98497         GDK 3.22 or later.
98499 2017-08-27  Alan Mackenzie  <acm@muc.de>
98501         Amend the CC Mode macro cache to cope with changes at the macro start
98503         Fixes bug #28233.
98505         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
98506         error.
98508 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
98510         Fix over-protection of byte-compiled files
98512         Problem reported by Sven Joachim (Bug#28244).
98513         Also, fix similar problem for autoload files.
98514         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
98515         Set temp file modes to the buffer-file-name file modes (or 666
98516         if not available) as adjusted by umask.
98517         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
98518         Set temp file modes to 666 as adjusted by umask.
98520 2017-08-27  Tom Tromey  <tom@tromey.com>
98522         Refine conf-toml-mode font-lock
98524         Bug#28218
98525         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
98526         conf-toml-recognize-section.  Use \s- in variable regexp.
98527         (conf-toml-recognize-section): New function.
98529 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
98531         Do not munge contents of local symbolic links
98533         This lets Emacs deal with arbitrary local symlinks without
98534         mishandling their contents (Bug#28156).  For example,
98535         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
98536         now consistently creates a symbolic link from '/tmp/x' to '~'.
98537         Formerly, it did that only if the working directory was on the
98538         same filesystem as /tmp; otherwise, it expanded the '~' to
98539         the user's home directory.
98540         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
98541         instead of rolling our own code.
98542         * lisp/files.el (files--name-absolute-system-p): New function.
98543         (file-truename, file-chase-links): Use it to avoid mishandling
98544         symlink contents that begin with ~.
98545         (copy-directory, move-file-to-trash):
98546         Use concat rather than expand-file-name, to avoid mishandling
98547         symlink contents that begin with ~.
98548         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
98549         target unless interactive.  Strip leading "/:" if interactive.
98550         (emacs_readlinkat): Do not prepend "/:" to the link target if
98551         it starts with "/" and contains ":" before NUL.
98552         * test/src/fileio-tests.el (try-link): Rename from try-char,
98553         and accept a string instead of a char.  All uses changed.
98554         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
98555         to test the new behavior.
98557 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
98559         Remove invalid regexp for shell builtins for wksh
98561         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
98562         be literal strings, so remove a regexp for wksh. In any case, it’s a
98563         defunct proprietary shell.
98565 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
98567         Improve doc for file-name-absolute-p.
98569 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
98571         Fix Tramp part of Bug#28156
98573         * lisp/files.el (file-name-non-special): Use `file-name-quote'
98574         instead prefixing "/:", the file could already be quoted.
98576         * lisp/net/tramp.el (tramp-error): Handle null arguments.
98577         (tramp-handle-make-symbolic-link):
98578         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
98579         (tramp-sh-handle-add-name-to-file):
98580         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
98581         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
98582         stronger semantics in Emacs.  (Bug#28156)
98584         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
98585         Extend test.
98587 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
98589         Fix bugs merged with bug#25428
98591         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
98592         (Bug#13926)  (Bug#25434)  (Bug#25435)
98594 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
98596         Improve documentation of Info virtual files and nodes
98598         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
98599         (Bug#28237)
98601 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
98603         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
98605 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
98607         Support multi-lingual detection of SEE ALSO man sections
98609         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
98610         section detection in several langages: French, German, Spanish,
98611         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
98613 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
98615         Improve expand-file-name doc
98617         * doc/lispref/files.texi (Relative File Names, Directory Names)
98618         (File Name Expansion):
98619         * doc/lispref/minibuf.texi (Reading File Names):
98620         Document expand-file-name behavior with ~ more clearly
98621         and accurately.
98622         * doc/misc/org.texi (Batch execution): Simplify example
98623         script so that it does not need expand-file-name and thus
98624         will not mishandle file names with leading ~.
98626 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
98628         Support all perl variable declarators and prefixes (Bug#27613)
98630         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
98631         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
98632         'local', 'state', 'supersede', 'let', and 'temp'.
98634 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
98636         Fix file-attributes race on GNU hosts
98638         * doc/lispref/files.texi (File Attributes):
98639         Document file-attributes atomicity.
98640         * etc/NEWS: Document the fix.
98641         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
98642         for diagnostics.  All callers changed.  On platforms like
98643         GNU/Linux that support O_PATH, fix a race condition in
98644         file-attributes and similar functions, so that these functions do
98645         not return nonsense if a directory entry is replaced while getting
98646         its attributes.  On non-GNU platforms, do a better (though not
98647         perfect) job of detecting the race, and return nil if detected.
98649 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
98651         Simplify expand_and_dir_to_file
98653         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
98654         argument, since in practice it always has the default value.  All
98655         callers changed.  Prefer C99 style decls in nearby code.
98657 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
98659         Fix file-name completion on network shares
98661         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
98662         (Bug#28207)
98664 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
98666         Fix a FIXME with an exegetical comment
98668         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
98669         regexp for wksh builtins.
98671 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
98673         Minor docstring language fix
98675         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
98677 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
98679         Remove old commented code from sh-script.el
98681         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
98682         and variable, commented since 2001.
98684 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
98686         * lisp/emacs-lisp/package.el: Don't let failure stop us
98688         (package-activate-1): Don't throw an error for missing deps.
98689         (package-unpack): Don't bother compiling if activation failed.
98690         (package-initialize): Report failures but keep activating other packages.
98692 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
98694         Prefer ‘double’ for FP temps in xterm.c
98696         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
98697         (x_set_toolkit_scroll_bar_thumb)
98698         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
98699         ‘float’ for individual local floating-point temporaries.
98701 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
98703         Avoid using string-to-multibyte in ispell.el
98705         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
98706         decode-coding-string instead. Note that decode-coding-string returns a
98707         string that satisfies multibyte-string-p even if its input is pure
98708         ASCII and the third argument is t, so the result of
98709         ispell-get-decoded-string is always a multibyte string.
98711 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
98713         Store the regexp just when there are matches
98715         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
98716         disabled and there are no matches do not store REGEXP
98717         in hi-lock-interactive-patterns.
98719 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
98721         Keep face available if there are no matches
98723         If font-lock-mode is disabled in the current buffer, and
98724         there are no matches for REGEXP, then keep FACE available
98725         for a next search.
98726         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
98727         hi-lock--unused-faces if font-lock-mode is disabled and
98728         there are no matches.
98729         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
98731 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
98733         Minor improvements for tramp-interrupt-process, documentation
98735         * doc/lispref/processes.texi (Signals to Processes):
98736         * etc/NEWS: Document interrupt-process-functions.
98738         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
98739         `process-live-p'.
98741         * src/process.c (Vinterrupt_process_functions): Fix docstring.
98743         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
98744         Extend test.
98746 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
98748         Fix a comment whitespace typo.
98750         src/fileio.c: A double space was added after "..", used in a code
98751         example. Make it a single space.
98753 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
98755         Remove old commented code and obsolete comments
98757         * lisp/files.el (locate-dominating-files): Remove old commented
98758         implementation from 9 years ago.  Since the current version
98759         appears (at least to me) not just more efficient but clearer than the
98760         version removed, also delete a comment in the new version referring to
98761         the old version. Remove old commented heuristic code,
98762         and explanatory comments.
98764 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
98766         Remove old duplicate commented code
98768         * lisp/files.el (file-relative-name): Remove old commented version,
98769         replaced 14 years ago in commit 753ad9889.
98771 2017-08-24  Tom Tromey  <tom@tromey.com>
98773         Add conf-toml-mode
98775         * etc/NEWS: Mention conf-toml-mode.
98776         * lisp/files.el (auto-mode-alist): Add entry for .toml.
98777         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
98778         (conf-toml-font-lock-keywords): New defvars.
98779         (conf-toml-mode): New mode.
98781 2017-08-23  Alan Third  <alan@idiocy.org>
98783         Use lisp type in log message (bug#28176)
98785         * src/nsimage.m (ns_load_image): Use make_number on index.
98787 2017-08-23  Alan Third  <alan@idiocy.org>
98789         Fix PNGs on macOS (bug#28176)
98791         * src/nsimage.m (ns_load_image): Remove index check.
98792         (EmacsImage::getAnimatedBitmapImageRep): New function.
98793         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
98794         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
98795         is valid.
98797 2017-08-23  Alan Third  <alan@idiocy.org>
98799         Add ability to change macOS WM theme (bug#27973)
98801         * src/frame.c (make_frame, frame_parms, syms_of_frame)
98802         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
98803         options.
98804         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
98805         represent NSAppearance options.
98806         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
98807         ns_transparent_titlebar frame parameters.
98808         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
98809         ns_set_appearance and ns_set_transparent_titlebar handlers.
98810         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
98811         frame parameters.
98812         (Qdark): Add new symbol for use with ns-appearance.
98813         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
98814         [NS_IMPL_COCOA]: Add prototypes.
98815         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
98816         [NS_IMPL_COCOA]: New functions.
98817         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
98818         ns-transparent-titlebar frame parameters.
98819         * doc/lispref/frames.texi (Window Management Parameters): Document
98820         ns-apperance and ns-transparent-titlebar.
98822 2017-08-22  Alan Mackenzie  <acm@muc.de>
98824         When looking for the end of a declarator, prevent macros fouling up the search
98826         The practical implication of this bug was a random jit-lock chunk remaining
98827         entirely unfontified.
98829         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
98830         restrict two forward searches to the end of that macro.
98832 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
98834         Test `file-expand-wildcards' for Tramp
98836         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
98837         Remove, not needed anymore.
98839         * test/lisp/net/tramp-tests.el (top): Require seq.el.
98840         (tramp-test16-directory-files): Simplify.
98841         (tramp-test16-file-expand-wildcards): New test.
98842         (tramp-test28-interrupt-process): Skip for older Emacsen.
98844 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
98846         Add tests for cl-macs.el (Bug#27559)
98848         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
98849         duplicate.
98850         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
98851         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
98853 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
98855         Optimize skkdic conversion (Bug#28043)
98857         The primary speedup comes from the optimizing lookup-nested-alist and
98858         set-nested-alist for the case where the key is a string.  This brings
98859         the time down to less than half the original.
98861         * lisp/international/mule-util.el (lookup-nested-alist)
98862         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
98863         string.
98865         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
98866         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
98867         of calculating ratio of work done inline.
98869         (skkdic-reduced-candidates): Call `char-category-set' on the first
98870         character of the string directly, instead of using a regexp for the
98871         character category.
98872         (skkdic--japanese-category-set): New constant.
98873         (skkdic-collect-okuri-nasi): Just set
98874         `skkdic-okuri-nasi-entries-count' at once at the end rather than
98875         updating it throughout the loop.
98877         (skkdic-convert-postfix skkdic-convert-prefix)
98878         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
98879         (skkdic-extract-conversion-data): Use `match-string-no-properties'
98880         instead of `match-string'.
98882 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
98884         Treat tests in lib-src like tests in src
98886         * test/Makefile.in (test_template): Depend on a .c source file for a
98887         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
98888         in the right direction.)
98890 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
98892         Port /bin/sh scripts to Solaris 10
98894         Its /bin/sh builtin ‘test’ command does not support -e.
98895         * autogen.sh, build-aux/git-hooks/pre-commit:
98896         * build-aux/gitlog-to-emacslog, make-dist:
98897         Use test -r, not test -e.
98899 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
98901         Avoid losing the buffer restriction in flyspell-mode
98903         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
98904         as we have the buffer widened, to make sure the restriction is
98905         preserved.  (Bug#28161)
98907 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
98909         Fix the 'versionclean' target in src/Makefile
98911         * src/Makefile.in (versionclean): Don't accidentally remove
98912         emacs-module.h.  (Bug#28169)
98914 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
98916         Implement `interrupt-process-functions'
98918         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
98919         `tramp-advice-interrupt-process'.  Adapt according to changed API.
98920         (top): Add it to `interrupt-process-functions'.
98922         * src/process.c (Finternal_default_interrupt_process): New defun.
98923         (Finterrupt_process): Change implementation, based on
98924         Vinterrupt_process_functions.
98925         (Vinterrupt_process_functions): New defvar.
98927         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
98928         test removal of advice.
98930 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
98932         Avoid floating-point exceptions while drawing underwave
98934         * src/w32term.c (x_get_scale_factor):
98935         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
98936         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
98937         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
98939 2017-08-21  Sam Steingold  <sds@gnu.org>
98941         mark flymake-mode as safe local variable when the value is nil
98943 2017-08-21  Sam Steingold  <sds@gnu.org>
98945         allow nil init in flymake-allowed-file-name-masks to disable flymake
98947         (flymake-allowed-file-name-masks): Update doc and :type.
98948         (flymake-get-file-name-mode-and-masks): Handle nil init.
98950 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
98952         Remove the workaround for bug#20719
98954         * lisp/cedet/semantic/symref/grep.el
98955         (semantic-symref-grep-use-template): Remove the workaround for
98956         bug#20719, it's been fixed for a while now.
98958 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
98960         Fix byte-compilation warnings in semantic/symref/grep
98962         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
98963         (grepflags): Rename to semantic-symref-grep-flags.
98964         (semantic-symref-grep-expand-keywords): Update accordingly.
98965         (semantic-symref-grep-use-template): Remove the last two
98966         arguments to make sure they don't shadow the (not renamed)
98967         global variables.
98968         (semantic-symref-perform-search)
98969         (semantic-symref-parse-tool-output-one-line): Use slot names
98970         instead of keywords, like the byte-compiler wants us to.
98972 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
98974         Simplify eldoc-message
98976         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
98977         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
98979 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
98981         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
98983         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
98984         carriage returns into the temporary file when running in unbuffered
98985         mode, the w32 build of python 2.7 chokes on them.
98987 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
98989         Add missing require
98991         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
98993 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
98995         Implement `interrupt-process' for remote processes (Bug#28066)
98997         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
98998         Support sending signals remotely.
98999         (tramp-open-connection-setup-interactive-shell):
99000         Trace "remote-tty" connection property.
99002         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
99003         (top): Add advice to `interrupt-process'.  (Bug#28066)
99005         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
99006         New test.
99007         (tramp-test29-shell-command)
99008         (tramp-test30-environment-variables)
99009         (tramp-test30-environment-variables-and-port-numbers)
99010         (tramp-test31-explicit-shell-file-name)
99011         (tramp-test32-vc-registered)
99012         (tramp-test33-make-auto-save-file-name)
99013         (tramp-test34-make-nearby-temp-file)
99014         (tramp-test35-special-characters)
99015         (tramp-test35-special-characters-with-stat)
99016         (tramp-test35-special-characters-with-perl)
99017         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
99018         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
99019         (tramp-test36-utf8-with-ls)
99020         (tramp-test37-asynchronous-requests)
99021         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
99022         (tramp-test40-unload): Rename.
99023         (tramp-test40-unload): Test also removal of advice.
99025 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
99027         Document Enchant support
99029         * doc/emacs/fixit.texi: Mention Enchant.
99030         * doc/misc/efaq.texi: Likewise.
99031         * etc/NEWS: Add an item on Enchant support.
99033 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
99035         Remove old comments and a redundant FIXME
99037         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
99038         commented code, a redundant FIXME, and outdated usage instructions.
99040 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
99042         Add Enchant support to ispell.el (Bug#17742)
99044         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
99045         (ispell-really-enchant): Add variable.
99046         (ispell-check-version): If using Enchant, check it’s new enough (at
99047         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
99048         without.)
99049         (ispell-enchant-dictionary-alist): Add variable.
99050         (ispell-find-enchant-dictionaries): Add function, based on
99051         ispell-find-aspell-dictionaries.
99052         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
99053         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
99054         old ispell name to locale mapping code for Enchant too.
99055         (ispell-send-replacement): Make it work with Enchant.
99057 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
99059         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
99061 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
99063         Stop printing '4' in .elc files after 'define-symbol-prop' calls
99065         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
99066         Return nil in case we have compiled the form, to prevent a redundant
99067         constant from getting added to the compiled output.
99069 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
99071         Change recent symlink tests to just test ASCII
99073         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
99074         Be less ambitious about testing non-ASCII chars and encoding
99075         errors, as there are too many portability issues.
99077 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
99079         Don’t adjust CRLF in file names
99081         * doc/misc/gnus.texi (Non-ASCII Group Names):
99082         * etc/NEWS:
99083         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
99084         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
99085         that CRLF in file names is left alone.
99086         * lisp/international/mule-cmds.el (set-default-coding-systems):
99087         Do not alter CRLF in file name coding systems.
99088         (prefer-coding-system): Ignore differences in CRLF processing when
99089         checking whether we used the user-specified file name coding system.
99090         * test/src/fileio-tests.el: New file.
99092 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
99094         Make list-processes support display-line-numbers
99096         * lisp/simple.el (process-menu-mode): Move the call to
99097         tabulated-list-init-header from here...
99098         (list-processes--refresh): ...to here.  (Bug#27895)
99100 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
99102         Improve support of display-line-numbers in package.el
99104         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
99105         the header.  (Bug#27895)
99106         * lisp/emacs-lisp/tabulated-list.el
99107         (tabulated-list-line-number-width): Fix the case when
99108         display-line-numbers is nil.
99110 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
99112         Improve support of display-line-numbers in tabulated-list-mode
99114         * lisp/emacs-lisp/tabulated-list.el
99115         (tabulated-list-line-number-width): New function.
99116         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
99117         (Bug#27895)
99119 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
99121         Fix one more issue reported by Alex (Bug#27999)
99123         * doc/lispref/windows.texi (Preserving Window Sizes)
99124         (Window Parameters): Use the term `window-preserved-size'
99125         instead of `preserved-size' (Bug#27999).
99127 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
99129         Rename `no-delete-other-window' to `no-delete-other-windows'
99131 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
99133         Fix two side window problems noted by Alex (Bug#27999)
99135         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
99136         typo.
99137         (delete-other-windows): Rename the `no-delete-other-window'
99138         parameter to `no-delete-other-windows' (see the discussion in
99139         Bug#27999 for the rationale of this change).
99140         * doc/lispref/windows.texi (Deleting Windows)
99141         (Frame Layouts with Side Windows, Window Parameters): Rename
99142         `no-delete-other-window' to `no-delete-other-windows'.
99144 2017-08-19  Alex Schroeder  <alex@gnu.org>
99146         Use define-minor-mode for rcirc-omit-mode
99148 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
99150         Clarify behavior of symlinks and directories
99152         * doc/lispref/files.texi (Saving Buffers): Document how functions
99153         like rename-file work with symlinks and directories.  This patch
99154         attempts to document the current behavior better, in preparation
99155         for possibly changing it.  See Bug#27986.
99157 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
99159         Fix recently-introduced file descriptor leak
99161         * src/fileio.c (Fmake_temp_file_internal):
99162         Don’t leak a file descriptor if write_region signals an error.
99164 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
99166         Improve make-temp-file performance on local files
99168         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
99169         the work of inserting the text.
99170         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
99171         All callers changed.
99173 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
99175         Don't lose arguments to eshell aliases (Bug#27954)
99177         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
99179 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
99181         * lisp/files.el (make-temp-file): Fix directory use case.
99183 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
99185         Fix and document make-temp-file optional text parameter
99187         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
99188         (files--make-magic-temp-file): Support optional TEXT parameter.
99189         * etc/NEWS: Document it.
99190         * doc/lispref/files.texi: Document it.
99191         * test/lisp/auth-source-tests.el: Minor reformat.
99193 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
99195         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
99197         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
99199 2017-08-19  João Távora  <joaotavora@gmail.com>
99201         Fix default value of electric-pair-pairs and electric-pair-text-pairs
99203         (Bug#24901)
99205         A previous change, titled "Add support for curly quotation marks to
99206         electric-pair-mode", attempted to add these characters to the default
99207         value of these variables.  But it did so in a quoted list, preventing
99208         evaluation of the relevant expressions and resulting in an invalid
99209         format.
99211         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
99212         Use backquote and comma.
99214 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
99216         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
99218         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
99219         explicitly in the interactive case.
99221 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
99223         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
99225 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
99227         Add auth-source tests and codify its API better
99229         The auth-source behavior was unclear in some API use cases, so these
99230         extra tests codify and test it. For details see
99231         https://github.com/DamienCassou/auth-password-store/issues/29
99233         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
99234         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
99235           auth-source tests and simplify them with the new `make-temp-file'.
99237 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
99239         Don't call the same hook twice due to obsolete aliases
99241         * lisp/international/robin.el (robin-activate):
99242         * lisp/international/quail.el (quail-activate):
99243         * lisp/international/mule-cmds.el (deactivate-input-method):
99244         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
99245         Don't call the same hook twice, when the obsolete and the
99246         advertised symbols are aliased.  (Bug#28118)
99248 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
99250         A new face for show-paren in expression mode
99252         * lisp/faces.el (show-paren-match-expression): Define the new face.
99253         * lisp/paren.el (show-paren-function): Apply the different face
99254         when in expression mode.  (Bug#28047)
99256 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
99258         Non-ASCII support for man page section and header names
99260         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
99261         (Man-heading-regexp): Replace ASCII character classes by
99262         equivalent classes that allow non-ASCII characters.  Suggested by
99263         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
99265 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
99267         Implement HiDPI support for underwave on MS-Windows
99269         * src/w32term.c (x_get_scale_factor): New function.
99270         (w32_draw_underwave): Use it.
99271         * src/xterm.c (x_draw_underwave): Offset the wave starting point
99272         to make it identical with original code.
99274 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
99276         Support HiDPI displays for wave style underlines
99278         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
99279         based on scale factor.
99280         (x_get_scale_factor): New function.
99282 2017-08-18  Bastien  <bzg@gnu.org>
99284         Delete library-of-babel.org
99286         * etc/org/library-of-babel.org: Delete file.
99288 2017-08-18  Glenn Morris  <rgm@gnu.org>
99290         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
99292 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
99294         Remove custom version parsing from epg-config.el (Bug#27963)
99296         * lisp/epg-config.el (epg-config--compare-version)
99297         (epg-config--parse-version): Remove.
99298         (epg-check-configuration): Use `version<=' instead.
99300 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
99302         Treat control characters in JSON strings as invalid
99304         * lisp/json.el (json-peek): Reduce to following-char.
99305         (json-pop, json-read): Zero (null char) means end of file.
99306         (json-read-escaped-char): Delimit URL properly.
99307         (json-read-string): Signal error for ASCII control characters.
99308         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
99309         :json-eof symbol.
99310         (test-json-read-string): New test for control characters in JSON
99311         strings.
99313 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
99315         Support Posix semantics of 'rename' on MS-Windows
99317         * src/w32.c (sys_rename_replace): Support Posix semantics of
99318         'rename': return an error if OLD is a directory while NEW is not,
99319         or vice versa.
99321 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
99323         * src/w32.c (sys_rename_replace): Support renaming a directory.
99325 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
99327         Fix the MS-Windows build
99329         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
99330         'open'.
99332         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
99334 2017-08-17  João Távora  <joaotavora@gmail.com>
99336         Add flymake-backends defcustom
99338         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
99339         Rename from flymake-can-syntax-check-file.  Suitable for adding to
99340         flymake-backends.
99341         (flymake-proc-start-syntax-check): Rename from
99342         flymake-start-syntax-check.  Don't check again if buffer can be
99343         checked.
99344         (add-to-list flymake-backends): Hook only flymake-ui.el
99346         * lisp/progmodes/flymake-ui.el (flymake-backends): New
99347         defcustom.
99348         (flymake-on-timer-event, flymake-after-change-function)
99349         (flymake-after-save-hook, flymake-find-file-hook): Call new
99350         flymake--start-syntax-check-buffer and
99351         flymake--can-syntax-check-buffer.
99352         (flymake-mode): Call flymake--can-syntax-check-buffer and set
99353         flymake-backend.
99354         (flymake--backend): New buffer-local variable.
99356 2017-08-17  João Távora  <joaotavora@gmail.com>
99358         Split flymake.el into flymake-proc.el and flymake-ui.el
99360         flymake.el is now a stub that requires both files.
99362         * lisp/progmodes/flymake-proc.el: New file.
99364         * lisp/progmodes/flymake-ui.el: New file.
99366         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
99367           flymake-proc.el.  Require both files.
99369 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
99371         Set `default-directory' for watchdog in tramp-test.el
99373         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
99374         Set `default-directory' for watchdog.
99376 2017-08-17  Andreas Schwab  <schwab@suse.de>
99378         * lisp/term/konsole.el: New file.
99380 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
99382         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
99384         (woman2-RS): Use plain `push' instead of `woman-push'.
99385         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
99387 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
99389         Merge from Gnulib; use ‘open’ for O_CLOEXEC
99391         This incorporates:
99392         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
99393         2017-08-15 extensions: enable NetBSD specific extensions
99394         2017-08-14 open: support O_CLOEXEC
99395         2017-08-13 reallocarray: new module
99396         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
99397         it now supports O_CLOEXEC and this simplifies Emacs.
99398         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
99399         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
99400         Copy from Gnulib.
99401         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
99402         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
99403         New files, copied from Gnulib.
99404         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
99405         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
99406         Remove, as Gnulib does this for us.
99407         * src/filelock.c (create_lock_file):
99408         * src/sysdep.c (emacs_open, emacs_pipe):
99409         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
99411 2017-08-16  Alan Third  <alan@idiocy.org>
99412             Charles A. Roelli  <charles@aurox.ch>
99414         Allow use of run-time OS version checks on macOS (bug#27810)
99416         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
99417         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
99418         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
99419         defines.
99420         (NSWindowStyleMaskFullScreen,
99421         NSWindowCollectionBehaviorFullScreenPrimary,
99422         NSApplicationPresentationFullScreen,
99423         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
99424         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
99425         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
99426         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
99427         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
99428         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
99429         Allow use of run-time checks and replace version check macros.
99430         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
99431         * src/macfont.m (macfont_draw): Use run-time OS version checks.
99432         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
99434 2017-08-16  Alan Third  <alan@idiocy.org>
99436         Add multiframe image support to NS port (bug#21714)
99438         * src/nsimage.m (ns_load_image): Handle multiple frames.
99439         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
99440         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
99441         function prototypes.
99443 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
99445         files-tests.el: Remove unused lexical variable
99447         * test/lisp/files-tests.el (file-test--do-local-variables-test);
99448         Remove unused var 'files-test-queried'.
99450 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
99452         * doc/emacs/files.texi (Copying and Naming): Mention
99454         restrictions to add-name-to-file and make-symbolic-link on
99455         remote systems.
99457 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
99459         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
99461 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
99463         Add tests for previous commit
99465         * test/lisp/progmodes/elisp-mode-tests.el
99466         (elisp-mode-tests--face-propertized-string): New function.
99467         (elisp--highlight-function-argument-indexed)
99468         (elisp--highlight-function-argument-keyed-1)
99469         (elisp--highlight-function-argument-keyed-2): New tests.
99471 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
99473         Fix eldoc highlighting for &key args (Bug#27272)
99475         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
99476         Only switch to keyword-based searching if INDEX point beyond `&key' in
99477         the argument list.  All arguments prior to the `&key' are position
99478         based.  Additionally, be more strict about what is a keyword when
99479         searching for the current keyword.
99481 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
99483         Do not assume regular Git .git/hooks dir
99485         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
99486         Problem reported by Ted Zlatanov in:
99487         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
99488         * autogen.sh (git_sample_hook_src): New function.  Use it to work
99489         even if .git/hooks or its samples do not exist.
99491 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
99493         New manual section "Copying and Naming"
99495         * doc/emacs/files.texi (Copying and Naming):
99496         New section, split off from Misc File Ops and containing the
99497         operations that copy, name or rename files.  This fixes some
99498         confusion caused by the incorrect phrase "The same rule applies
99499         to all the remaining commands in this section" in the old manual.
99500         This change does not affect the confusion about directories (see
99501         Bug#27986 for ongoing discussion).
99503 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
99505         Fix the MS-Windows build
99507         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
99508         ENOSYS.  (Bug#28097)  (Bug#27986)
99510 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
99512         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
99514         * .gitlab-ci.yml: add Git to the installed packages.
99516 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
99518         Support indentation of detached Less CSS rulesets
99520         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
99521         for indentation of detached rulesets passed to Less mixins.
99523         * test/manual/indent/less-css-mode.less: New file.
99525 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
99527         Fixes and tweaks for the new Less CSS mode
99529         * etc/NEWS: Add an entry for the new mode.
99531         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
99532         (less-css-lessc-command): Tweak docstring. Don't mark it as
99533         safe. Don't autoload.
99534         (less-css-compile-at-save, less-css-lessc-options)
99535         (less-css-output-directory): Tweak docstrings. Don't autoload.
99536         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
99537         (less-css-input-file-name): Tweak docstring. Don't autoload.
99538         (less-css-compile-maybe): Use `when' for one-armed `if'.
99539         (less-css--output-path): Tweak docstring.
99540         (less-css--maybe-shell-quote-command): Remove function.
99541         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
99542         compiler warning. Use `string-join' instead of `mapconcat'.
99543         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
99544         variables.
99545         (less-css-mode-syntax-table, less-css-mode-map): New variables.
99546         (less-css-mode): Change status line mode name from "LESS" to
99547         "Less". Tweak docstring. Move syntax table definitions to
99548         `less-css-mode-syntax-table'.
99549         (less-css-indent-line): Remove function.
99551 2017-08-15  Steve Purcell  <steve@sanityinc.com>
99553         New major mode: Less CSS mode
99555         * lisp/textmodes/less-css-mode.el: New file.
99557 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
99559         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
99561         * lisp/arc-mode.el (archive-int-to-mode):
99562         Swap order of 2048 and 1024 tests (Bug#28092).
99563         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
99564         Update test.
99566 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
99568         Improve rename-file port to macOS
99570         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
99571         fail with errno == ENOTSUP on file systems where it is not
99572         supported, according to the Apple documentation.
99574 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
99576         Speed up ./configure with more caching (Bug#27960)
99578         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
99579         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
99580         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
99581         characters', and 'Windows API header' checks.  Remove pause after
99582         warning about GTK bug.
99584 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
99586         Improve rename-file behavior on macOS
99588         Problem reported by Philipp Stephani (Bug#27986).
99589         * src/fileio.c (Frename_file):
99590         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
99591         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
99592         since this provides the necessary atomicity guarantees.
99594 2017-08-14  Glenn Morris  <rgm@gnu.org>
99596         Clean up temp files after some tests
99598         * test/lisp/emacs-lisp/bytecomp-tests.el
99599         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
99600         * test/lisp/progmodes/etags-tests.el
99601         (etags-buffer-local-tags-table-list): Delete temp file at end.
99603 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
99605         Implement renameat_noreplace for MS-Windows
99607         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
99608         emulation for MS-Windows.  (Bug#27986)
99610 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
99612         Fix 'rename' on MS-Windows
99614         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
99615         the primitive rename errors out with EEXIST.
99617 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
99619         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
99621 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
99623         Tiny JSON performance improvement
99625         Get rid of some needless uses of apply.  Measuring with
99626           (benchmark-run 10 (json-read-file "test.json"))
99627         showed 1.5-2.5% reduction of execution time.
99628         * lisp/json.el (json-peek): Nix let-binding.
99629         (json-read-string): Use concat for making a string from chars.
99630         (json-read-array): Use cond and more appropriate conversion instead
99631         of blindly applying.
99633 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
99635         Be consistent in spelling 'ok-if-already-exists'.
99637 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
99639         Use 'header-line-highlight' face in proced and erc
99641         * lisp/erc/erc-list.el (erc-list-button):
99642         * lisp/proced.el (proced-format): Use the 'header-line-highlight
99643         face.  (Bug#28033)
99645 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
99647         Remove feeds with dead uris from newsticker--raw-url-list-defaults
99649         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
99650           Remove feeds with dead uris.
99652 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
99654         Fix vertical cursor motion when cursor is on the fringe
99656         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
99657         setting temporary-goal-column when newline overflows into the
99658         fringe.  Support that use case in R2L paragraphs as well.
99660 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
99662         Fix vertical cursor motion across too wide images
99664         * src/indent.c (Fvertical_motion): If lines are truncated and we
99665         end up beyond the right margin of the window, don't assume we are
99666         in the next screen line, unless VPOS actually says so.  (Bug#28071)
99668 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
99670         Add test suites for arc-mode and tar-mode
99672         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
99673         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
99674         New tests.
99676 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
99678         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
99680 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
99682         Fix uri of Emacs Wiki
99684         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
99685           uri of Emacs Wiki.  (Bug#27981)
99687 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
99689         Fix make-temp-file bug with ""/"."/".." prefix
99691         The bug with "." and ".." has been present for a while; I
99692         introduced the bug with "" earlier today in my patch for Bug#28023.
99693         * lisp/files.el (make-temp-file): Do not use expand-file-name if
99694         PREFIX is empty or "." or "..", as it does the wrong thing.
99695         Compute absolute-prefix here ...
99696         (files--make-magic-temp-file): ... instead of here ...
99697         * src/fileio.c (Fmake_temp_file_internal): ... or here.
99699         * lisp/files.el (make-temp-file): If the prefix is empty, append
99700         "/" to the absolute prefix so that the new files are children
99701         rather than siblings of temporary-file-directory.  This fixes a
99702         bug introduced in the previous change.
99703         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
99704         New test, for the bug.
99706 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
99708         Improve make-temp-file performance on local files
99710         For the motivation behind this patch, please see Bug#28023 and:
99711         https://emacshorrors.com/posts/make-temp-name.html
99712         Although, given the recent changes to Tramp, the related security
99713         problem in make-temp-file is already fixed, make-temp-file still has
99714         several unnecessary system calls.  In the typical case on GNU/Linux,
99715         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
99716         getpid, unlink, umask) by 2 (open, close).
99717         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
99718         that Emacs is using it directly.
99719         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
99720         no longer needed.
99721         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
99722         * lisp/files.el (files--make-magic-temp-file): Rename from
99723         make-temp-file.
99724         (make-temp-file): Use make-temp-file-internal for
99725         non-magic file names.
99726         * src/fileio.c: Include tempname.h.
99727         (make_temp_name_tbl, make_temp_name_count)
99728         (make_temp_name_count_initialized_p, make_temp_name): Remove.
99729         (Fmake_temp_file_internal): New function.
99730         (Fmake_temp_name): Use it.
99731         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
99732         instead of make_temp_name.
99734 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
99736         Document internal-use naming conventions
99738         * doc/lispref/functions.texi (Function Names):
99739         * doc/lispref/variables.texi (Tips for Defining):
99740         Document naming conventions for internal-use functions and vars.
99741         See Bug#28023#59.
99743 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
99745         Simplify re and document 'autoconf.sh all'
99747         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
99748         ./autogen.sh defaults to "all".  All uses removed.
99749         * README: Mention autoconf.sh's effect on Git configuration.
99751 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
99753         Default autogen.sh to 'all'
99755         This addresses a problem noted by RMS in:
99756         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
99757         * autogen.sh (do_git): Set to true if this script is invoked
99758         with no arguments and there is a .git subdirectory.
99760 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
99762         Adjust jka-compr to recent Tramp changes.
99764         * lisp/jka-compr.el (jka-compr-write-region):
99765         Two new args LOCKNAME and MUSTBENEW.
99767 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
99769         Improve doc strings of 2 functions in simple.el
99771         * lisp/simple.el (beginning-of-visual-line)
99772         (move-beginning-of-line): Doc fix.  Reported by
99773         Justin Burkett <justin@burkett.cc>.
99775 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
99777         Fix completion on directory names on MS-DOS/MS-Windows
99779         * src/msdos.c (faccessat):
99780         * src/w32.c (faccessat): Support relative file names, and add D_OK
99781         to 'mode' if the argument is a directory.  This unbreaks file-name
99782         completion when the completion result is a directory.
99784 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
99786         Implement EXCL of write-region for Tramp
99788         * lisp/net/ange-ftp.el (ange-ftp-write-region):
99789         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
99790         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
99791         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
99792         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
99793         Implement MUSTBENEW.
99795         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
99796         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
99797         (tramp-sh-handle-add-name-to-file)
99798         (tramp-do-copy-or-rename-file)
99799         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
99800         Adapt error message for `file-already-exists'.
99802         * src/lisp.h:
99803         * src/eval.c (call8): New function.
99805         * src/fileio.c (write_region): Pass also lockname and
99806         mustbenew to the file name handler.
99808         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
99809         Add tests for MUSTBENEW.
99811 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
99813         Adapt Proced display to display-line-numbers
99815         * lisp/proced.el (proced-header-line): Account for the width taken
99816         by display-line-numbers.  (Bug#27895)
99818 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
99820         Adapt tabulated list when display-line-number is turned on
99822         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
99823         a hook to revert the display when display-line-numbers is turned
99824         on.  (Bug#27895)
99826 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
99828         Use Gnulib 'tempname' on MS-Windows
99830         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
99831         now in nt/inc/ms-w32.h.
99832         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
99833         (mkostemp): Remove.
99835         * src/w32.c (mkostemp): Remove.
99836         (sys_mkdir): Accept a second (unused) argument.
99837         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
99838         specific call to mkdir.  (Bug#28023)
99840         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
99841         to accept 2 arguments.
99842         (open): Remove from "#ifdef emacs".
99843         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
99844         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
99845         (OMIT_GNULIB_MODULE_tempname): Remove.
99847 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
99849         Add new face 'header-line-highlight'
99851         * lisp/faces.el: Define the face.
99852         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
99853         * lisp/info.el (Info-fontify-node): Use the new face.
99854         * doc/emacs/display.texi (Standard Faces):
99855         * etc/NEWS: Document the new face.  (Bug#28033)
99857 2017-08-12  Arash Esbati  <arash@gnu.org>
99859         Make a case-sensitive match for strings
99861         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
99862         let-bind `case-fold-search' to nil in order to be case-sensitive
99863         when matching a string.  (Bug#27518)
99865 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
99867         Fix a minor todo-mode regression
99869         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
99870         save-excursion.  This fixes a regression introduced by the fix
99871         for bug#27609, whereby trying to raise the priority of the
99872         first item or lower the priority of the last item, which
99873         should be noops, moves point to the item's start.  Clarify
99874         comment.
99876         * test/lisp/calendar/todo-mode-tests.el
99877         (todo-test-raise-lower-priority): Add test cases for trying to
99878         raise first item and lower last item.
99879         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
99880         (todo-test-toggle-item-header02): Remove ":expected-result
99881         :failed" and tests of point after todo-next-item, since the
99882         effect when using Todo mode is not reproducible in the test
99883         environment.  Add commentary about this.
99885 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
99887         Improve performance for rename-file etc.
99889         Although this does not fix Bug#27986, it is a step forward.
99890         I plan to propose a more-significant patch later.
99891         * lisp/files.el (directory-name-p): Move from here ...
99892         * src/fileio.c (Fdirectory_name_p): ... to here.
99893         (directory_like, cp_like_target): New static functions.
99894         (Fcopy_file, Frename_file, Fadd_name_to_file)
99895         (Fmake_symbolic_link):
99896         Use them, to avoid directory-testing syscalls on file names that
99897         must be directories if they exist.  Omit unnecessary
99898         initializations and CHECK_STRING calls.
99899         (Frename_file): Don't call file_name_case_insensitive_p
99900         twice on the same file.  Compare both file names expanded, instead
99901         of the old name expanded and the new one unexpanded.
99903 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
99905         Respect buffer-local value of tags-table-list (Bug#27772)
99907         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
99908         buffer around the `tags-table-including' calls so as to get buffer
99909         local variables from the right buffer later.
99910         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
99911         New test.
99912         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
99913         constant.
99914         (etags-bug-158, etags-bug-23164): Use it so that when running the test
99915         interactively, setting EMACS_TEST_DIRECTORY is not needed.
99917 2017-08-10  Tom Tromey  <tom@tromey.com>
99919         Fix auto-filling regression
99921         Bug#28003
99922         * lisp/newcomment.el (comment-indent-new-line): Check
99923         comment-auto-fill-only-comments.  Reverts earlier change.
99924         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
99925         do-auto-fill.
99927 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
99929         Merge from gnulib
99931         This incorporates:
99932         2017-08-09 tempname: do not depend on secure_getenv
99933         2017-08-08 extensions: add _OPENBSD_SOURCE
99934         2017-08-06 manywarnings: Add support for C++
99935         2017-08-06 warnings, manywarnings: Add support for multiple languages
99936         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
99937         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
99938         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
99939         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
99940         Copy from gnulib.
99942 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
99944         Fix crashing emacs-module tests on MS-Windows
99946         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
99947         variable.
99948         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
99949         away, without displaying the Abort dialog, which waits for the user.
99951         * test/src/emacs-module-tests.el (module--test-assertion): Run the
99952         inferior Emacs with the w32 abort dialog disabled.  Expect the
99953         status of the aborted Emacs sub-process to be 3 on MS-Windows and
99954         2 on MS-DOS.
99956 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
99958         dired-delete-file:  Don't ask for empty dirs
99960         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
99961         (dired-delete-file): Use it.  Don't ask for empty dirs (Bug#27940).
99963         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
99964         New auxiliary macro.
99965         (dired-test-bug27940): Add new test.
99967 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
99969         Ask files for deletion in buffer order: top first, botton later
99971         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
99972         Call `nreverse' t invert the output of `dired-map-over-marks'.
99974 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
99976         Use help-mode xrefs in describe-font
99978         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
99979         (Bug#27890).
99981 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
99983         Don't try to jump to non-existent part (bug#28013)
99985         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
99986         the next part if there is the only one part in the article (bug#28013).
99988 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
99990         Replace some uses of eval
99992         There are a number of places where eval is used unnecessarily to get
99993         or set the value of a symbol.
99994         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
99995         custom setter.
99996         * lisp/desktop.el (desktop-clear): Use set-default instead.
99997         * lisp/international/ogonek.el (ogonek-read-encoding): Use
99998         symbol-value.
100000 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
100002         Convert uses of looking-at in viper-ex to following-char
100004         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
100005         (following-char) and use it in the subsequent cond's clauses.
100006         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
100007         Convert single branch ifs to when
100009 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
100011         Some cleanup in message.el
100013         * lisp/gnus/message.el (message-cross-post-insert-note):
100014         (message-strip-forbidden-properties): Mark unused args.
100015         (message-canlock-generate): Remove extinct variable
100016         sha1-maximum-internal-length.
100017         (message-make-mail-followup-to): Use loop's thereis clause.
100019 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
100021         Document make-temp-name magic limitations
100023         * doc/lispref/files.texi (Unique File Names):
100024         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
100025         does not guarantee uniqueness on magic file names.
100027 2017-08-08  Tom Tromey  <tom@tromey.com>
100029         Show number of errors in compilation-mode mode-line
100031         Bug#25354
100032         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
100033         default value.
100034         (compilation-num-warnings-found, compilation-num-infos-found): New
100035         defvars.
100036         (compilation-mode-line-errors): New defconst.
100037         (compilation-face): Remove.
100038         (compilation-type, compilation--note-type): New functions.
100039         (compilation-parse-errors): Call compilation--note-type.
100040         (compilation-start): Include compilation-mode-line-errors in
100041         mode-line-process.
100042         (compilation-setup): Initialize compilation-num-* variables to 0.
100043         (compilation-handle-exit): Include compilation-mode-line-errors in
100044         mode-line-process.
100045         * doc/emacs/building.texi (Compilation): Document new feature.
100047 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
100049         Do some cleanup in mailcap.el
100051         * lisp/net/mailcap.el: Use lexical-binding.
100052         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
100053         destructuring.
100054         (mailcap-mime-data): Remove some entries for ancient functions.
100055         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
100056         (mailcap-parse-mimetype-file): Just use append.
100057         (mailcap-command-p): Remove unused function.
100059 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
100061         query-replace: Undo replacements performed with 'comma
100063         During a `query-replace', the char ',' replaces the character
100064         at point and doesn't move point;  right after, the char 'u'
100065         must undo such replacement (Bug#27268).
100066         * lisp/replace.el (replace--push-stack):
100067         New macro extracted from `perform-replace'.
100068         (perform-replace): Use it.
100069         * test/lisp/replace-tests.el (query-replace--undo): Add test.
100071 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
100073         Don't define gv expanders in compiler's runtime (Bug#27016)
100075         This prevents definitions being compiled from leaking into the current
100076         Emacs doing the compilation.
100077         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
100078         of `put' with `eval-and-compile'.
100079         * test/lisp/emacs-lisp/gv-tests.el: New tests.
100081 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
100083         Let the cl-typep effects of defclass work during compilation (Bug#27718)
100085         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
100086         instead of `put'.
100087         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
100088         (eieio-tests--dummy-function): Remove.
100089         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
100090         expect to fail if compiled.
100092 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
100093             Noam Postavsky  <npostavs@gmail.com>
100095         Let `define-symbol-prop' take effect during compilation
100097         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
100098         (Fget): Consult it.
100099         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
100100         it to nil.
100101         (byte-compile-define-symbol-prop): New function, handles compilation
100102         of top-level `define-symbol-prop' and `function-put' calls by putting
100103         the symbol setting into `overriding-plist-environment'.
100105 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
100107         Add a test of handling of circular values to testcover-tests
100109         * test/lisp/emacs-lisp-testcover-resources/testcases.el
100110         (testcover-testcase-cyc1): New function.
100111         (testcover-tests-circular-lists-bug-24402): New test.
100113 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
100115         Don't error on circular values in testcover
100117         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
100118         Consider circular lists to be non-equal instead of signaling error.
100120 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
100122         Catch argument and macroexpansion errors in ert
100124         This kludge catches errors caused by evaluating arguments in ert's
100125         should, should-not, and should-error macros; it also catches
100126         macroexpansion errors inside of the above macros (Bug#24402).
100128         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
100129         (ert--expand-should-1): Catch macroexpansion errors.
100130         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
100131         (ert-test-should-error-macroexpansion): Tests for argument and
100132         expansion errors.
100134 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
100136         Revert "Add Enchant support to ispell.el (Bug#17742)"
100138         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
100140 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
100142         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
100144         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
100146 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
100148         Add support for arguments in ALTERNATE_EDITOR to emacsclient
100150         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
100151         corresponding command-line argument, into space-separated tokens.
100152         * etc/NEWS: Document.
100153         * test/lib-src/emacsclient-tests.el: Add a test.
100155 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
100157         Add Enchant support to ispell.el (Bug#17742)
100159         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
100160         (ispell-really-enchant): Add variable.
100161         (ispell-check-version): If using Enchant, check it’s new enough (at
100162         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
100163         without.)
100164         (ispell-enchant-dictionary-alist): Add variable.
100165         (ispell-find-enchant-dictionaries): Add function, based on
100166         ispell-find-aspell-dictionaries.
100167         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
100168         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
100169         old ispell name to locale mapping code for Enchant too.
100170         (ispell-send-replacement): Make it work with Enchant.
100172 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
100174         Allow async command output buffer to be shown only on output
100176         * lisp/simple.el (async-shell-command-display-buffer): Add
100177         defcustom.
100178         (shell-command): Use the new defcustom to determine whether to show
100179         the buffer immediately, or add a process filter that shows it only
100180         when there is some output.
100181         * etc/NEWS: Document the new variable.
100182         * doc/emacs/misc.texi: Likewise.
100184         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
100186 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
100188         Fix infinite recursion under prettify-symbols-mode and linum-mode
100190         * src/xdisp.c (get_overlay_strings_1)
100191         (handle_single_display_spec, push_prefix_prop): Invalidate the
100192         composition information before starting to iterate on a string.
100193         Otherwise we might think in set_iterator_to_next that we are
100194         delivering characters from a composition, and do all kinds of
100195         nonsensical things, like over-step the string end.  (Bug#27761)
100197 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
100199         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
100201 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
100203         Fix doc-string of `delete-other-windows'
100205         * lisp/window.el (delete-other-windows): Fix doc-string.
100207 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
100209         Fix a couple more make-temp-file races
100211         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
100212         Use make-temp-name, not make-temp-file with retry.
100213         (basic-save-buffer-2): Use condition-case, instead of
100214         unwind-protect with a success flag.
100216 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
100218         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
100220         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
100221         characters following filename in grep context lines.
100222         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
100223         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
100224         (grep-regexp-alist): Recombine their contents here.
100225         (grep-mode):
100226         * lisp/cedet/semantic/symref/grep.el
100227         (semantic-symref-parse-tool-output-one-line):
100228         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
100229         `grep-regexp-alist' rather than the function.
100231 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
100233         Fix some crashes on self-modifying Elisp code
100235         Prompted by a problem report by Alex in:
100236         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
100237         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
100238         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
100239         it is likely to run a bit faster with typical hardware caches.
100240         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
100241         self-modifying S-expressions.
100242         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
100243         instead of trusting an Flength prepass, to avoid problems when the
100244         code is self-modifying.
100245         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
100246         where either will do.  This is mostly to document the fact that
100247         the value must be a proper list.  It's also a tiny bit faster on
100248         typical machines nowadays.
100249         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
100250         (eval_sub): Check that the args are a list as opposed to some
100251         other object that has a length. This prevents e.g. (if . "string")
100252         from making Emacs dump core in some cases.
100253         * test/src/eval-tests.el (eval-tests--if-dot-string)
100254         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
100255         New tests.
100257 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
100259         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
100261 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
100263         Minor tweak in a dired test
100265         * test/lisp/dired-tests.el (dired-test-bug27968):
100266         Ensure the new header has different length than the original one.
100268 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
100270         dired-delete-file: Do not TAB complete the user answer
100272         This action might delete directories containing valuable information.
100273         Before previous commit, we prompted users with `yes-or-no-p'
100274         which doesn't TAB complete the user answer.  Let's play safe and
100275         keep requiring full answers.
100276         * lisp/dired.el (dired-delete-file): Use `read-string'
100277         instead of `completing-read' to read the user answers.
100279 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
100281         dired-do-delete: Allow to delete dirs recursively without prompts
100283         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
100284         'all', to delete all directories recursively and no prompt anymore.
100285         'quit', to cancel directory deletions (Bug#27940).
100286         Show help message when user inputs 'help'.
100287         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
100288         so that we can overwrite its global value.
100289         Wrap the loop within a catch '--delete-cancel to catch when
100290         the user abort the directtry deletion.
100291         * doc/emacs/dired.texi (Dired Deletion): Update manual.
100292         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
100293         Announce this change.
100295 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
100297         Fix a couple of make-temp-file races
100299         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
100300         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
100301         Use make-temp-file, not make-temp-name, to avoid an unlikely race
100302         that could lose data.  Remove the deletion hook as quickly as
100303         possible after the file is renamed; though a race still remains
100304         here, it is smaller than before.
100306 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
100308         Dired w/ eshell-ls: Handle shell wildcards in file name
100310         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
100311         Use eshell-extended-glob (Bug#27844).
100312         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
100314 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
100316         dired-revert: save line numbers instead of positions
100318         Positions might change if the length of one dired header line
100319         changes; this happen, for instance, if we add new files.
100320         Instead, line numbers are invariant under shrinks/enlargements
100321         of the file header.
100322         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
100323         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
100324         (dired-restore-positions): Use forward-line to restore the original
100325         position (Bug#27968).
100326         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
100328 2017-08-06  Tom Tromey  <tom@tromey.com>
100330         Respect comment-auto-fill-only-comments
100332         Respect comment-auto-fill-only-comments when auto-filling and a
100333         comment syntax is defined.
100335         * lisp/newcomment.el (comment-indent-new-line): Do not check
100336         comment-auto-fill-only-comments.
100337         * lisp/simple.el (internal-auto-fill): New defun.
100338         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
100339         auto_fill_function.
100340         (syms_of_cmds): Define Qinternal_auto_fill.
100342 2017-08-05  Richard Stallman  <rms@gnu.org>
100344         * etc/tutorials/TUTORIAL: Update.
100346 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
100348         Unify CNS11643-15 in a way that avoids segfaults
100350         * lisp/international/mule-conf.el: Redo unification of
100351         cns11643-15.  (Bug#27964)
100352         (chinese-cns11643-15): Add the missing :unify-map attribute.
100354 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
100356         Avoid segfaults while producing Punct.el
100358         * lisp/international/mule-conf.el: Undo unification of
100359         cns11643-15, as that causes segfaults during bootstrap.
100360         (Bug#27964)
100362 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
100364         Make header line in some modes be sensitive to display-line-numbers
100366         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
100367         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
100368         (tabulated-list-print-entry): Account for the width taken by
100369         line-number display.  (Bug#27895)
100371 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
100373         Fix a bug in 'generate-new-buffer-name'
100375         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
100376         nil before calling string-equal, since the latter will compare
100377         "nil and 'nil' as equal.  (Bug#27966)
100379         * test/src/buffer-tests.el
100380         (test-generate-new-buffer-name-bug27966): New test.
100382 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
100384         Unify CNS11643-15
100386         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
100387         unify-charset form for it.  (Bug#27964)
100389 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
100391         Improve test of error message when Emacs cannot be suspended
100393         * lisp/term/x-win.el (x-win-suspend-error):
100394         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
100395         message.  (Bug#27901)
100397 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
100399         Make "C-h o" show faces as well as variables
100401         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
100402         the placement of variables/faces in describe-symbol, to put more
100403         emphasis on the variable entry rather than the face.  (Bug#24543)
100405 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
100407         Fix files-tests.el for MS-Windows
100409         * test/lisp/files-tests.el
100410         (files-tests--file-name-non-special--subprocess): Fix this test
100411         for MS-Windows.
100413 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
100415         Improve documentation of 'region-extract-function'
100417         * lisp/simple.el (region-extract-function): Rename the argument to
100418         METHOD.  Doc fix.  (Bug#27927)
100420 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
100422         Merge from gnulib
100424         This incorporates:
100425         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
100426         2017-08-01 manywarnings: port to 32-bit GCC bug
100427         * lib/gnulib.mk.in: Regenerate.
100428         * m4/manywarnings.m4: Copy from gnulib.
100430 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
100432         Port recent rename changes to Ubuntu 14.04
100434         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
100435         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
100437 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
100439         insert-directory-wildcard-in-dir-p: Tweak regexp
100441         This function must return non-nil for a wildcard like '/*/*.txt'.
100442         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
100443         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
100444         Add test.
100446 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
100448         Implement iterator generator for avl-trees.
100450         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
100452 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
100454         ls-lisp: Drop eshell dependencies
100456         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
100457         expand the wildcards.
100458         Suggested by Fabrice Popineau in:
100459         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
100460         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
100462 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
100464         Fix dired-test-bug27631 on MS-Windows
100466         Skip the test if Dired use 'ls' emulation with lisp.  The same
100467         bug is tested in their respective test suites: ls-lisp-tests.el
100468         and em-ls-tests.el.
100469         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
100470         or 'eshell' features are enabled.
100472 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
100474         Fix dired-test-bug25609 on MS-Windows
100476         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
100477         pass temporary files through file-truename, to avoid bogus
100478         failures due to file-name comparison as strings.
100480 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
100482         Fix 2 tests that fail in MS-Windows
100484         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
100485         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
100486         Add comments to explain the test logic.
100487         Pass '--binary' option to 'patch' program in windows environments.
100488         Check explicitly that a backup is created before compare file contents.
100490         * test/lisp/dired-tests.el (dired-test-bug25609):
100491         Declare variable 'dired-dwim-target' right before the test.
100492         Add comments to explain the test logic.
100493         Ensure, before test the bug condition, that we are displaying the
100494         2 dired buffers created in this test, and no other dired buffer
100495         is shown.
100497 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
100499         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
100501         * lisp/files.el (insert-directory): Don't hardcode "-c".
100502         * lisp/term.el (term, ansi-term): Use shell-file-name.
100504 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
100506         Fix version numbers for some GnuTLS features
100508         Problem reported by Glenn Morris (Bug#27708#58).
100509         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
100510         New macro.  Use it instead of low-level version number checks.
100511         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
100512         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
100513         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
100514         (HAVE_GNUTLS3_HMAC): Remove, since these were available
100515         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
100516         is defined.  Remove all uses; this simplifies the code a bit.
100518 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
100520         Port recent rename changes to RHEL 7 + NFS
100522         Problem reported by Ted Zlatanov in:
100523         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
100524         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
100525         with errno == EINVAL when it is not supported.  So treat that case
100526         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
100527         nil nor an integer, just call plain rename; this avoids an extra
100528         syscall to renameat2 when the latter fails with errno == EINVAL or
100529         ENOSYS or ENOENT.
100531 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
100533         Port GnuTLS usage to Ubuntu 16.04.2 LTS
100535         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
100536         later, as opposed to the old 3.4.0 or later.
100538 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
100540         Simplify configuration of HAVE_GNUTLS3 etc.
100542         There's only one GnuTLS, so configuring these symbols at
100543         'configure' time is overkill.  Simplify things by moving their
100544         configuration to src/gnutls.h (Bug#27708).
100545         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
100546         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
100547         from here ...
100548         * src/gnutls.h: ... to here, and simplify.
100550 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
100552         Default to --with-mailutils if it is installed
100554         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
100555         is installed.  See:
100556         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
100558 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
100560         Clarify when autogen.sh should run only autoconf
100562         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
100563         not plain ‘./autogen.sh’, to make it clear that only
100564         autoconf-related tools should be run here.
100566 2017-08-02  Toon Claes  <toon@iotcl.com>
100568         .gitlab-ci.yml: Use stretch Debian image instead of unstable
100570 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
100572         Add debugging messages to a Dired test
100574         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
100575         positions saved and restored by dired-revert to try and find
100576         out why the test fails on Hydra.
100578 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
100580         ls-lisp: Autoload call instead of cookie
100582         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
100584 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
100586         When renaming a file, ask only if EEXIST or ENOSYS
100588         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
100589         more than once on FILE.  Use renameat_noreplace, so that we can
100590         ask the user (and unlink and retry) only if this fails with errno
100591         == EEXIST or ENOSYS.  This avoids the need to ask the user for
100592         permission to do an operation that will fail anyway.  Simplify
100593         computation of ok_if_already_exists for subsidiary functions.
100594         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
100595         if it works, as this avoids the need to link and unlink.
100596         * src/lisp.h (renameat_noreplace): New decl.
100597         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
100598         (renameat_noreplace): New function.
100600 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
100602         When creating a link, ask only if EEXIST
100604         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
100605         Ask the user (and unlink and retry) only if link creation fails
100606         with errno == EEXIST.  This avoids the need to ask the user for
100607         permission to do an operation that will fail anyway.
100609 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
100611         dired-align-file: Inherit text properties in inserted spaces
100613         * lisp/dired.el (dired-align-file): Inherit text
100614         properties in inserted spaces (Bug#27899).
100615         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
100617 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
100619         Don't assume /bin/sh as the 'sh' location in the local host
100621         * lisp/dired.el (dired-insert-directory): Use executable-find in
100622         a local host.
100624 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
100626         Move dired tests using ls emulation to different files
100628         Suggested in:
100629         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
100630         * test/lisp/dired-tests.el (dired-test-bug27693)
100631         (dired-test-bug27762, dired-test-bug27817)
100632         (dired-test-bug27631, dired-test-bug27843): Delete those
100633         parts requiring either ls-lisp or eshell-ls.
100635         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
100636         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
100637         Add all dired tests using ls-lisp here.
100639         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
100640         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
100641         all dired tests using eshell-ls here.
100643 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
100645         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
100647 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
100649         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
100650         Say the handle is already decoded.
100651         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
100653 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
100655         Don’t worry about unlink if errno == ENOENT
100657         * src/fileio.c (Fdelete_file):
100658         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
100659         remove a file if unlink fails with errno == ENOENT.  This can
100660         happen even if Emacs is the only program removing the file, in
100661         case an NFS cache overflows.  The file does not exist if errno ==
100662         ENOENT, so it is OK to proceed.
100664 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
100666         Fix misalignment in Dired when dired-directory is a cons
100668         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
100669         New defuns.
100670         (dired-internal-noselect): Call dired--align-all-files when
100671         dired-directory is a cons (Bug#27762).
100672         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
100674 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
100676         Fix some dired-tests.el on MS-Windows
100678         * test/lisp/dired-tests.el (dired-test-bug27243-01)
100679         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
100680         file-truename, to avoid bogus failures due to file-name comparison
100681         as strings.
100683 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
100685         Insert subdir content if dir-or-list is a string w/o wildcards
100687         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
100688         Append '("-d") into 'eshell-ls-dired-initial-args'
100689         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
100690         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
100692 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
100694         Update todo-mode defcustoms in a less hideous way
100696         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
100697         (todo-reevaluate-default-file-defcustom)
100698         (todo-reevaluate-category-completions-files-defcustom)
100699         (todo-reevaluate-filter-files-defcustom): Delete these functions.
100700         (todo-update-filelist-defcustoms): New function.  This replaces
100701         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
100702         property instead of re-evaluating the defcustoms.
100703         (todo-add-file, todo-rename-file, todo-delete-file)
100704         (todo-delete-category, todo-move-category)
100705         (todo-convert-legacy-files, todo-check-file): Replace call of
100706         todo-reevaluate-filelist-defcustoms by
100707         todo-update-filelist-defcustoms.
100708         (todo-show, todo-category-completions): Replace call of
100709         todo-reevaluate-* function by use of 'custom-type' property.
100711 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
100713         Add more should form calls in a failing dired test
100715         Some dired tests fail intermittently in hydra.  Add few
100716         more should form calls for debugging.
100717         See:
100718         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
100719         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
100720         forms for debugging.
100722 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
100724         Follow SAUNA recommendations for display-line-numbers-type
100726         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
100728         * lisp/menu-bar.el (display-line-numbers-type): Declare.
100730 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
100732         Avoid most stat calls when completing file names
100734         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
100735         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
100736         * m4/d-type.m4: New file, copied from gnulib.
100737         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
100738         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
100739         (dirent_type): New function.
100740         (file_name_completion): Use it, to avoid unnecessary calls to
100741         stat-like functions on GNU/Linux and other platforms with d_type.
100742         (file_name_completion_stat): Just follow the link; there is no
100743         need to try first with AT_SYMLINK_NOFOLLOW since the directory
100744         entry was already checked to exist.
100746 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
100748         dired-tests: Unload tested features after test them
100750         Some tests are for Dired with ls-lisp or eshell-ls.
100751         Requiring these features add an advice on `dired' and
100752         might affect other tests.
100753         Do not require these features at the top of the file; require
100754         then inside the tests and unload then at the end.
100755         * test/lisp/dired-tests.el (dired-test-bug27693)
100756         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
100757         require ls-lisp and/or eshell-ls inside the test; unload the
100758         features at the end.
100760 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
100762         Small adaptions for directory wildcards
100764         * lisp/dired.el (dired-insert-directory): Remove "--dired"
100765         when there are wildcards, and the directory is remote.
100767         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
100768         Adapt docstring.
100769         (tramp-test17-dired-with-wildcards): Skip for all methods but
100770         those from tamp-sh.p.
100772 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
100774         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
100775         string bounds.
100777 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
100779         Merge from gnulib
100781         This incorporates:
100782         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
100783         * lib/tempname.c: Copy from gnulib.
100785 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
100787         ls-lisp: Do not require em-glob at top of the file
100789         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
100790         not break the Emacs build.
100791         See following thread for details:
100792         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
100793         * lisp/ls-lisp.el (dired-goto-next-file)
100794         (dired-read-dir-and-switches, eshell-extended-glob):
100795         Add function declarations.
100796         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
100798 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
100800         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
100802         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
100804 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
100806         Change default CSS property face
100808         * lisp/textmodes/css-mode.el (css-property): Inherit from
100809         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
100810         distinguish CSS properties from variables.
100812 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
100814         Dired: Handle posix wildcards in directory part
100816         Allow Dired to handle calls like
100817         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
100818         the directory part of the file argument (Bug#27631).
100819         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
100820         (insert-directory-clean): New defun extracted from insert-directory.
100821         (insert-directory)
100822         * lisp/dired.el (dired-internal-noselect)
100823         (dired-insert-directory): Use the new predicate; when it's true,
100824         handle the directory wildcards with a shell call.
100825         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
100826         (eshell-ls-unload-hook): New defun.  Use it in
100827         eshell-ls-unload-hook instead of an anonymous function.
100828         (eshell-ls--dired)
100829         * lisp/ls-lisp.el (ls-lisp--dired):
100830         Advice dired to handle wildcards in the directory part with both
100831         eshell-ls and ls-lisp.
100832         * etc/NEWS: Announce it.
100833         * doc/emacs/dired.texi (Dired Enter): Update manual.
100834         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
100836 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
100838         * lisp/find-lisp.el: Enable lexical binding
100840         * lisp/find-dired.el: Enable lexical binding
100842 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
100844         * lisp/kmacro.el: Use lexical binding.
100846 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
100848         Use lexical-binding in dired-aux.el
100850         * lisp/dired.el: Use lexical binding.
100851         (dired-do-shell-command): Remove unused bindings.
100853 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
100855         * lisp/ido.el: Use lexical binding.
100857         * lisp/whitespace.el: Use lexical binding.
100859 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
100861         artist.el: Avoid error with keyboard command invocation
100863         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
100864         Call x-popup-menu with t instead of last-nonmenu-event as the
100865         value of the position argument; this allows invoking the
100866         command from the keyboard without raising an error (bug#27819).
100868 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
100870         Preserve point under 'dired-auto-revert-buffer' (third case)
100872         * lisp/files.el (find-file): Use pop-to-buffer-same-window
100873         instead of switch-to-buffer.  This preserves Dired window
100874         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
100876         * test/lisp/dired-tests.el (dired-test-bug27243-01)
100877         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
100878         The first two replace a previous test that combined them; that
100879         test intermittently fails in the Hydra build system, so maybe
100880         separating the two cases will help locate the point of
100881         failure.  The third test involves find-file but is here
100882         because it, like the others, is testing the effect of
100883         dired-auto-revert-buffer.
100885 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
100887         Do not unset user key remaps in dired-x
100889         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
100890         sets dired-x-hands-off-my-keys.  (Bug#27828)
100892 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
100894         Improve documentation of 'occur'
100896         * doc/emacs/search.texi (Other Repeating Search):
100897         * lisp/replace.el (occur): Make the documentation of 'occur' be
100898         more accurate when matches overlap.  (Bug#27818)
100900 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
100902         Minor copyedits of comments in faces.el
100904         * lisp/faces.el (face-font-family-alternatives): More info about
100905         requirements from "Monospace Serif".
100907 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
100909         Do not worry about paxctl on newer NetBSD
100911         Problem reported privately by Thomas Klausner.
100912         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
100913         on newer NetBSD platforms, where it is not needed.  Also use it to
100914         simplify Cygwin diagnostic.
100916 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
100918         Clarify documentation of ':inherit' face attribute
100920         * doc/lispref/display.texi (Face Attributes): Document the special
100921         treatment of 'unspecified' in the ':inherit' attribute.
100923 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
100925         * lisp/password-cache.el (password-data): Use a hash-table
100927         * lisp/auth-source.el (auth-source-magic): Remove.
100928         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
100929         format of password-data.
100930         (auth-source-format-cache-entry): Just use a cons.
100932         (password-cache-remove, password-cache-add, password-reset)
100933         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
100935         (Bug#26699)
100937 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
100939         * lisp/subr.el (define-symbol-prop): New function
100941         (symbol-file): Make it find symbol property definitions.
100943         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
100944         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
100945         (ert-describe-test): Adjust call to symbol-file accordingly.
100947 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
100949         * lisp/subr.el (method-files): Move function to cl-generic.el
100951         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
100952         (cl--generic-method-files): New function, moved from subr.el.
100953         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
100954         * test/lisp/emacs-lisp/cl-generic-tests.el:
100955         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
100957 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
100959         Preserve this-command-keys across recursive-edit invocations
100961         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
100962         restore this-command-keys, to preserve it across recursive-edit.
100963         (Bug#27470)
100965 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
100967         Improve doc string of 'locate-dominating-file'
100969         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
100971 2017-07-28  Drew Adams  <drew.adams@oracle.com>
100973         New commands 'apropos-local-variable', 'apropos-local-value'
100975         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
100976         New functions.  (Bug#27424)
100978         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
100979         and 'apropos-local-value'.
100980         * etc/NEWS: Mention the new commands.
100982 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
100984         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
100986         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
100988 2017-07-27  Alan Mackenzie  <acm@muc.de>
100990         Fix C++ class initializers not always being fontified at mode start.
100992         The problem here happened when an "outer list" of declarations moved beyond an
100993         "inner list" containing class initializers.  These weren't being checked for
100994         by the code.
100996         Also, fix places in c-get-fontification-context where point is undefined.
100998         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
100999         not-front-decl is set, test for class initializers.  Also, anchor point in
101000         places where it is moved and is otherwise undefined.
101002 2017-07-27  Alan Mackenzie  <acm@muc.de>
101004         Fix variables in C++ "for" statement not always being fontified.
101006         The error happened when there was a comma inside template delimiters.
101008         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
101009         statements, recognize template delimiters containing "," and "&".
101011 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
101013         Add watchdog process to tramp-test36-asynchronous-requests
101015         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
101016         New defun.
101017         (tramp-test36-asynchronous-requests): Use a watchdog process,
101018         listening for SIGUSR1.
101020 2017-07-27  Alan Mackenzie  <acm@muc.de>
101022         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
101024         If a declarator is so cut off, extend the fontification chunk to include it.
101026         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
101027         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
101029 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
101031         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
101033         (smerge--refine-long-words): New var.
101034         (smerge--refine-chopup-region): Use it.
101036 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
101038         * lisp/url/url-cookie.el: Use lexical-binding
101040         (url-cookie-host-can-set-p): Remove unused var `last'.
101041         Use string-suffix-p.
101042         (url-cookie-list): De morgan.
101043         (url-cookie-quit): Remove.
101044         (url-cookie-mode): Inherit from special-mode.
101045         (url-cookie-mode-map): Simplify accordingly.
101047 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
101049         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
101051         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
101053 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
101055         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
101057         Record this as the function's definition site if it's the first def.
101059 2017-07-26  Glenn Morris  <rgm@gnu.org>
101061         * doc/lispref/loading.texi (When to Autoload): New section.
101063 2017-07-26  Glenn Morris  <rgm@gnu.org>
101065         Stop using unibyte buffers for ert backtraces
101067         * lisp/emacs-lisp/ert.el
101068         (ert-results-pop-to-backtrace-for-test-at-point):
101069         Set multibyte true, not false.  This copies a
101070         debugger-setup-buffer change from 2009-08-30, and stops the
101071         "Backtrace for" header line containing ^X and ^Y.
101073 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
101075         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
101077         * lisp/cedet/semantic/symref/grep.el
101078         (semantic-symref-grep--line-re): Delete.
101079         (semantic-symref-parse-tool-output-one-line):
101080         Use regexp and group numbers from (grep-regexp-alist).
101082 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
101084         Fix cl-defmethod indentation
101086         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
101087         Declare (indent defun).  Fixes bug#23994.
101089 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
101091         Fix two customization types in frame.el
101093         * lisp/frame.el (window-divider-default-bottom-width)
101094         (window-divider-default-right-width): Fix customization types.
101096 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
101098         Dired: Support eshell-ls from the beginning if the user wants to
101100         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
101101         as well (Bug#27817).
101102         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
101104 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
101106         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
101108 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
101110         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
101112         Adjust to change in cl-generic-ensure-function.
101114 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
101116         ls-lisp: Add an unload function and enable lexical binding
101118         Enable lexical binding.
101119         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
101120         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
101122 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
101124         register-read-with-preview: Quit if user input C-g or ESC
101126         * lisp/register.el (register-read-with-preview):
101127         Quit if user input C-g or ESC (bug#27634).
101128         * doc/emacs/regs.texi (Registers): Update manual.
101129         * test/lisp/register-tests.el (register-test-bug27634): Add test.
101131 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
101133         Recognize MirBSD Korn shell rc file
101135         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
101137 2017-07-25  Glenn Morris  <rgm@gnu.org>
101139         * configure.ac: Be explicit about ImageMagick version in summary.
101141 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
101143         Properly align global lispsym
101145         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
101146         Lisp_Symbols inside struct.
101147         * src/alloc.c (sweep_symbols): Update use of lispsym.
101148         * src/lisp.h (builtin_lisp_symbol): Likewise.
101150 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
101152         Do not use ImageMagick 7 and later
101154         Suggested by Glenn Morris (Bug#25967#15).
101155         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
101157 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
101159         * lisp/progmodes/perl-mode.el: Add support for indented here docs
101161         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
101162         Recognize the new <<~ syntax for indented here docs.
101163         (perl-syntax-propertize-special-constructs): Adjust search of the
101164         end of here docs accordingly.
101166         * test/manual/indent/perl.perl: Add test for indented here docs.
101168 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
101170         (loadhist-unload-element): Move ERT and cl-generic methods
101172         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
101173         and ert methods here.
101174         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
101176         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
101177         unload method for cl-defmethod.
101178         (cl-generic-ensure-function): Remove redundant `defalias'.
101180         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
101181         setting here...
101182         (ert-deftest): ...from here.
101183         (loadhist-unload-element): Define unload method for ert-deftest.
101185 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
101187         Fix Bug#27371
101189         * lisp/loadhist.el (loadhist-unload-element): Declare for
101190         different entry types of `load-history'.
101191         (loadhist--restore-autoload): New variable.
101192         (loadhist--unload-function): New defun.
101193         (unload-feature): Use `loadhist-unload-element'.  Recommended by
101194         Stefan Monnier.  (Bug#27371)
101196         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
101197         Check, that the `tramp-file-name' structure has been unloaded.
101199 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
101201         Ensure that we parse images right in shr.el
101203         * lisp/net/shr.el (shr-image-fetched): Go back to the
101204         beginning of the buffer before trying to parse the image
101205         fetched.
101207 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
101209         Update .gitignore for Valgrind and no Automake
101211         * .gitignore: Remove .deps/ since we no longer use Automake.
101212         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
101214 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
101216         Merge from gnulib
101218         This incorporates:
101219         2017-07-23 Rename module 'strftime' to 'nstrftime'
101220         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
101221         * build-aux/config.guess: Copy from gnulib.
101222         * lib/nstrftime.c: Rename from lib/strftime.c.
101223         * m4/nstrftime.m4: Rename from m4/strftime.m4.
101224         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
101226 2017-07-23  Philipp Stephani  <phst@google.com>
101228         Add 'rx' pattern for pcase.
101230         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
101231         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
101233 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
101235         Use a named function for global minor mode turn-on argument
101237         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
101238         New function.
101239         (global-display-line-numbers-mode): Use it.
101241 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
101243         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
101245         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
101246         from 'src/emacs'.
101248         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
101249         launched outside of a macOS application bundle, change its
101250         activation policy from the default 'prohibited' to 'regular'.
101252 2017-07-23  Alan Mackenzie  <acm@muc.de>
101254         Convert CC Mode's c-found-types from an obarray to a hash table.
101256         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
101257         rather than an obarray.
101258         (c-copy-found-types): Remove.
101259         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
101260         the new hash table.
101261         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
101263 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
101265         Fix image/svg+xml display in shr
101267         * lisp/net/shr.el (shr-put-image): Display svg images as svg
101268         (bug#27799).  I suspect the previous change was checked in by
101269         accident in conjunction with some other svg changes.
101271 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
101273         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
101275 2017-07-23  Glenn Morris  <rgm@gnu.org>
101277         Don't automatically enable Gconf if Gsettings was found
101279         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
101280         Don't test for Gconf unless specifically requested.
101281         Gconf was deprecated in favor of Gsettings several years ago.
101283 2017-07-23  Glenn Morris  <rgm@gnu.org>
101285         * configure.ac (MODULES_SUFFIX): Always give it a value.
101287         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
101289 2017-07-23  Glenn Morris  <rgm@gnu.org>
101291         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
101293 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
101295         Add line numbers display to the Options menu
101297         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
101298         (menu-bar-display-line-numbers-mode): New defun.
101299         (menu-bar-showhide-line-numbers-menu): New defvar.
101300         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
101302 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
101304         Signal error for symbol names with strange quotes (Bug#2967)
101306         * src/lread.c (read1): Signal an error when a symbol starts with a
101307         non-escaped quote-like character.
101308         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
101309         test.
101310         * etc/NEWS: Announce change.
101312 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
101314         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
101316         It turns out that this change is not needed, and it leaves several
101317         command loops settings not done.
101319         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
101320         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
101322 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
101324         Add a minor mode interface for display-line-numbers
101326         * lisp/cus-start.el: Use the new display-line-numbers group.
101327         * lisp/display-line-numbers.el: New file.
101329         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
101330         belong to linum-mode.
101331         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
101332         * etc/NEWS: Document display-line-numbers-mode and its customization
101333         variables, and mention that display-line-numbers-width is
101334         buffer-local.
101336         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
101337         typo.
101339 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
101341         Support indented HERE-DOCs in cperl-mode
101343         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
101344         indented here-docs.  (Bug#27254) (Bug#27697)
101346 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
101348         Document the support for "scrollBar" X resource
101350         * doc/emacs/xresources.texi (Table of Resources): Document the new
101351         'scrollBar' setting.
101352         * etc/NEWS: Document the new 'scrollBar' setting.
101354 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
101356         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
101358         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
101359         settings.
101361 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
101363         Update ld-script mode (bug#27629)
101365         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
101366         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
101367         numbers for PROVIDE/PROVIDE_HIDDEN commands.
101368         (ld-script-builtins): New builtin function LOG2CEIL added.
101370 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
101372         Index 'rectangle' in the ELisp manual
101374         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
101375         (Bug#27541)
101377 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
101379         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
101381 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
101383         Doc fixes for kmacro.el functions
101385         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
101386         (kmacro-end-and-call-macro): Don't use "permanent name", as that
101387         could be misinterpreted.  (Bug#27492)
101389 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
101391         ElDoc: add docstrings and minor refactoring
101393         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
101394         docstring.
101395         (turn-on-eldoc-mode): Fix capitalization.
101396         (eldoc--supported-p): Add docstring.
101397         (eldoc-schedule-timer): Add docstring and use
101398         'eldoc--supported-p'.
101399         (eldoc-message): Add docstring and make calling convention
101400         clearer.
101401         (eldoc--message-command-p):
101402         (eldoc-pre-command-refresh-echo-area):
101403         (eldoc-display-message-p):
101404         (eldoc-display-message-no-interference-p):
101405         (eldoc-print-current-symbol-info):
101406         (eldoc-docstring-format-sym-doc):
101407         (eldoc-add-command, eldoc-add-command-completions):
101408         (eldoc-remove-command, eldoc-remove-command-completions):
101409         Add docstring.  (Bug#27230)
101411 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
101413         Mention 'C-M-i' as key binding for 'ispell-complete-word'
101415         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
101416         can also be invoked by C-M-i.  (Bug#27349)
101418 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
101420         Fix the eww-search-words description in the Emacs manual
101422         * doc/emacs/search.texi (Word Search):
101423         Include the key binding for eww-search-words in the manual.
101424         Fix the spelling of the 'eww-search-words' command.
101426 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
101428         Introduce defcustom 'executable-prefix-env'
101430         * lisp/progmodes/executable.el (executable-prefix): Update the doc
101431         string.
101432         (executable-prefix-env): New defcustom.
101433         (executable-set-magic): Use executable-prefix-env.
101435         * etc/NEWS: Document the new variable.
101437 2017-07-22  Glenn Morris  <rgm@gnu.org>
101439         * test/lisp/ibuffer-tests.el: Delete temporary files.
101441 2017-07-21  Glenn Morris  <rgm@gnu.org>
101443         Further attempt to avoid hang in network-stream-tests
101445         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
101446         Limit the time we wait for the external process.
101448 2017-07-21  Glenn Morris  <rgm@gnu.org>
101450         Stop skipping many ibuffer tests by default
101452         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
101453         Rename so it sorts first.
101454         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
101455         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
101456         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
101457         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
101458         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
101459         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
101460         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
101462 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
101464         Use lexical-binding in todo-mode.el
101466         Adjust code accordingly and make various minor improvements.
101468         * lisp/calendar/todo-mode.el: Enable lexical-binding.
101469         (dayname, monthname, day, month, year): Make forward defvars
101470         of these keywords from macros defined in calendar.el; wrap
101471         them in with-no-warnings.
101472         (todo-files, todo-files-function, todo-date-pattern)
101473         (todo-mode-line-function, todo-show, todo-forward-category)
101474         (todo-edit-item--header, todo-set-category-number)
101475         (todo-adjusted-category-label-length)
101476         (todo-total-item-counts, todo-filter-items)
101477         (todo-print-buffer-function, todo-convert-legacy-date-time)
101478         (todo-category-number, todo-category-completions)
101479         (todo-read-file-name, todo-read-category)
101480         (todo-validate-name, todo-read-date)
101481         (todo-set-show-current-file, todo-modes-set-1)
101482         (todo-modes-set-2, todo-modes-set-3, todo-mode):
101483         Use #' instead of ' to quote functions.
101484         (todo-files): Use \' instead of $ in regexp.
101485         (todo--files-type-list): New function.
101486         (todo-default-todo-file, todo-category-completions-files)
101487         (todo-filter-files, todo-multiple-filter-files)
101488         (todo-reevaluate-default-file-defcustom)
101489         (todo-reevaluate-category-completions-files-defcustom)
101490         (todo-reevaluate-filter-files-defcustom): Use it.
101491         (todo-show, todo-rename-file, todo-move-category)
101492         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
101493         (todo-item-undone, todo-unarchive-items, todo-search)
101494         (todo-filter-items, todo-filter-items-1, todo-find-item)
101495         (todo-category-select, todo-read-date)
101496         (todo-nondiary-marker-matcher, todo-date-string-matcher)
101497         (todo-diary-expired-matcher, todo-convert-legacy-files)
101498         (todo-read-category): Reformat to avoid code hiding behind a
101499         more deeply embedded element.
101500         (todo-forward-category, todo-set-category-number):
101501         Use 'funcall' instead of 'apply'.
101502         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
101503         (todo-edit-category-diary-inclusion)
101504         (todo-insert-sort-button, todo-insert-category-line)
101505         (todo-multiple-filter-files): Mark unused local variables.
101506         (todo-edit-item--header, todo-move-item, todo-print-buffer)
101507         (todo-edit-item--header, todo-move-item, todo-check-file)
101508         (todo-edit-item--next-key): Remove unused local variables.
101509         (todo-insert-sort-button, todo-insert-category-line):
101510         Use a closure instead of a backquoted lambda.
101511         (todo-update-categories-display, todo-print-buffer): Simplify code.
101512         (todo-print-buffer-function): Document calling convention.
101513         (todo-category-completions): Use cl-pushnew instead of add-to-list.
101514         (todo-mode-map, todo-archive-mode-map)
101515         (todo-categories-mode-map, todo-filtered-items-mode-map):
101516         Remove superfluous call of suppress-keymap, since it's already
101517         in the parent special-mode-map.
101519 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
101521         dired: Revert buffer when DIRNAME is a cons
101523         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
101524         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
101525         Update the comments.
101526         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
101528 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
101530         Handle when dired-directory is a cons in some Dired functions
101532         * lisp/dired-aux.el (dired-rename-subdir-1)
101533         * lisp/dired-x.el (dired-mark-omitted):
101534         Handle when dired-directory is a cons.
101536 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
101538         Make eshell-next-prompt more reliable (Bug#27405)
101540         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
101541         `eshell-prompt-regexp' (and `read-only' text-property if
101542         `eshell-highlight-prompt' is set) rather than trying to use
101543         `forward-paragraph'.
101544         (eshell-previous-prompt): Don't count prompt on current line.
101546 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
101548         Simplify recent gnutls.c changes
101550         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
101551         All uses replaced by calls to explicit_bzero; that’s clear enough.
101552         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
101553         coalescing duplicate actions.  There is no need to invoke
101554         SAFE_FREE before calling ‘error’.
101556 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
101558         Stylistic changes in tramp-cache.el
101560         * lisp/net/tramp-cache.el (tramp-get-file-property)
101561         (tramp-set-file-property): Use `bound-and-true-p'.  Add
101562         counter variables to `tramp-cache-unload-hook'.
101564 2017-07-20  Glenn Morris  <rgm@gnu.org>
101566         * admin/notes/hydra: Small updates.
101568 2017-07-20  Glenn Morris  <rgm@gnu.org>
101570         Make tramp unloading handle debug counter variables
101572         * lisp/net/tramp-cache.el (tramp-get-file-property)
101573         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
101575 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
101577         Fix hscrolling calculations when display-line-numbers is set
101579         * src/xdisp.c (move_it_in_display_line_to): Account for line
101580         numbers in hscrolled lines.  (Bug#27756)
101582 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
101584         Fix the bogus change made 13 years ago (bug#27084)
101586         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
101587         Fix the way to test if there is no visible header (bug#27084).
101589 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
101591         Use grep's --null option (Bug#6843)
101593         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
101594         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
101595         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
101596         constants, replacing `grep-regexp-alist'.
101597         (grep-regex-alist): Mark the variable obsolete, add a new function of
101598         the same name to replace it.
101599         (grep-compute-defaults): Compute default for
101600         `grep-use-null-filename-separator'.
101601         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
101602         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
101603         according to `grep-use-null-filename-separator'.
101604         * lisp/progmodes/xref.el (xref-collect-matches): Call
101605         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
101606         grep-regexp-alist match groups.
101607         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
101608         item under "Grep" heading as well.
101610 2017-07-19  Philipp Stephani  <phst@google.com>
101612         * src/gnutls.c (clear_storage): Define only if needed.
101614 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
101616         Adjust todo-quit to recent change in dired
101618         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
101619         bury-buffer to exit todo-mode.  This restores the desired behavior
101620         of not immediately returning to the exited todo-mode buffer on
101621         quitting another buffer, which a dired bug fix had changed (see
101622         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
101624 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
101626         Add test for bugs 7131, 27762
101628         Require 'ls-lisp' at top of the file.
101629         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
101630         New tests.
101631         (dired-test-bug27693): Delete Dired buffer at the end.
101633 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
101635         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
101637 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
101639         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
101641         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
101643 2017-07-18  Glenn Morris  <rgm@gnu.org>
101645         Use a more specific test for running on hydra.nixos.org
101647         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
101648         * test/Makefile.in (WRITE_LOG):
101649         * test/lisp/filenotify-tests.el:
101650         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
101651         (eieio-test-method-order-list-6):
101652         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
101653         (eieio-test-37-obsolete-name-in-constructor):
101654         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
101656 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
101658         Avoid infloop due to Eshell's "smart" redisplay
101660         * src/xdisp.c (pos_visible_p): Save and restore the window's
101661         mode-line and header-line height.  (Bug#27752)
101663 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
101665         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
101667 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
101669         Fix indentation when display-line-numbers is non-nil
101671         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
101672         to go one more tab stop to display a TAB.  (Bug#27743)
101674 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
101676         Don't use gtk_widget_get_scale_factor on old GTK3 versions
101678         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
101679         only present since GTK 3.10.
101681 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
101683         Let delete-selection-mode work with popup-menu commands (Bug#27569)
101685         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
101686         `this-command' set to the selected command.
101688 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
101690         Port gnutls.c to older (buggier?) GnuTLS
101692         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
101693         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
101694         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
101695         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
101696         perhaps hydra was using a modified GnuTLS.
101697         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
101698         is at the end of the list returned by gnutls_cipher_list,
101699         or that the earlier ciphers all have non-null names.
101701 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
101703         Fix relocation with named cell referred to by a one-symbol formula.
101705         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
101706         work also with one symbol formulas.
101708         * test/lisp/ses-tests.el
101709         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
101710         test for renaming with relocating a one symbol formula.
101712 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
101714         Fix symbol completion and document it.
101716         * doc/misc/ses.texi (Configuring what printer function
101717         applies): Add description of keys for completing local printer
101718         symbols and listing local printers in a help buffer.
101719         (Formulas): Add description for key to list the named cell
101720         symbols in a help buffer.
101722         * lisp/ses.el (ses-completion-keys): New constant.
101723         (ses--completion-table): New defvar.
101724         (ses--list-orig-buffer): New defvar.
101725         (ses-mode-edit-map): Fixed for symbol completion, plus add
101726         help functions to list named cells or local printers.
101727         (ses-edit-cell-complete-symbol)
101728         (ses--edit-cell-completion-at-point-function): New defuns for
101729         completion during formula edition.
101730         (ses-edit-cell): Redefine dynamically edit keymap for
101731         completion keys to point at the right function.
101732         (ses-read-printer-complete-symbol)
101733         (ses--read-printer-completion-at-point-function): New defuns
101734         for completion during printer edition.
101735         (ses-read-printer): Redefine dynamically edit keymap for
101736         completion keys to point at the right function.
101737         (ses-list-local-printers): New defun.
101738         (ses-list-named-cells): New defun.
101740 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
101742         Move comments around
101744 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
101746         Make scaling work (?) on pre-GTK3 systems
101748         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
101749         (xg_get_scale): Use it on non-GTK3 systems.
101751 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
101753         Always return the GDK scale
101755         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
101757 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
101759         Remove usage of the GDK_SCALE variable
101761         * src/gtkutil.c (xg_get_gdk_scale): Remove.
101762         (xg_get_default_scrollbar_height)
101763         (xg_get_default_scrollbar_width): Pass in a frame to check for
101764         scaling.
101765         (xg_frame_set_char_size): Use the API for querying scale
101766         instead of looking at the GDK_SCALE variable.
101767         (xg_get_default_scrollbar_width): Ditto.
101768         (xg_get_default_scrollbar_height): Ditto.
101769         (xg_update_scrollbar_pos): Ditto.
101771         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
101772         frame to get the width.
101774 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
101776         Get positions of menus and tooltips right on HiDPI
101778         * src/gtkutil.c (xg_get_scale): New function.
101779         (xg_show_tooltip): Use it.
101781         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
101782         right place.
101784 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
101786         Allow user control on what starts and ends a paragraph for bidi
101788         * src/buffer.h (struct buffer): New members
101789         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
101790         * src/buffer.c (bset_bidi_paragraph_start_re)
101791         (bset_bidi_paragraph_separate_re): New setters/
101792         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
101793         bidi-paragraph-separate-re.
101794         (init_buffer_once): Init the values of bidi-paragraph-start-re and
101795         bidi-paragraph-separate-re.
101796         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
101797         New per-buffer variables.
101798         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
101799         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
101800         (bidi_move_to_visually_next): Handle correctly the case when the
101801         separator matches an empty string.  (Bug#27526)
101803         * doc/emacs/mule.texi (Bidirectional Editing):
101804         * doc/lispref/display.texi (Bidirectional Display): Document
101805         bidi-paragraph-start-re and bidi-paragraph-separate-re.
101807         * etc/NEWS: Mention bidi-paragraph-start-re and
101808         bidi-paragraph-separate-re.
101810 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
101812         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
101814 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
101816         alist-get: Add optional arg TESTFN
101818         If TESTFN is non-nil, then it is the predicate to lookup
101819         the alist.  Otherwise, use 'eq' (Bug#27584).
101820         * lisp/subr.el (alist-get): Add optional arg FULL.
101821         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
101822         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
101823         * doc/lispref/lists.texi (Association Lists): Update manual.
101824         * etc/NEWS: Announce the changes.
101825         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
101826         (test-map-elt-testfn): New tests.
101828 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
101830         Fix `tramp-test39-unload'
101832         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
101833         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
101834         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
101835         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
101836         variables and autoload functions; they are not removed.  Check
101837         also for `-function(s)'.
101839 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
101841         Preserve point under 'dired-auto-revert-buffer' (second case)
101843         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
101844         of switch-to-buffer.  This preserves Dired window point when
101845         dired-auto-revert-buffer is non-nil.  (Bug#27243)
101847         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
101849 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
101851         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
101853         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
101854         undefined to allow --with-gnutls=no builds to proceed.
101856 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
101858         * src/gnutls.c: Restore some comments.
101860 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
101862         Use memset, not bzero
101864         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
101865         of the (less-portable) bzero.
101867 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
101869         Use explicit_bzero to clear GnuTLS keys
101871         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
101872         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
101873         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
101874         * src/gnutls.c (clear_storage): New function.
101875         (gnutls_symmetric_aead): Use it instead of memset.
101877 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
101879         Merge from gnulib
101881         This incorporates:
101882         2017-07-16 explicit_bzero: new module
101883         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
101884         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
101885         * m4/string_h.m4:
101886         Copy from Gnulib.
101887         * lib/gnulib.mk.in: Regenerate.
101889 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
101891         Fix vc-src-dir-status-files
101893         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
101894         copy-paste from b1a765b3 (bug#27641).
101896 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
101898         Fix mismatched parens
101900         * etc/NEWS.21: Remove excess parenthesis in code example
101902 2017-07-16  Alan Third  <alan@idiocy.org>
101904         Add missing declare-function for new function
101906         * lisp/frame.el: Add declare function for
101907         ns-mouse-absolute-pixel-position.
101909 2017-07-16  R. Bernstein  <rocky@gnu.org>
101911         Realgud for tango themes
101913 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
101915         Fix test when running from test/lisp/subr-tests.elc
101917         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
101918         assume a lambda expression will be `equal' to its quoted form.  That's
101919         not true if the lambda expression has been compiled.
101921 2017-07-15  Alan Third  <alan@idiocy.org>
101923         Fix some frame handling issues on NS
101925         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
101926         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
101927         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
101928         relationship if it's broken.
101930 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
101932         ls-lisp: Fix file size format
101934         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
101935         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
101936         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
101938 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
101940         Avoid link errors with older versions of GnuTLS
101942         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
101943         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
101944         calls GnuTLS functions which might be unavailable in older
101945         versions of GnuTLS.
101947 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
101949         Improve comments in faces.el
101951         * lisp/faces.el (face-font-family-alternatives): Improve
101952         commentary.
101954 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
101956         Improve some GnuTL error messages
101958         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
101959         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
101961 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
101963         Fix the Elisp manual wrt GnuTL cryptography
101965         * doc/lispref/elisp.texi (Top): Update the master menu.
101966         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
101967         avoid errors in makeinfo.
101969 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
101971         Fix compilation of gnutls.c with older GnuTLS
101973         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
101974         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
101975         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
101977 2017-07-15  rocky  <rb@dustyfeet.com>
101979         Realgud for two more light themes
101981 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
101983         Rearrange MS-Windows code that dynamically loads GnuTLS functions
101985         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
101986         of functions using the same preprocessing directives as in the code.
101988 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
101990         Fix the MS-Windows build broken in gnutls.c
101992         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
101993         loading code to after 'capabilities' has been calculated.  Remove
101994         redundant comments.
101996 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
101998         src/image.c (compute_image_size): Remove superfluous checks.
102000         * src/image.c (compute_image_size): Remove superfluous checks.
102002 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
102004         Make combinations of :width/:max-height image specs work reliably
102006         * doc/lispref/display.texi (ImageMagick Images): Document
102007         :width/:max-height combinations (etc) (bug #25583).
102009         * src/image.c (compute_image_size): Handle :width/:max-height
102010         (etc) combinations consistently (by letting "max" win and
102011         preserve ratio).
102013         * test/manual/image-size-tests.el (image-size-tests): Add
102014         tests for :width/:max-height (etc) combinations.
102016 2017-07-15  Glenn Morris  <rgm@gnu.org>
102018         Fix recent theme changes
102020         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
102021         Fix typos in recent changes.
102023 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
102025         GnuTLS integer-overflow and style fixes
102027         This tweaks the recently-added GnuTLS improvements so that
102028         they avoid some integer-overflow problems and follow typical
102029         Emacs style a bit better.
102030         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
102031         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
102032         configure-time results are displayed.
102033         * src/fns.c (extract_data_from_object): Return char *, not char
102034         const *, since one gnutls caller wants a non-const pointer.  Use
102035         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
102036         instead of rolling our own code.  Prefer signed types to unsigned
102037         when either will do.  Report problems for lengths out of range,
102038         instead of silently mishandling them.
102039         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
102040         callers.  All callers of gnutls_sterror changed.
102041         (Fgnutls_boot): Check for integers out of range rather than
102042         silently truncating them.
102043         (gnutls_symmetric_aead): Check for integer overflow in size
102044         calculations.
102045         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
102046         Prefer signed to unsigned integers where either will do.
102047         (gnutls_symmetric_aead, gnutls_symmetric):
102048         Work even if ptrdiff_t is wider than ‘long’.
102049         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
102050         Check for integer overflow in algorithm selection.
102052 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
102054         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
102056 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
102058         Fix the MS-Windows build due to added GnuTLS functions
102060         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
102061         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
102062         functions.  Add #define redirections for new functions.
102063         (gnutls_symmetric_aead): Fix format specs to be more portable when
102064         printing ptrdiff_t arguments.
102065         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
102066         wrapper.
102067         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
102069         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
102070         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
102071         gnutls-available-p, otherwise GnuTLS functions might not be loaded
102072         from the DLL on MS-Windows.
102074 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
102076         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
102078         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
102079         Dig into advice wrappers to find the "real" signature.
102080         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
102081         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
102082         since bytecode functions are now handled in byte-compile--function-signature.
102084         * lisp/files.el (create-file-buffer, insert-directory):
102085         Remove workaround introduced for (bug#14860).
102087         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
102089         * lisp/help.el (help-function-arglist):
102090         Dig into advice wrappers to find the "real" signature.
102092 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
102094         GnuTLS HMAC and symmetric cipher support
102096             * etc/NEWS: Add news for new feature.
102098             * doc/lispref/text.texi (GnuTLS Cryptography): Add
102099             documentation.
102101             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
102102             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
102104             * src/fns.c (Fsecure_hash_algorithms): Add function to list
102105             supported `secure-hash' algorithms.
102106             (extract_data_from_object): Add data extraction function that
102107             can operate on buffers and strings.
102108             (secure_hash): Use it.
102109             (Fsecure_hash): Mention `secure-hash-algorithms'.
102111             * src/gnutls.h: Include gnutls/crypto.h.
102113             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
102114             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
102115             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
102116             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
102118             * test/lisp/net/gnutls-tests.el: Add tests.
102120 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
102122         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
102124         It's also defined in cl-extra.el.
102126 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
102128         Do not convert ij and IJ to compatibility chars
102130         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
102131         Problem reported by James Cloos (Bug#518#10).
102133 2017-07-14  Toon Claes  <toon@iotcl.com>
102135         Remove Turkish ligatures from Dutch input method
102137         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
102139 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
102141         Improve stack-overflow heuristic on GNU/Linux
102143         Problem reported by Steve Kemp (Bug#27585).
102144         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
102145         by current_thread->stack_top.
102146         (record_in_backtrace): Set current_thread->stack_top.
102147         This is for when the Lisp interpreter calls itself.
102148         * src/lread.c (read1): Set current_thread->stack_top.
102149         This is for recursive s-expression reads.
102150         * src/print.c (print_object): Set current_thread->stack_top.
102151         This is for recursive s-expression printing.
102152         * src/thread.c (mark_one_thread): Get stack top first.
102153         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
102155 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
102157         Remove duplicate cl--random-state definition
102159         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
102160         This variable is now defined in cl-extra.el (Bug#27617).
102162 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
102164         Adjust timer in tramp-test36-asynchronous-requests
102166         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
102167         Adjust timer if it takes too much time.
102169 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
102171         Always display rmail progress report under user control
102173         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
102174         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
102176 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
102178         Avoid byte-compilation warnings for advised functions
102180         * lisp/files.el (insert-directory, create-file-buffer): Add an
102181         advertised-calling-convention form to shut up byte-compilation
102182         warnings.  (Bug#14860)
102184 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
102186         Add assertion related to display-line-numbers
102188         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
102189         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
102190         code.  (Bug#27668)
102192 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
102194         Prevent display corruption when display-line-numbers is set
102196         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
102197         due to display-line-numbers, clear the window's desired glyph
102198         matrix before returning, as the following call to try_window will
102199         call display_line, which expects rows of the desired matrix
102200         cleared.  (Bug#27668)
102202 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
102204         Revert "Use fixed-pitch font for display-line-numbers"
102206         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
102207         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
102208         popular demand.  For relevant discussions, see
102210          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
102211          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
102213 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
102215         Merge from gnulib
102217         This incorporates:
102218         2017-07-13 Improve cross-compilation guesses for native Windows
102219         2017-07-11 More systematic m4 quoting and indentation
102220         2017-07-10 Make sure $host and $host_os are defined when used
102221         2017-07-03 stdioext: Port to OpenVMS
102222         2017-06-24 xalloc-oversized: port to icc
102223         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
102224         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
102225         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
102226         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
102227         Copy from Gnulib.
102229 2017-07-13  Alan Mackenzie  <acm@muc.de>
102231         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
102233         This fontification anomaly happened because after deleting the ">",
102234         c-forward-<>-arglist parses the preceding identifier as a putative type but
102235         stores it in c-found-types before it becomes clear it is not an unambiguous
102236         type.  c-forward-<>-arglist fails, leaving the spurious type id in
102237         c-found-types.  Fix this by "binding" c-found-types "to itself" in
102238         c-forward-<>-arglist, and restoring the original value when that function call
102239         fails.
102241         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
102242         (c-forward-<>-arglist): Record the original value of c-found-types at the
102243         beginning of the function, and restore it at the end on failure.
102245         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
102246         accurately.
102248 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
102250         Add tests for SES, and fix one more cell renaming bug.
102252         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
102253         relocate value for named cells as they keep the same symbol.
102254         (ses-rename-cell): Set new cell name symbol to cell value --- do not
102255         rely on recalculating.  Push cells with updated data --- cell name,
102256         cell reference list, or cell formula --- to deferred write list.
102258         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
102260 2017-07-12  Alan Mackenzie  <acm@muc.de>
102262         Fix some bugs in c-defun-name.  This fixes bug #25623.
102264         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
102265         etc.
102267 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
102269         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
102271         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
102272         c-mode-base-map if possible.
102274 2017-07-12  Alan Mackenzie  <acm@muc.de>
102276         CC Mode: create and use c-set-keymap-parent.
102278         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
102280         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
102281         set-keymap-parents.
102282         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
102284 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
102286         Minor tweaks of new line number display variables
102288         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
102289         (Vdisplay_line_number_width): Rename to
102290         Vdisplay_line_numbers_width.
102291         (maybe_produce_line_number): Comply with above rename.
102292         * lisp/cus-start.el (standard):
102293         * lisp/frame.el (top-level):
102294         * etc/NEWS: Comply with renaming of
102295         `display-line-number-width' to `display-line-numbers-width'.
102297 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
102299         Avoid assertion violations in close_infile_unwind
102301         * src/lread.c (close_infile_unwind): A temporary band-aid solution
102302         for bug#27642: allow 'infile' be NULL.
102304 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
102306         Use fixed-pitch font for display-line-numbers
102308         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
102309         even if the default face uses a variable-pitch font.  Reported by
102310         James Cloos <cloos@jhcloos.com>.
102312 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
102314         Improve documentation of display-line-numbers
102316         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
102317         doc string.  Suggested by Alex <agrambot@gmail.com>.
102319 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
102321         Add an optional testfn parameter to assoc
102323         * src/fns.c (assoc): New optional testfn parameter used for comparison
102324         when provided.
102325         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
102326         'testfn' parameter.
102327         * src/buffer.c:
102328         * src/coding.c:
102329         * src/dbusbind.c:
102330         * src/font.c:
102331         * src/fontset.c:
102332         * src/gfilenotify.c:
102333         * src/image.c:
102334         * src/keymap.c:
102335         * src/process.c:
102336         * src/w32fns.c:
102337         * src/w32font.c:
102338         * src/w32notify.c:
102339         * src/w32term.c:
102340         * src/xdisp.c:
102341         * src/xfont.c: Add a third argument to Fassoc calls.
102342         * etc/NEWS:
102343         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
102345 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
102347         Use `with-demoted-errors' in Tramp
102349         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
102351         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
102353 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
102355         Add Quick Start Guide to Tramp manual
102357         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
102358         "MS Windows".
102359         (Quick Start Guide): New node.
102361         * doc/misc/trampver.texi:
102362         * lisp/net/trampver.el: Change version to "2.3.3-pre".
102364 2017-07-10  Glenn Morris  <rgm@gnu.org>
102366         Fix failing module tests on GNU/Linux
102368         * test/src/emacs-module-tests.el
102369         (module--test-assertions--load-non-live-object)
102370         (module--test-assertions--call-emacs-from-gc):
102371         Avoid test failures due to backtraces.
102373 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
102375         Fix core dump in substitute-object-in-subtree
102377         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
102378         would dump core, since the C code would recurse indefinitely through
102379         the infinite structure.  This patch adds an argument to the function,
102380         and renames it to lread--substitute-object-in-subtree as the function
102381         is not general-purpose and should not be relied on by outside code.
102382         See Bug#23660.
102383         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
102384         not Lisp_Object, so that callers need not cons unnecessarily.
102385         All callers changed.  Also, remove related #if-0 code that was
102386         “temporary” in the early 1990s and has not been compilable for
102387         some time.
102388         * src/lread.c (struct subst): New type, for substitution closure data.
102389         (seen_list): Remove this static var, as this info is now part of
102390         struct subst.  All uses removed.
102391         (Flread__substitute_object_in_subtree): Rename from
102392         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
102393         doesn’t dump core when called from the top level with an
102394         already-cyclic structure.  All callers changed.
102395         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
102396         (substitute_object_recurse): Take a single argument SUBST rather
102397         than a pair OBJECT and PLACEHOLDER, so that its address can be
102398         passed around as part of a closure; this avoids the need for an
102399         AUTO_CONS call.  All callers changed.  If the COMPLETED component
102400         is t, treat every subobject as potentially circular.
102401         (substitute_in_interval): Take a struct subst * rather than a
102402         Lisp_Object, for the closure data.  All callers changed.
102403         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
102404         New test, to check that the core dump does not reoccur.
102406 2017-07-10  Philipp Stephani  <phst@google.com>
102408         Minor simplification of module_free_global_ref
102410         * src/emacs-module.c (module_free_global_ref): Remove unused variable
102411         'hashcode'.  Inline variable 'value' that's only used once.
102413 2017-07-10  Philipp Stephani  <phst@google.com>
102415         Re-add a useful assertion
102417         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
102418         the reference count is zero.  This assertion was removed in commit
102419         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
102420         test performed by XFASTINT before, because the previous reference
102421         count could have been zero already in the case of a buggy
102422         implementation.  This assertion might have detected Bug#27587.
102424 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
102426         Fix bug in module_free_global_ref (Bug#27587)
102428         * src/emacs-module.c (module_free_global_ref): Actually remove entry
102429         from hash table.
102431 2017-07-09  Philipp Stephani  <phst@google.com>
102433         Further improve electric quote support for Markdown (Bug#24709)
102435         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
102436         values.  Therefore 'electric-quote-mode' recognized it as a
102437         programming mode.  Fix this by first checking whether the current
102438         major mode is derived from 'text-mode'.
102440         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
102441         'text-mode' as stronger signal than comment syntax.
102443         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
102444         (electric-quote-markdown-in-code): Adapt unit tests.
102446 2017-07-09  Philipp Stephani  <phst@google.com>
102448         Remove pointless code in 'electric-quote-mode'
102450         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
102451         pointless form.
102453 2017-07-09  Philipp Stephani  <phst@google.com>
102455         Refactor 'electric-quote-mode'
102457         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
102458         local variable 'start', which was misnamed and only used once.
102460 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
102462         Avoid crashes on MS-Windows starting 64-bit .NET executables
102464         * src/w32proc.c (w32_executable_type): Don't assume that the
102465         import directory in a DLL will always be non-NULL.  (Bug#27527)
102467 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
102469         Avoid compilation warning in files.el
102471         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
102472         warning due to its use in auto-save-visited-mode.
102474 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
102476         Improve indexing of VC-related stuff in the Emacs manual
102478         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
102479         entry.  (Bug#27627)
102481 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
102483         Speed up display of line numbers for very large buffers
102485         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
102486         using values cached by mode-line display of line numbers.
102487         (Bug#27622)
102489 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
102491         Define internal_border_parts for window systems only (Bug#27615)
102493         * src/keyboard.c: (internal_border_parts): Define only
102494         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
102496 2017-07-09  R. Bernstein  <rocky@gnu.org>
102498         Add realgud faces faces to whiteboard...
102500         Adjust wheatgrass to use underline for enabled/disabled breakpoints
102502 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
102504         Optimize UCS normalization tests
102506         Brings the time for `ucs-normalize-part1' from 200s down to 130s.
102507         * test/lisp/international/ucs-normalize-tests.el
102508         (ucs-normalize-tests--parse-column): Use character instead of string
102509         of length 1 for terminator.  Convert return value into string since
102510         all callers need that form anyway.
102511         (ucs-normalize-tests--normalization-equal-p): Rename from
102512         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
102513         messing with narrowing.  Take string to compare against and insert it
102514         into buffer so that compare-buffer-substrings can be used instead of
102515         allocating a new string from buffer contents.
102516         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
102517         for comparing single character.
102518         (ucs-normalize-tests--rule1-holds-p)
102519         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
102520         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
102521         `='.
102523 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
102525         Update failing lines for UCS normalize tests
102527         * test/lisp/international/ucs-normalize-tests.el
102528         (ucs-normalize-tests--failing-lines-part2): Update for new
102529         admin/unidata/NormalizationTest.txt version.
102531 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
102533         Semi-automate the procedure for updating UCS normalize test bad lines
102535         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
102536         commentary describing a manual procedure for producing the updated
102537         failing lines, it did not actually work.  Replace it with pointer to
102538         new function which prints the updated values.
102539         (ucs-normalize-tests--rule1-holds-p): Renamed from
102540         ucs-normalize-tests--invariants-hold-p.
102541         (ucs-normalize-tests--rule2-holds-p): Renamed from
102542         ucs-normalize-tests--invariants-rule2-hold-p.
102543         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
102544         ucs-normalize-tests--invariants-failing-for-part.
102545         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
102546         ucs-normalize-tests--invariants-failing-for-lines.
102547         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
102548         (ucs-normalize-part2): Set it.
102549         (ucs-normalize-part1): Always run through to end of test before
102550         checking for failures.
102551         (ucs-normalize-tests--insert-failing-lines)
102552         (ucs-normalize-check-failing-lines): New functions, used to update
102553         the *--failing-lines-part* variables.
102555 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
102557         * lisp/cus-start.el (standard): Spelling fix.
102559 2017-07-08  Philipp Stephani  <phst@google.com>
102561         Module assertions: check for garbage collections
102563         It's technically possible to write a user pointer finalizer that calls
102564         into Emacs module functions.  This would be disastrous because it
102565         would allow arbitrary Lisp code to run during garbage collection.
102566         Therefore extend the module assertions to check for this case.
102568         * src/emacs-module.c (module_assert_thread): Also check whether a
102569         garbage collection is in progress.
102571         * test/data/emacs-module/mod-test.c (invalid_finalizer)
102572         (Fmod_test_invalid_finalizer): New test module functions.
102573         (emacs_module_init): Register new test function.
102575         * test/src/emacs-module-tests.el (module--test-assertion)
102576         (module--with-temp-directory): New helper macros.
102577         (module--test-assertions--load-non-live-object): Rename existing
102578         unit test, use helper macros.
102579         (module--test-assertions--call-emacs-from-gc): New unit test.
102581 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
102583         Capitalize the menu entry for display-line-numbers
102585         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
102586         for display-line-numbers.  Suggested by Martin Rudalics
102587         <rudalics@gmx.at>.
102589 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
102591         Update Unicode data and files to Unicode 10.0
102593         * admin/notes/unicode:
102594         * admin/unidata/README:
102595         * admin/unidata/BidiBrackets.txt:
102596         * admin/unidata/BidiMirroring.txt:
102597         * admin/unidata/Blocks.txt:
102598         * admin/unidata/IVD_Sequences.txt:
102599         * admin/unidata/NormalizationTest.txt:
102600         * admin/unidata/SpecialCasing.txt:
102601         * admin/unidata/UnicodeData.txt:
102602         * lisp/international/characters.el:
102603         * lisp/international/fontset.el (script-representative-chars):
102604         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
102606 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
102608         Support '=' in Scheme and Lisp tags in 'etags'
102610         * lib-src/etags.c (get_lispy_tag): New function.
102611         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
102612         * test/manual/etags/CTAGS.good:
102613         * test/manual/etags/ETAGS.good_1:
102614         * test/manual/etags/ETAGS.good_2:
102615         * test/manual/etags/ETAGS.good_3:
102616         * test/manual/etags/ETAGS.good_4:
102617         * test/manual/etags/ETAGS.good_5:
102618         * test/manual/etags/ETAGS.good_6:
102619         * test/manual/etags/Makefile:
102620         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
102621         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
102623 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
102625         Avoid compiler warnings in xdisp.c debugging code
102627         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
102628         Use pD directives for ptrdiff_t values instead of pI, to avoid
102629         compilation warnings on 64-bit hosts.  (Bug#27597)
102631 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
102633         Commentary enhancement in frame.el
102635         * lisp/frame.el: Explain how to test whether a variable needs to
102636         be added to the list of those which are watched for buffer
102637         redisplay.
102639 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
102641         Support display of line numbers natively
102643         This merges branch 'line-numbers'.
102644         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
102645         function.
102646         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
102647         * src/dispextern.h (struct it): New members pt_lnum, lnum,
102648         lnum_bytepos, lnum_width, and lnum_pixel_width.
102649         * src/indent.c (line_number_display_width): New function,
102650         refactored from line-number width calculations in vertical-motion.
102651         (Fvertical_motion): Call line_number_display_width when the width
102652         of line-number display is needed.
102653         (Fline_number_display_width): New defun.
102654         (syms_of_indent): Defsubr it.
102655         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
102656         the width used up by line numbers by looking near the window-start
102657         point.  If window-start is outside of the accessible portion,
102658         temporarily widen the buffer.
102659         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
102660         space taken by the line-number display.
102661         * src/xdisp.c (display_count_lines_logically)
102662         (display_count_lines_visually, maybe_produce_line_number)
102663         (should_produce_line_number, row_text_area_empty): New functions.
102664         (try_window_reusing_current_matrix): Don't use this method when
102665         display-line-numbers is in effect.
102666         (try_window_id, try_cursor_movement): Disable these optimizations
102667         when the line-number-current-line face is different from
102668         line-number face and for relative line numbers.
102669         (try_window_id, redisplay_window, try_cursor_movement): For
102670         visual line-number display, disable the same redisplay
102671         optimizations as for relative.
102672         (x_produce_glyphs): Adjust tab stops for the horizontal
102673         space taken by the line-number display.
102674         (hscroll_window_tree): Adjust hscroll calculations to line-number
102675         display.
102676         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
102677         math.h; all users changed.
102678         (set_cursor_from_row): Fix calculation of cursor X coordinate in
102679         R2L rows with display-produced glyphs at the beginning.
102680         (display_line): Use should_produce_line_number to determine
102681         whether a line number should be produced for each glyph row, and
102682         maybe_produce_line_number to produce line numbers.
102683         Don't display line numbers in the minibuffer and in tooltip
102684         frames.
102685         Call row_text_area_empty to verify that a glyph
102686         row's text area is devoid of any glyphs that came from a buffer or
102687         a string.  This fixes a bug with empty-lines indication
102688         disappearing when line numbers or line-prefix are displayed.
102689         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
102690         <display-line-number-width>: New buffer-local variables.
102691         <display-line-numbers-current-absolute>: New variable.
102693         * lisp/cus-start.el (standard): Provide customization forms for
102694         display-line-numbers and its sub-features.
102695         * lisp/faces.el (line-number, line-number-current-line): New faces.
102696         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
102697         display-line-numbers-current-absolute, and
102698         display-line-number-width to the list of variables that should
102699         trigger redisplay of the current buffer.
102700         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
102701         turn display-line-numbers on and off.
102702         (toggle-display-line-numbers): New function.
102703         * lisp/simple.el (last--line-number-width): New internal variable.
102704         (line-move-visual): Use it to adjust temporary-goal-column when
102705         line-number display changes its width.
102707         * doc/emacs/basic.texi (Position Info): Add cross-reference to
102708         "Display Custom", for line-number display.
102709         * doc/emacs/custom.texi (Init Rebinding):
102710         * doc/emacs/modes.texi (Minor Modes): Remove references to
102711         linum-mode.
102712         * doc/emacs/display.texi (Display Custom): Describe the
102713         line-number display.
102714         * doc/lispref/display.texi (Size of Displayed Text): Document
102715         line-number-display-width.
102717         * etc/NEWS: Document display-line-numbers and its customizations.
102719 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
102721         Fix more ungetc bugs with encoding errors
102723         * src/lread.c (infile): New variable, replacing ...
102724         (instream): ... this.  All uses changed.
102725         (readbyte_from_stdio): New function, which deals with lookahead.
102726         (readbyte_from_file, Fget_file_char): Use it.
102727         (Fget_file_char): When misused, signal an error instead of
102728         relying on undefined behavior.
102729         (close_infile_unwind): New function.
102730         (Fload): Use it.
102731         (readevalloop): 2nd arg is now struct infile *, not FILE *.
102732         All callers changed.
102733         (read1): Handle lookahead when copying doc strings with
102734         encoding errors.
102736 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
102738         Avoid ungetc when loading charset maps from files
102740         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
102741         replacing the old EOF.  All callers changed.  This avoids the
102742         need to call ungetc.
102744 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
102746         Fix ungetc bug when reading an encoding error
102748         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
102749         error when reading an encoding error from a file, e.g., a symbol
102750         in an .elc file whose name is "\360\220\200\360".
102752 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
102754         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
102756         * lisp/window.el (display-buffer--special-action): Use a closure.
102758 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
102760         Add new todo-mode.el tests
102762         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
102763         Declare an Edebug spec.  Restore pre-test-run state of test files.
102764         (todo-test--show, todo-test--move-item)
102765         (todo-test--insert-item): New functions.
102766         (todo-test-get-archive): Remove, as subsumed by
102767         todo-test--show.  Adjust all callers.
102768         (todo-test--is-current-buffer): Rename from
102769         todo-test-is-current-buffer and adjust uses.
102770         (todo-test-item-highlighting): Use todo-test--show.
102771         (todo-test-revert-buffer01, todo-test-revert-buffer02)
102772         (todo-test-raise-lower-priority)
102773         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
102774         (todo-test-move-item02, todo-test-move-item03)
102775         (todo-test-move-item04, todo-test-move-item05)
102776         (todo-test-toggle-item-header01)
102777         (todo-test-toggle-item-header02)
102778         (todo-test-toggle-item-header03)
102779         (todo-test-toggle-item-header04)
102780         (todo-test-toggle-item-header05)
102781         (todo-test-toggle-item-header06)
102782         (todo-test-toggle-item-header07): New tests.
102784         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
102785         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
102786         Modify to accommodate new tests.
102788 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
102790         todo-mode.el: Fix handling of hidden item headers (bug#27609)
102792         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
102793         (todo-toggle-item-header): Use it.  Make this command a noop
102794         if the file has no items.
102795         (todo-move-item, todo-item-done): Instead of concatenating the
102796         items to move into one string, make a list of them to
102797         facilitate handling hidden headers.  Adjust insertion accordingly.
102798         (todo-archive-done-item): Handle hidden headers in archive file.
102799         (todo-unarchive-items): Handle hidden headers in todo file.
102800         (todo-backward-item): Use todo--item-headers-hidden and handle
102801         moving backward work when item date-time headers are hidden.
102802         (todo-remove-item): Delete date-time header overlay.
102803         (todo-get-overlay, todo-insert-with-overlays): Make them work
102804         with hidden date-time headers.
102805         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
102807 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
102809         Fix several todo-mode bugs found while debugging bug#27609
102811         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
102812         current category only once.
102813         (todo-mark-category): Update number of marked items to avoid
102814         spurious duplication in todo-categories-with-marks alist and
102815         corruption of the todo-categories alist.  Handle empty line
102816         when there are no todo items and done items are shown.
102817         (todo-set-item-priority): Make noop if called from
102818         todo-raise-item-priority or todo-lower-item-priority when
102819         point is on a done todo item or an empty line.
102820         (todo-move-item): Use markers instead of integer positions to
102821         correctly handle deleting the now moved items from the source
102822         category (without markers an infinite loop arises when moving
102823         marked item to a preceding category).
102824         (todo-unarchive-items): Put point on the (first) restored done
102825         item, instead of leaving it at the end of the done items
102826         separator string.
102827         (todo-revert-buffer): Ensure buffer remains read-only after
102828         reverting.
102830 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
102832         Exclude blank columns from value of line-number-display-width
102834         * src/indent.c (Fline_number_display_width): Don't add 2 to the
102835         number of columns we return, to make this consistent with
102836         display-line-number-width.
102838 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
102840         Fix vertical-motion across the place where line-number width changes
102842         * src/indent.c (line_number_display_width): New function,
102843         refactored from line-number width calculations in vertical-motion.
102844         (Fvertical_motion): Call line_number_display_width when the width
102845         of line-number display is needed.
102846         (Fline_number_display_width): New defun.
102847         (syms_of_indent): Defsubr it.
102849         * doc/lispref/display.texi (Size of Displayed Text): Document
102850         line-number-display-width.
102852         * etc/NEWS: Mention line-number-display-width.
102854         * lisp/simple.el (last--line-number-width): New internal variable.
102855         (line-move-visual): Use it to adjust temporary-goal-column when
102856         line-number display changes its width.
102858 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
102860         Remove Vwindow_text_change_functions and related code
102862         Vwindow_text_change_functions had been provided for implementing
102863         line numbers but apparently was never functional or in use.
102865         * src/xdisp.c (redisplay_window): Remove handling of
102866         Vwindow_text_change_functions.
102867         (syms_of_xdisp): Remove Qwindow_text_change_functions.
102868         (Vwindow_text_change_functions): Remove variable.
102869         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
102870         `window-text-change-functions'.
102872 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
102874         Convert more uses of looking-at to following-char
102876         More followup to Karl Fogel's commit a84da83c1.
102877         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
102878         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
102879         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
102880         * lisp/proced.el (proced-toggle-marks):
102881         * lisp/progmodes/f90.el (f90-indent-line):
102882         * lisp/ses.el (ses-load):
102883         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
102884         char comparisons using following-char.
102886 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
102888         Don't skip epg tests (Bug#23561)
102890         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
102891         parameter, since we supply the passphrase via pinentry-program for all
102892         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
102893         program (Bug#23619)").
102894         (epg-tests-program-alist-for-passphrase-callback): Remove.
102896 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
102898         Implement line numbers that disregard narrowing
102900         * src/xdisp.c (display_count_lines_logically): New function,
102901         counts line numbers disregarding narrowing.  Suggested by Andy
102902         Moreton <andrewjmoreton@gmail.com>.
102903         (maybe_produce_line_number): Call display_count_lines_logically
102904         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
102905         display-line-numbers-widen.
102906         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
102907         variable.
102909         * lisp/cus-start.el (standard): Provide a customization form for
102910         display-line-numbers-widen.
102911         * lisp/frame.el: Add display-line-numbers-widen,
102912         display-line-numbers-current-absolute, and
102913         display-line-number-width to the list of variables that should
102914         trigger redisplay of the current buffer.
102916         * doc/emacs/display.texi (Display Custom): Document
102917         display-line-numbers-widen.
102919 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
102921         Fix lisp-comment-indent for single-semicolon case
102923         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
102924         open paren if we're looking at multiple comment characters.
102925         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
102926         (lisp-comment-indent-2): New tests.
102928 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
102930         Spelling fixes
102932         * lisp/org/org-table.el (org-table-sort-lines):
102933         Fix misspelling in prompt.
102934         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
102935         Fix misspelling in call to org-element-lineage.
102937 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
102939         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
102941         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
102942         line's code ends in open paren, set comment indentation exactly to
102943         column following it.
102944         (lisp-mode-variables): Set `comment-indent-function' to
102945         `lisp-comment-indent'.
102947 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
102949         Allow comment-indent-functions to specify exact indentation (Bug#385)
102951         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
102952         integers as indicating a range of acceptable indentation.
102953         (comment-indent): Don't apply `comment-inline-offset',
102954         `comment-choose-indent' already does that.
102955         (comment-indent-function):
102956         * doc/emacs/programs.texi (Options for Comments): Document new
102957         acceptable return values.
102958         * etc/NEWS: Announce it.
102960 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
102962         Check for integer overflow in xbm images
102964         * src/image.c (XBM_TK_OVERFLOW): New constant.
102965         (xbm_scan): Check for integer overflow instead of relying on
102966         undefined behavior.  Check that octal digits are actually octal.
102968 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
102970         Convert hex digits more systematically
102972         This makes the code a bit smaller and presumably faster, as
102973         it substitutes a single lookup for conditional jumps.
102974         * src/character.c (hexdigit): New constant.
102975         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
102976         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
102977         (hexdigit): New decl.
102978         (char_hexdigit): New inline function.
102979         * src/charset.c: Do not include c-ctype.h.
102980         * src/charset.c (read_hex):
102981         * src/editfns.c (styled_format):
102982         * src/image.c (xbm_scan):
102983         * src/lread.c (read_escape):
102984         * src/regex.c (ISXDIGIT) [emacs]:
102985         Use char_hexdigit instead of doing it by hand.
102987 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
102989         Don’t use -Woverride-init
102991         I have some further changes in mind that would also need to
102992         disable the -Woverride-init warnings.  In practice these warnings
102993         seem to be more trouble than they’re worth, so disable them in the
102994         cc command line.
102995         * configure.ac: Disable -Woverride-init here ...
102996         * src/bytecode.c: ... rather than here.
102998 2017-07-05  Glenn Morris  <rgm@gnu.org>
103000         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
103002         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
103004 2017-07-05  Glenn Morris  <rgm@gnu.org>
103006         Small fix for bug-reference.el
103008         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
103009         Autoload safety property.  (Bug#27481)
103011 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
103013         Suppress timers in Tramp
103015         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
103017         * test/lisp/net/tramp-tests.el
103018         (tramp-test36-asynchronous-requests): Trigger timers.
103019         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
103020         Set `default-directory' to a trustworthy value.
103022 2017-07-05  rocky  <rb@dustyfeet.com>
103024         Add realgud face definitions
103026         Add realgud faces to tdsh-dark-theme
103028 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103030         * lisp/progmodes/cc-awk.el: Mark unused args
103032         * lisp/progmodes/cc-bytecomp.el: Mark unused args
103034 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103036         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
103038         ... before first use
103040 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103042         * lisp/progmodes/cc-vars.el: Mark unused args
103044 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103046         * lisp/progmodes/cc-langs.el: Mark unused args
103048         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
103049         unambiguous-prefix-ops.
103051 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103053         * lisp/progmodes/cc-engine.el: Mark unused args
103055         (c-beginning-of-statement-1, c-guess-basic-syntax):
103056         Remove unused var c-in-literal-cache.
103057         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
103058         (c-append-to-state-cache): Remove unused var `bra+1s'.
103059         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
103060         (c-invalidate-state-cache-1): Remove unused var `pa'.
103061         (c-forward-decl-or-cast-1): Change comments so they don't look like
103062         outline headers.
103063         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
103064         Declare before first use.
103065         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
103066         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
103068 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103070         * lisp/progmodes/cc-cmds.el: Remove unused vars
103072         (c-syntactic-context): Declare as dynbound.
103073         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
103075 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103077         * lisp/progmodes/cc-guess.el: Remove unused var
103079         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
103080         and computed variable `guessed-syntactic-symbols'.
103082 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103084         * lisp/progmodes/cc-align.el: Mark unused arguments
103086 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
103088         * lisp/progmodes/cc-mode.el: Mark unused arguments
103090         (c-parse-quotes-before-change, c-parse-quotes-after-change):
103091         Remove unused vars.
103093 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
103095         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
103097         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
103098         and `ffap-url-unwrap-remote'.
103100 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
103102         Fix infloop in uncomment-region-default (Bug#27112)
103104         When `comment-continue' has only blanks, `comment-padright' produces a
103105         regexp that matches the empty string, so `uncomment-region-default'
103106         will loop infinitely.
103107         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
103108         has nonblank characters.
103110 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
103112         Fix display of current line number in visual mode
103114         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
103115         of current line when line-number-current-line face was customized.
103116         Reported by Filipe Silva <filipe.silva@gmail.com>.
103118 2017-07-03  Philipp Stephani  <phst@google.com>
103120         Use hook instead of face list to inhibit electric quoting
103122         This is more flexible and doesn't couple electric quoting to font
103123         locking.
103124         Give that 'electric-quote-code-faces' was just introduced, remove it
103125         without formal deprecation.
103127         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
103128         hook variable.
103129         (electric-quote-post-self-insert-function): Run the hook.  Remove
103130         use of old 'electric-quote-code-faces' variable.
103132         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
103133         (electric-quote-markdown-in-code): Adapt unit tests.
103135 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
103137         Offer non-aligned indentation in lists in js-mode (Bug#27503)
103139         * lisp/progmodes/js.el (js--proper-indentation):
103140         New customization option 'js-indent-align-list-continuation'.
103141         Affects argument lists as well as arrays and object properties.
103142         * test/manual/indent/js-indent-align-list-continuation-nil.js:
103143         Test the change.
103145 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
103147         Avoid errors in vertical-motion when buffer is narrowed
103149         * src/indent.c (Fvertical_motion): If need to start from
103150         window-start, and it is outside of the accessible portion,
103151         temporarily widen the buffer.  This avoids errors in evil-mode.
103152         Reported by James Nguyen <james@jojojames.com>.
103154 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
103156         (Re-)activate remote tests of filenotify-tests.el
103158         * test/lisp/filenotify-tests.el
103159         (file-notify-test-remote-temporary-file-directory):
103160         Declare default host for mock method.  Offer home directory
103161         for mock method if it doesn't exist.
103162         (file-notify-test09-watched-file-in-watched-dir-remote):
103163         Remove, it doesn't work reliably.
103165 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
103167         Reset ansi escape context before printing eshell prompt (Bug#27407)
103169         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
103170         `ansi-color-context-region'.
103172 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
103174         Let ansi-color overlay hooks work in eshell (Bug#27407)
103176         * lisp/ansi-color.el (ansi-color-make-extent): Add
103177         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
103178         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
103179         `inhibit-modification-hooks' to nil while inserting the string.
103181 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
103183         Fix and simplify ansi escape detection (Bug#21381)
103185         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
103186         Remove.
103187         (ansi-color-control-seq-regexp): New constant, matches all escape
103188         sequences.
103189         (ansi-color-filter-apply, ansi-color-apply)
103190         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
103191         of matching color sequences separately from ignored sequences.
103192         Differentiate color sequences simply by checking the last character.
103194 2017-07-03  Damien Cassou  <damien@cassou.me>
103196         Add absolute optional parameter to line-number-at-pos (Bug#26417)
103198         * lisp/simple.el (line-number-at-pos): Add a second optional
103199           argument 'absolute'.
103200         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
103202 2017-07-03  R. Bernstein  <rocky@gnu.org>
103204         Add realgud faces
103206 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
103208         Fix tramp-tests.el for hydra
103210         * test/Makefile.in: Remove instrumentation for tramp-tests.
103212         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
103213         Remove instrumentation.  Wrap with a timeout.  Give hydra
103214         another timer value.  Set `default-directory' in timer.
103216 2017-07-03  Bastien  <bzg@gnu.org>
103218         Merge branch 'master' into scratch/org-mode-merge
103220         Merge branch 'master' into scratch/org-mode-merge
103222 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
103224         dired-do-shell-command: Fix check for wildcards
103226         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
103227         and '`?' i.e., keep the whitespaces.
103228         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
103230 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
103232         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
103234         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
103235         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
103236         split out from `shr-copy-url'.
103237         (shr-copy-url): Only copy the url, don't fetch it.
103238         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
103239         has the same behavior as the old `shr-copy-url'.
103240         * etc/NEWS: Announce changes.
103242 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
103244         Make eww-search-words prompt for query if nothing selected
103246         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
103247         user for a search query if the region is inactive or if the region is
103248         just whitespace.
103250 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
103252         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
103254         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
103255         * lisp/help-fns.el (describe-variable): No need to let-bind
103256         `cl-print-compiled-button' to t anymore.
103258 2017-07-02  Philipp Stephani  <phst@google.com>
103260         Electric quotes: Improve support for Markdown mode (Bug#24709)
103262         Introduce a new user option 'electric-quote-context-sensitive'.  If
103263         non-nil, have ' insert an opening quote if sensible.
103265         Also introduce a new variable 'electric-quote-code-faces'.  Major
103266         modes such as 'markdown-mode' can add faces to this list to treat text
103267         as inline code and disable electric quoting.
103269         * lisp/electric.el (electric-quote-context-sensitive): New user
103270         option.
103271         (electric-quote-code-faces): New variable.
103272         (electric-quote-post-self-insert-function): Treat ' as ` if
103273         desired and applicable; disable electric quoting for given faces.
103275         * test/lisp/electric-tests.el (electric-quote-opening-single)
103276         (electric-quote-closing-single, electric-quote-opening-double)
103277         (electric-quote-closing-double)
103278         (electric-quote-context-sensitive-backtick)
103279         (electric-quote-context-sensitive-bob-single)
103280         (electric-quote-context-sensitive-bob-double)
103281         (electric-quote-context-sensitive-bol-single)
103282         (electric-quote-context-sensitive-bol-double)
103283         (electric-quote-context-sensitive-after-space-single)
103284         (electric-quote-context-sensitive-after-space-double)
103285         (electric-quote-context-sensitive-after-letter-single)
103286         (electric-quote-context-sensitive-after-letter-double)
103287         (electric-quote-context-sensitive-after-paren-single)
103288         (electric-quote-context-sensitive-after-paren-double)
103289         (electric-quote-markdown-in-text)
103290         (electric-quote-markdown-in-code): New unit tests.
103292 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
103294         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
103296 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
103298         Avoid off-by-one errors in column C-n/C-p calculations
103300         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
103301         the width used up by line numbers by looking near the window-start
103302         point.
103304 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
103306         Ask confirmation for all suspicious wildcards
103308         * lisp/dired-aux.el (dired-do-shell-command): Check that all
103309         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
103311 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
103313         Extend dired-do-shell-command substitutions
103315         Substitute "`?`" inside command with the current file name.
103316         See details in:
103317         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
103318         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
103319         Mark as obsolete.
103320         (dired-isolated-string-re): New defun.
103321         (dired--star-or-qmark-p): New predicate.
103322         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
103323         with the current file name.
103324         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
103326 2017-07-02  Alan Mackenzie  <acm@muc.de>
103328         Fix bug in yesterday's CC Mode commit.
103330         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
103331         search has succeeded before using the match data.
103332         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
103333         Specify that the position of the extremity of the head or tail is in the
103334         match data.
103336 2017-07-02  Philipp Stephani  <phst@google.com>
103338         Remove FIXME comments about sentinel values
103340         These FIXMEs can't be addressed because they would require breaking
103341         changes to the module API.  Furthermore, other module functions don't
103342         return sentinel values as well, so users generally have to call
103343         non_local_exit_check anyway.
103345         * src/emacs-module.c (module_set_user_ptr)
103346         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
103347         FIXME comments.
103349 2017-07-02  Philipp Stephani  <phst@google.com>
103351         Adapt Lisp reference to reader changes
103353         The reader now warns about some unescaped character literals, but
103354         still allows them for compatibility reasons.  Slightly adapt the
103355         manual to forbid them officially.
103357         * doc/lispref/objects.texi (Basic Char Syntax): Document that
103358         backslashes are now required before some characters.
103360 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
103362         Fix Bug#27502
103364         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
103365         (find-file-hook): Use it.  (Bug#27502)
103366         (auto-revert-remove-current-buffer): New defun.
103367         (auto-revert-mode, auto-revert-buffers): Use it.
103369 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
103371         Let test summary go through even if some logs were not generated
103373         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
103374         for existence of log files before reading.
103376 2017-07-01  Philipp Stephani  <phst@google.com>
103378         * src/module-env-25.h (copy_string_contents): Fix comment.
103380 2017-07-01  Philipp Stephani  <phst@google.com>
103382         Also mark module init function as noexcept if possible
103384         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
103385         possible.
103387 2017-07-01  Philipp Stephani  <phst@google.com>
103389         Improve C++98 compatibility
103391         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
103392         C++98 doesn't allow trailing commas in enumerations.
103394 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
103396         Minor copyedits of manuals regarding bidi conformance
103398         * doc/emacs/mule.texi (Bidirectional Editing):
103399         * doc/lispref/display.texi (Bidirectional Display): Update the
103400         bidi conformance text.
103402 2017-07-01  Alan Mackenzie  <acm@muc.de>
103404         Make C++ digit separators work.  Amend the handling of single quotes generally
103406         Single quotes, even in strings and comments, are now marked with the
103407         "punctuation" syntax-table property, except where they are validly bounding a
103408         character literal.  They are font locked with font-lock-warning-face except
103409         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
103411         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
103412         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
103413         functions/macros.
103415         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
103416         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
103418         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
103419         c-before-after-change-digit-quote from wherever it occurs.  Insert
103420         c-parse-quotes-before-change into the entries for the languages where it is
103421         needed.
103422         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
103423         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
103424         the languages which need it.
103425         (c-has-quoted-numbers): New lang-defconst/-defvar.
103427         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
103428         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
103429         (c-maybe-quoted-number): New defconsts.
103430         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
103431         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
103432         (c-parse-quotes-after-change): New functions.
103434 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
103436         Ignore mouse-movement for describe-key-briefly (Bug#12204)
103438         * lisp/help.el (help-read-key-sequence): Add optional argument ot
103439         ignore `mouse-movement' events.
103440         (describe-key-briefly): Use it.
103441         * doc/emacs/help.texi (Key Help):
103442         * etc/NEWS: Mention that mouse movement is ignored.
103444 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
103446         Refactor key describing commands
103448         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
103449         functions, extracted from `describe-key' and `describe-key-briefly'.
103450         (describe-key, describe-key-briefly): Use them.
103452 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
103454         Improve display of tabs with line numbers
103456         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
103457         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
103459 2017-07-01  Alan Third  <alan@idiocy.org>
103461         Fix threads on NS (bug#25265)
103463         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
103464         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
103465         src/nsterm.m (ns_select): Call thread_select from within ns_select.
103466         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
103467         (ns_send_appdefined): Don't wait for main thread when sending app
103468         defined event.
103469         src/process.c (wait_reading_process_output): Call thread_select from
103470         within ns_select.
103471         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
103472         its event loop using ns_run_loop_break.
103474 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
103476         Avoid slow redisplay under 'visual' mode of line numbers
103478         * src/xdisp.c (display_count_lines_visually): Avoid very slow
103479         redisplay when this function is invoked very far from point.
103480         Reported by Alex <agrambot@gmail.com>.
103482 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
103484         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
103486 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
103488         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
103490         (cl--random-state, cl--random-time): Move from cl-lib.el.
103491         (cl-random): Use struct accessors.
103492         (cl-random-state-p): Remove, provided by the defstruct.
103493         (cl-make-random-state): Rewrite to struct constructor.
103495 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
103497         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
103499 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
103501         Improve documentation of faces related to display-line-numbers
103503         * lisp/faces.el (line-number, line-number-current-line): Warn
103504         against using non-monospaced fonts.
103506 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
103508         Fix relative-number display with non-nil display-line-number-width
103510         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
103511         value of display-line-number-width as acceptable.
103512         Handle the case of 'relative' with display-line-number-width
103513         non-nil and smaller than the absolute line number requires.
103514         Reported by Alex <agrambot@gmail.com>.
103516 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
103518         Release Tramp 2.3.2
103520         * doc/misc/tramp.texi (Android shell setup): Show default file name.
103521         Structure section.
103523         * doc/misc/trampver.texi:
103524         * lisp/net/trampver.el: Change version to "2.3.2".
103526         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
103527         Offer home directory for mock method if it doesn't exist.
103529 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
103531         Add documentation for display-line-numbers
103533         * doc/emacs/custom.texi (Init Rebinding):
103534         * doc/emacs/modes.texi (Minor Modes): Remove references to
103535         linum-mode.
103536         * doc/emacs/display.texi (Display Custom): Describe the
103537         line-number display.
103538         (Optional Mode Line): Fix the index entry to not conflict with
103539         that in "Display Custom".
103540         * doc/emacs/basic.texi (Position Info): Add cross-reference to
103541         "Display Custom", for line-number display.
103543         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
103544         display-line-numbers-disable in the doc string.
103546         * lisp/cus-start.el (standard): Fix lst change.
103548 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
103550         Support displaying zero as the number of the current line
103552         * src/xdisp.c (syms_of_xdisp)
103553         <display-line-numbers-current-absolute>: New variable.
103554         <display-line-numbers>: Doc fix.
103555         (maybe_produce_line_number): Support nil value of
103556         display-line-numbers-current-absolute.
103558         * lisp/cus-start.el (standard): Add customization form for
103559         display-line-numbers-current-absolute.
103561         * etc/NEWS: Document recently introduced features.
103563 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
103565         Speed up the visual-mode relative line numbers
103567         * src/xdisp.c (display_count_lines_visually): Introduce a
103568         shortcut: if a relative line number was already calculated for
103569         this iterator object, just increase it instead of the
103570         expensive call to move_it_to.  Argument list changed to pass a
103571         pointer to the iterator object.
103572         (maybe_produce_line_number): Adjust for change in signature of
103573         display_count_lines_visually.  Record the relative line number and
103574         the corresponding byte position in the iterator object also in the
103575         'visual' mode.
103577 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
103579         Fix hscrolling with line numbers on TTY frames
103581         * src/xdisp.c (hscroll_window_tree): Correct the X offset
103582         calculations on TTY frames.
103583         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
103584         a kludge using it->lnum_width.
103586 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
103588         Fix TAB display when the line-number face uses a smaller/larger font
103590         * src/dispextern.h (struct it): New member lnum_pixel_width.
103591         * src/xdisp.c (maybe_produce_line_number): Compute the width of
103592         the line-number display in pixels.
103593         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
103594         that used it->lnum_width and made assumptions about pixel width.
103596 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
103598         Escape NUL bytes in X selections (Bug#6991)
103600         * lisp/term/w32-win.el (w32--set-selection):
103601         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
103602         "\0".
103603         * doc/emacs/killing.texi: Document new behavior.
103604         * etc/NEWS (times): Announce it.
103606 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
103608         Hide byte code in backtraces (Bug#6991)
103610         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
103611         defaulting to `cl-print'.
103612         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
103613         `prin1'.
103614         * etc/NEWS: Announce it.
103616 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
103618         Don't redundantly cl-print arglist in function docstring again
103620         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
103621         part of docstring.
103622         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
103623         test accordingly.
103625 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
103627         Escape control characters in backtraces (Bug#6991)
103629         * src/print.c (syms_of_print): Add new variable,
103630         print-escape-control-characters.
103631         (print_object): Print control characters with octal escape codes when
103632         print-escape-control-characters is true.
103633         * lisp/subr.el (backtrace):
103634         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
103635         `print-escape-control-characters' to t.
103637 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
103639         Improve ert backtrace recording
103641         Change ert to use the new `backtrace-frames' function instead of
103642         collecting frames one by one with `backtrace-frame'.  Additionally,
103643         collect frames starting from `signal' instead the somewhat arbitrary
103644         "6 from the bottom".  Skipping 6 frames would skip the expression that
103645         actually caused the signal that triggered the debugger.  Possibly 6
103646         was chosen because in the case of a failed test, the triggering frame
103647         is an `ert-fail' call, which is not so interesting.  But in case of a
103648         test throwing an error, this drops the `error' call which is too much.
103650         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
103651         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
103652         code from `debugger-make-xrefs'.
103653         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
103654         `debugger-insert-backtrace'.
103655         (ert--run-test-debugger): Record the backtrace frames starting from
103656         the instigating `signal' call.
103657         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
103658         DO-XREFS parameter.
103659         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
103660         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
103661         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
103662         the backtrace list instead of comparing its string representation.
103663         Expect `signal' to be the first frame.
103665 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
103667         Operate on frame list instead of printed backtrace
103669         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
103670         prints the given backtrace frames.
103671         (debugger-setup-buffer): Use it instead of editing the backtrace
103672         buffer text.
103674 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
103676         Minor fixes
103678         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
103679         line numbers to be displayed in empty lines beyond ZV.
103680         (x_produce_glyphs): Start fixing TAB display in truncated lines.
103682 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
103684         Improve timer handling when Tramp accepts output
103686         * lisp/net/tramp-compat.el: Avoid compiler warning.
103688         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
103689         Remove lock machinery.
103691         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
103692         (tramp-file-name-handler): Add lock machinery from
103693         `tramp-sh-file-name-handler'.  Allow timers to run.
103694         (tramp-accept-process-output): Remove nasty workaround.
103695         Suppress timers.
103697         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
103698         Suppress run in tests.
103699         (tramp--instrument-test-case-p): New defvar.
103700         (tramp--instrument-test-case): Use it in order to allow nested calls.
103701         (tramp--test-message, tramp--test-backtrace): New defsubst,
103702         will be used for occasional test instrumentation.
103703         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
103704         (tramp-test28-shell-command)
103705         (tramp--test-shell-command-to-string-asynchronously): Suppress
103706         nasty messages.  Don't overwrite sentinel.
103707         (tramp-test36-asynchronous-requests): Rewrite major parts.
103708         Expect :passed.
103710 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
103712         * lisp/url/url-history.el: Use lexical-binding
103714         (url-completion-function): Mark as obsolete.
103715         Mark unused args accordingly.
103717 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
103719         Don't assume url structs are vectors (Bug#27333)
103721         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
103722         instead of `vectorp'.
103724 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
103726         Replace with dolist some uses of while
103728         * lisp/calc/calc-units.el (calc-permanent-units):
103729         (math-compare-unit-names, math-simplify-units-quotient):
103730         (math-build-units-table-buffer): Use dolist to replace extra bindings
103731         and some while loops.
103733 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
103735         Make tcl-auto-fill-mode obsolete (Bug#10772)
103737         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
103738         * etc/NEWS: Announce it.
103740 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
103742         Don't read eshell/which output from *Help* buffer (Bug#26894)
103744         * lisp/help-fns.el (help-fns--analyse-function)
103745         (help-fns-function-description-header): New functions, extracted from
103746         describe-function-1.
103747         (describe-function-1): Use them.
103748         * lisp/eshell/esh-cmd.el (eshell/which): Use
103749         `help-fns-function-description-header' instead of
103750         `describe-function-1'.
103752 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
103754         Support default-text-properties
103756         * src/xdisp.c (should_produce_line_number): Call get-char-property
103757         at ZV as well, to support default-text-properties.
103759 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
103761         Avoid segfaults when some display vector is an empty string
103763         * src/xdisp.c (next_element_from_display_vector): Don't try
103764         accessing the dpvec[] array if its size is zero.  (Bug#27504)
103766 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
103768         Initial support for visually-relative line numbers
103770         Works very slowly.
103772         * src/xdisp.c (display_count_lines_visually): New function.
103773         (maybe_produce_line_number): Support 'visual' mode of line-number
103774         display.
103775         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
103776         also when glyph_row is NULL.  This is important for move_it_*
103777         functions.
103778         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
103779         (try_window_id, redisplay_window, try_cursor_movement): For
103780         'visual' line-number display, disable the same redisplay
103781         optimizations as for 'relative'.
103783         * lisp/cus-start.el (standard): Add new value for the
103784         customization form of display-line-numbers.
103786 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
103788         Update IT's metrics while simulating display
103790         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
103791         also when glyph_row is NULL.  This is important for move_it_*
103792         functions.
103794 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
103796         Fix bug in handling GnuPG's TRUST_MARGINAL status
103798         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
103799         to `good'.
103801 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
103803         Prefer `when' instead of 1-branch `if'
103805         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
103806         in local variable ok.
103807         Use `when' instead of 1-branch `if'.
103809 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
103811         Use #' instead of (function ...)
103813         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
103814         (dired-mark-confirm, dired-query, dired-byte-compile)
103815         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
103816         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
103817         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
103818         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
103819         (dired-do-copy-regexp, dired-do-hardlink-regexp)
103820         (dired-do-symlink-regexp, dired-create-files-non-directory)
103821         (dired-upcase, dired-downcase)
103823         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
103824         (dired-internal-do-deletions, dired-internal-do-deletions):
103825         Prefer #' instead of (function ...).
103827 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
103829         Don't quote lambda forms
103831         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
103832         (dired-mark, dired-desktop-buffer-misc-data)
103834         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
103835         (dired-create-files-non-directory, dired-insert-subdir-validate)
103836         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
103838 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
103840         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
103842         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
103843         and `brackets-after-id'.
103844         (c-font-lock-objc-methods): Mark unused args.
103846 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
103848         Omit null-pointer test in intervals.h FRAME
103850         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
103851         (INTERVAL_LAST_POS): Omit unnecessary parens.
103852         (LENGTH): Omit test for null pointer.  The argument is never null.
103853         The unnecessary test causes GCC 7.1.0 to assume that the argument
103854         might be null, and therefore to issue false alarms when the
103855         argument is dereferenced in other expressions.
103857 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
103859         Parenthesize frame.h macro definitions
103861         * src/frame.h (FRAME_TOOL_BAR_POSITION)
103862         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
103863         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
103864         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
103865         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
103866         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
103867         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
103868         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
103869         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
103870         to allow arbitrary expression arguments.
103872 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
103874         Port recent frame changes to GCC 7
103876         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
103877         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
103878         might return null.  This also avoids a run-time test.
103880 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
103882         Minor aesthetic fix of last change.
103884 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
103886         Allow to disable display of line numbers beyond EOB
103888         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
103889         function.
103890         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
103891         * src/xdisp.c (should_produce_line_number): When at ZV, call
103892         disable_line_numbers_overlay_at_eob to determine whether line
103893         numbers should be displayed beyond ZV.
103895 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
103897         Fix Android 6/7 problems in Tramp
103899         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
103900         (tramp-adb-handle-directory-files-and-attributes)
103901         (tramp-adb-handle-file-name-all-completions): Insert "."  and
103902         ".." only when needed.
103903         (tramp-adb-get-ls-command): Force one column output for toybox.
103905 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
103907         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
103909 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
103911         Fix line number display for overlay/display strings with newlines
103913         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
103914         producing space glyphs instead of a line number to include the
103915         case of display strings and overlays.
103917 2017-06-25  Alan Mackenzie  <acm@muc.de>
103919         Make CC Mode load cl-lib rather than cl in Emacs 26.
103921         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
103922         variable.
103924         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
103925         (c--cl-library): New variable.
103926         (Top level): Amend the form which requires library cl or cl-lib.
103927         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
103928         (c--delete-duplicate): Amend to use c--cl-library instead of
103929         c--mapcan-status.
103931         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
103932         (c-back-over-compound-identifier): Remove unused local variables.
103934         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
103935         local variable.
103937         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
103938         of c--mapcan-status.
103940         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
103941         silence a compiler warning.
103943 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
103945         Provide additional support for child frames
103947         Provide mouse dragging and resizing of frames.  Allow resizing
103948         frames proportionally.  Provide additional functionality for
103949         child frames.  Minor bug fixes.
103951         * lisp/frame.el (frame-border-width, frame-pixel-width)
103952         (frame-pixel-height): Alias to `frame-internal-border-width',
103953         `frame-native-width' and `frame-native-height'.
103954         (frame-inner-width, frame-inner-height, frame-outer-width)
103955         (frame-outer-height): New functions.
103956         * lisp/minibuffer.el (completion-auto-help): Fix typo.
103957         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
103958         (mouse-drag-header-line): Allow moving a frame by dragging the
103959         mode line of its bottommost window (on a minibuffer-less frame)
103960         or the header line of its topmost window.
103961         (mouse-drag-vertical-line): Mention argument in doc-string.
103962         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
103963         (mouse-drag-top-left-corner, mouse-drag-top-edge)
103964         (mouse-drag-top-right-corner, mouse-drag-right-edge)
103965         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
103966         (mouse-drag-bottom-left-corner): New functions for resizing a
103967         frame by dragging its internal border together with
103968         corresponding key bindings.
103969         * lisp/tooltip.el (tooltip-frame-parameters): Add
103970         'no-special-glyphs' to default parameters and update version
103971         tag.
103972         * lisp/window.el (frame-auto-hide-function): Add choice to make
103973         frame invisible and update version tag.
103974         (window--delete): Handle 'auto-hide-function' frame parameter.
103975         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
103976         'no-accept-focus' frame parameters.
103977         (display-buffer--action-function-custom-type): Add
103978         `display-buffer-in-child-frame'.
103979         (display-buffer): Mention `display-buffer-in-child-frame' in
103980         doc-string.
103981         (display-buffer-in-child-frame): New action function for
103982         `display-buffer'.
103983         (window--sanitize-margin): Return zero when MARGIN cannot be
103984         sanitized.
103985         (fit-frame-to-buffer): Major rewrite to handle child frames and
103986         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
103987         frame parameters.
103988         (window-largest-empty-rectangle--maximums-1)
103989         (window-largest-empty-rectangle--maximums)
103990         (window-largest-empty-rectangle--disjoint-maximums)
103991         (window-largest-empty-rectangle): New functions.
103993         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
103994         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
103995         provided by corresponding functions window_wants_modeline and
103996         window_wants_header_line in window.c.  Adjust users.
103997         * src/dispnew.c (adjust_glyph_matrix)
103998         (buffer_posn_from_coords): Use window_wants_modeline and
103999         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
104000         WINDOW_WANTS_HEADER_LINE_P.
104001         * src/frame.c (keep_ratio): New function.
104002         (adjust_frame_size): Call keep_ratio for each of F's child
104003         frames.
104004         (make_frame): Initialize no_special_glyphs slot.
104005         (frame_internal_border_part): New function.
104006         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
104007         to Fframe_native_width, Fframe_native_height mand
104008         Fframe_internal_border_width.
104009         (frame_parm_table): Add Qno_special_glyphs entry.
104010         (frame_float_type): New enumeration type.
104011         (frame_float): New function to handle frame size and position
104012         ratios.
104013         (x_set_frame_parameters): Handle size and position ratios.
104014         (x_set_no_special_glyphs): New function
104015         (x_figure_window_size): Handle size and position ratios.
104016         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
104017         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
104018         Qheight_only, Qleft_only and Qtop_only.
104019         * src/frame.h (internal_border_part): New enumeration type.
104020         (struct frame): New slot no_special_glyphs.
104021         (FRAME_NO_SPECIAL_GLYPHS): New macro.
104022         * src/gtkutil.c (xg_frame_restack): Return immediately for
104023         GTK versions before 2.18.0.
104024         * src/keyboard.c (internal_border_parts): New array constant.
104025         (make_lispy_position): For frames with border dragging enabled
104026         return internal border part.
104027         (syms_of_keyboard): New symbols Qdrag_internal_border,
104028         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
104029         Qright_edge, Qbottom_right_corner, Qbottom_edge and
104030         Qbottom_left_corner.
104031         * src/minibuf.c (read_minibuf_unwind): When exiting the
104032         minibuffer deal with frames that have the 'minibuffer-exit'
104033         parameter set.
104034         (syms_of_minibuf): New symbol Qminibuffer_exit.
104035         * src/nsfns.m (frame_parm_handler): Add entry for
104036         x_set_no_special_glyphs.
104037         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
104038         Initialize new cursor types for dragging frame borders.
104039         * src/nsterm.h (struct ns_output): Add new cursor types for
104040         dragging frame borders.
104041         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
104042         x_set_no_special_glyphs.
104043         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
104044         Initialize new cursor types for dragging frame borders.
104045         * src/w32term.h (struct w32_output): Add new cursor types for
104046         dragging frame borders.
104047         * src/window.c (coordinates_in_window)
104048         (Fwindow_line_height, window_internal_height): Use
104049         window_wants_modeline and window_wants_header_line instead of
104050         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
104051         (Fwindow_lines_pixel_dimensions): New function.
104052         (window_parameter): New function.
104053         (Fwindow_parameter): Call window_parameter.
104054         (window_wants_mode_line, window_wants_header_line): New
104055         functions replacing the macros WINDOW_WANTS_MODELINE_P and
104056         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
104057         (syms_of_window): New symbols Qmode_line_format and
104058         Qheader_line_format.
104059         * src/window.h: Reorganize and re-comment macros.  Use
104060         window_wants_modeline and window_wants_header_line instead of
104061         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
104062         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
104063         (WINDOW_BUFFER): New macro.
104064         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
104065         * src/xdisp.c (window_text_bottom_y, window_box_height)
104066         (window_box, start_display)
104067         (compute_window_start_on_continuation_line)
104068         (try_cursor_movement, redisplay_window)
104069         (try_window_reusing_current_matrix, try_window_id)
104070         (display_line, expose_window): Use window_wants_modeline and
104071         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
104072         WINDOW_WANTS_HEADER_LINE_P.
104073         (pos_visible_p, display_mode_lines): Respect W's
104074         'mode-line-format' and 'header-line-format' window parameters.
104075         (init_iterator): Use window_wants_modeline and
104076         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
104077         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
104078         no_special_glyphs value.
104079         (note_mouse_highlight): Set frame border cursors when on
104080         internal border.
104081         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
104082         drawing of window dividers.
104083         * src/xfns.c (mouse_cursor): Add entries for border parts.
104084         (mouse_cursor_types): Add entries for cursor types to drag
104085         frame borders.
104086         (INSTALL_CURSOR): Add entries for new cursor types to drag
104087         frame borders.
104088         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
104089         (x_frame_parm_handlers): Add entry for
104090         x_set_no_special_glyphs.
104091         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
104092         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
104093         (Vx_window_right_edge_shape)
104094         (Vx_window_bottom_right_corner_shape)
104095         (Vx_window_bottom_edge_shape)
104096         (Vx_window_bottom_left_corner_shape): New variables.
104097         (x_frame_restack): Call xg_frame_restack only for GTK versions
104098         starting with 2.18.0.
104099         * src/xterm.c (x_free_frame_resources): Remove new cursors for
104100         dragging frame borders.
104101         * src/xterm.h (struct x_output): Add new cursor types for
104102         dragging frame borders.
104104         * doc/lispref/display.texi (Size of Displayed Text): Document
104105         `window-lines-pixel-dimensions'.
104106         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
104107         Parameters".
104108         * doc/lispref/frames.texi (Frame Size): Replace
104109         frame-pixel-width/-height by frame-native-width/-height.  Add
104110         frame-inner-width/-height and frame-outer-width/-height docs.
104111         (Position Parameters): Describe specifying position as ratios.
104112         Clarify remark about positions relative to bottom/ridge display
104113         edge.
104114         (Size Parameters): Describe specifying sizes as ratios.
104115         Describe 'fit-frame-to-buffer-margins' and
104116         'fit-frame-to-buffer-sizes' parameters.
104117         (Layout Parameters): Describe 'no-special-glyphs' parameter.
104118         (Frame Interaction Parameters): Describe 'auto-hide-function',
104119         'minibuffer-exit' and 'keep-ratio' parameters.
104120         (Mouse Dragging Parameters): New section describing
104121         'drag-internal-border', 'drag-with-header-line',
104122         'drag-with-mode-line', 'snap-width', 'top-visible' and
104123         'bottom-visible' parameters.
104124         (Management Parameters): Mention that `override-redirect' has
104125         no effect on MS Windows.
104126         (Font and Color Parameters): Mention child frames for `alpha'
104127         parameter.
104128         (Child Frames): Rewrite section with description and cross
104129         references to new frame parameters added.
104130         * doc/lispref/modes.texi (Mode Line Basics): Mention
104131         'mode-line-format' and 'header-line-format' window parameters.
104132         * doc/lispref/windows.texi (Resizing Windows): Mention effect
104133         of `fit-frame-to-buffer-margins' for child frames.
104134         (Display Action Functions): New action function
104135         `display-buffer-in-child-frame'.
104136         (Quitting Windows): Mention `make-frame-invisible' as optional
104137         value of `frame-auto-hide-function' and `auto-hide-function'
104138         frame paameter.
104139         (Coordinates and Windows): Describe new function
104140         `window-largest-empty-rectangle'.
104141         (Window Parameters): Describe new parameters 'mode-line-format'
104142         and 'header-line-format'.  Index all window parameters described
104143         in this section.
104145 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
104147         Adjust lm-verify to accept current notices
104149         Problem reported by Mike Kupfer in:
104150         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
104151         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
104152         Do not require later lines in a copyright notice to have more
104153         indentation than earlier lines.
104155 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104157         Minor change in NEWS.
104159         Improve documentation in NEWS.
104161 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104163         Move additional hscrolling code into a suitable 'if'
104165         * src/xdisp.c (hscroll_window_tree): Make additional calculations
104166         regarding glyphs produced for line numbers conditional on
104167         line-number display.
104169 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104171         Partial fix of hscroll of truncated lines with line numbers
104173         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
104174         hscroll calculations to line-number display.
104175         * src/term.c (produce_glyphs): Adjust tab stop to window's
104176         hscroll.  These two changes fix horizontal scrolling when line
104177         numbers are displayed.  But there's still a bug: the horizontal
104178         shift of lines that begin with a TAB is different from the rest.
104179         * src/xdisp.c (move_it_in_display_line_to): Call
104180         should_produce_line_number to determine whether a line number
104181         should be produced for this screen line.
104183 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
104185         Don't change byte-compile-delete-errors at runtime (Bug#27340)
104187         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
104188         time.
104190 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104192         Allow Lisp program to disable line-number display for specific lines
104194         * etc/NEWS: Update the documentation.
104196         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
104197         symbol.
104198         (should_produce_line_number): New function.
104199         (display_line): Use should_produce_line_number to determine
104200         whether a line number should be produced for each glyph row.
104202 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
104204         * lisp/net/html2text.el: Move to obsolete/.
104206 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104208         Support a separate face for displaying the current line's number
104210         * lisp/faces.el (line-number-current-line): New face.
104212         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
104213         symbol.
104214         (try_window_id, try_cursor_movement): Disable these optimizations
104215         when the line-number-current-line face is different from
104216         line-number face.
104217         (maybe_produce_line_number): Display the current line in the
104218         line-number-current-line face, if it's different from line-number.
104220 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104222         Change display of current line in relative mode
104224         * src/xdisp.c (maybe_produce_line_number): In relative mode
104225         display the current line number as its absolute value, not as zero.
104227 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104229         Rename display-line-width
104231         * etc/NEWS:
104232         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
104233         * lisp/cus-start.el: Rename display-line-width to
104234         display-line-number-width.
104236 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104238         Fix tab stops when line numbers are displayed
104240         * src/xdisp.c (x_produce_glyphs):
104241         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
104242         space taken by the line-number display.
104244 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104246         Fix crashes on TTY frames due to negative lnum_width.
104248         Don't display line numbers in the minibuffer and in tooltip frames.
104250 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104252         Fix problems with line-number updates in Follow mode
104254         * src/xdisp.c (redisplay_window): If forced window-start requires
104255         to move a window's point, and the window is under relative
104256         line-number display, force another round of redisplay to update
104257         the relative line numbers.  This fixes follow-mode "redisplay" of
104258         its window group.
104260         * lisp/frame.el: Add display-line-numbers to the list of variables
104261         that should trigger redisplay of the current buffer.
104263 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
104265         Fix display of line numbers with fonts larger than the default
104267         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
104268         IT, not in IT->glyph_row, since the latter gets overwritten in
104269         display_line.  Fixes display of line numbers when the font used
104270         for them is larger than that of the default face.
104272 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
104274         Fix background color beyond EOB and cursor display
104276         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
104277         for background of the blank glyphs in the line-number area which
104278         are drawn beyond EOB.
104279         (display_line): Reset the glyph row's displays_text_p flag only on
104280         empty lines that don't display line numbers.  This fixes cursor
104281         display beyond EOB.  Fix the bidi information in the glyphs
104282         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
104283         produced for line numbers.
104285 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
104287         Fix display of indicate-empty-lines when line numbers are displayed
104289         * src/xdisp.c (row_text_area_empty): New function.
104290         (display_line): Call row_text_area_empty to verify that a glyph
104291         row's text area is devoid of any glyphs that came from a buffer or
104292         a string.  This fixes a bug with empty-lines indication
104293         disappearing when line numbers or line-prefix are displayed.
104294         (display_line): Delete the argument FORCE; all callers changed.
104295         Remove the condition for actually producing the glyphs for the
104296         line number, as even if the number didn't change we need to
104297         produce empty space.
104299 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
104301         Fix symbol relocation when the relocated cell is renamed.
104303         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
104304         hashmap has been instantiated before getting data from it.  When
104305         editing several spreadsheets, and you have spreadsheet #1 with a
104306         cell named `foo', and no renamed cell in spreadsheet #2, then if
104307         you make a formula with `foo' in spreadsheet #2, not doing this
104308         check will make an error.
104309         (ses-cell-set-formula): Robustify versus incorrect cell references
104310         given in the user provided formula.  An explicit error message is
104311         provided after the action when the user gives an incorrect cell
104312         reference, but the formula edition is not changed.  This means that
104313         if the incorrect reference is to a cell that is created someday,
104314         then this new cell will not have the edited cell in its reference
104315         list.  Fixing this can still be done by editing again the first
104316         cell formula.
104317         (ses-relocate-symbol): Do not create symbol of referred-to cell
104318         when this is a renamed cell.
104320 2017-06-23  Rasmus  <rasmus@gmx.us>
104322         Synchronize with the "emacs-sync" branch from Org
104324 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104326         Remove getc_unlocked configure-time check
104328         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
104329         does this for us.
104331 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104333         Use unlocked stdio more systematically
104335         This can improve performance significantly on stdio-bottlenecked code.
104336         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
104337         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
104338         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
104339         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
104340         * lib-src/profile.c, lib-src/update-game-score.c:
104341         Include unlocked-io.h instead of stdio.h, since these programs are
104342         single-threaded.
104343         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
104344         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
104345         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
104346         * src/lread.c, src/term.c:
104347         Include sysstdio.h, possibly instead of stdio.h, to define
104348         the unlocked functions if the system does not provide them.
104349         * src/charset.c, src/lread.c (getc_unlocked):
104350         Remove, since sysstdio.h now defines it if needed.
104351         * src/cm.c (cmputc, cmcheckmagic):
104352         * src/dispnew.c (update_frame, update_frame_with_menu)
104353         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
104354         * src/emacs.c (main, Fdump_emacs):
104355         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
104356         * src/image.c (slurp_file, png_read_from_file, png_load_body)
104357         (our_stdio_fill_input_buffer):
104358         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
104359         * src/lread.c (readbyte_from_file):
104360         * src/minibuf.c (read_minibuf_noninteractive):
104361         * src/print.c (printchar_to_stream, strout)
104362         (Fredirect_debugging_output):
104363         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
104364         (procfs_get_total_memory):
104365         * src/term.c (tty_ring_bell, tty_send_additional_strings)
104366         (tty_set_terminal_modes, tty_reset_terminal_modes)
104367         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
104368         (tty_write_glyphs_with_face, tty_insert_glyphs)
104369         (tty_menu_activate):
104370         * src/xfaces.c (Fx_load_color_file):
104371         Use unlocked stdio when it should be safe.
104372         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
104373         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
104374         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
104375         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
104377 2017-06-22  Glenn Morris  <rgm@gnu.org>
104379         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
104381 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
104383         unidata: don’t check special casing in unidata-check  (bug#26656)
104385         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
104386         casing mapping of characters since that mapping is not constructed from
104387         the unidata.txt file.
104388         Also, check for integer decoder and cons char earlier so that less
104389         unnecessary processing is performed.
104391 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
104393         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
104395         Avoid string-to-multibyte and string-as-unibyte.
104396         Don't make *Help* unibyte just because the char was in a unibyte buffer.
104398 2017-06-22  Rasmus  <rasmus@gmx.us>
104400         Add Org schemas.xml contents to Emacs schemas.xml
104402         Entries from the Org version of schemas.xml have been added to
104403         the Emacs version of schemas.xml.
104405 2017-06-22  Rasmus  <rasmus@gmx.us>
104407         Update Org to v9.0.9
104409         Please see etc/ORG-NEWS for details.
104411 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
104413         Do not hard code A1 cell reference, as it may be renamed.
104415         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
104417 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
104419         Fix make_hash_table calls in lread.c
104421         * src/lread.c (readevalloop, read_internal_start): Fix
104422         make_hash_table calls to make build succeed.
104424 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
104426         Merge several Lisp reader speedups.
104428 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
104430         Create less garbage to collect while reading symbols.
104432         * src/lread.c (read1): When interning a symbol, only create a new
104433         string object for the name if we're going to use it for a new symbol
104434         object.
104436 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
104438         Replace read_objects assoc list with two hash tables.
104440         For larger input files with lots of shared data structures, an
104441         association list is too slow.
104443         * src/lread.c (read_objects_map, read_objects_completed): New
104444         variables, replacing read_objects.
104445         (readevalloop): Initialize them with hash tables before starting a
104446         top-level read, if they're not already empty hash tables, and reset
104447         them to Qnil afterwards if something was added to the hash tables.
104448         (read_internal_start): Likewise.
104449         (read1): Store first the placeholder and later the newly read object
104450         into read_objects_map under the specified object number.  If the new
104451         object can contain a reference to itself, store it in
104452         read_objects_completed.
104453         (substitute_objects_recurse): Check read_objects_completed instead of
104454         read_objects for the known possibly-recursive objects.
104455         (syms_of_lread): Update initializations.
104457 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
104459         Use getc_unlocked.
104461         * configure.ac: Check for getc_unlocked.
104462         * src/charset.c (read_hex, load_charset_map_from_file): Use
104463         getc_unlocked instead of getc.
104464         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
104465         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
104466         getc_unlocked): Likewise.
104468 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
104470         Reduce lread substitutions.
104472         * src/lread.c (read1): After reading an object using the "#n=" syntax,
104473         if the read object is a cons cell, instead of recursively substituting
104474         the placeholder with the new object, mutate the placeholder cons cell
104475         itself to have the correct car and cdr values.
104477 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
104479         Short-circuit substitutions for some simple types.
104481         Values that don't contain other values cannot be circular, so checking
104482         for circular objects is a waste of cycles.
104484         * src/lread.c (substitute_object_recurse): If the subtree being
104485         examined is a symbol, number, or property-less string, just return
104486         it.
104488 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104490         Limit style_format to MAX_ALLOCA
104492         * src/editfns.c (styled_format): Subtract initial buffer size
104493         from sa_avail, since it is nontrivial.
104495 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104497         Limit bidi_find_bracket_pairs to MAX_ALLOCA
104499         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
104500         Shrink it to allow for the two struct bidi_it objects in
104501         the same frame.
104502         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
104503         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
104505 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104507         Limit insert-file-contents to MAX_ALLOCA
104509         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
104510         MAX_ALLOCA bytes in a single stack array.
104512 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
104514         Remove malloc_find_address relic
104516         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
104517         Omit unnecessary initialization.
104519 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
104521         Fix temacs hybrid_malloc core dump
104523         Without this patch, ./temacs would dump core sometimes on Fedora
104524         25 x86-64.  The problem was that the hybrid allocator assumed that
104525         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
104526         assumption is not true on Fedora, because the standard memory
104527         allocator calls gdefault_morecore, which means its blocks are
104528         interleaved with our blocks.  Usually the code happened to work,
104529         because our data structures agreed with the glibc data structures,
104530         but this was merely luck due to a shared pedigree, and as glibc
104531         mutates our luck has run out.
104532         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
104533         Remove; no longer needed.
104534         (BLOCK): Use unsigned division, as that does the right thing near zero.
104535         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
104536         (_realloc_internal_nolock):
104537         Big blocks now have type -1, not 0, as 0 now means the block is
104538         not ours.
104539         (morecore_nolock): Omit now-unnecessary casts to size_t.
104540         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
104541         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
104542         avoid calling the wrong free or realloc function in some cases.
104544 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
104546         Make gnus-article-date-user work
104548         * lisp/gnus/gnus-art.el (article-date-ut):
104549         Work for unfolded multi-line Date header.
104550         (article-transform-date):
104551         Refactor; add header name if it is missing in user-defined date line.
104552         (article-date-user): Fix name of date type.
104554 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
104556         Keep order of completion candidates (Bug#25995, Bug#24676)
104558         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
104559         (completion-pcm--all-completions): Use nreverse to undo the reversing
104560         caused by using push in the loop.
104562 2017-06-21  Glenn Morris  <rgm@gnu.org>
104564         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
104566 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
104568         Mark prolog indent variables as safe (bug#27369)
104570         * lisp/progmodes/prolog.el (prolog-indent-width)
104571         (prolog-left-indent-regexp, prolog-paren-indent-p)
104572         (prolog-paren-indent): Add :safe property.
104574 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
104576         Remove `:options' from `css-electric-keys'
104578         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
104579         since it just duplicates the default value.
104581 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
104583         Fix crash when built by GNU Gold linker on x86
104585         Problem reported by Andrés Musetti (Bug#27248).
104586         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
104587         (emacsFrameClass): Now a function (which initializes the
104588         superclass) instead of a variable.  All uses changed.
104590 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
104592         Simplify autogen.sh version checking
104594         * autogen.sh (get_version): Simplify and make more reliable
104595         by using expr rather than echo | sed.  Check exit status of program.
104596         Run program in subshell in case it cannot be executed.
104597         (check_version): Check exit status of command rather than its output.
104598         Check return status of get_version.
104600 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
104602         Delete old Date header in a simple way
104604         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
104605         when searching the old Date header boundary in order to delete it.
104607 2017-06-20  Bastien  <bzg@gnu.org>
104609         Revert "Don't bind org-agenda key to an anonymous function"
104611         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
104613 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
104615         Bind enable-local-variables to nil globally (fix dbe3e41)
104617         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
104618         Bind enable-local-variables to nil globally instead of making it
104619         buffer-local; remove let-bind of local-enable-local-variables.
104620         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
104622 2017-06-20  Glenn Morris  <rgm@gnu.org>
104624         kill-matching-buffers to optionally not confirm
104626         * lisp/files.el (kill-matching-buffers):
104627         Add option to not confirm killing.  (Bug#27286)
104629 2017-06-20  Glenn Morris  <rgm@gnu.org>
104631         * lisp/files.el (local-enable-local-variables): Doc fix.
104633 2017-06-20  Glenn Morris  <rgm@gnu.org>
104635         autogen.sh: try to check for tool being present but broken
104637         * autogen.sh (get_version): Check return status of "--version".
104638         (check_version): Try to distinguish between a missing tool
104639         and a broken one.  (Bug#27288)
104641 2017-06-19  Glenn Morris  <rgm@gnu.org>
104643         Avoid a custom-variable-type error (bug#27363)
104645         * lisp/cus-edit.el (custom-variable-type):
104646         Avoid an error due to plist-put becoming stricter of late.
104648 2017-06-19  Glenn Morris  <rgm@gnu.org>
104650         Don't put deleted packages in the trash (bug#14967)
104652         * lisp/emacs-lisp/package.el (package-delete):
104653         Don't pay attention to delete-by-moving-to-trash.
104655 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
104657         Revert "Add current-line in simple.el"
104659         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
104661 2017-06-19  Damien Cassou  <damien@cassou.me>
104663         Add current-line in simple.el
104665         * lisp/simple.el (current-line): New function.
104666         * test/lisp/simple-tests.el: Add tests for current-line.
104668 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
104670         Don't try to eval local variables in Gnus article
104672         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
104674 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
104676         Fix emacs-module.h cleaning
104678         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
104679         (bootstrap-clean): Remove emacs-module.h.
104681 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
104683         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
104684         in regex.
104686 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
104688         * lib/gettext.h: Merge from gnulib.
104690 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
104692         Merge from gnulib
104694         This (and my previous patch) incorporate:
104695         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
104696         2017-06-15 gettext-h: Update comment
104697         * lib/diffseq.h: Copy from gnulib.
104699 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
104701         * test/Makefile.in: Don't suppress test failure for single tests.
104703 2017-06-17  Philipp Stephani  <phst@google.com>
104705         emacs-module.h: Create emacs_env_26
104707         This was part of the original design of the module
104708         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
104709         but I didn't take it into account when adding the should_quit
104710         function.
104712         Instead of duplicating the environment fields or using the C
104713         preprocessor, use configure to build emacs-module.h.
104715         * configure.ac: Expand emacs-module.h template.
104717 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
104719         Improve documentation of replace-buffer-contents
104721         * etc/NEWS (replace-buffer-contents): Fix formatting.
104723         * src/editfns.c (Freplace_buffer_contents): Doc fix.
104725 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
104727         Finish up native display of line numbers
104729         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
104730         the number, for R2L rows.  Increment 'g' in the loop even if
104731         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
104732         line-number glyphs if it is non-zero.
104733         (move_it_in_display_line_to): Account for the space taken by the
104734         line-number glyphs.  Call maybe_produce_line_number with 2nd
104735         argument non-zero.
104736         (set_cursor_from_row): Fix calculation of cursor X coordinate in
104737         R2L rows with display-produced glyphs at the beginning.
104738         (syms_of_xdisp) <line-number>: New face symbol.
104739         <relative, display-line-width>: New symbols.
104740         (maybe_produce_line_number): Use the line-number face for
104741         displaying line numbers.  Support relative line-number display.
104742         Support user-defined width for displaying line numbers.
104743         (try_cursor_movement, try_window_id): Disable these optimizations
104744         when displaying relative line numbers.
104745         * src/dispextern.h (struct it): New member 'pt_lnum'.
104747         * lisp/faces.el (line-number): New face.
104748         * lisp/cus-start.el (standard): Provide customization forms for
104749         display-line-numbers and display-line-width.
104750         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
104751         turn display-line-numbers on and off.
104753         * etc/NEWS: Document the new feature.
104755 2017-06-17  Philipp Stephani  <phst@google.com>
104757         Allow local variables section to begin with a square bracket
104759         Fixes Bug#27391.
104761         * lisp/international/mule.el (find-auto-coding): Fix regular
104762         expression for "Local Variables" section.
104764         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
104765         Add unit test.
104767 2017-06-17  Philipp Stephani  <phst@google.com>
104769         Remove unnecessary point motion
104771         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
104772         motion.
104774 2017-06-17  Philipp Stephani  <phst@google.com>
104776         Add command to replace buffer contents
104778         Add a new command 'replace-buffer-contents' that uses the Myers diff
104779         algorithm to non-destructively replace the accessible portion of the
104780         current buffer.  The Myers algorithm is implemented in Gnulib.
104782         * src/editfns.c (Freplace_buffer_contents): New command.
104783         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
104784         (syms_of_editfns): Define new command.
104786         * test/src/editfns-tests.el (replace-buffer-contents-1)
104787         (replace-buffer-contents-2): New unit tests.
104789         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
104791         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
104793 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
104795         * lisp/international/characters.el: Update list of zero and full
104796         width characters according to Unicode 9.0.0.
104798 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
104800         Complete CSS property values less eagerly (Bug#27392)
104802         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
104803         eager by looking for a colon after the property which values are being
104804         completed for.
104806         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
104807         Add a test case ensuring that properties that are prefixes of other
104808         properties don't hinder further completion.
104810 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
104812         Handle integer indices for eshell variables (Bug#26055)
104814         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
104815         if it's been marked as one, just like `eshell-lisp-command' does.
104817 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
104819         Don't bind org-agenda key to an anonymous function
104821         * lisp/org/org-agenda.el: Bind "g" to named command.
104822         (org-agenda-redo-all): New command.  Extend the previous functionality
104823         through a prefix argument.
104825 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
104827         Add test for the fix in the parent commit
104829         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
104830         New test, for the fix in the parent commit.
104832 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
104834         primitive-undo: Update only the currently valid markers
104836         * lisp/simple.el (primitive-undo):
104837         Update only the currently valid markers (bug#25599).
104839 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
104841         Initial version of native display of line numbers
104843         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
104844         buffer-local variable.
104845         Include <math.h>.
104846         (maybe_produce_line_number): New function.
104847         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
104848         (try_window_reusing_current_matrix): Don't use this method when
104849         display-line-numbers is in effect.
104850         * src/dispextern.h (struct it): New members 'lnum'.
104852 2017-06-16  Philipp Stephani  <phst@google.com>
104854         Correctly detect URLs surrounded by parentheses in comments
104856         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
104857         Make parentheses match work inside comments.
104859         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
104860         unit test.
104862 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
104864         Fix load-path issue when it contains remote directories
104866         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
104867         (tramp-use-absolute-autoload-file-names): New defun.  Call it
104868         after loading tramp.el.
104870         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
104871         New test.
104872         (tramp-test39-unload): Rename.
104874 2017-06-16  Alan Mackenzie  <acm@muc.de>
104876         Ensure C++ initializer lists don't get fontified.
104878         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
104879         compiler warning.
104881         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
104882         clause to handle C++ member initialization lists.
104883         (c-font-lock-single-decl): New function, extracted from
104884         c-font-lock-declarations.
104885         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
104886         code.
104887         (c-font-lock-cut-off-declarators): Make more rigorous by calling
104888         c-get-fontification-context, c-forward-decl-or-cast-1, and
104889         c-font-lock-single-decl in place of rather approximate code.
104891 2017-06-16  Alan Mackenzie  <acm@muc.de>
104893         Fix hang in CC Mode when ":" is typed after identifier at EOB.
104895         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
104896         confusing ":" and EOB.
104898 2017-06-15  Alan Mackenzie  <acm@muc.de>
104900         Create a toggle between block and line comments in CC Mode.
104902         Also (unrelated change) initialize the modes' keymaps at each loading.
104904         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
104905         on the modeline.
104906         (c-block-comment-flag): New variable.
104907         (c-toggle-comment-style): New function.
104909         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
104910         (c-line-comment-starter): Make them c-lang-defvars.
104911         (c-block-comment-is-default): New c-lang-defvar.
104912         (comment-start, comment-end): Make the default values dependent on
104913         c-block-comment-is-default.
104915         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
104916         (c-basic-common-init): Initialize c-block-comment-flag.
104917         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
104918         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
104919         mode is loaded rather than just once per Emacs session.
104921         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
104922         style.
104923         (Minor Modes): Define comment style.  Describe how comment style influences
104924         the information displayed on the modeline.  Document c-toggle-comment-style.
104925         (FAQ): Add a question about toggling the comment style.
104927 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104929         Pacify clang without munging C source
104931         * configure.ac (WARN_CFLAGS): With Clang, use
104932         -Wno-tautological-compare regardless of --enable-gcc-warnings.
104933         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
104934         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
104935         change which I hope is no longer needed.
104936         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
104937         some older non-POSIX hosts.
104939 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104941         No need to complicate make-docfile.c for Clang
104943         * lib-src/make-docfile.c (put_filename): Undo recent change.
104944         The Clang false alarm occurs only with CFLAGS=-save-temps and
104945         we needn’t worry about pacifying unusual compiler configurations.
104947 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104949         Port './configure CC=clang' to Fedora 25
104951         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
104952         standard function like MagickRelinquishMemory does not link.
104954 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
104956         Don’t worry about __STDC_VERSION__ in emacs-module
104958         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
104959         we’ve found that some compilers do not define this symbol even
104960         when they work well enough.  If necessary features like stdbool.h
104961         are missing the compiler will complain eventually anyway.
104963 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
104965         Port cleanup check to Oracle Studio 12.5
104967         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
104968         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
104969         #if this time.
104971 2017-06-14  Bastien  <bzg@gnu.org>
104973         Fix misformatted changelog entry
104975 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
104977         Avoid compiler warning in image.c on MS-Windows
104979         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
104980         compilation warning under -Warray-bounds by temporarily disabling
104981         the -Warray-bounds option.
104983 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
104985         Fix Bug#27315
104987         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
104988         New defvar.
104989         (top): Use it.
104991         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
104992         Check for connected, not for connectable.  (Bug#27315)
104993         (tramp-process-actions):
104994         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
104995         Use `tramp-cache-read-persistent-data'.
104997         * test/lisp/net/tramp-tests.el (top): Set also
104998         `tramp-cache-read-persistent-data'.
105000 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
105002         Give a fixed default value for icomplete-prospects-height (Bug#26939)
105004         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
105005         (icomplete-prospects-length): Remove.
105006         * etc/NEWS: Announce removal.
105008 2017-06-14  Philipp Stephani  <phst@google.com>
105010         Remove some tautological comparisons involving rlim_t
105012         Clang on macOS warns about these with -Wtautological-compare.  POSIX
105013         guarantees that rlim_t is
105014         unsigned (cf.
105015         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
105016         so these resource limits can never be negative.
105018         * src/emacs.c (main): Remove tautological comparisons.
105020 2017-06-14  Philipp Stephani  <phst@google.com>
105022         Use --module-assertions if modules are available
105024         Using --module-assertions helps us find bugs in the test module.  But
105025         we can use it only if Emacs was compiled with module support.
105027         * test/Makefile.in (MODULES_EMACSOPT): New variable.
105028         (emacs): Use it.
105030 2017-06-14  Philipp Stephani  <phst@google.com>
105032         Define --module-assertions only of modules are available
105034         Fixes Bug#27352.
105036         * src/emacs.c (usage_message, standard_args): Define
105037         --module-assertions only if Emacs has been compiled with module
105038         support.
105040 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
105042         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
105044         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
105045         No need to restore window config for WDD and WDW commands.
105047 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
105049         lisp/net/soap-client.el: Bump version to 3.1.3
105051         * lisp/net/soap-client.el: Bump version to 3.1.3.
105052         (soap-name-p): Fix checkdoc issue.
105054 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
105056         Fix an HTTP encoding error in soap-client.el
105058         * lisp/net/soap-client.el (soap-invoke-internal): Make
105059         SOAPAction header a UTF-8 encoded string.
105061 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
105063         Port cleanup attribute to Oracle Studio 12.5
105065         * INSTALL (--with-modules): List cleanup attribute as prereq.
105066         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
105067         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
105068         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
105069         __has_attribute only inside preprocessor expressions.  The C
105070         compiler should check the cleanup attribute in the next line anyway.
105071         (module_reset_handlerlist): Remove an unnecessary ‘const’
105072         that causes Oracle Studio 12.5 to refuse to compile.
105074 2017-06-14  Glenn Morris  <rgm@gnu.org>
105076         Fix running tests in without-modules builds
105078         * test/Makefile.in (EMACSOPT): Remove option that is only defined
105079         with-modules.  emacs-module-tests.el passes it where needed.
105081 2017-06-13  Glenn Morris  <rgm@gnu.org>
105083         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
105085 2017-06-13  Philipp Stephani  <phst@google.com>
105087         Inline test module Makefile into main test Makefile
105089         The test/data/emacs-module/Makefile only built a single target, and
105090         inlining it into test/Makefile simplifies dependency tracking and
105091         reduces code duplication.
105093         * configure.ac: Don't build test/data/emacs-module/Makefile.
105095         * Makefile.in ($(test_module)): Inline compilation.
105096         (clean): Also clean test module outputs.
105098 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
105100         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
105102 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
105104         Minor tweaks in Tramp manual
105106         * doc/misc/trampver.texi: Add prefixwithspace flag.
105108         * doc/misc/tramp.texi (Password handling): Harmonize example.
105109         (File name completion): Use prefixwithspace flag.
105110         (Frequently Asked Questions): Explain `tramp-histfile-override'.
105112 2017-06-13  Philipp Stephani  <phst@google.com>
105114         Silence two Clang warnings by introducing additional local variables
105116         * lib/strftime.c (libc_hidden_def):
105117         * lib-src/make-docfile.c (put_filename): Introduce local variables to
105118         silence Clang warnings.
105120 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
105122         Fix wrong indentation after string literal (Bug#27306)
105124         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
105125         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
105126         * test/lisp/emacs-lisp/lisp-mode-tests.el
105127         (lisp-indent-region-after-string-literal): New test.
105129 2017-06-13  Philipp Stephani  <phst@google.com>
105131         Fix version checks for emacs-module.h
105133         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
105134         don't need it at all.
105136 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
105138         Buttonize #<bytecode> part of printed functions (Bug#25226)
105140         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
105141         (cl-print-compiled-button): New variable.
105142         (help-byte-code): New button type, calls `disassemble' in its action.
105143         (cl-print-object): Use it if `cl-print-compiled-button' is
105144         non-nil.
105146 2017-06-12  Philipp Stephani  <phst@google.com>
105148         Print module structure sizes when initializing test module
105150         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
105151         compile-time and runtime sizes of module structures to ease debugging
105153 2017-06-12  Glenn Morris  <rgm@gnu.org>
105155         Small portability fix for emacs-module.h (bug#27346)
105157         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
105158         Avoid 'error: missing binary operator before token "("'.
105160 2017-06-12  Glenn Morris  <rgm@gnu.org>
105162         Give a more informative failure in module assertion test
105164         * test/src/emacs-module-tests.el (module--test-assertions):
105165         Rephrase final check to give a more informative failure.
105167 2017-06-12  Philipp Stephani  <phst@google.com>
105169         Fix off-by-one error
105171         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
105172         off-by-one error.
105174 2017-06-12  Glenn Morris  <rgm@gnu.org>
105176         Clean up after module assertion tests
105178         * test/src/emacs-module-tests.el (module--test-assertions):
105179         Use a temporary directory to contain any core dumps.
105181 2017-06-12  Glenn Morris  <rgm@gnu.org>
105183         Small improvement for module assertion test
105185         * test/src/emacs-module-tests.el (module--test-assertions):
105186         Don't rely on the precise form of an "Abort" message.
105188 2017-06-12  Glenn Morris  <rgm@gnu.org>
105190         Improve previous test/data/emacs-module/Makefile change
105192         * test/data/emacs-module/Makefile.in (clean):
105193         Avoid doing unpleasant things if run in a build without modules.
105195 2017-06-12  Glenn Morris  <rgm@gnu.org>
105197         Small improvements for test/data/emacs-module/Makefile
105199         * test/data/emacs-module/Makefile.in (%.o):
105200         Fix emacs-module dependency.
105201         (SECONDARY): Stop make automatically deleting *.o.
105202         (clean): New rule.
105204 2017-06-12  Glenn Morris  <rgm@gnu.org>
105206         * make-dist: Skip some more generated files in test/.
105208 2017-06-12  Alan Third  <alan@idiocy.org>
105210         Note how fullscreen differs on the NS port
105212         doc/lispref/frames.texi (Size Parameters):
105213         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
105214         hides the tool-bar and menu-bar in fullscreen.
105216 2017-06-12  Alan Third  <alan@idiocy.org>
105218         Add no-focus-on-map to NS build (bug#25408)
105220         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
105221         (x-create-frame): Check for no-focus-on-map.
105222         * src/nsterm.h (x_set_no_focus_on_map): New function.
105223         * src/nsterm.m (x_set_no_focus_on_map): New function.
105224         (ns_raise_frame): Add parameter for specifying whether to focus the
105225         frame.
105226         (ns_frame_raise_lower):
105227         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
105229 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
105231         _Noreturn not noreturn
105233         _Noreturn is more portable to non-C11 platforms.  See:
105234         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
105235         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
105236         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
105238 2017-06-12  Glenn Morris  <rgm@gnu.org>
105240         Update make-dist for recent test/ changes
105242         * make-dist: No longer distribute test/data/emacs-module/Makefile.
105244 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
105246         Handle port and domain in Tramp's password cache
105248         * doc/misc/tramp.texi (Password handling): Explain port and
105249         domain handling in authinfo.
105251         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
105252         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
105253         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
105254         (tramp-maybe-open-connection):
105255         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
105256         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
105257         (tramp-smb-maybe-open-connection): Handle also domain and port.
105259 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
105261         Avoid compilation warnings with pre-C99 libc
105263         * src/emacs-module.c (module_free_global_ref)
105264         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
105265         instead of C99 't' format descriptor.
105267 2017-06-12  Philipp Stephani  <phst@google.com>
105269         Flush all output streams before aborting
105271         Maybe the stdout buffer still contains something interesting that
105272         should be flushed.
105274         * src/emacs-module.c (module_abort): Flush all output streams before
105275         aborting.
105277 2017-06-12  Philipp Stephani  <phst@google.com>
105279         Remove an assertion that doesn't test Emacs invariants
105281         * src/emacs-module.c (module_copy_string_contents): Remove an
105282         assertion that doesn't test Emacs invariants.
105284 2017-06-12  Philipp Stephani  <phst@google.com>
105286         Test module: add necessary version checks
105288         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
105289         version checks.
105291 2017-06-12  Philipp Stephani  <phst@google.com>
105293         Use additional CFLAGS from configure
105295 2017-06-12  Philipp Stephani  <phst@google.com>
105297         Use Autoconf to generate the test module Makefile
105299         This makes it easier to pass compilation flags around.
105301         * configure.ac: Also build test module Makefile.
105303         * test/data/emacs-module/Makefile.in: New makefile template.
105305         * test/Makefile.in ($(test_module)): No longer necessary to pass
105306         @MODULES_SUFFIX@ around.
105308         * .gitignore: Test module Makefile can now be ignored.
105310 2017-06-12  Philipp Stephani  <phst@google.com>
105312         Also compile test module as C11
105314         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
105316 2017-06-12  Philipp Stephani  <phst@google.com>
105318         Implement module assertions for users
105320         Add a new command-line option '-module-assertions' that users can
105321         enable developing or debugging a module.  If this option is present,
105322         Emacs performs additional checks to verify that modules fulfill their
105323         requirements.  These checks are expensive and crash Emacs if modules
105324         are invalid, so disable them by default.
105326         This is a command-line option instead of an ordinary variable because
105327         changing it while Emacs is running would cause data structure
105328         imbalances.
105330         * src/emacs.c (main): New command line option '-module-assertions'.
105332         * src/emacs-module.c (module_assert_main_thread)
105333         (module_assert_runtime, module_assert_env, module_assert_value):
105334         New functions to assert module requirements.
105335         (syms_of_module): New uninterned variable 'module-runtimes'.
105336         (init_module_assertions, in_main_thread, module_abort): New helper
105337         functions.
105338         (initialize_environment): Initialize value list.  If assertions are
105339         enabled, use a heap-allocated environment object.
105340         (finalize_environment): Add assertion that environment list is never
105341         empty.
105342         (finalize_runtime_unwind): Pop module runtime object stack.
105343         (value_to_lisp): Assert that the value is valid.
105344         (lisp_to_value): Record new value if assertions are enabled.
105345         (mark_modules): Mark allocated object list.
105346         (MODULE_FUNCTION_BEGIN_NO_CATCH)
105347         (module_non_local_exit_check, module_non_local_exit_clear)
105348         (module_non_local_exit_get, module_non_local_exit_signal)
105349         (module_non_local_exit_throw): Assert thread and environment.
105350         (module_get_environment): Assert thread and runtime.
105351         (module_make_function, module_funcall, module_intern)
105352         (module_funcall, module_make_integer, module_make_float)
105353         (module_make_string, module_make_user_ptr, module_vec_get)
105354         (funcall_module, Fmodule_load): Adapt callers.
105355         (module_make_global_ref): If assertions are enabled, use the global
105356         environment to store global values.
105357         (module_free_global_ref): Remove value from global value list.
105359         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
105360         modules.
105362         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
105363         (Fmod_test_invalid_load): New functions to test module assertions.
105364         (emacs_module_init): Bind the new functions.
105366         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
105367         the Emacs binary file.
105368         (mod-test-file): New constant for the test module file name.
105369         (module--test-assertions): New unit test.
105371 2017-06-12  Philipp Stephani  <phst@google.com>
105373         emacs-module: Use __attribute__((nonnull))
105375         Annotate all parameters with __attribute__((nonnull)) that may not be
105376         NULL.
105378 2017-06-12  Philipp Stephani  <phst@google.com>
105380         Explicitly require C11 or C++11 in emacs-module.h
105382         We already implicitly require them by including stdbool.h.  Just make
105383         the error message a bit clearer, and remove an unnecessary version
105384         comparison.
105386 2017-06-12  Philipp Stephani  <phst@google.com>
105388         Add missing 'require' forms to prevent compiler warnings.
105390         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
105391         requirements.
105393 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
105395         Merge from gnulib
105397         This incorporates:
105398         2017-06-11 getopt-posix: port to glibc 2.25.90
105399         2017-06-04 same-inode: port better to VMS 8.2 and later
105400         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
105401         * m4/sys_types_h.m4: Copy from gnulib.
105403 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
105405         Remove Lisp_Misc_Float
105407         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
105408         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
105409         unused for two decades; if we ever want to change floats to be a
105410         misc type we can bring it back then.
105412 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
105414         Make two symbols private to emacs-module.c
105416         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
105417         Move from here ...
105418         * src/emacs-module.c: ... to here.
105420 2017-06-12  Glenn Morris  <rgm@gnu.org>
105422         Merge from origin/emacs-25
105424         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
105426 2017-06-12  Glenn Morris  <rgm@gnu.org>
105428         Merge from origin/emacs-25
105430         e80f6a210b0 Describe problems with Microsoft Intellipoint
105431         a73ec1edb07 More accurate documentation of the ':box' face attribute
105433 2017-06-12  Glenn Morris  <rgm@gnu.org>
105435         Merge from origin/emacs-25
105437         eaa00584ceb Improve documentation of 'gnutls-verify-error'
105438         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
105439         741daec617e ; Describe the problem with ksh when resizing shell window
105441 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
105443         Some further improvements for tramp-gvfs.el
105445         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
105446         (tramp-gvfs-get-file-attributes)
105447         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
105448         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
105449         Show question also in batch mode.  Cache result.
105451         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
105452         Support completion for host names and ports.
105454 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
105456         Fix highlighting of CSS selectors with double hyphens
105458         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
105459         highlighting of selectors that contain double hyphens.  They would be
105460         mistaken for a variable.
105462 2017-06-11  Philipp Stephani  <phst@google.com>
105464         Support threads in modules
105466         Rather than checking for the main thread, check for the current
105467         thread.
105469         * src/emacs-module.c (check_thread): New function.
105470         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
105471         (module_non_local_exit_check, module_non_local_exit_clear)
105472         (module_non_local_exit_get, module_non_local_exit_signal)
105473         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
105475 2017-06-11  Philipp Stephani  <phst@google.com>
105477         Allow non-local exits in module initializers
105479         Previously signals, throws, and quits from module initialization
105480         functions were ignored.  These function aren't special, and better
105481         errors can be reported using signals than with the initialization
105482         return code, so allow non-local exits.
105484         * src/emacs-module.c (module_signal_or_throw): New helper function.
105485         (Fmodule_load, funcall_module): Use it.
105486         (Fmodule_load): Also allow quitting.
105488 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
105490         Let eshell/sudo handle absolute command names (Bug#27167)
105492         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
105493         absolute paths into relative ones.
105495 2017-06-10  Alan Third  <alan@idiocy.org>
105497         Don't wait for toolbar in NS native fullscreen
105499         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
105500         function when in fullscreen.
105502 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
105504         Fix the placement of GTK menus on multi-monitor systems
105506         menu_position_func did not properly use the current monitor's
105507         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
105509         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
105510         (frame-monitor-workarea): New functions.
105512         * src/xmenu.c (menu_position_func): Take into account the workarea of
105513         the monitor that contains the mouse.  (Bug#23568)
105515 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
105517         Clarify documentation of 'face-spec-set'
105519         * lisp/faces.el (face-spec-set): Clarify the description of
105520         SPEC-TYPE in the doc string.
105522         * doc/lispref/display.texi (Defining Faces): Clarify the
105523         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
105525 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
105527         Fix domain port and handling in tramp-gvfs.el
105529         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
105530         Return nil if BYTE-ARRAY is nil.
105531         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
105532         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
105533         Fix domain and port handling.
105535         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
105536         Ignore errors.
105538 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
105540         Improve documentation of 'face-spec-set-2'
105542         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
105543         to 'face-attrs'.
105544         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
105546 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
105548         Fix handling of Python/Guile commands with arguments in gdb-mi.el
105550         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
105551         variable.
105552         (gdb-control-commands-regexp): Use it.
105553         (gdb-send): Don't increment gdb-control-level if the command
105554         matches gdb-python-guile-commands-regexp and has non-empty
105555         arguments.  Reported by David Boles <boles@ieee.org> in
105556         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
105558 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
105560         Preserve point in Dired windows under 'dired-auto-revert-buffer'
105562         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
105563         is non-nil, bind switch-to-buffer-preserve-window-point to nil
105564         while calling find-file.  (Bug#27243)
105566 2017-06-09  Philipp Stephani  <phst@google.com>
105568         Give test files a -tests.el suffix
105570         Rename a couple of test files that have the same name as the library
105571         they test.  This harmonizes the naming pattern and makes it possible
105572         to have the tests directories in the load path.
105574 2017-06-09  Philipp Stephani  <phst@google.com>
105576         Fix another compiler warning on macOS
105578         * src/image.c (x_query_frame_background_color): Don't define if we
105579         have NextStep but no image support.
105581 2017-06-09  Philipp Stephani  <phst@google.com>
105583         Add garbage collection support for module environments
105585         * src/emacs-module.c (mark_modules): New function.
105586         (initialize_environment): Properly initialize Lisp objects.
105587         * src/alloc.c (garbage_collect_1): Call it.
105589 2017-06-08  Glenn Morris  <rgm@gnu.org>
105591         Make autogen.sh report relevant environment variables
105593         * autogen.sh (check_version):
105594         Indicate if using an environment variable.
105596 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
105598         Split variable macro env from function env
105600         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
105601         (cl-symbol-macrolet): Instead of adding each binding directly into the
105602         main environment with a special key format, put all symbol macro
105603         bindings into a single entry in the main environment under
105604         `:cl-symbol-macros'.
105605         (cl--sm-macroexpand): Look up symbol bindings in the
105606         `:cl-symbol-macros' entry of the environment.
105608 2017-06-07  Glenn Morris  <rgm@gnu.org>
105610         * make-dist: Directory modules/mod-test no longer exists.
105612 2017-06-07  Glenn Morris  <rgm@gnu.org>
105614         More authors.el updates
105616         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
105617         (authors-renamed-files-alist): Additions.
105619 2017-06-07  Glenn Morris  <rgm@gnu.org>
105621         * make-dist: Check a release has a ChangeLog with a release notice.
105623         * make-dist: Use existing ChangeLog if present.
105625 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
105627         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
105629 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
105631         (url-cookie-host-can-set-p): Protect against zero-length domains
105633         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
105634         against zero-length domains.
105636         Backtrace of a real-world site that triggers a bug:
105638         Debugger entered--Lisp error: (args-out-of-range "" 0)
105639           url-cookie-host-can-set-p("www.washingtonpost.com" "")
105640           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
105641           01-January-1970 00:00:00 GMT; path=/; domain=")
105642           url-http-handle-cookies()
105644 2017-06-06  Glenn Morris  <rgm@gnu.org>
105646         More authors.el updates
105648         * admin/authors.el (authors-obsolete-files-regexps)
105649         (authors-valid-file-names, authors-renamed-files-alist)
105650         (authors-renamed-files-regexps): Additions.
105652 2017-06-06  Glenn Morris  <rgm@gnu.org>
105654         More small authors.el updates
105656         * admin/authors.el (authors-aliases): Fix recent addition.
105657         (authors-obsolete-files-regexps, authors-no-scan-regexps)
105658         (authors-ignored-files, authors-valid-file-names)
105659         (authors-renamed-files-alist): Additions.
105661 2017-06-06  Glenn Morris  <rgm@gnu.org>
105663         Make authors.el report names that were ignored
105665         * admin/authors.el (authors-ignored-names): New.
105666         (authors-canonical-author-name): Add file and position arguments.
105667         Record ignored authors.
105668         (authors-scan-change-log, authors-scan-el):
105669         Pass file and position to authors-canonical-author-name.
105670         (authors): Also print authors that were ignored.
105672 2017-06-06  Glenn Morris  <rgm@gnu.org>
105674         * admin/authors.el (authors-aliases): Additions.
105676 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
105678         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
105680 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
105682         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
105684 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
105686         Enable ElDoc messages after the newline command
105688         * lisp/emacs-lisp/eldoc.el:
105689         Add "newline" to the eldoc-add-command-completions call (bug#27228).
105691 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
105693         Enable eldoc-mode explicitly inside read--expression
105695         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
105697 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
105699         Fix check for package-unsigned-archives during retrieval
105701         * lisp/emacs-lisp/package.el (package--download-one-archive):
105702         Fix check for package-unsigned-archives.
105704 2017-06-05  Noah Friedman  <friedman@splode.com>
105706         Merge etc/emacs-buffer.gdb from emacs-25 to master.
105708 2017-06-05  Philipp Stephani  <phst@google.com>
105710         Fix undefined behavior in mapbacktrace
105712         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
105714 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
105716         Fix emacs-module-tests on MS-Windows
105718         * src/print.c (print_vectorlike): Make sure module function's
105719         address prints with a leading "0x".  This fixes emacs-module-tests
105720         on MS-Windows.  Fix whitespace.
105721         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
105722         commentary.
105724 2017-06-05  Philipp Stephani  <phst@google.com>
105726         Use unwind protection to clean up data structures in modules
105728         Reuse existing functionality and simplify the code a bit.
105730         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
105731         runtime object.
105732         (funcall_module): Use unwind protection to clean up environment
105733         object.
105734         (finalize_environment): Simplify signature.
105735         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
105737 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
105739         Some minor tweaks in tramp-tests.el
105741         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
105742         Let it pass for all gfvs based methods.
105743         (tramp-test24-file-name-completion): Run method and host
105744         completion for all syntaxes only when expensive tests are enabled.
105745         Do not check host completion for gvfs based methods.
105746         (tramp--test-gvfs-p): Add optional METHOD argument.
105747         (tramp--test-afp-or-smb-p): Remove.
105749 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
105751         Fix error in Tramp rsync method
105753         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
105754         Otherwise, `tramp-test10-write-region' could fail.
105756 2017-06-05  Philipp Stephani  <phst@google.com>
105758         Inline module_has_cleanup
105760         This constant is only used once, and we fail compilation anyway if
105761         it's false.
105763         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
105765 2017-06-05  Philipp Stephani  <phst@google.com>
105767         Add missing dependency to test module source file
105769 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
105771         Omit space that broke ‘make check’
105773         * src/print.c (print_vectorlike): Omit stray space.
105775 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
105777         Remove easserts etc. from emacs-module.c
105779         Most of these seem to run afoul of the comment "Do NOT use
105780         'eassert' for checking validity of user code in the module."
105781         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
105782         (module_non_local_exit_check, module_non_local_exit_clear)
105783         (module_non_local_exit_get, module_non_local_exit_signal)
105784         (module_non_local_exit_throw, module_make_string):
105785         Remove unnecessary easserts that pointers are nonnull.
105786         Hardware checks this for us nowadays, and the checks
105787         just clutter up the code.
105788         (module_extract_integer): Remove unnecessary verify that
105789         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
105790         The C standard guarantees this.
105791         (module_copy_string_contents): Remove unnecessary eassert
105792         that Lisp strings are null-terminated.
105793         (module_function_arity): Remove unnecessary easserts that
105794         function arities are in range.
105796 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
105798         Remove unnecessary checking in emacs-module.c
105800         * src/emacs-module.c (module_copy_string_contents):
105801         Remove checking, as string lengths are always nonnegative and less
105802         than STRING_BYTES_BOUND, and this is checked elsewhere.
105803         (module_make_string): Check length against STRING_BYTES_BOUND, a
105804         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
105805         assume that an out-of-range integer is nonnegative.
105807 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
105809         SCHARS and STRING_BYTES are nonnegative
105811         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
105812         the hopes that this will optimize a bit better.  Also, check this
105813         at runtime if ENABLE_CHECKING.
105814         * src/lisp.h (SCHARS, STRING_BYTES):
105815         eassume that these functions return nonnegative values.
105816         (STRING_SET_CHARS) [ENABLE_CHECKING]:
105817         eassert that newsize is nonnegative.
105819 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
105821         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
105823 2017-06-04  Philipp Stephani  <phst@google.com>
105825         Remove an unused error symbol
105827         * src/emacs-module.c (syms_of_module): Remove unused error symbol
105828         'invalid-module-call'.
105830 2017-06-04  Philipp Stephani  <phst@google.com>
105832         Support quitting in modules
105834         The idea is that modules should call env->should_quit from time to
105835         time and return as quickly as possible if it returns true.
105837         * src/emacs-module.c (module_should_quit): New module function.
105838         (initialize_environment): Use it.
105839         (funcall_module): Process potential pending quit.
105841         * src/eval.c (maybe_quit): Add reference to module_should_quit.
105843 2017-06-04  Philipp Stephani  <phst@google.com>
105845         Use more specific errors for module load failure
105847         * src/emacs-module.c (syms_of_module): Add more specific error
105848         symbols.
105849         (Fmodule_load): Use them.
105851 2017-06-04  Philipp Stephani  <phst@google.com>
105853         Remove an unneeded assertion
105855         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
105856         assertion.  If this assertion triggers, we raise an error anyway.
105858 2017-06-04  Philipp Stephani  <phst@google.com>
105860         Guard against signed integer overflows
105862         * src/emacs-module.c (module_extract_integer)
105863         (module_copy_string_contents, module_make_string): Guard against
105864         signed integer overflows.
105866 2017-06-04  Philipp Stephani  <phst@google.com>
105868         Add a couple more assertions to the module code
105870         These can help module authors debug crashes.
105872         * src/emacs-module.c (module_non_local_exit_check)
105873         (module_non_local_exit_clear, module_non_local_exit_get)
105874         (module_non_local_exit_signal, module_non_local_exit_throw)
105875         (module_copy_string_contents, module_make_string)
105876         (funcall_module, initialize_environment): Add assertions
105878 2017-06-04  Philipp Stephani  <phst@google.com>
105880         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
105882         In particular, alias violations are likely for the return values of
105883         dlsym(3), which get cast around arbitrarily.
105885         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
105887 2017-06-04  Philipp Stephani  <phst@google.com>
105889         Simplify interface of dynlib_attr.
105891         Instead of returning bool, set the argument pointers to NULL if the
105892         information is not available.
105894         * src/dynlib.c (dynlib_addr): Don't return bool.
105896 2017-06-04  Philipp Stephani  <phst@google.com>
105898         Rationalize environment lifetime management functions
105900         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
105901         (finalize_environment): Add parameter for public part of the
105902         environment, like 'initialize_environment'.  Add assertions.
105904 2017-06-04  Philipp Stephani  <phst@google.com>
105906         Rework printing of module functions
105908         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
105909         other types.
105911         * src/print.c (print_vectorlike): Add code to print module functions.
105913         * src/emacs-module.c (funcall_module): Stop calling
105914         'module_format_fun_env'.  Now that module functions are first-class
105915         objects, they can be added to signal data directly.
105916         (module_handle_signal): Remove now-unused function
105917         'module_format_fun_env'.
105919         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
105921         * src/eval.c (funcall_lambda): Adapt call to changed signature of
105922         'funcall_module'.
105924 2017-06-04  Philipp Stephani  <phst@google.com>
105926         Define helper macro to reduce code duplication
105928         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
105929         macro.
105930         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
105931         Use it.
105933 2017-06-04  Philipp Stephani  <phst@google.com>
105935         Remove two FIXMEs that can't be fixed
105937 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
105939         Avoid slow startup in daemon mode when global-linum-mode is on
105941         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
105942         non-client frame of a daemon session.  (Bug#27210)
105944 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
105946         Fix eldoc bug with curved quote
105948         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
105949         Substitute quotes in documentation before returning it (Bug#27159).
105951 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
105953         Tune ‘format’ after recent fix
105955         * doc/lispref/strings.texi (Formatting Strings):
105956         * src/editfns.c (Fformat): Format field numbers no longer need
105957         to be unique, reverting the previous doc change since that has
105958         now been fixed.  Also, document that %% should not have modifiers.
105959         * src/editfns.c (styled_format): Improve performance.  Remove
105960         the need for the new prepass over the format string, by using
105961         a typically-more-generous bound for the info array size.
105962         Initialize the info array lazily.  Move string inspection to
105963         the same area to help caching.  Avoid the need for a
105964         converted_to_string bitfield by using EQ.  Cache arg in a
105965         local and avoid some potential aliasing issues to help the
105966         compiler.  Info array is now 0-origin, not 1-origin.
105968 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
105970         Improve of file-local-name use in vc-git-checkin
105972         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
105973         when calling git commit.
105975 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
105977         Support a new CSS indentation style
105979         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
105980         immediately followed by a newline.
105982         * test/manual/indent/css-mode.css: Add test for the change above.
105984         * test/manual/indent/scss-mode.scss: Ditto.
105986 2017-06-03  Philipp Stephani  <phst@google.com>
105988         Fix a bug when using format field numbers
105990         Previously styled_format overwrite the argument vector.  This is no
105991         longer possible because there might be more than one specification per
105992         argument.  Use the existing auxiliary info array instead.
105994         * src/editfns.c (styled_format): Record arguments in the info
105995         structure instead of overwriting them.
105996         * test/src/editfns-tests.el (format-with-field): Add unit test.
105998 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
106000         Document uniqueness limitation of ‘format’
106002         * doc/lispref/strings.texi (Formatting Strings):
106003         * src/editfns.c (Fformat):
106004         Document that field numbers should be unique within a format.
106006 2017-06-03  Glenn Morris  <rgm@gnu.org>
106008         Small rmailmm fix (bug#27203)
106010         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
106011         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
106013 2017-06-03  Glenn Morris  <rgm@gnu.org>
106015         * admin/authors.el (authors-aliases): Addition.
106017 2017-06-03  Glenn Morris  <rgm@gnu.org>
106019         Add watch for password back to inferior python comint filter
106021         It was removed along with other items for speed (bug#16875),
106022         but doesn't seem to have been causing an issue, and it's useful to
106023         have it there (bug#27154).
106024         * lisp/progmodes/python.el (inferior-python-mode):
106025         Add comint-watch-for-password-prompt to comint-output-filter-functions.
106027 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
106029         Use completing-read-default in tmm-prompt
106031         tmm uses completing-read, but customizes its behavior so much
106032         that any alternative completing-read-function will almost
106033         certainly break it.  For example, both ido-ubiquitous and ivy have
106034         special code to deactivate themselves for tmm.
106035         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
106036         completing-read.  (Bug#27193)
106038 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
106040         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
106042 2017-06-02  Glenn Morris  <rgm@gnu.org>
106044         Fix with-todo-test
106046         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
106047         HOME should be a directory, not a file.  Delete it when finished.
106049 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
106051         Update TUTORIAL.it
106053         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
106055 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
106057         Fix cursor position in Dired buffers after dired-sort-toggle
106059         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
106060         even if the frame is marked as garbaged.  (Bug#27187)
106062 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
106064         Update TUTORIAL.he
106066         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
106068 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
106070         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
106072 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
106074         Limit format fields to more POSIX-like spec
106076         * doc/lispref/strings.texi (Formatting Strings):
106077         Don’t allow mixing numbered with unnumbered format specs.
106078         * src/editfns.c (styled_format): Don’t bother checking for field 0,
106079         since it doesn’t crash and the behavior is not specified.
106080         * test/src/editfns-tests.el (format-with-field): Adjust tests to
106081         match current doc.  Add more tests for out-of-range fields.
106083 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
106085         Improve performance by avoiding strtoumax
106087         This made (string-to-number "10") 20% faster on my old desktop,
106088         an AMD Phenom II X4 910e running Fedora 25 x86-64.
106089         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
106090         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
106091         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
106092         * m4/strtoumax.m4: Remove.
106093         * src/editfns.c (str2num): New function.
106094         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
106095         instead of uintmax_t.  Check for integer overflow.
106096         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
106097         Move to private scope and make them enums.
106098         (string_to_number): Compute integer value directly during
106099         first pass instead of revisiting it with strtoumax later.
106101 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
106103         Minor improvements to format field numbers
106105         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
106106         No need for a special diagnostic for field numbers greater than
106107         PTRDIFF_MAX.  Reword diagnostic for field 0.
106108         * test/src/editfns-tests.el (format-with-field): Adjust to match.
106110 2017-06-02  Philipp Stephani  <phst@google.com>
106112         Implement field numbers in format strings
106114         A field number explicitly specifies the argument to be formatted.
106115         This is especially important for potential localization work, since
106116         grammars of various languages dictate different word orders.
106118         * src/editfns.c (Fformat): Update documentation.
106119         (styled_format): Implement field numbers.
106121         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
106123         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
106125         * test/src/editfns-tests.el (format-with-field): New unit test.
106127 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
106129         Limit scope of local overriding-terminal-local-map
106131         The function `binding' may call isearch-done, which globally sets
106132         overriding-terminal-local-map to nil (Bug#23007).
106133         * lisp/isearch.el (isearch-mouse-2): Don't bind
106134         overriding-terminal-local-map around the call to `binding'.
106136 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
106138         Correct and isolate the todo-mode test environment
106140         This avoids having to set todo-mode variables globally in the test
106141         file and prevents any existing user todo-mode files from influencing
106142         the tests.
106144         * test/lisp/calendar/todo-mode-tests.el:
106145         (with-todo-test): New macro.
106146         (todo-test-todo-quit01, todo-test-todo-quit02)
106147         (todo-test-item-highlighting): Use it.
106149 2017-06-01  Alan Third  <alan@idiocy.org>
106151         Fix build errors on macOS 10.6 (bug#27059)
106153         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
106155 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
106157         Improve testing of octal and hex display of raw bytes
106159         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
106160         (test-redisplay-5): Add a test with a large codepoint.
106162 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
106164         Add customizable to display raw bytes as hex
106166         * src/xdisp.c (get_next_display_element): Dispatch used format string
106167         for unprintables based on new display-raw-bytes-as-hex variable.
106168         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
106170         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
106172         * doc/emacs/display.texi: Document the new variable.
106173         * etc/NEWS: Mention display-raw-bytes-as-hex.
106175         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
106176         (test-redisplay-5): New tests.
106177         (test-redisplay): Call test-redisplay-5.
106179 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
106181         Revert "Add customizable to display raw bytes as hex"
106183         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
106185 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
106187         Add customizable to display raw bytes as hex
106189         * src/xdisp.c (get_next_display_element): Dispatch used format string
106190         for unprintables based on new display-raw-bytes-as-hex variable.
106191         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
106193         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
106195         * doc/emacs/display.texi: Document the new variable.
106196         * etc/NEWS: Mention display-raw-bytes-as-hex.
106198         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
106199         (test-redisplay-5): New tests.
106200         (test-redisplay): Call test-redisplay-5.
106202 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
106204         Fix linum under text-scaling when leuven-theme is used
106206         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
106207         inherit from 'default' and 'shadow', so that margins are enlarged
106208         as expected under text-scaling.
106210 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
106212         Free cwd when no longer needed
106214         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
106216 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
106218         Fix memory leak of cwd string in emacsclient (Bug#26628)
106220         * lib-src/emacsclient.c (main): emacsclient retrieves the current
106221         working directory using get_current_dir_name which returns a newly
106222         allocated string.  Make sure this string is freed before exiting.
106224 2017-06-01  Glenn Morris  <rgm@gnu.org>
106226         Quieten compilation of some test files
106228         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
106229         * test/src/data-tests.el (binding-test-set-constant-t)
106230         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
106231         (binding-test-set-constant-nil): Silence compiler.
106232         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
106234 2017-06-01  Glenn Morris  <rgm@gnu.org>
106236         Use true names for invocation- and source-directory
106238         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
106239         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
106241 2017-06-01  Glenn Morris  <rgm@gnu.org>
106243         Avoid elisp-mode test failures when source dir has multiple names
106245         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
106246         Use the true name of the directory.
106248 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
106250         Fix bug with "%%" in error format
106252         * src/doprnt.c (doprnt): Format "%%" correctly.
106253         Problem reported by Philipp Stephani in:
106254         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
106256 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
106258         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
106260 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
106262         Revert mml-generate-mime-1 (bug#27141)
106264         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
106265         with slight modernizations (bug#27141).
106267 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
106269         Fix Bug#27108
106271         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
106272         in order to avoid Tramp password requests during Emacs
106273         startup.  (Bug#27108)
106275 2017-05-31  Glenn Morris  <rgm@gnu.org>
106277         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
106279 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
106281         Document current-line hscrolling in ELisp manual
106283         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
106284         new mode of auto-hscrolling only the current line.
106286 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
106288         Support lower bound on hscrolling when only current line scrolls
106290         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
106291         mode of auto-hscrolling only the current line.
106293         * src/xdisp.c (init_iterator): When hscrolling only the
106294         current line, apply the window's min_hscroll here, so that
106295         non-current lines will be hscrolled by that minimum.
106296         Suggested by Stephen Berman <stephen.berman@gmx.net>.
106297         (hscroll_window_tree): Account for window's min_hscroll when
106298         deciding whether to recompute the hscroll.
106299         (display_line): Subtract window's min_hscroll from x_incr, as that
106300         was already accounted for in init_iterator.  (Bug#27008)
106302 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
106304         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
106306         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
106307         (cl-print-object): When `print-circle' is nil, bind it to a list of
106308         objects that are currently printing to avoid printing the same object
106309         endlessly.
106310         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
106312 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
106314         Further simplify test/Makefile, optionally load elc tests
106316         * test/Makefile.in: Use make's error ignoring feature instead of
106317         suppressing test errors with shell.  Compile test files in the main
106318         make invocation instead of a recursive 'make' call.  Optionally load
106319         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
106320         Remove obsolete commentary.
106322 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
106324         Avoid inflooping in redisplay due to Spacemacs and linum-mode
106326         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
106327         retries when a frame becomes garbaged as result of redisplaying
106328         it.  (Bug#27115)
106330 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
106332         * src/editfns.c (decode-time): Fix docstring.
106334 2017-05-31  Glenn Morris  <rgm@gnu.org>
106336         * admin/update_autogen: Remove bzr support.
106338 2017-05-31  Glenn Morris  <rgm@gnu.org>
106340         Avoid subr test failure when source dir has multiple names
106342         * test/lisp/subr-tests.el (subr-tests--this-file):
106343         Use the true name of the file.  The following test does a string
106344         comparison of this value with that from method-files, which uses
106345         load-history, which contains true names.
106347 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
106349         Extract eldoc--supported-p
106351         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
106352         (turn-on-eldoc-mode, eldoc-mode): Use it.
106353         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
106355 2017-05-30  Glenn Morris  <rgm@gnu.org>
106357         Make "make check" less verbose by default
106359         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
106360         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
106361         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
106362         New, copied from lisp/Makefile.in.
106363         (%.elc, %.log): Simplify and quieten.
106365 2017-05-30  Alan Mackenzie  <acm@muc.de>
106367         Mode line "%q" construct: Just use one number when both would be the same.
106369         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
106371 2017-05-30  Alan Mackenzie  <acm@muc.de>
106373         Merge branch 'master' of /home/acm/emacs/emacs.git/master
106375 2017-05-30  Alan Mackenzie  <acm@muc.de>
106377         c-defun-name: Return fully qualified method names when wanted in C++, etc.
106379         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
106380         c-back-over-compound-identifier in place of c-backward-token-2 near the end
106381         of the function.
106383 2017-05-30  Glenn Morris  <rgm@gnu.org>
106385         Reduce scope of recent test/Makefile HOME change
106387         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
106389 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
106391         Skip .#* temporaries when finding sources
106393         Without this patch, ‘make check’ can fail with the diagnostic
106394         ‘invalid syntax in conditional’ if there is an Emacs temporary
106395         file whose name starts with ‘.#’, because the ‘#’ is treated as
106396         the start of a Make comment.
106397         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
106398         * test/Makefile.in (ELFILES):
106399         Skip files starting with ‘.’, so that the .#* files do not cause
106400         trouble.  (We cannot easily skip just files starting with ‘.#’,
106401         since ‘#’ starts a Make comment!)
106403 2017-05-30  Alan Mackenzie  <acm@muc.de>
106405         Merge branch 'master' of /home/acm/emacs/emacs.git/master
106407 2017-05-30  Alan Mackenzie  <acm@muc.de>
106409         Fix the mouse help/key map on the "%p" part of the mode line.
106411         * lisp/bindings.el (mode-line-percent-position): give it a
106412         `risky-local-variable' property.
106413         (mode-line-position): correct the quoting on the mode-line-percent-position
106414         part of the variable, allowing the properties to be properly recognized.
106416 2017-05-30  Alan Mackenzie  <acm@muc.de>
106418         Fix the mouse help/key map on the "%p" part of the mode line.
106420         * lisp/bindings.el (mode-line-percent-position): give it a
106421         `risky-local-variable' property.
106422         (mode-line-position): correct the quoting on the mode-line-percent-position
106423         part of the variable, allowing the properties to be properly recognized.
106425 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
106427         Merge from gnulib
106429         * build-aux/config.guess: Copy from gnulib.
106430         * lib/gnulib.mk.in: Regenerate.
106432 2017-05-30  Glenn Morris  <rgm@gnu.org>
106434         Stop make check interacting with HOME
106436         * test/Makefile.in (HOME): Export a non-existent value.
106438 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
106440         Update .gitattributes to match sources better
106442         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
106443         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
106444         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
106445         Add config.guess and config.sub as shell files.
106447 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
106449         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
106451         * doc/emacs/cmdargs.texi (Initial Options):
106452         * doc/lispref/os.texi (Startup Summary):
106453         * etc/NEWS:
106454         * etc/emacs.service:
106455         * src/emacs.c (main):
106456         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
106457         '--bg-daemon'.
106459 2017-05-30  Glenn Morris  <rgm@gnu.org>
106461         todo-mode: don't assume an ordering of tests
106463         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
106464         (todo-test-item-highlighting): Avoid prompting for input file.
106466 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
106468         Improve .gdbinit Lisp value pretty-printing
106470         * src/.gdbinit (to_string): Use an unsigned representation for
106471         Lisp values, as requested by Eli Zaretskii (Bug#27098).
106472         Also, use "make_number(N)" for Lisp integers.
106474 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
106476         Turn global-eldoc-mode into a globalized minor mode
106478         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
106479         Turn into globalized mode (bug#19853).
106480         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
106481         (eldoc-mode): Only show the message when called interactively.
106483 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
106485         Use regexp matching instead of checking exit status
106487         * lisp/progmodes/xref.el (xref-collect-matches):
106488         See if the output buffer contents look like Grep output
106489         instead of checking exit status (bug#23451).
106491 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
106493         Add initial tests for todo-mode.el
106495         *test/lisp/calendar/todo-mode-tests.el:
106496         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
106497         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
106499         * .gitattributes: Ignore trailing whitespace in todo-mode test
106500         data files, since it is part of the todo-mode file format.
106502 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
106504         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
106506         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
106507         replacing an anonymous function for the sake of `describe-variable'.
106508         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
106509         and remove boundp test of this variable, so its value is available on
106510         invoking `todo-toggle-item-highlighting'.
106512 2017-05-29  Alan Third  <alan@idiocy.org>
106514         Fix build error on macOS 10.6
106516         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
106517         CGPoint.
106519 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
106521         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
106523         * lisp/progmodes/python.el (python-indent--calculate-indentation):
106524         Increase indent by `python-indent-offset' after
106525         `:after-backslash-assignment-continuation'.
106527 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
106529         Add suggestion to docstring
106531         * lisp/subr.el (interactive-p): Mention commandp, as this is often
106532           what users are actually looking for.
106534 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
106536         Ensure button-get works in any buffer
106538         * lisp/button.el (button-get): Previously we assumed that button-get
106539           was called in the buffer containing the button.  In other buffers,
106540           button-get always returned nil.  Fix this by passing the relevant
106541           buffer from the marker.
106543 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
106545         Signal error if find-grep returns a nonzero status
106547         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
106548         if find-grep returns a nonzero status (bug#23451).  Remove the
106549         comment: even if some output is present, a non-zero status
106550         means something went wrong and it can't be relied upon.
106552 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
106554         Make sure exiting todo-mode buffer buries it (bug#27121)
106556         This failed due to commit ea3ae33b from 2013-05-16, which prevented
106557         quitting todo-mode buffer after visiting todo-archive buffer from
106558         making the archive buffer current again.  Avoid this now by simply
106559         killing the archive buffer, since there's no need to keep it a live
106560         buffer.  Consequently, quitting a todo-mode buffer can now use
106561         bury-buffer without an argument, which ensures that is will not
106562         becomes current on quitting the buffer that replaced it in the window.
106564         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
106565         buffer instead of burying it.  This now allows exiting the
106566         todo-mode buffer by bury-buffer without an argument, so do that.
106568 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
106570         Some tweaks, almost all for Tramp adb method
106572         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
106573         Use `make-tramp-file-name'.
106574         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
106575         (tramp-adb-maybe-open-connection): Set "prompt" property.
106576         (tramp-adb-wait-for-output): Use it.
106578         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
106579         (tramp-dump-connection-properties): Check also that there are
106580         properties to be saved.  Don't save "started" property of
106581         "ftp" method.
106583         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
106584         Use `make-tramp-file-name'.
106586         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
106587         Host could be empty.
106588         (tramp-file-name-port-or-default): New defun.
106589         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
106590         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
106591         (tramp-call-process, tramp-call-process-region):
106592         Use `make-tramp-file-name'.
106594         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
106595         Revert change from 2017-05-24.
106596         (tramp-test05-expand-file-name-relative): Let it also pass for
106597         "adb" method.
106599 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
106601         Fix Tramp for Android 7
106603         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
106604         Username part of prompt is empty on Android 7.
106605         (tramp-adb-ls-toolbox-regexp):
106606         Ignore addition links column on Android 7.
106607         (tramp-adb-get-ls-command):
106608         Dont use --color=none when using toybox (Android 7).  It's not
106609         possible to disable coloring explicitly for toybox ls.
106611 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
106613         Fix cl-indent for `loop' with :keywords (Bug#15543)
106615         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
106616         ":keywords".
106618 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
106620         Depromiscuify inotify with IN_MASK_ADD
106622         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
106623         mask.  This simplifies the code and restores the ability to
106624         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
106625         in some cases (Bug#26973).
106626         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
106627         (Finotify_add_watch): Use IN_MASK_ADD instead.
106629 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
106631         Restore inotify onlydir support
106633         There was no need to remove it in the 2017-03-26 inotify change,
106634         as it is like IN_DONT_FOLLOW and does not affect other watchers
106635         for the same file.
106636         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
106637         (syms_of_inotify): Bring back onlydir.
106639 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
106641         Simplify computation of inotify mask
106643         * src/inotify.c (add_watch): Accept uint32_t imask instead
106644         of Lisp_Object aspect.  Caller changed.
106645         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
106646         simplify the code.
106648 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
106650         Improve the documentation of filesets
106652         * doc/emacs/files.texi (Filesets): Fix the description of
106653         fileset-init's effect on the menu bar.  (Bug#27015)
106655 2017-05-27  Philipp Stephani  <phst@google.com>
106657         Don't attempt to recover from undefined behavior in some cases
106659         These functions can only be run in batch mode and exit Emacs on
106660         return, so nothing can be recovered.  Disable unsafe recover
106661         mechanisms so that we get real failures and good stack traces on
106662         fatal signals.
106664         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
106665         (batch-byte-recompile-directory):
106666         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
106667         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
106668         from undefined behavior.
106670 2017-05-27  Philipp Stephani  <phst@google.com>
106672         Avoid another compiler warning on macOS
106674         When configured with --without-ns, HAVE_NS is not defined on macOS,
106675         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
106676         by using the pre-defined __APPLE__ preprocessor macro.
106678         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
106680 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
106682         Fix ruler-mode text-scaling issues
106684         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
106685         for computing scaled text width.
106686         (ruler-mode-text-scaled-window-hscroll)
106687         (ruler-mode-text-scaled-window-width): Compute text scaled
106688         `window-width' value.
106689         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
106690         (ruler-mode-ruler): Change `window-hscroll' into
106691         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
106692         into `ruler-mode-text-scaled-window-width'.
106694 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
106696         Minor doc and doc-string fixes (Bug#27091)
106698         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
106700         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
106701         (Display Margins): Mention that `set-window-buffer' may override
106702         settings made by `set-window-fringes', `set-window-scroll-bars'
106703         and `set-window-margins'.
106704         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
106705         `set-window-buffer'.
106707 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
106709         Avoid args-out-of-range errors on fringe clicks after "C-h k"
106711         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
106712         message is already shorter than NCHARS.  (Bug#27040)
106714 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
106716         Fix GUD "Stop" display when running pdb
106718         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
106719         when GUD mode is 'pdb'.  (Bug#27024)
106721 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
106723         Support drag and drop of region by mouse (Bug#26725)
106725         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
106726         and drop region by mouse.
106727         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
106728         when start-event is on region.
106729         (mouse-drag-and-drop-region): New function, moves the region by
106730         (mouse-drag-and-drop-region): New defcustom.
106731         * etc/NEWS: Mention mouse-drag-and-drop-region.
106733 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
106735         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
106737 2017-05-27  Alan Third  <alan@idiocy.org>
106739         Check if instancetype supported in ObjC
106741         * configure.ac: Add check for instancetype.
106742         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
106744 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
106746         Mark keywordp as a safe, error-free function
106748         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
106749           side-effect-and-error-free-fns.
106751 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
106753         * src/inotify.c: Add FIXME comments.
106755 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
106757         Fix Bug#26973
106759         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
106760         and CLOSE events on order do let other processes also reading
106761         from their descriptors.  (Bug#26973).
106763 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
106765         Remove Emacs 23 compat code from Tramp
106767         * doc/misc/tramp.texi (Remote processes): Don't mention
106768         Emacs 24 explicitly.
106769         (Frequently Asked Questions): Remove Emacs 23 from
106770         compatibility list.
106772         * lisp/net/tramp.el:
106773         * lisp/net/tramp-adb.el:
106774         * lisp/net/tramp-cache.el:
106775         * lisp/net/tramp-gvfs.el:
106776         * lisp/net/tramp-sh.el:
106777         * lisp/net/tramp-smb.el: Replace compat function calls.
106779         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
106780         (tramp-compat-condition-case-unless-debug)
106781         (tramp-compat-copy-file, tramp-compat-copy-directory)
106782         (tramp-compat-delete-file, tramp-compat-delete-directory)
106783         (tramp-compat-process-live-p): Remove them.
106785         * lisp/net/trampver.el: Make version check fit for Emacs 24.
106787 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
106789         Work for application/x-tar-gz and image/svg+xml
106791         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
106792         ;; of bug#27078 in the Emacs bug list using Gnus.
106794         * lisp/gnus/mm-archive.el (mm-archive-decoders):
106795         Add a decoder for application/x-tar-gz.
106796         (mm-dissect-archive): Error out if a decoder is not found.
106798         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
106800 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
106802         test-calc-23889: Skip test on 32-bit platforms
106804         This test fails on some 32-bit platforms as mentioned in
106805         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
106806         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
106807         the Lisp integer is not big enough.
106809 2017-05-25  Alan Third  <alan@idiocy.org>
106811         Fix NS tooltips showing in the wrong place (bug#27053)
106813         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
106814         last recorded position.
106816 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
106818         lisp/net/soap-client.el: Bump version to 3.1.2
106820         * lisp/net/soap-client.el: Bump version to 3.1.2.
106822 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
106824         Fix soap-inspect.el doc strings
106826         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
106827         string.
106828         (soap-inspect-xs-attribute-group): Likewise.
106830 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
106832         Fix two soap-client.el byte compilation warnings
106834         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
106835         (soap-fetch-xml-from-url): Remove special declaration of
106836         url-http-response-status.
106837         (soap-invoke-internal): Likewise.
106839 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
106841         lisp/net/soap-client.el: Require cl-lib version 0.6.1
106843         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
106845 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
106846             Stefan Monnier  <monnier@iro.umontreal.ca>
106848         lisp/net/soap-client.el: Shorten some long lines
106850         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
106851         unnecessary progn.
106852         (soap-xs-add-union): Wrap long line.
106854 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
106855             Stefan Monnier  <monnier@iro.umontreal.ca>
106857         Remove cl dependency in soap-client.el and soap-inspect.el
106859         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
106860         with cl-case, destructuring-bind with cl-destructuring-bind and
106861         loop with cl-loop.
106863         * lisp/net/soap-client.el: Replace cl library with cl-lib,
106864         defstruct with cl-defstruct, assert with cl-assert, case with
106865         cl-case, ecase with cl-ecase, loop with cl-loop and
106866         destructuring-bind with cl-destructuring-bind.
106868 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
106870         Switch Tramp to cl-lib
106872         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
106874         * lisp/net/tramp-ftp.el: Don't require cl.
106876         * lisp/net/tramp-gvfs.el: Don't require cl.
106877         (tramp-gvfs-handler-mounted-unmounted)
106878         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
106880         * lisp/net/tramp-sh.el: Don't require cl.
106881         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
106882         (tramp-sh-gvfs-monitor-dir-process-filter)
106883         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
106885         * lisp/net/tramp-smb.el: Don't require cl.
106886         (tramp-smb-read-file-entry): Use `cl-*' macros.
106888         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
106889         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
106890         (tramp-parse-passwd, tramp-parse-etc-group)
106891         (tramp-parse-putty): Use `cl-*' macros.
106893 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
106895         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
106897 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
106899         Port ATTRIBUTE_MAY_ALIAS to recent icc
106901         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
106902         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
106903         “warning #2621: attribute "__may_alias__" does not apply here”
106904         for constructs like ‘struct sockaddr *sa = (whatever);
106905         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
106906         = (struct sockaddr_in *) sa;’.
106908 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
106910         Merge from gnulib
106912         This incorporates:
106913         2017-05-25 port to recent icc
106914         * lib/intprops.h: Copy from gnulib.
106916 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
106918         Fix Tramp for python.el
106920         * lisp/net/tramp.el (tramp-get-connection-process): Check,
106921         that VEC is a `tramp-file-name' structure.
106923 2017-05-24  Alan Third  <alan@idiocy.org>
106925         Raise version of macOS we define instancetype for (bug#27059)
106927         * src/nsterm.m: Increase supported version number.
106929 2017-05-24  Alan Third  <alan@idiocy.org>
106931         Define new types on macOS 10.6 (bug#27041)
106933         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
106934         correct NSUInteger instead of int.
106936 2017-05-24  Glenn Morris  <rgm@gnu.org>
106938         Don't autoload new dns-mode command
106940         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
106941         Remove autoload cookie.
106943 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
106945         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
106947         (sxhash_vector): Make it work on pseudo vectors as well.
106948         (sxhash): Treat records like vectors.
106950 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
106952         Adapt tramp-tests.el according to new defstruct
106954         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
106955         Fix test according to new defstruct.
106956         (tramp-test29-environment-variables-and-port-numbers):
106957         Expect it now as passed.  Cleanup at the end.
106959 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
106961         Introduce a defstruct `tramp-file-name' as central data structure.
106963         This solves also Bug#27009.
106965         * lisp/net/tramp.el (tramp-current-domain)
106966         (tramp-current-port): New defvars.
106967         (tramp-file-name): New defstruct.
106968         (tramp-file-name-user-domain, tramp-file-name-host-port)
106969         (tramp-file-name-equal-p): New defuns.
106970         (tramp-file-name-p, tramp-file-name-method)
106971         (tramp-file-name-user, tramp-file-name-host)
106972         (tramp-file-name-localname, tramp-file-name-hop)
106973         (tramp-file-name-real-user, tramp-file-name-domain)
106974         (tramp-file-name-real-host, tramp-file-name-port):
106975         Remove defuns.  They are provided by the defstruct, or not
106976         needed anymore.
106977         (tramp-dissect-file-name, tramp-buffer-name)
106978         (tramp-make-tramp-file-name, tramp-get-buffer)
106979         (tramp-set-connection-local-variables)
106980         (tramp-debug-buffer-name, tramp-message)
106981         (tramp-error-with-buffer, with-parsed-tramp-file-name)
106982         (tramp-completion-dissect-file-name1)
106983         (tramp-handle-file-name-as-directory)
106984         (tramp-handle-file-name-directory)
106985         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
106986         (tramp-handle-find-backup-file-name)
106987         (tramp-handle-insert-file-contents, tramp-process-actions)
106988         (tramp-check-cached-permissions, tramp-local-host-p)
106989         (tramp-get-remote-tmpdir, tramp-call-process)
106990         (tramp-call-process-region, tramp-read-passwd)
106991         (tramp-clear-passwd):
106992         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
106993         (tramp-adb-handle-expand-file-name)
106994         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
106995         (tramp-adb-handle-process-file)
106996         (tramp-adb-maybe-open-connection):
106997         * lisp/net/tramp-cache.el (tramp-get-hash-table)
106998         (tramp-get-file-property, tramp-set-file-property)
106999         (tramp-flush-file-property, tramp-flush-directory-property)
107000         (tramp-get-connection-property)
107001         (tramp-set-connection-property, tramp-connection-property-p)
107002         (tramp-flush-connection-property, tramp-cache-print)
107003         (tramp-list-connections, tramp-dump-connection-properties)
107004         (tramp-parse-connection-properties):
107005         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
107006         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
107007         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
107008         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
107009         (tramp-gvfs-handler-mounted-unmounted)
107010         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
107011         (tramp-gvfs-get-remote-gid)
107012         (tramp-gvfs-maybe-open-connection):
107013         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
107014         (tramp-do-copy-or-rename-file-out-of-band)
107015         (tramp-sh-handle-expand-file-name)
107016         (tramp-sh-handle-start-file-process)
107017         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
107018         (tramp-maybe-open-connection)
107019         (tramp-make-copy-program-file-name, tramp-get-remote-path)
107020         (tramp-get-inline-coding):
107021         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
107022         (tramp-smb-handle-expand-file-name)
107023         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
107024         (tramp-smb-handle-set-file-acl)
107025         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
107027 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
107029         Fix and improve UI of scroll bar menu (bug#27047)
107031         In addition, since the Emacs manual writes "scroll bar", "tool
107032         bar" and "menu bar", use this convention in the Show/Hide menus
107033         and tooltips as well.
107035         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
107036         pressing a radio button in the menu actually show that it was
107037         pressed.  Replace the two radio buttons to turn the horizontal
107038         scroll bar on and off with a single check-box toggle and add a
107039         separator between this and the vertical scroll bar radio
107040         buttons.  Use conventional spelling.
107041         (menu-bar-horizontal-scroll-bar)
107042         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
107043         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
107044         (menu-bar-mode): Use conventional spelling.
107046 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
107048         Remove string-as-unibyte
107050         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
107051         (canlock-make-cancel-key): No need to use string-as-unibyte.
107053 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
107055         Fix concatenation of "^" with diff-file-junk-re
107057         This regexp contains "\\|", thus a concatenation
107058         of "^" with it just matches the beginning of line for the
107059         first alternative in diff-file-junk-re.
107060         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
107061         diff-file-junk-re wrapped in a shy group.
107063 2017-05-24  Glenn Morris  <rgm@gnu.org>
107065         Suppress intermittent test failure on hydra
107067         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
107068         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
107070 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
107072         New dns-mode command for IPv6 address conversion
107074         This converts IPv6 addresses to a format suitable for
107075         reverse lookup zone files.  (Bug#26820)
107076         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
107077         Add dns-mode-ipv6-to-nibbles.
107078         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
107079         New functions.
107080         * test/lisp/dns-mode-tests.el: New file.
107082 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
107084         Protect *Backtrace* from being killed (Bug#26650)
107086         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
107087         `kill-buffer-hook'.
107089 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
107091         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
107093         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
107094         (lisp-mode-variables): Use it.
107096 2017-05-23  Philipp Stephani  <phst@google.com>
107098         vc-hg.el: Silence byte compiler warning
107100         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
107102 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
107104         Don't warn about missing brances on macOS
107106         On macOS, removing -Wmissing-braces is not enough; the warning has to
107107         be disabled explicitly.
107109 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
107111         Don't treat ' as a string delimiter in RPM spec files
107113         ' is commonly used as an apostrophe in the prose sections of spec
107114         files, which was erroneously highlighted as strings. See for example
107115         http://kmymoney2.sourceforge.net/phb/rpm-example.html
107117         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
107118           punctuation in RPM spec files.
107120 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
107122         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
107124         (common-lisp-indent-function-1): Remove unused var `last-point`.
107125         (lisp-indent-error-function): Move defvar before first use.
107127 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
107129         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
107131         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
107133         * lisp/net/shr.el: Use cl-lib instead of cl.
107135 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
107137         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
107139         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
107140         (binding-test-makunbound, data-tests-varalias-watchers)
107141         (data-tests-local-variable-watchers): Silence compiler warnings.
107143 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
107145         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
107147 2017-05-23  Alan Third  <alan@idiocy.org>
107149         Fix GNUstep build
107151         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
107152         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
107153         GNUstep and old versions of macOS.
107154         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
107155         works in cocoa, not GNUstep.
107157 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
107159         Add test for Bug#27009 in tramp-tests.el
107161         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
107162         Check `tramp-file-name-real-host' for being a local host.
107164         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
107166         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
107167         Declare default host for mock method.
107168         (tramp-test29-environment-variables-and-port-numbers): New test.
107170 2017-05-23  Glenn Morris  <rgm@gnu.org>
107172         Don't advertise s_client in tls.el docs
107174         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
107175         Don't mention s_client in docs.
107177         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
107179 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
107181         Remove s_client usage from tls.el
107183         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
107184         Ref https://bugs.debian.org/766397
107185         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
107188         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
107190 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
107192         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
107194 2017-05-22  Sam Steingold  <sds@gnu.org>
107196         Fix "g" in hg&git push&pull buffers
107198         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
107199         `compilation-directory' and `compilation-arguments'.
107200         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
107202 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
107204         Fix current-line hscrolling in buffers with header-line
107206         * src/xdisp.c (display_line): When testing the glyph row's
107207         vertical position against the cursor position, account for header
107208         line, if any.  (Bug#27014)
107210 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
107212         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
107214         (rfc2047-decode-encoded-words): Use dolist.
107215         (rfc2047-decode-string): Avoid string-to-multibyte.
107216         (rfc2047-pad-base64): Use pcase.
107218 2017-05-21  Dima Kogan  <dima@secretsauce.net>
107220         Make ff-find-other-file symmetric for C++ (Bug#20192)
107222         `cc-other-file-alist' has a mapping of file extensions to switch
107223         between headers and sources, but the mappings weren't completely
107224         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
107225         to .cpp.
107227         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
107228         C++ extensions to make them symmetric with the C++ extensions that map
107229         to them.  This lets repeated invocations of `ff-find-other-file'
107230         toggle between all pairs of sources/headers.
107232 2017-05-21  Philipp Stephani  <phst@google.com>
107234         Fix definition of whitespace in JSON
107236         See
107237         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
107239         * lisp/json.el (json-skip-whitespace): Fix definition.
107240         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
107241         test.
107243 2017-05-21  Philipp Stephani  <phst@google.com>
107245         Improve module function terminology
107247         Module functions were previously called "function environments" when
107248         the functions created by module_make_functions were lambdas.  Now we
107249         can adapt the terminology and rename "function environments" to
107250         "module functions" everywhere.  This also removes the name clash
107251         between "function environments" and "module environments."
107253         * src/emacs-module.c (module_make_function): Adapt comment to reality;
107254         stop using "function environment" terminology.
107255         (funcall_module): Stop using "function environment" terminology.
107257 2017-05-21  Philipp Stephani  <phst@google.com>
107259         Avoid uninitialized read
107261         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
107263 2017-05-21  Philipp Stephani  <phst@google.com>
107265         Fix call of registerServicesMenuSendTypes
107267         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
107268         returnTypes; pass an empty array instead.
107270 2017-05-21  Philipp Stephani  <phst@google.com>
107272         Clean up code around 'ns-list-services'
107274         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
107275         branch NS_IMPL_COCOA cannot be defined.
107276         (interpret_services_menu): Define only if called to avoid compiler
107277         warnings about unused static functions.
107279 2017-05-21  Philipp Stephani  <phst@google.com>
107281         Remove unused automatic variables
107283         * src/nsterm.m (ns_read_socket):
107284         * src/macfont.m (macfont_open): Remove unused automatic variables.
107286 2017-05-21  Philipp Stephani  <phst@google.com>
107288         Nextstep: Replace deprecated enumerators
107290         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
107291         deprecated enumerator.
107293 2017-05-21  Philipp Stephani  <phst@google.com>
107295         Nextstep: remove some deprecated method calls
107297         * src/nsterm.m (mouseDown:):
107298         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
107299         deprecated method.  The return value is always nil.
107300         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
107302 2017-05-21  Philipp Stephani  <phst@google.com>
107304         Remove trailing semicolons in method definitions
107306         These semicolons are ignored and cause compiler warnings.
107308         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
107309         * src/nsterm.m (init, updateFrameSize:):
107310         (setFrame:): Remove trailing semicolon.
107312 2017-05-21  Philipp Stephani  <phst@google.com>
107314         Remove calls to deprecated setUsesScreenFonts
107316         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
107317         (mac_font_shape_1): Remove screen_font_p parameter.
107318         (mac_screen_font_shape): Remove screen_font_p argument.
107320 2017-05-21  Philipp Stephani  <phst@google.com>
107322         Make a function static that isn't used outside this file
107324         * src/kqueue.c (kqueue_directory_listing): Make static.
107326 2017-05-21  Philipp Stephani  <phst@google.com>
107328         Use NSCharacterCollection instead of CTCharacterCollection
107330         This should not cause behavior changes, but fixes a compiler warning
107331         due to implicit conversions between the enums.
107333         * src/macfont.m (macfont_cache, macfont_lookup_cache)
107334         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
107335         (macfont_variation_glyphs): Use NSCharacterCollection.
107337 2017-05-21  Philipp Stephani  <phst@google.com>
107339         Remove unused function print_regions
107341 2017-05-21  Philipp Stephani  <phst@google.com>
107343         Declare Nextstep unexec functions in lisp.h
107345         This removes compiler warnings about missing prototypes on macOS.
107347 2017-05-21  Philipp Stephani  <phst@google.com>
107349         Nextstep: Use instancetype explicit return type
107351         This removes compiler warnings on macOS and improves type safety.
107353         * src/nsterm.m (initFrameFromEmacs:):
107354         (menuDown:):
107355         (toolbarClicked:):
107356         (toggleToolbar:):
107357         (setMiniwindowImage:):
107358         (initFrame:window:):
107359         (condemn, reprieve, setPosition:portion:whole:):
107360         (repeatScroll:):
107361         * src/nsmenu.m (initWithTitle:):
107362         (initWithTitle:frame:):
107363         (initForView:withIdentifier:):
107364         (init, initWithContentRect:styleMask:backing:defer:):
107365         (initFromContents:isQuestion:):
107366         * src/nsimage.m (allocInitFromFile:):
107367         (initFromXBM:width:height:fg:bg:):
107368         (setXBMColor:):
107369         (initForXPMWithDepth:width:height:): Use instancetype as return
107370         type instead of implicit id.
107372 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
107374         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
107376 2017-05-21  Alan Mackenzie  <acm@muc.de>
107378         Enhance mode-line percentage offset facility, with "%o" and "%q"
107380         "%o" will display the percentage "travel" of the window through the buffer.
107381         "%q" will display a combination of the percentage offsets of the top and
107382         bottom of the window.  The new user option mode-line-percent-position will
107383         facilitate selecting a setting for this part of the mode line.
107385         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
107386         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
107388         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
107390         * doc/lispref/modes.texi (Mode Line Variables): Document
107391         mode-line-percent-position.
107392         (%-Constructs): Document %o and %q.
107394         * etc/NEWS: Add an entry for these new facilities.
107396 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
107398         Work around macOS bug in create_process, too
107400         * src/process.c (create_process) [DARWIN_OS]:
107401         Reset SIGCHLD after vfork here, too.
107403 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
107405         Work around macOS bug with vforked child
107407         * src/callproc.c (call_process) [DARWIN_OS]:
107408         Include workaround for apparent macOS bug.
107410 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
107412         Pacify --enable-gcc-warnings without modules
107414         * src/print.c (print_vectorlike): New function, taken from
107415         part of print_object.  This one is indented properly, and
107416         pacifies --enable-gcc-warnings by using a default case
107417         instead of listing all the enum values, sometimes
107418         incompletely.
107419         (print_object): Use it.
107421 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
107423         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
107425         It does not appear to be needed (Bug#24441).
107426         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
107427         * src/fileio.c (file_name_case_insensitive_p):
107428         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
107430 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
107432         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
107434         * etc/PROBLEMS: Document this (Bug#24441).
107435         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
107436         with _PC_CASE_SENSITIVE, if it works, to
107437         DARWIN_OS_CASE_SENSITIVE_FIXME code.
107438         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
107439         which matches the Apple documentation more precisely.
107441 2017-05-21  Tom Tromey  <tom@tromey.com>
107443         Fix mhtml-mode fontification bug
107445         Bug#26922
107446         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
107447         sgml-syntax-propertize-inside if not in a submode.
107448         * test/manual/indent/html-multi-4.html: New file.
107450 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
107452         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
107454         * lisp/ido.el (ido-set-matches-1): Only check first character of
107455         item if it's non-empty.
107457 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
107459         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
107461 2017-05-21  Glenn Morris  <rgm@gnu.org>
107463         Prevent loading vc-bzr writing to ~/.bzr.log
107465         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
107467 2017-05-21  Glenn Morris  <rgm@gnu.org>
107469         Prevent running vc-tests writing to ~/.bzr.log
107471         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
107472         (vc-test--register, vc-test--working-revision)
107473         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
107475 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
107477         Don't end non-hook variable with "-hook" (Bug#26623)
107479         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
107480         follow-inside-post-command-hook, update uses.
107482 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
107484         Fix macOS mouse movement
107486         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
107487         function (Lisp).
107488         (set-mouse-absolute-pixel-position): Change it to call
107489         `ns-set-mouse-absolute-pixel-position' on macOS.
107490         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
107491         function.
107492         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
107493         screen's height as a base for calculating global coordinates.
107494         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
107495         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
107496         movement of mouse relative to frame.
107498 2017-05-21  Alan Third  <alan@idiocy.org>
107500         Show tooltip on correct screen (bug#26905)
107502         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
107503         tooltip and constrain it to that screen.
107505 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
107507         Don't save unrelated buffers before recompiling directory (Bug#25964)
107509         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
107510         buffers visiting lisp files under the directory being compiled.
107512 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
107514         Minor fixes for arity ranges in emacs modules
107516         * src/emacs-module.c (module_make_function):
107517         Check that arities fit into fixnums, for func-arity’s benefit.
107518         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
107519         (module_function_arity): Allow arities greater than SHRT_MAX.
107521 2017-05-20  Philipp Stephani  <phst@google.com>
107523         Reimplement module functions
107525         Instead of a lambda, create a new type containing all data required to
107526         call the function, and support it in the evaluator.  Because this type
107527         now also needs to store the function documentation, it is too big for
107528         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
107529         that we don't have to add special support to the garbage collector.
107531         Since the new type is user-visible, give it a predicate.
107533         Now we can easily support 'help-function-args' and 'func-arity'; add
107534         unit tests for these.
107536         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
107537         (XMODULE_FUNCTION): New pseudovector type 'module function'.
107539         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
107540         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
107541         functions.
107542         (Ffunc_arity): Add support for detecting the arity of module
107543         functions.
107545         * src/emacs-module.c (module_make_function): Adapt to new structure.
107546         Return module function object directly instead of wrapping it in a
107547         lambda; remove FIXME.
107548         (funcall_module): New function to call module functions.  Replaces
107549         `internal--module-call' and is called directly from eval.c.
107550         (syms_of_module): Remove internal helper function, which is no longer
107551         needed.
107552         (module_function_arity): New helper function.
107554         * src/data.c (Ftype_of): Adapt to new implementation.
107555         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
107556         that module functions are first-class objects, they deserve a
107557         predicate.  Define it even if not compiled with --enable-modules so
107558         that Lisp code doesn't have to check for the function's existence.
107560         * src/doc.c (Fdocumentation): Support module functions.
107562         * src/print.c (print_object): Adapt to new implementation.
107564         * src/alloc.c (mark_object): Specialized garbage collector support is
107565         no longer needed.
107567         * lisp/help.el (help-function-arglist): Support module functions.
107568         While there, simplify the arity calculation by using `func-arity',
107569         which does the right thing for all kinds of functions.
107571         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
107572         the argument list.
107574         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
107575         new docstring.
107576         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
107577         is gone, the backtrace has changed and no longer leaks the
107578         implementation.
107579         (module--func-arity): New test for `func-arity'.
107580         (module--help-function-arglist): New test for `help-function-arglist'.
107582 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
107584         Avoid crashes in GC due to unescaped characters warning
107586         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
107587         Lisp objects from stack-based variables.  (Bug#26961)
107589 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
107591         New commands: find-library-other-window, find-library-other-frame
107593         * lisp/emacs-lisp/find-func.el (find-library-other-window)
107594         (find-library-other-frame): New commands to complement the
107595         existing 'find-library' command.  (Bug#26712)
107596         (read-library-name): New function to read a library name.
107597         * etc/NEWS: Mention 'find-library-other-window' and
107598         'find-library-other-frame'.
107600 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
107602         Fix automatic hscrolling of only the current line
107604         * src/xdisp.c (display_line): When hscrolling only the current
107605         line, increment iterator's first_visible_x and last_visible_x
107606         values to account for the hscroll.  This propagates the hscroll
107607         effect on the iterator geometry all the way down to the
107608         subroutines called by display_line, and avoids scrolling bugs
107609         under large hscroll values.  (Bug#26994)
107611 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
107613         Add handlerlist assertion to module code
107615         * src/emacs-module.c (module_reset_handlerlist):
107616         Check handlerlist.  Suggested by Philipp Stephani in:
107617         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
107619 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
107621         Port --enable-gcc-warnings to clang 3.9.1
107623         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
107624         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
107625         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
107627 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
107629         Limit integers printed as characters (Bug#16828)
107631         * lisp/simple.el (eval-expression-print-maximum-character): New
107632         variable.
107633         (eval-expression-print-format): Only display value as character if
107634         it's less than or equal to `eval-expression-print-maximum-character'.
107635         (eval-expression-get-print-arguments): Check
107636         eval-expression-print-maximum-character, allow negative arg to
107637         override it.
107638         (eval-expression):
107639         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
107640         (elisp--eval-last-sexp-print-value): Handle new variable.
107641         * doc/emacs/building.texi (Lisp Eval): Document new variable and
107642         behavior.
107643         * etc/NEWS: Announce it.
107644         * test/lisp/progmodes/elisp-mode-tests.el
107645         (eval-last-sexp-print-format-small-int)
107646         (eval-last-sexp-print-format-small-int-echo)
107647         (eval-last-sexp-print-format-large-int)
107648         (eval-last-sexp-print-format-large-int-echo):
107649         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
107650         (eval-expression-print-format-small-int-echo)
107651         (eval-expression-print-format-large-int)
107652         (eval-expression-print-format-large-int-echo): New tests.
107654 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
107656         Refactor lisp eval result printing
107658         * lisp/simple.el (eval-expression-print-format): Don't check
107659         `standard-output' or `current-prefix-arg'.
107660         (eval-expression-get-print-arguments): New function, centralizes
107661         decision about how to print results of `eval-expression' and
107662         `eval-last-sexp'.
107663         (eval-expression):
107664         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
107665         Use it.
107667 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107669         Check that signed right shift is arithmetic
107671         * src/data.c (ash_lsh_impl): Verify that signed right shift is
107672         arithmetic; if we run across a compiler that uses a logical shift
107673         we’ll need to complicate the code before removing this
107674         compile-time check.  Help the compiler do common subexpression
107675         elimination better.
107677 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107679         Minor .gitignore fixes
107681         * .gitignore: modules/mod-test/Makefile was renamed to
107682         test/data/emacs-module/Makefile.
107683         Omit [0-9]*.core, subsumed by *.core.
107684         test/indent/*.new was renamed to test/manual/indent/*.new.
107685         Add *.swp, for Vim.
107687 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
107689         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
107691 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
107693         Describe problems with Microsoft Intellipoint
107695         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
107696         mouse-2 events.  For the details, see
107697         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
107699 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
107701         Fix turning off whitespace-mode
107703         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
107704         the original buffer-display-table is saved and restored when
107705         global-whitespace-mode is active.  (Bug#26892)
107707         * test/lisp/whitespace-tests.el
107708         (whitespace-tests-whitespace-mode-on): New function.
107709         (whitespace-tests-display-tables): New test.
107711 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
107713         Minor tweaks in tramp-tests.el
107715         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
107716         (tramp-test05-expand-file-name-relative): Use it.
107717         (tramp-test38-unload): Run only in batch mode.
107719 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
107721         Fix a problem with OpenSSH 7 in Tramp
107723         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
107724         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
107726 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
107728         Improve documentation of 'split-string'
107730         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
107731         make it more readable.  (Bug#26925)
107733 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
107735         Fix typos in doc strings
107737         * lisp/mail/rfc2231.el (rfc2231-encode-string):
107738         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
107739         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
107740         strings.  (Bug#26103)
107742 2017-05-19  Philipp Stephani  <phst@google.com>
107744         Fix module tests on some systems
107746         If dladdr(3) isn't available or didn't work, the printed
107747         representation of a module function will not include the file name,
107748         but only the address.  Make the tests pass in that case.
107750         * test/src/emacs-module-tests.el (module-function-object): Fix match for
107751         module function printed representation
107753 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
107755         Add an optional arguments to string-trim
107757         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
107758         (string-trim): Add optional args that serve as defaults per the
107759         original behavior.  (Bug#26908)
107761 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
107763         Fix typo in last change to auto-hscroll-mode
107765         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
107767 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
107769         Support remote editing in emacsclient via Tramp
107771         * lib-src/emacsclient.c (main, decode_options)
107772         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
107773         specifies how emacs should use tramp to find remote files.
107775         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
107776         the various knobs to tune server.el for TCP operation.
107777         (emacsclient Options): Reference "TCP Emacs server" from description of
107778         --server-file.  Document the new '--tramp' / '-T' options.
107779         * doc/emacs/emacs.texi (Top): Update the top-level menu.
107781         * etc/NEWS: Mention the new option.
107783 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
107785         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
107787 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107789         Attempt to work around macOS vfork bug
107791         Problem reported by YAMAMOTO Mitsuharu in:
107792         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
107793         This is related to the fix for Bug#26397.
107794         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
107795         Report internal error if wait_for_termination fails.
107796         * src/sysdep.c (get_child_status): Return -1 if waitpid is
107797         buggy, instead of aborting.
107798         (wait_for_termination): Return bool success value.
107799         All callers changed.
107801 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
107803         Adjust defcustom form for 'auto-hscroll-mode'
107805         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
107806         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
107808 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107810         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
107812         * src/fileio.c (file_name_case_insensitive_p):
107813         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
107814         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
107815         Problem reported by Philipp Stephani in:
107816         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
107818 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107820         Port --enable-gcc-warnings to clang 3.9.1
107822         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
107823         Problem reported by Philipp Stephani in:
107824         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
107826 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107828         Clean up compiler warning in emacs-module.c
107830         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
107831         instead of leaving it unused, to pacify picky compilers.
107832         (module_reset_handlerlist): Now takes a dummy pointer to a struct
107833         handler *, instead of a dummy pointer to an int.  All uses changed.
107835 2017-05-19  Philipp Stephani  <phst@google.com>
107837         Clean up some compiler warnings
107839         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
107840         Remove unused locals.
107842 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
107844         Support hscrolling only the current line
107846         * src/xdisp.c (hscrolling_current_line_p): New function.
107847         (init_iterator): If auto-hscrolling just the current line, don't
107848         increment the iterator's first_visible_x and last_visible_x
107849         variables.
107850         (hscroll_window_tree): Recompute window's hscroll when moving
107851         vertically to another screen line.
107852         (redisplay_window): If we are hscrolling only the current line,
107853         disable the optimizations that rely on the current matrix being
107854         up-to-date.
107855         (display_line): Accept an additional argument CURSOR_VPOS, the
107856         vertical position of the current screen line which might need
107857         hscrolling; all callers changed.  Compute first_visible_x and
107858         last_visible_x specially when auto-hscrolling current line, by
107859         repeating the calculation that is done in init_iterator in other
107860         modes.
107861         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
107862         accept a 3rd value 'current-line, to turn on the mode where
107863         only the current line is hscrolled.
107865         * etc/NEWS: Mention the new auto-hscroll-mode value.
107867 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
107869         Fix last change in line-move-finish
107871         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
107872         regression in C-n and C-p when lines are truncated, introduced by the
107873         change in 2017-05-10.
107875 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
107877         Expand docstring for CSS mode
107879         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
107880         Expand docstrings.
107882 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
107884         Use the expression angle units while simplifying it
107886         Don't use the angle mode, use the angle units included
107887         in the expression instead (Bug#23889).
107888         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
107889         (math-simplify): Use it.
107890         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
107891         Don't use calc-angle-mode if math-simplifying-units is non-nil.
107892         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
107893         (math-to-radians-2, math-from-radians-2): Don't convert angle
107894         to radians if math-simplifying-units is non-nil.
107895         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
107897 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
107899         Revert "Ignore angle mode while simplifying units"
107901         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
107902         This commit causes Bug#25652.
107904 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
107906         Avoid undefined behavior in struct sockaddr
107908         Problem noted by Philipp Stephani in:
107909         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
107910         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
107911         New macros.
107912         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
107913         (connect_network_socket, network_interface_info)
107914         (server_accept_connection): Use it when aliasing non-char objects.
107916 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
107918         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
107920         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
107921         Add autoload cookie.
107922         (smerge--refine-forward): Rename from smerge-refine-forward.
107923         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
107924         Assume that its `beg` arg is a marker.
107925         (smerge--refine-highlight-change): Rename from
107926         smerge-refine-highlight-change.  Remove `buf` arg.
107927         (smerge-refine-subst): Redefine as an obsolete alias.
107929 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
107931         Work around AddressSanitizer bug with vfork
107933         Problem reported by Jim Meyering in:
107934         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
107935         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
107936         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
107937         vforked child messes up the parent’s shadow memory.  This is too
107938         bad, as we’d rather have AddressSanitizer catch memory-access bugs
107939         related to vfork.
107941 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
107943         Catch IPv4/IPv6 issues at compile time
107945         * src/process.c (connect_network_socket): Use verify,
107946         not eassert, so that any problems are caught at compile-time.
107947         Avoid dodgy cast by using a local var of the correct type.
107949 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
107951         Pacify --enable-gcc-warnings --with-x-toolkit=no
107953         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
107954         Avoid unused local.
107956 2017-05-17  Glenn Morris  <rgm@gnu.org>
107958         * admin/update_autogen (commit): Pull before push.
107960 2017-05-17  Glenn Morris  <rgm@gnu.org>
107962         autoload-rubric no longer provides a feature by default
107964         * lisp/emacs-lisp/autoload.el (autoload-rubric):
107965         Stop providing a feature unless explicitly requested.
107966         (autoload-find-generated-file): Update autoload-rubric call.
107968 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
107970         Remove redundant code in connect_network_socket
107972         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
107973         Remove redundant type-casting and variables.  Don't call
107974         'getsockname' to find the port for AF_LOCAL sockets.
107975         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
107976         and IPv6 structures are at the same offset and have the same size.
107978 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
107980         Fix minor timezone memory leak
107982         * src/editfns.c (wall_clock_tz): Remove; unused.
107984 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
107986         Do not discard AddressSanitizer stderr
107988         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
107989         Do not close stderr.
107991 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
107993         Simplify procname code to avoid GCC bug
107995         * src/process.c (server_accept_connection): Simplify and avoid
107996         multiple calls and struct literals in the last case of a switch.
107997         The old code ran afoul of GCC bug 80659, which caused an internal
107998         compiler error.  Problem reported by Jim Meyering in:
107999         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
108000         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
108002 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108004         Pacify GCC 7 with --enable-gcc-warnings
108006         * src/regex.c (regex_compile): Swap labels, so that the
108007         FALLTHROUGH immediately precedes the case label.
108009 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108011         Merge with gnulib, pacifying GCC 7
108013         This incorporates:
108014         2017-05-16 manywarnings: update for GCC 7
108015         2017-05-15 sys_select: Avoid "was expanded before it was required"
108016         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
108017         -Wformat-overflow=2 options, due to too many false alarms.
108018         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
108019         Copy from gnulib.
108020         * m4/gnulib-comp.m4: Regenerate.
108021         * src/coding.c (decode_coding_iso_2022):
108022         Fix bug uncovered by -Wimplicit-fallthrough.
108023         * src/conf_post.h (FALLTHROUGH): New macro.
108024         Use it to mark all switch cases that fall through.
108025         * src/editfns.c (styled_format): Use !, not ~, on bool.
108026         * src/gtkutil.c (xg_check_special_colors):
108027         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
108028         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
108029         this bug was actually caught by Clang.
108030         * src/search.c (boyer_moore):
108031         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
108032         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
108033         Tell GCC that glyph->u.glyphless.ch must be a character.
108035 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
108037         Make autoloading Tramp more robust
108039         * lisp/net/tramp.el (tramp-file-name-for-operation):
108040         Use `default-directory' where appropriate.
108041         (tramp-file-name-handler): Do not autoload.
108042         (tramp-autoload-file-name-handler): Reintroduce function.
108043         (tramp-register-autoload-file-name-handlers): Use it.
108045 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
108047         Extend tramp-tests.el
108049         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
108050         Remove declaration, not needed anymore.
108051         (tramp-test05-expand-file-name-relative): New test.
108052         (tramp-test10-write-region): Extend test.
108054 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
108056         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
108058 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
108060         Make `indent-line-to' respect field boundaries (Bug#26891)
108062         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
108063         of `backward-to-indentation'.
108065 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
108067         Make sure indent-sexp stops at end of sexp (Bug#26878)
108069         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
108070         indenting.
108071         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
108072         test.
108074 2017-05-16  Glenn Morris  <rgm@gnu.org>
108076         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
108078         * test/lisp/epg-tests.el (with-epg-tests):
108079         Also set GNUPGHOME in the environment of child processes.
108080         This avoids problems if gpg does not pass --homedir to spawned agent.
108082 2017-05-16  Glenn Morris  <rgm@gnu.org>
108084         Add oldxmenu to system-configuration-features
108086         * configure.ac (HAVE_OLDXMENU): New.
108087         (emacs_config_features): Add oldxmenu.
108089 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
108091         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
108093 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
108095         Remove unneeded stuff from nt/inc/sys/time.h
108097         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
108098         (timercmp, timerclear): Don't define.  Instead, include the system
108099         header sys/time.h, and add only the interval timers stuff.  This
108100         avoids compiler warnings about 'gettimeofday's prototype, and also
108101         avoids redefinition of macros from system headers.
108103 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
108105         Fix address violation found by AddressSanitizer
108107         * src/process.c (connect_network_socket):
108108         Use struct sockaddr_storage, not struct sockaddr_in, to store info
108109         about a socket address.  Problem reported by Philipp Stephani in:
108110         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
108111         This fix is based on a patch by Philipp in:
108112         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
108114 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
108116         Make edebug-step-in work on generic methods (Bug#22294)
108118         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
108119         New function to implement the edebug-form-spec property of
108120         the symbol cl-generic-method-args.
108121         (edebug-instrument-function): If the function is a generic
108122         function, find and instrument all of its methods. Return a list
108123         instead of a single symbol.
108124         (edebug-instrument-callee): Now returns a list. Update docstring.
108125         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
108126         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
108127         cl-generic-method-args in its Edebug spec.
108128         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
108129         cl-generic-method-args in its Edebug spec.
108130         * lisp/subr.el (method-files): New function.
108131         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
108132         (subr-tests--method-files--nonexistent-methods): New tests.
108134 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
108136         Merge from gnulib
108138         This incorporates:
108139         2017-05-14 same-inode: Adapt for windows-stat-inodes
108140         2017-05-14 windows-stat-inodes: New module
108141         2017-05-14 stat-time: Adapt for windows-stat-timespec
108142         * lib/gnulib.mk.in: Regenerate.
108143         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
108144         Copy from gnulib.
108146 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
108148         Remove gettimeofday from w32 sources
108150         * lib-src/ntlib.c (gettimeofday):
108151         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
108152         function 'gettimeofday' and all of its supporting code.
108154 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
108156         Fix the MS-Windows build
108158         * nt/inc/sys/time.h (gettimeofday):
108159         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
108161 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
108163         More accurate documentation of the ':box' face attribute
108165         * doc/lispref/display.texi (Face Attributes): Fix the description
108166         of negative width of the ':box' attribute.  (Bug#26920)
108168 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
108170         Merge from gnulib
108172         This incorporates:
108173         2017-05-13 largefile: Simplify
108174         2017-05-13 largefile: Improve and document
108175         2017-05-13 truncate: New module
108176         2017-05-13 windows-stat-timespec: New module
108177         2017-05-13 windows-stat-override: New module
108178         2017-05-11 getopt-posix: port to mingw
108179         2017-05-11 gettimeofday: Increase precision on mingw
108180         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
108181         2017-05-10 Implement a way to opt out from MSVC support
108182         2017-05-09 tzset: Expand comment about TZ problem on native Windows
108183         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
108184         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
108185         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
108186         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
108187         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
108188         * m4/unistd_h.m4: Copy from gnulib.
108189         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
108191 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
108193         Merge branch 'fix/bug-21072'
108195 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
108197         * .gitlab-ci.yml: Add setup for GitLab CI builds.
108199 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
108201         New minor mode 'pixel-scroll-mode'
108203         * lisp/pixel-scroll.el: New file.
108205         * etc/NEWS: Mention pixel-scroll-mode.
108207 2017-05-13  Philipp  <phst@google.com>
108209         Make `old-style-backquotes' variable internal
108211         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
108212         (syms_of_lread): Rename `old-style-backquotes' to
108213         `lread--old-style-backquotes', and clarify that it's for internal
108214         use only.
108215         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
108216         variable.
108217         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
108218         unit test.
108219         * test/lisp/emacs-lisp/bytecomp-tests.el
108220         (bytecomp-tests--old-style-backquotes): Add unit test.
108222 2017-05-13  Philipp Stephani  <phst@google.com>
108224         Improve unescaped character literal warnings
108226         * src/lread.c (load_warn_unescaped_character_literals)
108227         (syms_of_lread):
108228         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
108229         formatting of unescaped character literal warnings.
108231         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
108232         test/lisp/emacs-lisp/bytecomp-tests.el
108233         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
108235 2017-05-12  Alan Mackenzie  <acm@muc.de>
108237         Fontify C++ for loop variable as variable, even when followed by parentheses
108239         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
108240         getting fontified as a function, due to insufficient checking of the tokens
108241         between it and "()".
108243         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
108244         lang-consts/vars.
108246         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
108247         declarator's identifier, check for a ":" token inside a for's parentheses, and
108248         abort the search for "(" if this is found.
108250 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
108252         Make Tramp backward compatible
108254         * lisp/net/tramp-cmds.el (tramp-change-syntax):
108255         Set tramp-autoload cookie.
108257         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
108258         startup, if necessary.
108260         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
108261         (tramp-register-autoload-file-name-handlers): Do not mark
108262         `operations' for `tramp-file-name-handler'.
108263         (tramp-register-file-name-handlers): Remove also
108264         `tramp-autoload-file-name-handler' for backward compatibility.
108265         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
108267         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
108269 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
108271         Modify `beginning-of-defun-comments'
108273         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
108274         in the middle of a multiline comment.
108276 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
108278         Fix elisp-tests-with-temp-buffer compilation
108280         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
108281         Don't refer to the =!NAME= as "markers" since they produce variables
108282         with just plain positions, not marker objects.  Explicitly specify
108283         that CONTENTS is evaluated at compile time.  Don't re-evaluate
108284         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
108285         to BODY not using =!NAME= variables.
108286         (elisp-test-point-position-regex): Rename from
108287         `elisp-test-point-marker-regex'.
108288         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
108290 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
108292         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
108294 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
108296         Fix Bug#21072 and rework `mark-defun'
108298         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
108299           New variable
108300         (mark-defun-no-arg-region-inactive)
108301         (mark-defun-no-arg-region-active)
108302         (mark-defun-arg-region-active)
108303         (mark-defun-pos-arg-region-inactive)
108304         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
108305         the new `mark-defun'.
108307         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
108308           New function.
108309         (beginning-of-defun-comments): New function.
108310         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
108311         to accept a numerical prefix argument.
108313 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
108315         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
108317 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
108319         Improve doc strings in net-utils.el
108321         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
108322         (route, traceroute, nslookup, ftp, smbclient)
108323         (smbclient-list-shares, finger, whois)
108324         (network-connection-to-service, network-service-connection)
108325         (network-connection-reconnect): Improve doc strings.
108327 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
108329         Extend DNS lookup commands to allow specifying the name server
108331         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
108332         'net-utils-machine-at-point' obviating this autoloaded
108333         function (Bug#25426).
108334         (dig-program-options): New customization variable.
108335         (nslookup-host, dns-lookup-host, run-dig): Can now specify
108336         optional name server argument interactively (by prefix arg) and
108337         non-interactively.
108339         * etc/NEWS: Mention the extension of DNS lookup commands.
108341 2017-05-12  Glenn Morris  <rgm@gnu.org>
108343         Don't hard-code loaddefs files in lisp/Makefile
108345         * lisp/Makefile.in (loaddefs): New variable.
108346         (AUTOGENEL): Use $loaddefs, and include directory.
108347         (bootstrap-clean): Update for AUTOGENEL change.
108349 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
108351         Kill modified buffers silently when quitting (bug#26862)
108353         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
108354         sure that latest drafts are saved, and kill modified buffers silently.
108356 2017-05-10  Perry E. Metzger  <perry@piermont.com>
108358         Implement 1-based column numbering in mode line
108360         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
108362         * lisp/bindings.el (column-number-indicator-zero-based): New
108363         defcustom.
108364         (mode-line-position): Use %C when
108365         column-number-indicator-zero-based is nil.
108367         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
108368         * src/buffer.c (syms_of_buffer) <mode-line-format>:
108369         * doc/lispref/modes.texi (%-Constructs):
108370         * doc/lispref/frames.texi (Frame Titles): Document the %C
108371         construct.
108373         * doc/emacs/display.texi (Optional Mode Line): Document
108374         'column-number-indicator-zero-based'.
108376         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
108377         %C construct.
108379 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
108381         Ensure cursor's foreground color is in sync with 'default' face
108383         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
108384         foreground color is different from the background of the glyph
108385         string's face.  (Bug#26851)
108387 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
108389         Fix vertical cursor motion when columns are of unequal size
108391         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
108392         vertical-motion to move to the goal column, as the goal column
108393         should in that case be interpreted in units of frame's canonical
108394         character width.  (Bug#26852)
108396 2017-05-10  Glenn Morris  <rgm@gnu.org>
108398         Fix finding test .el files
108400         * test/Makefile.in (ELFILES): Exclude the data/ directory.
108401         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
108403 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
108405         Tweak a recent test
108407         This test fails in my local machine because the data files
108408         are compiled, and the test doesn't expect that.
108409         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
108410         ending with '.elc' when the data files are compiled.
108412 2017-05-10  Glenn Morris  <rgm@gnu.org>
108414         Put license information in each generated uni-*.el
108416         * admin/unidata/unidata-gen.el (unidata-gen-file):
108417         Get Copyright line from copyright.html.
108418         Put information in file header, not separate README.
108419         (unidata-gen-charprop): Mention the source location.
108420         * lisp/international/README: Remove file.
108422 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
108424         Fix lisp-indent-region and indent-sexp (Bug#26619)
108426         The new lisp-indent-region introduced in 2017-04-22 "Add new
108427         `lisp-indent-region' that doesn't reparse the code." is broken because
108428         it doesn't save the calculated indent amounts for already seen sexp
108429         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
108430         code.  Furthermore, only preserve position 2 of the running parse
108431         when the depth doesn't change.
108432         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
108433         corresponds with the start point when calling parse-partial-sexp.
108434         (lisp-indent-state): New struct.
108435         (lisp-indent-calc-next): New function, extracted from indent-sexp.
108436         (indent-sexp, lisp-indent-region): Use it.
108437         (lisp-indent-line): Take indentation, instead of parse state.
108438         * test/lisp/emacs-lisp/lisp-mode-tests.el
108439         (lisp-mode-tests--correctly-indented-sexp): New constant.
108440         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
108441         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
108442         tests.
108444 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
108446         Simplify url-encode-url and add a test
108448         * lisp/url/url-util.el (url-encode-url): Simplify.
108449         url-generic-parse-url copes with multibyte strings just fine
108450         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
108452         * test/lisp/url/url-parse-tests.el
108453         (url-generic-parse-url/multibyte-host-and-path): New test.
108455 2017-05-10  Glenn Morris  <rgm@gnu.org>
108457         More informative error when required feature missing
108459         * src/fns.c (Frequire): Include file name in missing feature error.
108460         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
108462 2017-05-10  Glenn Morris  <rgm@gnu.org>
108464         Put re-loaded file back at start of load-history (bug#26837)
108466         * src/lread.c (readevalloop): Fix the "whole buffer" check to
108467         operate in the correct buffer.
108468         (Feval_buffer): Move point back to the start after checking
108469         for lexical binding.
108470         * test/src/lread-tests.el (lread-test-bug26837): New test.
108471         * test/data/somelib.el, test/data/somelib2.el: New test data files.
108473 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
108475         Improve documentation of 'gnutls-verify-error'
108477         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
108478         doc string.  (Bug#26845)
108480 2017-05-09  Glenn Morris  <rgm@gnu.org>
108482         Don't duplicate autoload code in package.el
108484         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
108485         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
108486         (package-autoload-ensure-default-file): Use autoload-rubric.
108488 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
108490         * test/lisp/net/tramp-tests.el: Keep additional test.
108492 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
108494         Add elisp-tests-with-temp-buffer, a new testing macro
108496         * test/lisp/emacs-lisp/lisp-tests.el
108497         (elisp-test-point-marker-regex) New variable.
108498         (elisp-tests-with-temp-buffer): New macro to help test functions
108499         moving the point and/or mark.
108501 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
108503         Revert "Output number of characters added to file (Bug#354)"
108505         The extra message text turned out to be quite annoying in practice,
108506         and is generally more trouble than it's worth.  Also revert several
108507         related changes.
108509         Partially revert "Handle `write-region' messages in Tramp properly"
108510         Revert "New var write-region-verbose, default nil"
108511         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
108512         Revert "Minor tuneup of write-region change"
108513         Revert "Adjust write-region so file name is at the beginning again"
108514         Revert "Fix handling of non-integer START param to write-region"
108515         Revert "Output number of characters added to file (Bug#354)"
108517         * doc/emacs/files.texi (Misc File Ops):
108518         * etc/NEWS:
108519         * lisp/epa-file.el (epa-file-write-region):
108520         * lisp/gnus/mm-util.el (mm-append-to-file):
108521         * lisp/jka-compr.el (jka-compr-write-region):
108522         * lisp/net/ange-ftp.el (ange-ftp-write-region):
108523         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
108524         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
108525         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
108526         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
108527         * lisp/net/tramp.el (tramp-handle-write-region-message):
108528         * src/fileio.c (write_region, syms_of_fileio):
108529         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
108530         extra characters from file writing messages.
108532 2017-05-09  Noah Friedman  <friedman@splode.com>
108534         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
108535         because $ptr is modified by ygetptr and we use $ptr immediately at the
108536         beginning.
108538 2017-05-08  Ken Brown  <kbrown@cornell.edu>
108540         Skip a test from filenotify-tests.el on Cygwin
108542         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
108543         Skip the last part of the test on Cygwin; it fails due to timing
108544         issues.
108545         (file-notify--test-read-event):  Remove `sit-for' that was added
108546         for Cygwin.
108548 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
108550         Merge from gnulib
108552         This incorporates:
108553         2017-05-08 intprops: don’t depend on ‘verify’
108554         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
108555         2017-05-07 utimens: Improve error code on native Windows
108556         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
108558 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
108560         Fix various verilog-mode.el issues.
108562         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
108563         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
108564         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
108565         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
108566         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
108567         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
108568         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
108569         msg2143. Reported by Galen Seitz.
108570         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
108571         compile-command is globally set, bug1119.  Reported by Galen Seitz.
108573 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
108575         Handle `write-region' messages in Tramp properly
108577         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
108578         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
108579         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
108580         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
108581         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
108583         * lisp/net/tramp.el (tramp-password-prompt-regexp)
108584         (tramp-completion-mode-p):
108585         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
108586         (tramp-append-tramp-buffers):
108587         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
108588         Use `bound-and-true-p'.
108590         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
108591         Don't check for `boundp' anymore.
108593         * test/lisp/net/tramp-tests.el (ert-x): Require it.
108594         (tramp--test-messages): New defvar.
108595         (tramp-test10-write-region): Extend test.
108597 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
108599         Fix glyph string generation for multi-font compositions (Bug#26742)
108601         * src/xdisp.c (glyph_string_containing_background_width): New function.
108602         (draw_glyphs): Use it to get correct background width.
108603         (compute_overhangs_and_x): Don't change x in the middle of composite
108604         characters.
108606 2017-05-07  Philipp Stephani  <phst@google.com>
108608         Fix all unescaped character literals
108610 2017-05-07  Alan Mackenzie  <acm@muc.de>
108612         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
108614         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
108615         e.g., between the two characters of an opening comment "/*", and additionally
108616         there were an odd number of quote marks (apostrophes) in the comment.  This
108617         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
108618         buffer position 615001.
108620         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
108621         pps-extended-state to mean that there are at least 11 elements in the parser
108622         state.
108624         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
108625         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
108626         types which indicate potentially being inside two-char constructs.
108627         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
108628         functions.
108630 2017-05-07  Glenn Morris  <rgm@gnu.org>
108632         Silence an mh-compat compiler warning
108634         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
108636 2017-05-07  Glenn Morris  <rgm@gnu.org>
108638         Evaluate mh-require when compiling
108640         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
108641         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
108642         Evaluate mh-require when compiling, as require is automatically.
108643         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
108645 2017-05-07  Glenn Morris  <rgm@gnu.org>
108647         Remove obsolete method of changing byte-compile-dest-file
108649         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
108650         Define unconditionally.
108652 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
108654         New var write-region-verbose, default nil
108656         By popular demand, write-region char counts are now off by default
108657         (Bug#26796).
108658         * src/fileio.c (write-region-verbose): New Lisp var.
108659         (write_region): Output char count only if the var is non-nil.
108660         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
108662 2017-05-07  Glenn Morris  <rgm@gnu.org>
108664         Write autoloads file atomically
108666         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
108667         New function, to save buffer atomically.
108668         (autoload-save-buffers, update-directory-autoloads):
108669         Use autoload--save-buffer.
108670         * lisp/Makefile.in ($(lisp)/loaddefs.el):
108671         No longer write to a temp file by hand.
108673 2017-05-07  Glenn Morris  <rgm@gnu.org>
108675         Write autoloads file once only
108677         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
108678         Simplify.  Don't bother about ensuring the output file exists.
108679         (autoload-generated-file): Add doc.
108680         (autoload-ensure-writable): Update doc.
108681         (autoload-ensure-file-writeable): Handle non-existing file.
108682         (autoload-ensure-default-file): Remove function.
108684 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
108686         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
108688         * src/.gdbinit (Lisp_Object_Printer.to_string):
108689         Explicitly convert integer val to 'int', so that
108690         older GDBs do not complain about the conversion.
108691         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
108692         Give the struct a tag, so that older GDB pretty-printers have a
108693         tag to hang their hat on.
108695 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108697         Pretty-print const Lisp_Objects in .gdbinit
108699         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
108700         Compare unqualified type to Lisp_Object, to do the right thing
108701         when the expression has type ‘Lisp_Object const’.
108702         Problem reported by Eli Zaretskii in:
108703         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
108705 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108707         Pacify GCC setjmp/longjmp warning
108709         * src/eval.c (internal_lisp_condition_case): Do not modify local
108710         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
108711         cases mistakenly diagnoses VAR possibly being modified between a
108712         setjmp and a longjmp.
108714 2017-05-06  Philipp  <phst@google.com>
108716         Fix bootstrap build of files.el
108718         * lisp/files.el (file-name-non-special): Don't use cl-letf.
108720 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
108722         Fix last change for MS-Windows
108724         * test/src/emacs-module-tests.el (module-function-object): Port to
108725         MS-Windows.
108727 2017-05-06  Philipp Stephani  <phst@google.com>
108729         Introduce new misc type for module function
108731         This resolves a couple of FIXMEs in emacs-module.c.
108733         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
108735         * src/alloc.c (make_module_function): New function.
108736         (mark_object): GC support.
108738         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
108740         * src/print.c (print_object): Print support for new type.
108742         * src/emacs-module.c (module_make_function, Finternal_module_call):
108743         Use new module function type, remove FIXMEs.
108744         (module_format_fun_env): Adapt and give it external linkage.
108746         * test/src/emacs-module-tests.el (module-function-object): Add unit
108747         test.
108749 2017-05-06  Philipp Stephani  <phst@google.com>
108751         Fix quoted files for 'verify-visited-file-modtime'
108753         Fixes Bug#25951.
108755         * lisp/files.el (file-name-non-special): Set the file name for the
108756         correct buffer.
108758         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
108759         Add unit test.
108760         (files-tests--with-advice, files-tests--with-temp-file): New helper
108761         macros.
108763 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
108765         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
108767 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
108769         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
108771         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
108772         ENABLE_CHECKING is defined.
108773         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
108774         instead of being defined.
108776 2017-05-06  Tom Tromey  <tom@tromey.com>
108778         Fix erc-join with channel password
108780         Bug#25349
108781         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
108782         server names.
108783         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
108784         Likewise.
108785         (erc-server-join-channel): Move to erc.el.
108786         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
108787         (erc-cmd-JOIN): Use erc-server-join-channel.
108789 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
108791         Ensure the created temp file in a test is new
108793         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
108794         to create the temp file.
108796 2017-05-06  Glenn Morris  <rgm@gnu.org>
108798         Decruftify dns-mode.el a little bit
108800         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
108801         New constant.
108802         (dns-mode-control-entity, dns-mode-bad-control-entity)
108803         (dns-mode-type, dns-mode-class): New faces.
108804         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
108805         (dns-mode-type-face, dns-mode-class): Make these variables use the
108806         new faces, and mark as obsolete.
108807         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
108809 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108811         Pretty-print Lisp_Object values in GDB
108813         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
108814         GDB displays them as "XIL(0xXXX)" rather than displaying them
108815         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
108816         otherwise.
108818 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
108820         Tweak dns-mode font-lock
108822         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
108823         Highlight $TTL as a control entity.  (Bug#26780)
108825 2017-05-05  Glenn Morris  <rgm@gnu.org>
108827         Fontify the doc-string in some CL forms as such
108829         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
108830         Add the doc-string-elt property.  (Bug#26778)
108832 2017-05-05  Glenn Morris  <rgm@gnu.org>
108834         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
108836 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
108838         cl-defmethod: Make the edebug spec more technically correct
108840         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
108841         edebug spec part for qualifiers as [&rest atom], per
108842         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
108844 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
108846         Fix MH-E not to load cl at runtime (Bug#25552)
108848         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
108849         compile time, whether the target is bound.
108850         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
108851         mh-acros at compile time.
108852         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
108853         <npostavs@users.sourceforge.net>
108855 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
108857         Multiline support in NS "Open Selected File" service.
108859         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
108860         original call in a (split-string) to create as many calls as there
108861         are lines.
108862         (ns-spi-service-call): Call `ns-open-file-service' instead of
108863         `dnd-open-file'.
108865 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
108867         Require cl-lib at runtime in vc-hg
108869         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
108871 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
108873         Inherit incompatible/obsolete package faces from error
108875         Don't use the same face for installed packages as for incompatible
108876         or obsolete ones.
108877         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
108879 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
108881         Set process property `adjust-window-size-function' to `ignore' in Tramp
108883         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
108884         (tramp-adb-maybe-open-connection):
108885         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
108886         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
108887         (tramp-maybe-open-connection):
108888         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
108889         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
108890         (tramp-smb-maybe-open-connection): Set process property
108891         `adjust-window-size-function' to `ignore'.
108893 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
108895         * lisp/emacs-lisp/seq.el: Bump seq version.
108897 2017-05-04  Damien Cassou  <damien@cassou.me>
108899         Add seq-set-equal-p to test for set equality
108901         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
108902           two lists as if they were sets.
108904         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
108905           for seq-set-equal-p.
108907 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
108909         Spelling fixes
108911         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
108912         Rename from nndiary-last-occurence.
108913         (nndiary-next-occurrence):
108914         Rename from nndiary-next-occurence.  All uses changed.
108916 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
108918         Merge from pkg-config
108920         * m4/pkg.m4: Copy from pkg-config 0.29.1.
108922 2017-05-04  Tom Tromey  <tom@tromey.com>
108924         Add color highlighting to css-mode
108926         Bug#25525
108927         * lisp/textmodes/css-mode.el (css--color-map): New constant.
108928         (css-value-class-alist): Use css--color-map.
108929         (css--number-regexp, css--percent-regexp)
108930         (css--number-or-percent-regexp, css--angle-regexp): New constants.
108931         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
108932         functions.
108933         (css--colors-regexp): New constant.
108934         (css--hex-color, css--named-color, css--compute-color)
108935         (css--contrasty-color, css--fontify-colors)
108936         (css--fontify-region): New functions.
108937         (css-mode): Set font-lock-fontify-region-function.
108938         (css-mode-syntax-table): Set syntax on more characters.
108939         (css-fontify-colors): New defcustom.
108940         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
108941         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
108942         Update.
108943         (css-test-rgb-parser, css-test-hsl-parser)
108944         (css-test-named-color): New tests.
108945         * etc/NEWS: Add entry.
108947 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
108949         Fix Bug#26763
108951         * lisp/files.el (delete-directory): Call file name handler
108952         with `trash' argument.
108954         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
108955         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
108956         Add TRASH arg.  Implement it.  (Bug#26763)
108957         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
108959         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
108960         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
108961         Add _TRASH arg.
108963 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
108965         Use ptrdiff_t, not int, for stack sizes
108967         * src/thread.c (invoke_thread_function):
108968         * src/xterm.c (x_cr_export_frames):
108969         Don’t assume SPECPDL_INDEX fits in ‘int’.
108971 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
108973         Check list object type if --enable-gcc-warnings
108975         * configure.ac (--enable-check-lisp-object-type):
108976         Default to "yes" if --enable-gcc-warnings is not "no".
108977         * etc/NEWS: Mention this.
108978         * src/eval.c (internal_lisp_condition_case): Fix some glitches
108979         with 'volatile' uncovered by the above: in particular, 'clauses'
108980         should be a pointer to volatile storage on the stack, and need not
108981         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
108982         Don’t bother gathering binding count if VAR is nil.  Use
108983         more-specific local names to try to clarify what’s going on.
108985 2017-05-02  Glenn Morris  <rgm@gnu.org>
108987         Tweak auth-source-pass.el to avoid run-time subr-x
108989         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
108990         Avoid needing subr-x at run-time.
108992 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
108994         Constrain non-child frames to screen area in OS X
108996         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
108997         frames in OS X, if they would otherwise go offscreen.
108999         (Bug#25818)
109001 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
109003         Fix error in completion for separate Tramp syntax
109005         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
109006         Tweak regexp.
109008         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
109009         Run method and host name completion for all syntaxes.
109011 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
109013         Avoid compilation warnings
109015         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
109016         * src/w32term.c (x_draw_glyph_string):
109017         * src/w32fns.c (compute_tip_xy):
109018         * src/w32font.c (w32font_text_extents):
109019         * src/w32menu.c (set_frame_menubar):
109020         * src/search.c (Freplace_match): Avoid compiler warnings in
109021         optimized builds.
109023 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
109025         Merge from gnulib
109027         This incorporates:
109028         2017-05-02 utimens: port to Emacs + MS-Windows
109029         * lib/utimens.c: Copy from gnulib.
109031 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
109033         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
109035         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
109036         to make Edebug generate a new symbol for each method (Bug#24753) and
109037         to support a string following :extra (Bug#23995).
109038         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
109039         make Edebug generate a new symbol for each method (Bug#24753).
109041 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
109043         Temporary fix for the MS_Windows build
109045         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
109046         to be consistent with Gnulib's utimens.c.  This is because utimens.c
109047         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
109048         previous definition here conflicted with that.
109050 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
109052         Port format-time-string to MS-Windows better
109054         * test/src/editfns-tests.el (format-time-string-with-zone):
109055         Port test cases to MS-Windows.
109057 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
109059         Merge from gnulib
109061         This incorporates:
109062         2017-05-01 New module 'localtime-buffer'
109063         2017-04-30 utimens: Add support for native Windows
109064         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
109065         * configure.ac (tzset): No need for Emacs itself to check now.
109066         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
109067         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
109068         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
109069         * lib/localtime-buffer.c, lib/localtime-buffer.h:
109070         * m4/localtime-buffer.m4: New files, copied from gnulib.
109071         * src/editfns.c (init_editfns): Assume tzset is callable.
109073 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
109075         Speed up project-find-regexp for simple regexps
109077         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
109078         New function.
109079         (xref--collect-matches): Use it.  Don't try to enable the
109080         appropriate major mode and file-local variables if the regexp
109081         does not depend on the buffer's syntax (bug#26710).
109082         (xref--collect-matches-1): Don't syntax-propertize in that
109083         case either.
109085 2017-05-01  Philipp Stephani  <phst@google.com>
109087         Warn about missing backslashes during load
109089         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
109090         (syms_of_lread): Warn if unescaped character literals are
109091         found (Bug#20152).
109092         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
109093         unescaped character literals during byte compilation.
109094         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
109095         unit test.
109096         (lread-tests--with-temp-file, lread-tests--last-message): Helper
109097         functions for unit test.
109098         * test/lisp/emacs-lisp/bytecomp-tests.el
109099         (bytecomp-tests--unescaped-char-literals): New unit test.
109100         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
109101         Helper macro for unit test.
109103 2017-05-01  Ken Brown  <kbrown@cornell.edu>
109105         * configure.ac: Suggest Mailutils on Cygwin.
109107 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
109109         Don’t stress-test time zones near the Epoch
109111         * test/src/editfns-tests.el (format-time-string-with-zone)
109112         (format-time-string-with-outlandish-zone): Don’t format
109113         timestamps near the Epoch, as this runs into bugs on MS-Windows,
109114         and we don’t want to worry about those bugs.
109116 2017-05-01  Glenn Morris  <rgm@gnu.org>
109118         Tweak vc-tests.el for bzr
109120         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
109121         Handle test environments where HOME does not exist.
109123 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
109125         vc-git-state: Return `ignored' as appropriate with newer Git
109127         * lisp/vc/vc-git.el
109128         (vc-git--program-version): New variable.
109129         (vc-git--program-version): New function.
109130         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
109132 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
109134         vc-git-state: Bring back CentOS 6 compatibility
109136         * lisp/vc/vc-git.el (vc-git-state):
109137         Bring back CentOS 6 compatibility (bug#19343).
109139 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
109141         Rewrite w32fns.c's `x_set_menu_bar_lines'
109143         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
109144         regardless of whether menu bar is added or removed.  Clear
109145         under internal border iff a W32 window exists.  Store either 0
109146         or 1 as new parameter value.
109147         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
109148         FRAME_X_WINDOW.
109150 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
109152         Fix filenotify-tests.el for cygwin
109154         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
109155         Add an additional `sit-for'.
109156         (file-notify-test02-rm-watch): Add an additional
109157         `file-notify--test-read-event' call.
109159 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
109161         Speed up vc-git-status and make it more precise
109163         * lisp/vc/vc-git.el (vc-git-state)
109164         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
109165         'git status', so that 'vc-git-state' can now return 'ignored',
109166         'conflict', or 'unregistered' when appropriate.  Discussed in
109167         bug#26066.  Fixes bug#19343.
109169 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
109171         Fix Git revision navigation in currently removed directories
109173         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
109174         default-directory because FILE's parent directory might not exist
109175         anymore (bug#26345).
109177 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
109179         Merge from gnulib
109181         This incorporates:
109182         2017-04-30 strftime-fixes: New module
109183         2017-04-30 mktime: Work around TZ problem on native Windows
109184         2017-04-30 ctime, localtime: New modules
109185         2017-04-30 gettimeofday: Provide higher resolution on native Windows
109186         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
109187         2017-04-29 Make use of module 'utime-h'
109188         2017-04-30 Fix a few typos
109189         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
109190         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
109191         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
109192         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
109193         Copy from gnulib.
109194         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
109196 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
109198         Don't lose key bindings on mis-spelled text in flyspell-mode
109200         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
109201         explicitly.
109202         (make-flyspell-overlay): If the mis-spelled text already has a
109203         'keymap' property, make that keymap the parent of
109204         flyspell-mouse-map, so as not to lose the parent's bindings.
109205         (Bug#26672)
109207 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
109209         Fix `delete-frame' behavior including Bug#26682
109211         * src/frame.c (other_frames): Accept two arguments now.  Don't
109212         care about minibuffer window.  Don't care about visibility when
109213         called from delete_frame with FORCE true (Bug#26682).
109214         (delete_frame, Fmake_frame_invisible): Adjust other_frames
109215         calls.
109216         * src/w32term.c (w32_read_socket): Don't add a move frame event
109217         for an invisible frame.
109218         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
109219         attempting to delete a surrogate minibuffer frame.
109221 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
109223         Merge from gnulib
109225         This avoids incorporating the following, which I suspect are
109226         more trouble for Emacs than they’re worth:
109227         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
109228         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
109229         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
109230         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
109232 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
109234         Fix buffer overflow in make-docfile
109236         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
109237         overflow when reading an identifier.  Use a static buffer for NAME
109238         rather than a small dynamically-allocated buffer.
109240 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
109242         Merge from gnulib
109244         This incorporates:
109245         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
109246         * lib/getopt-pfx-ext.h: Copy from gnulib.
109247         * lib/gnulib.mk.in: Regenerate.
109249 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
109251         Fix dependency error during bootstrap
109253         * lisp/files.el: Require pcase and easy-mmode at compile time.
109255 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
109257         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
109259 2017-04-29  Philipp Stephani  <phst@google.com>
109261         Reimplement auto-saving to visited files
109263         This reacts to confusing behavior of 'auto-save-visited-file-name',
109264         cf. Bug#25478.
109266         * lisp/files.el (auto-save-visited-interval): New customization option.
109267         (auto-save-visited-mode): New global minor mode.
109268         (auto-save-visited-file-name): Make obsolete.
109269         (auto-save--timer): New internal helper variable.
109271         * doc/emacs/files.texi (Auto Save Files): Document
109272         'auto-save-visited-mode' instead of obsolete
109273         'auto-save-visited-file-name'.
109274         (Auto Save Control): Document customization option
109275         'auto-save-visited-interval'.
109277 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
109279         Allow bypassing of some checks when merging
109281         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
109283 2017-04-29  Philipp Stephani  <phst@google.com>
109285         Integrate module test with normal test suite
109287         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
109288         configured.
109289         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
109290         correctly even if Emacs changes the current directory.
109291         ($(srcdir)/src/emacs-module-tests.log)
109292         ($(test_module)): Proper dependency tracking for test module.
109294         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
109295         Remove 'check' target and EMACS variable, which are no longer
109296         necessary.
109297         (SO): Change to include period.
109299         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
109300         environment variable to reliably find test data.
109302         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
109303         substitutions.
109305 2017-04-28  Glenn Morris  <rgm@gnu.org>
109307         Broaden comint-password-prompt-regexp
109309         * lisp/comint.el (comint-password-prompt-regexp):
109310         Broaden the regexp, for non-English locales.  (Bug#26698)
109312 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
109314         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
109316 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
109318         Don't pass the value of point to 'push-mark', as that's the default.
109320         * lisp/textmodes/bib-mode.el (mark-bib):
109321         * lisp/simple.el (mark-whole-buffer, yank):
109322         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
109323         * lisp/progmodes/xscheme.el (xscheme-yank):
109324         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
109325         * lisp/progmodes/perl-mode.el (perl-mark-function):
109326         * lisp/progmodes/pascal.el (pascal-mark-defun):
109327         * lisp/progmodes/meta-mode.el (meta-mark-defun):
109328         * lisp/progmodes/icon.el (mark-icon-function):
109329         * lisp/progmodes/cc-cmds.el (c-mark-function):
109330         * lisp/obsolete/vip.el (ex-goto):
109331         * lisp/obsolete/vi.el (vi-put-before):
109332         * lisp/mouse.el (mouse-yank-primary):
109333         * lisp/menu-bar.el (menu-bar-select-yank):
109334         * lisp/mail/sendmail.el (mail-yank-original):
109335         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
109336         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
109337         (viper-mark-end-of-buffer):
109338         * lisp/cedet/semantic/senator.el (senator-mark-defun):
109339         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
109340         `(point)' from calls to `push-mark'.  (Bug#25565)
109342 2017-04-28  Glenn Morris  <rgm@gnu.org>
109344         Merge from origin/emacs-25
109346         784602b1050 (origin/emacs-25) ; Add release notice
109347         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
109348         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
109349         2b0d1118199 ; CONTRIBUTE: Remove stray header.
109350         f2ab09ec60d Fix a typo in indexing the user manual
109351         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
109352         a6d50401b4b Document 'line-pixel-height'
109353         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
109354         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
109355         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
109356         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
109357         84938d79698 default-directory: Remark that it must be a directory name
109358         3f0d047d2eb Delete confuse statement in manual
109359         ee1bd94dd0c Improve packaging documentation
109360         fb18bff91f0 Expand manual section on quitting windows
109361         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
109362         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
109363         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
109364         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
109365         e0e9db4c84a ; Spelling fix
109367         # Conflicts:
109368         #       README
109369         #       etc/AUTHORS
109370         #       etc/HISTORY
109371         #       lisp/ldefs-boot.el
109373 2017-04-28  Glenn Morris  <rgm@gnu.org>
109375         * doc/misc/auth.texi: Commas don't work in node names.
109377         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
109379 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
109381         Test format-time-string with zone arg
109383         * test/src/editfns-tests.el (format-time-string-with-zone)
109384         (format-time-string-with-outlandish-zone): New tests.
109386 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
109388         Merge from gnulib
109390         This incorporates:
109391         2017-04-24 time_rz: fix heap buffer overflow vulnerability
109392         2017-04-23 stat-time: Update comments.
109393         2017-04-22 ftoastr: cite a newer paper
109394         2017-04-21 gettext-h: Avoid -Wundef warning.
109395         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
109396         * m4/getopt.m4: Copy from gnulib.
109397         * m4/gnulib-comp.m4: Regenerate.
109399 2017-04-27  Damien Cassou  <damien@cassou.me>
109401         auth-source-pass: Add documentation; fix tests and indentation.
109403         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
109404           instead of @enumerate.
109405         * lisp/auth-source-pass.el: Fix indentation.
109406           (auth-source-pass--remove-directory-name): Remove.
109407         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
109409 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
109411         auth-source-pass: Enable finding entries by "host/username"
109413         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
109414         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
109416 2017-04-27  Damien Cassou  <damien@cassou.me>
109418         Integrate auth-source with password-store
109420         * lisp/auth-source-pass.el: auth-source backend for password-store.
109421         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
109422           behavior.
109424 2017-04-27  Damien Cassou  <damien@cassou.me>
109426         * lisp/auth-source.el: Document parser functions.
109428 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
109430         auth-source: factor out parsers and add tests
109432         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
109433         * test/lisp/auth-source-tests.el: Add tests.
109435 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
109437         Fix doc and customization type of `window-combination-limit' (Bug#26673)
109439         * src/window.c (Vwindow_combination_limit): Fix doc-string.
109440         * lisp/cus-start.el (window-combination-limit): Fix
109441         customization type.
109442         * doc/lispref/windows.texi (Recombining Windows): Fix
109443         documentation of `window-combination-limit'.
109445 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
109447         Drop face from hi-lock--unused-faces only when used
109449         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
109450         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
109451         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
109453 2017-04-26  Alan Third  <alan@idiocy.org>
109455         Fix macOS version check (bug#26664)
109457         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
109458         macOS versions 10.12+.
109460 2017-04-26  Glenn Morris  <rgm@gnu.org>
109462         Make charprop.el provide a feature
109464         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
109465         Provide a feature.
109466         * lisp/loadup.el: Use the charprop feature.
109468 2017-04-26  Glenn Morris  <rgm@gnu.org>
109470         * lisp/loadup.el: Get charprop.el into etc/DOC again.
109472 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
109474         * lisp/ido.el (ido-everywhere): Use add-function.
109476 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
109478         Try to fix latest fix of w32_mouse_position
109480         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
109481         latest fix and try to make the affected code more rigorous.
109483 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
109485         Avoid segfaults when 'find-font' is invoked for a TTY frame
109487         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
109488         text-mode frame.  (Bug#26646)
109490 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
109492         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
109494         New defun.
109496 2017-04-26  Glenn Morris  <rgm@gnu.org>
109498         * src/Makefile.in (leimdir): Remove variable, no longer used.
109500 2017-04-26  Glenn Morris  <rgm@gnu.org>
109502         Generate leim-list via lisp/Makefile, not src/Makefile
109504         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
109505         (emacs$(EXEEXT)): Don't depend on leim-list.
109506         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
109508 2017-04-25  Alan Third  <alan@idiocy.org>
109510         Fix define for GNUstep builds
109512         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
109513         doesn't see the code.
109515 2017-04-25  Glenn Morris  <rgm@gnu.org>
109517         Suppress intermittent test failure on hydra
109519         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
109520         (eieio-test-method-order-list-6): Skip on hydra.
109522 2017-04-25  Alan Third  <alan@idiocy.org>
109524         Fix some NS frame handling issues
109526         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
109527         defines intended to make things tidier.
109528         (x_set_undecorated): Use the new defines.
109529         (windowWillResize): Don't use new macOS 12+ only feature.
109530         (initFrameFromEmacs): Use the new defines, and disable automatic
109531         window tabbing feature in macOS 12.
109532         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
109533         x_set_z_group): Add NSTRACE notices.
109535 2017-04-25  Glenn Morris  <rgm@gnu.org>
109537         Avoid parallel race condition
109539         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
109541 2017-04-25  Glenn Morris  <rgm@gnu.org>
109543         Generate each unicode lisp file independently
109545         This is better for parallel builds, eg it eliminates race
109546         conditions from having one process write multiple files.
109547         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
109548         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
109549         (all): Explicitly list the output lisp files.
109550         (PHONY_EXTRAS): Remove.
109551         (${unidir}/charprop.el): Change rule to just be for this file.
109552         (${unifiles}): New rule to write each unicode lisp file.
109553         (extraclean): Simplify.
109554         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
109555         Quieten in batch mode.
109556         (unidata-gen-files): Remove, no longer used.
109557         * lisp/loadup.el: Update command-line parser.
109559 2017-04-25  Glenn Morris  <rgm@gnu.org>
109561         Further refactoring in unidata-gen.el
109563         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
109564         New function, split from unidata-gen-files.
109565         (unidata-gen-files): Use unidata-gen-charprop.
109567 2017-04-25  Glenn Morris  <rgm@gnu.org>
109569         Allow unidata-gen-file to work independently
109571         * admin/unidata/unidata-gen.el (unidata-gen-file):
109572         Make it work as a stand-alone function in batch mode.
109573         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
109575 2017-04-25  Glenn Morris  <rgm@gnu.org>
109577         Preparatory refactoring in unidata-gen.el
109579         * admin/unidata/unidata-gen.el (unidata-gen-file):
109580         New function, split from unidata-gen-files.
109581         (unidata-gen-files): Use unidata-gen-file.
109583 2017-04-25  Glenn Morris  <rgm@gnu.org>
109585         Write each generated character property lisp file only once
109587         * admin/unidata/unidata-gen.el (unidata-file-alist):
109588         Rename from unidata-prop-alist.  All users changed.
109589         Use file name rather than property name as the key.
109590         (unidata-prop-prop): New function.
109591         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
109592         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
109593         Change to parse the argument rather than unidata-prop-alist.
109594         (unidata-gen-table-character, unidata-gen-table)
109595         (unidata-gen-table-symbol, unidata-gen-table-integer)
109596         (unidata-gen-table-numeric, unidata-gen-table-word-list)
109597         (unidata-gen-table-name, unidata-gen-table-decomposition)
109598         (unidata-gen-table-special-casing): Pass index as an argument.
109599         (unidata-check): Adapt to unidata-file-alist.
109600         Pass index to generator functions.
109601         (unidata-gen-files): Adapt to unidata-file-alist.
109602         Write each output file once only.  Overwrite rather than delete.
109604 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
109606         Fix requesting sparse articles in gnus
109608         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
109609         sparse article number from the list, not its id.
109611 2017-04-25  Glenn Morris  <rgm@gnu.org>
109613         Don't advertise s_client in tls.el docs
109615         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
109616         Don't mention s_client in docs.
109618 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
109620         Remove s_client usage from tls.el
109622         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
109623         Ref https://bugs.debian.org/766397
109624         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
109626 2017-04-25  Glenn Morris  <rgm@gnu.org>
109628         Further robustify cedet bootstrap to loaddefs not yet built
109630         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
109631         Avoid void-function error when bootstrapping and semantic/loaddefs.el
109632         does not yet exist.
109634 2017-04-24  Alan Third  <alan@idiocy.org>
109636         Fix XBM color rendering in NS port (bug#22060)
109638         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
109640 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
109642         Add support for IRCv3 message tags.
109644         * lisp/erc/erc-backend.el:
109645           erc-response: Add `tags' element.
109646           Add (erc-parse-tags).
109647           (erc-parse-server-response): Use (erc-parse-tags) to parse message
109648           tags (if any), and store them in `erc-resopnse' struct.
109650         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
109651           properties of the corresponding message line.
109653 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
109655         Add image sizing tests for an image that's narrow
109657         Needlessly refactor tests for clarity
109659 2017-04-23  Philipp Stephani  <phst@google.com>
109661         Add missing remappings for Ido mode
109663         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
109665         * lisp/ido.el (ido-mode): Remap missing commands.
109666         (ido-file-internal, ido-visit-buffer): Add support for new
109667         methods.
109668         (ido-display-buffer-other-frame)
109669         (ido-find-alternate-file-other-window, ido-dired-other-window)
109670         (ido-dired-other-frame): New commands.
109672         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
109673         test for the bindings.
109675 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
109677         Let w32_mouse_position pick a child window only if it has a child frame
109679         * src/w32term.c (w32_mouse_position): When using a frame found
109680         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
109681         maybe).
109683 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
109685         Don't require bytecomp for running ert tests
109687         "Fix ert-tests when running compiled" 2016-12-06 accidentally
109688         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
109689         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
109690         on bytecomp was masked by loading other libraries until recently.
109692         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
109693         `byte-compile-macro-environment' if it's bound.
109694         * test/src/eval-tests.el: Add defvar for dynamic variable
109695         `byte-compile-debug'.
109697 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
109699         Eliminate unneeded warp-to-article in gnus article referral
109701         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
109702         (gnus-summary-refer-article): Remove gnus-warp-to article call.
109704 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
109706         Allow limiting gnus summary buffers to a thread
109708         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
109709         an optional argument to allow limiting the summary buffer to just the
109710         thread-related articles.
109711         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
109712         to control whether thread-referral adds the thread to the summary
109713         buffer or limits to just the thread.
109714         (gnus-summary-refer-thread): Use the new variable.
109716 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
109718         Correct gnus-newsgroup-limits in gnus when including thread
109720         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
109721         only add one list of thread-related articles to gnus-newsgroup-limits
109722         rather than two.
109724 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
109726         Improve gnus thread matching of similar subjects
109728         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
109729         Use the more liberal gnus-general-simplify-subject regexp to
109730         find thread articles with similar subjects.
109732 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
109734         Add new `lisp-indent-region' that doesn't reparse the code.
109736         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
109737         to get initial state, so they will no longer indent string literal
109738         contents.
109740         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
109741         `syntax-ppss', but with a more dependable item 2.
109742         (lisp-indent-region): New function, like `indent-region-line-by-line'
109743         but additionally keep a running parse state to avoid reparsing the
109744         code repeatedly.  Use `lisp-ppss' to get initial state.
109745         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
109746         `calculate-lisp-indent', use `lisp-ppss' if not given.
109747         (lisp-mode-variables): Set `indent-region-function' to
109748         `lisp-indent-region'.
109750 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
109752         Remove ignored argument from lisp-indent-line
109754         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
109755         argument, the behavior has long since been handled in
109756         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
109757         variables and use `indent-line-to'.
109759 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
109761         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
109763 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
109765         Don't reparse the sexp in indent-sexp (Bug#25122)
109767         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
109768         PARSE-START be a parse state that can be reused.
109769         (indent-sexp): Pass the running parse state to calculate-lisp-indent
109770         instead of the sexp beginning position.  Saving the
109771         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
109772         needed.  Don't bother stopping if we don't descend below init-depth,
109773         since we now always scan the whole buffer (via syntax-ppss) anyway.
109774         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
109775         line to test case.
109777 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
109779         Add cond test cases for singleton clauses.
109781         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
109782           the default clause is a single non-nil expression.
109784 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
109786         b-c--cond-jump-table-info: Use correct body for singleton clauses
109788         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
109789         When a clause's body consists of a single constant expression, use
109790         that expression as the body to be compiled. This fixes switch bytecode
109791         evaluating to nil to such clauses.
109793 2017-04-22  Philipp Stephani  <phst@google.com>
109795         ffap: Don't switch window unless needed
109797         When using ffap-other-window, don't change the window configuration
109798         unless a new buffer has actually been created (Bug#25352).
109800         * lisp/ffap.el (ffap-other-frame): Don't change the window
109801         configuration if no new buffer has been created.
109802         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
109803         test.
109805 2017-04-22  Alan Mackenzie  <acm@muc.de>
109807         Fix fontification of C++ declaration with type FOO::FOO.
109809         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
109810         cfd-top-level properly.
109811         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
109812         before deciding it is a constructor.
109814         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
109815         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
109816         (simple bug fix).
109818 2017-04-22  Philipp Stephani  <phst@google.com>
109820         Fix usage of FRAME_Z_GROUP
109822         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
109823         Lisp object, cf. Bug#26597.
109825 2017-04-22  Alan Third  <alan@idiocy.org>
109827         Fix GNUstep build
109829         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
109830         compatibility.
109831         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
109833 2017-04-21  Alan Third  <alan@idiocy.org>
109835         Add no-accept-focus and frame-list-z-order to NS port
109837         * lisp/frame.el (frame-list-z-order): Add NS.
109838         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
109839         (Fx_create_frame): Handle no-accept-focus parameter.
109840         (ns_window_is_ancestor):
109841         (Fns_frame_list_z_order): New functions.
109842         * src/nsterm.m (x_set_no_accept_focus): New function.
109843         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
109844         non-fullscreen windows.
109845         (EmacsWindow:canBecomeKeyWindow): New function.
109847 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
109849         Improve prefix handling for dash.el
109851         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
109852         Don't drop dash's "-<letter>" prefixes.
109854 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
109856         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
109858         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
109859         and use a different fix for bug#26068.
109860         (cl--symbol-macro-key): New function.
109861         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
109862         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
109863         Failure is not expected any more.
109865 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
109867         Avoid infinite loop in redisplay when header-line-format is invalid
109869         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
109870         string has an invalid %-construct in it and is displayed as part
109871         of mode-line or header-line.  (Bug#26586)
109873 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
109875         Add tests to check image scaling functionality
109877         This is in preparation to doing further work in this area to avoid
109878         regressions.
109880         * test/data/image/blank-200x100.png: New file for testing
109881         image scaling.
109883         * test/manual/image-size-tests.el: New file.
109885 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
109887         Allow svg-image to take all create-image PROPS
109889         * lisp/svg.el (svg-image): Allow passing in PROPS when
109890         creating an image for convenience.
109892 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
109894         Treat non-erroring lisp call as successful eshell command (Bug#26161)
109896         This lets a compound command like 'cd .. && echo ok' print 'ok',
109897         similar to how most other shells behave.
109899         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
109900         last exit code was zero, rather than first checking whether the last
109901         command returned nil.
109902         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
109904 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
109906         Fix reading of tab settings in whitespace-mode
109908         lisp/whitespace.el (whitespace-indent-tabs-mode)
109909         whitespace-tab-width): Remove these variables. The underlying
109910         variables `indent-tabs-mode' and `tab-width' are already buffer-local
109911         when needed, and whitespace-mode never changes them.
109912         (whitespace-ensure-local-variables): Remove this function, which only
109913         existed to set the above variables.
109914         (whitespace-cleanup-region, whitespace-regexp)
109915         (whitespace-indentation-regexp, whitespace-report-region)
109916         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
109917         use `indent-tabs-mode' and `tab-width' directly, and not call
109918         `whitespace-ensure-local-variables'.
109920 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
109922         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
109924         by simplifying ascii-test.
109926 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
109928         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
109930         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
109931           FORM if the bytecode uses the byte-switch instruction. It is
109932           impossible to guess the correct stack depth while inlining such
109933           bytecode, resulting in faulty code.
109935 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
109937         Set Emacs version to 25.2 and update AUTHORS file
109939         * README: Set Emacs version to 25.2.
109940         * etc/HISTORY: Add release log.
109941         * lisp/ldefs-boot.el:
109942         * etc/AUTHORS:
109943         * ChangeLog.2: Update.
109945 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
109947         Don't register "def" as an autoload prefix (Bug#26412)
109949         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
109950         accept "def" as a prefix.
109952 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
109954         Use substring completion for Info menus and index
109956         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
109957         (Info-menu): Simplify now that we use the `default' arg of completing-read.
109958         * lisp/minibuffer.el (completion-category-defaults): Use substring
109959         completion for `info-menu`.
109961 2017-04-19  Glenn Morris  <rgm@gnu.org>
109963         Remove some explicit runtime loads of pcase
109965         Pcase is macros, so these should have used eval-when-compile.
109966         Anyway, pcase entry points are autoloaded, so the compiler handles it.
109967         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
109968         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
109969         * lisp/progmodes/xref.el: No need to require pcase.
109971 2017-04-19  Glenn Morris  <rgm@gnu.org>
109973         Stop cl-lib loading pcase at runtime
109975         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
109976         * lisp/emacs-lisp/autoload.el (make-autoload):
109977         Treat pcase-defmacro like defmacro.
109979 2017-04-19  Alan Third  <alan@idiocy.org>
109981         Note frame documentation exceptions for NS builds
109983         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
109984         NS differences.
109986 2017-04-19  Alan Third  <alan@idiocy.org>
109988         Fix bug introduced by my last commit
109990         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
109992 2017-04-19  Alan Third  <alan@idiocy.org>
109994         Add new frame functionality to NS port
109996         * lisp/frame.el (frame-restack): Call ns-frame-restack.
109997         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
109998         MOVE_FRAME_EVENT handling.
109999         * src/frame.h:
110000         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
110001         definitions.
110002         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
110003         x_set_undecorated (Cocoa only) to handler struct.
110004         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
110005         frame parameter.
110006         (Fns_frame_restack): New function.
110007         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
110008         FRAME_TOOLBAR_HEIGHT is no longer a variable.
110009         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
110010         Add #defines to find the screen position of the parent frame.
110011         (NS_TOP_POS): Remove defun.
110012         (EmacsView): Remove redundant toolbar variables and add createToolbar
110013         method.
110014         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
110015         values instead of storing them in a variable.
110016         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
110017         position into account when positioning frames.
110018         (initFrameFromEmacs): Remove toolbar creation code and handle new
110019         frame parameters.
110020         (x_set_window_size): Remove toolbar height calculation.
110021         (x_set_z_group):
110022         (x_set_parent_frame):
110023         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
110024         (x_destroy_window): Detach parent if child closes.
110025         (updateFrameSize): Change NSTRACE message to reflect new reality and
110026         no longer reset frame size.
110027         (windowWillResize): Don’t change NS window name when the titlebar
110028         is invisible.
110029         (createToolbar): Move toolbar creation code into it’s own method.
110030         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
110031         are no longer variables.
110032         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
110034 2017-04-19  Glenn Morris  <rgm@gnu.org>
110036         Tweak bytecomp's loading of cl-extra
110038         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
110039         post-bootstrap emacs where cl-loaddefs does exist.
110041 2017-04-19  Glenn Morris  <rgm@gnu.org>
110043         Avoid unnecessary loading of subr-x at run-time
110045         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
110046         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
110047         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
110048         No need to load subr-x at run-time.
110049         * lisp/gnus/nnheader.el: No need to load subr-x.
110051 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
110053         Use iteration in math-factorial-iter
110055         * lisp/calc/calc-comb.el (math-factorial-iter):
110056         Use iteration instead of recursion to avoid max-specpdl-size problem.
110058 2017-04-18  Glenn Morris  <rgm@gnu.org>
110060         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
110062 2017-04-18  Glenn Morris  <rgm@gnu.org>
110064         Avoid ert test failures
110066         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
110067         Avoid errors related to undefined byte-compile-macro-environment.
110068         Somehow masked until very recently because loading seq (eg)
110069         loads bytecomp.  https://hydra.nixos.org/build/51730765
110071 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
110073         Fix a typo in indexing the user manual
110075         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
110077 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
110079         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
110081         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
110082         Rename from find-library--from-load-path.  Check for `load-history'
110083         entries with nil FILE-NAMEs.  Simplify by not double
110084         checking for suffixes and making use of `locate-file'.
110086 2017-04-18  Alan Third  <alan@idiocy.org>
110087             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
110089         Use vfork if possible on Darwin (bug#26397)
110092         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
110093         (vfork): Don't define.
110094         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
110095         set, otherwise vfork.
110096         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
110097         the controlling terminal instead of setsid.
110099 2017-04-18  Fran Litterio  <flitterio@gmail.com>
110101         Small erc-kill-channel fix (bug#23700)
110103         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
110105 2017-04-18  Glenn Morris  <rgm@gnu.org>
110107         ediff: use user-error rather than debug-ignored-errors
110109         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
110110         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
110111         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
110112         (ediff-check-version):
110113         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
110114         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
110115         (ediff-append-custom-diff, ediff-meta-show-patch)
110116         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
110117         (ediff-get-meta-info, ediff-patch-file-form-meta):
110118         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
110119         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
110120         (ediff--check-ancestor-exists, ediff-toggle-read-only)
110121         (ediff-toggle-wide-display, ediff-toggle-multiframe)
110122         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
110123         (ediff-next-difference, ediff-previous-difference)
110124         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
110125         (ediff-save-buffer):
110126         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
110127         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
110128         (ediff-directories-internal, ediff-directory-revisions-internal)
110129         (ediff-regions-wordwise, ediff-regions-linewise)
110130         (ediff-load-version-control): Use user-error.
110131         (debug-ignored-errors): No longer modify.
110133 2017-04-18  Glenn Morris  <rgm@gnu.org>
110135         mh-e: use user-error rather than debug-ignored-errors
110137         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
110138         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
110139         (debug-ignored-errors): No longer modify.
110141 2017-04-18  Glenn Morris  <rgm@gnu.org>
110143         ispell.el: use user-error rather than debug-ignored-errors
110145         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
110146         (debug-ignored-errors): No longer modify.
110148 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
110150         * src/xterm.c (x_fill_rectangle): Now static.
110152 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
110154         Tighten recently-added UTF-8 check
110156         * src/coding.c (encode_coding_utf_8): Now extern.
110157         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
110158         Check for UTF-8, not just for multibyte.
110160 2017-04-17  David Engster  <deng@randomsample.de>
110162         xml: Properly handle symbol-qnames for attribute parsing
110164         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
110165           xml-ns argument (reverts aea67018) (Bug#26533).
110166           (xml-maybe-do-ns): Properly handle default namespace by not
110167           interning new symbol when 'special' flag is set.
110169         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
110170           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
110172 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
110174         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
110176 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
110178         Fix assertion violations when displaying thread-related error
110180         * src/process.c (Faccept_process_output): Don't assume a thread's
110181         name is always a string.
110183 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
110185         dired ‘M’ should not complain about ‘.’ and ‘..’
110187         * lisp/dired-aux.el (dired-do-redisplay):
110188         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
110190 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
110192         Remove unused coding enums
110194         * src/coding.h (enum coding_system_type, enum end_of_line_type):
110195         Remove; unused.
110197 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
110199         Work around bug with unibyte Linux consoles
110201         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
110202         the terminal's coding system is unibyte (Bug#26396).
110204 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
110206         Fix org-agenda's command for calendar-lunar-phases
110208         Function org-agenda-phases-of-moon tries to call a non-existing
110209         function calendar-phases-of-moon. The correct function is
110210         calendar-lunar-phases.
110212 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
110214         Tuning for `separate' Tramp syntax
110216         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
110217         (tramp-completion-file-name-regexp-separate): Simplify.
110219         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
110220         Extend test.
110222 2017-04-16  Alan Mackenzie  <acm@muc.de>
110224         Fix bug #26529: C-h k errors with a lambda function bound to a key.
110226         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
110227         `function' is a symbol before trying to get property `reader-construct' from
110228         it.
110230 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
110232         Fix highlighting of short selectors in CSS mode
110234         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
110235         selectors where the part before a colon is only one character long,
110236         such as `a:hover'.
110238 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
110240         Fix redisplay performance problems with some fonts
110242         * src/font.c (font_list_entities): Revert part of the changes
110243         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
110244         zero_vector in the font-cache is an important indication that
110245         cannot be removed.  (Bug#21028)
110247 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
110249         Add assertion to STRING_SET_CHARS
110251         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
110252         to prevent incorrect usage.  For details, see this discussion:
110253         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
110255 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
110257         Avoid compilation warnings on MS-Windows
110259         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
110260         parentheses around assignment.
110261         * src/w32fns.c (w32_createwindow): Remove unused variable
110262         dwStyle.  Use "|=" where appropriate.
110264 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
110266         Merge from gnulib
110268         This incorporates:
110269         2017-04-14 intprops: try to avoid tickling similar bugs
110270         2017-04-14 intprops: port to Oracle Studio 12.3 x86
110271         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
110273 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
110275         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
110277         * lisp/window.el (with-displayed-buffer-window): When a
110278         'window-height' action alist entry specifies a function, call
110279         `temp-buffer-window-show' with a '(window-height . t)' dummy
110280         entry so `window--try-to-split-window' will bind
110281         `window-combination-limit' to t and that function does not
110282         resize any other window but the one we split this one off
110283         (Bug#25055, Bug#25179).
110284         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
110285         we steal space only from windows in the same combination.
110286         Stealing space from other windows would not allow us to return
110287         that space later when this window is deleted (Bug#25055,
110288         Bug#25179).
110290 2017-04-15  Glenn Morris  <rgm@gnu.org>
110292         Avoid userlock queries hanging forever in batch mode
110294         * lisp/userlock.el (ask-user-about-lock)
110295         (ask-user-about-supersession-threat): Abort in batch mode.
110297 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
110299         Fix segfault when calling frame_ancestor_p (Bug#26493)
110301         * src/xterm.c (handle_one_xevent): Check that hf was not reset
110302         before calling frame_ancestor_p (Bug#26493).
110304 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
110306         A few additional copy-edits in documentation of frames
110308         * doc/lispref/frames.texi (Frame Layout)
110309         (Implied Frame Resizing): Windows -> MS-Windows.
110310         (Deleting Frames): Fix typo.
110312 2017-04-14  Glenn Morris  <rgm@gnu.org>
110314         Use user-error for some ert.el errors
110316         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
110317         (ert-results-find-test-at-point-other-window, ert-describe-test):
110318         Use user-error.
110320 2017-04-14  Glenn Morris  <rgm@gnu.org>
110322         Use user-error for customize's "invalid face" error
110324         * lisp/cus-edit.el (customize-face): Use user-error.
110325         (debug-ignored-errors): No more need to add "Invalid face".
110327 2017-04-14  Glenn Morris  <rgm@gnu.org>
110329         Remove duplicate lisp-eval-defun definition
110331         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
110332         Autoload rather than defining a stub.
110334 2017-04-14  Glenn Morris  <rgm@gnu.org>
110336         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
110338 2017-04-14  Glenn Morris  <rgm@gnu.org>
110340         Create generated lisp files before main loaddefs.el
110342         This should improve reproducibility of lisp/loaddefs.el.
110343         * lisp/Makefile.in (gen-lisp): New phony target.
110344         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
110345         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
110346         * lisp/cedet/semantic.el (semantic-mode):
110347         * lisp/cedet/semantic/fw.el (top-level):
110348         * lisp/emacs-lisp/eieio-core.el (top-level):
110349         Robustify to generated input files maybe not yet existing.
110351 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
110353         Fix minor quoting issues in Makefile.in
110355         * Makefile.in (install-arch-dep, uninstall):
110356         Quote EMACS and EMACS_NAME more consistently.
110358 2017-04-13  Glenn Morris  <rgm@gnu.org>
110360         * Makefile.in (install-etc): Use existing Makefile variables.
110362 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
110364         Minor copyedits of recent changes in documentation
110366         * doc/lispref/frames.texi (Frame Layout, Frame Position)
110367         (Frame Size, Frame Interaction Parameters, Input Focus)
110368         (Raising and Lowering, Child Frames): Improve wording and indexing.
110369         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
110371 2017-04-13  Glenn Morris  <rgm@gnu.org>
110373         Small src/Makefile simplification
110375         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
110376         ($(lispsource)/term/ns-win.elc): Combine rules.
110378 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
110380         Add grid layout module to CSS property list
110382         * lisp/textmodes/css-mode.el (css-property-alist)
110383         (css-value-class-alist): Add new properties and value classes from CSS
110384         Grid Layout Module.
110386 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
110388         Describe recent frame and window changes in manuals
110390         * doc/emacs/emacs.texi (Top):
110391         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
110392         "outer border" (for the X border which can be set from within
110393         Emacs) and "external border" (for the border which is added by
110394         the window manager).
110395         * doc/lispref/display.texi (Tooltips): Clarify slightly.
110396         * doc/lispref/elisp.texi (Top): Update node and section names.
110397         * doc/lispref/frames.texi (Frames): Describe difference between
110398         top-level and child frames.
110399         (Frame Layout): Describe outer border.  Add more details about
110400         how Emacs obtains the outer size and position of a frame and
110401         about menu bar/tool bar wrapping.  Add references to new frame
110402         parameters.
110403         (Size and Position): Remove subsection.
110404         (Frame Position): New subsection excerpted from the earlier Size
110405         and Position subsection.  Clarify positioning concepts and
110406         some of their shortcomings.  Describe `move-frame-functions'.
110407         (Frame Size): New subsection excerpted from the earlier Size
110408         and Position subsection.  Describe how to track frame size
110409         changes and the new function `frame-size-changed-p'.
110410         (Position Parameters): Describe child frame positioning.  Warn
110411         about negative offsets.  Describe 'z-group' parameter.
110412         (Size Parameters): Describe 'text-pixels' specification
110413         facility and new 'min-width' and 'min-height' parameters.
110414         (Layout Parameters): Clarify description of 'tool-bar-lines' and
110415         'menu-bar-lines' parameters.
110416         (Frame Interaction Parameters): New subsubsection describing
110417         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
110418         'no-other-frame' parameters.
110419         (Management Parameters): Describe 'skip-taskbar',
110420         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
110421         'override-redirect' parameters.
110422         (Deleting Frames): Describe handling of 'delete-before'
110423         parameter and child frames for `delete-frame' and
110424         `delete-other-frames'.
110425         (Finding All Frames): Describe `frame-list-z-order' and handling
110426         of 'no-other-frame' parameter by `next-frame'.
110427         (Minibuffers and Frames): Minor clarifications.
110428         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
110429         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
110430         (Visibility of Frames): Describe mapping and how the visibility
110431         of a parent frame affects that of its child frames.
110432         (Raising and Lowering): Describe restacking of frames and
110433         z-groups.
110434         (Child Frames): New section.
110435         * doc/lispref/windows.texi (Selecting Windows): Describe
110436         additional semantics of NORECORD argument of `select-window' and
110437         how `buffer-list-update-hook' can emulate a "select window
110438         hook".
110439         (Mouse Window Auto-selection): New section.
110441 2017-04-13  Damien Cassou  <damien@cassou.me>
110443         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
110445         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
110446           pairs.
110447         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
110449 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
110451         Avoid unnecessary regeneration of the entire loaddefs.el
110453         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
110454         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
110455         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
110456         loaddefs.tmp before running 'batch-update-autoloads' on it, to
110457         avoid slow regeneration of the full contents.  (Bug#26459)
110458         Use 'move-if-change' instead of 'mv', to avoid producing a new
110459         Emacs binary when not necessary.
110461 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
110463         Handle indentation of nested ternary operators in JS
110465         * lisp/progmodes/js.el (js--looking-at-operator-p):
110466         Handle nested ternary operators.
110468 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
110470         Don't call 'kill-this-buffer' outside of menus
110472         * lisp/simple.el (kill-current-buffer): New function.
110473         (completion-list-mode-map): Use it instead of kill-this-buffer.
110474         * lisp/type-break.el (type-break-mode):
110475         * lisp/term/ns-win.el (global-map):
110476         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
110477         (gdb-disassembly-mode-map, gdb-frames-mode-map)
110478         (gdb-locals-mode-map, gdb-registers-mode-map):
110479         * lisp/org/org-mhe.el (org-mhe-follow-link):
110480         * lisp/net/secrets.el (secrets-mode-map):
110481         * lisp/net/eudc.el (eudc-mode-map):
110482         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
110483         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
110485 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
110487         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
110489 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
110491         New internal-border face and args for select-window and x-focus-frame
110493         Add `internal-border' face and handle it whenever clearing the
110494         internal border.  If NORECORD equals the symbol
110495         'mark-for-redisplay', `select-window' will not record the window
110496         but still mark it for redisplay.  The new argument NOACTIVATE
110497         for `x-focus-frame' tries to not activate FRAME when set.
110499         * lisp/faces.el (internal-border): New face.
110500         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
110501         `mark-for-redisplay'.
110502         * lisp/scroll-bar.el (scroll-bar-drag)
110503         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
110504         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
110505         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
110506         with `mark-for-redisplay'.
110507         * lisp/window.el (handle-select-window): When
110508         `focus-follows-mouse' is not 'auto-raise' try to not activate
110509         FRAME.
110510         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
110511         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
110512         * src/frame.h (x_focus_frame): Update extern declaration.
110513         * src/gtkutil.c (xg_clear_under_internal_border): Remove
110514         function.
110515         (xg_frame_resized, xg_frame_set_char_size): Call
110516         x_clear_under_internal_border.
110517         (xg_tool_bar_callback): Adapt x_focus_frame call.
110518         * src/gtkutil.h (xg_clear_under_internal_border): Remove
110519         declaration.
110520         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
110521         * src/w32fns.c (x_clear_under_internal_border): Fill border
110522         with internal-border background if specified.
110523         * src/w32term.h (x_clear_under_internal_border): Add extern
110524         declaration.
110525         * src/w32term.c (x_after_update_window_line): Fill border
110526         with internal-border background if specified.
110527         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
110528         (x_scroll_bar_clear, w32_read_socket): Call
110529         x_clear_under_internal_border.
110530         (x_focus_frame): New argument NOACTIVATE.
110531         * src/window.c (select_window): Mark WINDOW for redisplay when
110532         NORECORD equals 'mark-for-redisplay'.
110533         (Fselect_window): Update doc-string.
110534         (syms_of_window): Define Qmark_for_redisplay.
110535         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
110536         (redisplay_internal): Call x_clear_under_internal_border.
110537         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
110538         and `internal-border' faces.
110539         (realize_basic_faces): Realize `internal-border' face.
110540         (syms_of_xfaces): Define Qinternal_border.
110541         * src/xfns.c (x_set_internal_border_width): Remove call for
110542         xg_clear_under_internal_border.
110543         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
110544         activate frame.
110545         * src/xterm.c (x_fill_rectangle): No more static.
110546         (x_clear_under_internal_border, x_after_update_window_line):
110547         Fill border with internal-border background if specified.
110548         (xt_horizontal_action_hook): Rewrite.
110549         (handle_one_xevent): Call x_clear_under_internal_border.
110550         * src/xterm.h (x_fill_rectangle): Add extern declaration.
110552 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
110554         Port recent frame changes to --enable-gcc-warnings
110556         * src/frame.c (next_frame, prev_frame):
110557         Remove now-redundant assertions.
110558         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
110560 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
110562         Scroll right and left using wheel-right and wheel-left.
110564         These changes also make use of touchpad and trackpad (Bug#26347).
110566         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
110567         scrolling using the mouse wheel.
110569         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
110570         (mwheel-tilt-scroll-p, mwheel-flip-direction)
110571         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
110572         defcustoms.
110573         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
110574         events that calls wheel-left/right.
110576         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
110578 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
110580         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
110582 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
110584         Add new frame parameters and associated functions
110586         Add new frame parameters `undecorated', `override-redirect',
110587         `parent-frame', `skip-taskbar', `no-focus-on-map',
110588         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
110589         `mouse-wheel-frame', `min-width', `min-height'.  Add new
110590         functions `frame-restack' and `frame-list-z-order'.
110592         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
110593         type.
110594         * lisp/frame.el (handle-delete-frame): Handle child and
110595         `delete-before' frames.
110596         (other-frame): Stop looking for other frame after one round.
110597         (frame-list-z-order, frame-restack): New functions.
110598         (delete-other-frames): Handle child frames.
110599         * lisp/frameset.el (frameset-persistent-filter-alist)
110600         (frameset--record-relationships): Handle `delete-before',
110601         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
110602         latter from `frameset--record-minibuffer-relationships'.
110603         (frameset--restore-frame): Handle ‘parent-frame’ parameter
110604         specially.
110605         (frameset-restore): Handle `delete-before', `parent-frame' and
110606         `mouse-wheel-frame' parameters.
110607         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
110608         parameter.
110609         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
110610         (mouse-autoselect-window-select, handle-select-window): Major
110611         rewrite.  Try to not ignore errors.  Handle auto-selection of
110612         child frames and different values of `focus-follows-mouse'.
110613         * src/frame.c (frame_windows_min_size): Handle new `min-width'
110614         and `min-height' frame parameters.
110615         (make_frame): Initialize new frame structure members.
110616         (do_switch_frame): Don't reset internal_last_event_frame for
110617         descendant frames.
110618         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
110619         functions.
110620         (candidate_frame): Don't return `no-other-frame' frame.
110621         (other_frames): New function replacing other_visible_frames.
110622         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
110623         (Fmake_frame_invisible): Call other_frames.
110624         (store_frame_param): Check `delete-before' and `parent-frame'
110625         parameters for circular dependencies.
110626         (frame_parms, syms_of_frame): Add entries for and define new
110627         frame parameters.
110628         (focus_follows_mouse): New meaningful value `auto-raise'.
110629         * src/frame.h (z_group): New enumeration type.
110630         (frame): New slots parent_frame, undecorated, override_redirect,
110631         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
110632         (fset_parent_frame): New inlined function.
110633         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
110634         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
110635         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
110636         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
110637         (FRAME_Z_GROUP_BELOW): New macros.
110638         (frame_ancestor_p): Add declaration.
110639         * src/gtkutil.c (xg_create_frame_widgets): Handle
110640         `undecorated' and `override-redirect' frame parameters.
110641         (x_wm_set_size_hint): None for child frames.
110642         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
110643         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
110644         (xg_set_override_redirect): New functions.
110645         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
110646         Don't let scrollbars obscure child frames.
110647         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
110648         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
110649         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
110650         declarations.
110651         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
110652         frame parameters.
110653         (Fx_create_frame): Install `min-width' and `min-height' frame
110654         parameters.
110655         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
110656         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
110657         (x_real_positions): Handle child frames.
110658         (x_set_menu_bar_lines): Don't for child frames.
110659         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
110660         (x_set_no_focus_on_map, x_set_no_accept_focus)
110661         (x_set_z_group): New functions.
110662         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
110663         scroll bars over child frames.
110664         (w32_createwindow): Handle new frame parameters and child frames.
110665         (w32_wnd_proc): Let mouse clicks into a child frame activate
110666         the frame.  Try to handle the `no-accept-focus' parameter.  Do
110667         SetFocus when our window is brought to top or becomes the
110668         foreground window.
110669         (w32_window): Don't initialize menu bar for child frames.
110670         (Fx_create_frame): Handle new frame parameters.
110671         (x_create_tip_frame): Set explicit_parent slot.
110672         (w32_dialog_in_progress): New function.
110673         (Fx_file_dialog): Handle `z-group-above' frames.
110674         (w32_frame_list_z_order, Fw32_frame_list_z_order)
110675         (w32_frame_restack, Fw32_frame_restack): New functions.
110676         (w32_frame_parm_handlers): Add entries for new frame
110677         parameters.
110678         * src/w32font.c (Fx_select_font): Handle `z-group-above'
110679         frames during font selection dialogue.
110680         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
110681         event from F's w32 window.
110682         (w32_mouse_position): Handle child frames.
110683         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
110684         Don't draw scroll bars over child frames.
110685         (w32_read_socket): Always erase background of child frames.
110686         When generating SELECT_WINDOW_EVENTs handle new value of
110687         `focus-follows-mouse' and handle `no-accept-focus' parameter.
110688         Handle `mouse-wheel-frame' parameter.
110689         (x_calc_absolute_position, x_set_offset, x_set_window_size):
110690         Handle child frames.
110691         (x_make_frame_visible): Handle child frames specially.  Handle
110692         `no-focus-on-map' parameter.
110693         * src/w32term.h (w32_dialog_in_progress): Add external
110694         declaration.
110695         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
110696         for child frames.
110697         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
110698         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
110699         non-Motif, non-GTK case.
110700         (x_real_pos_and_offsets): Handle child frames.
110701         (x_set_undecorated, x_set_parent_frame)
110702         (x_set_no_focus_on_map, x_set_no_accept_focus)
110703         (x_set_override_redirect): New functions.
110704         (x_set_menu_bar_lines): Not for child frames.
110705         (x_window): Handle `undecorated' and `override_redirect' cases.
110706         (Fx_create_frame): Handle new frame parameters.
110707         (frame_geometry): Handle child frames and outer border.
110708         (x_frame_list_z_order, Fx_frame_list_z_order)
110709         (x_frame_restack, Fx_frame_restack): New functions.
110710         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
110711         (x_frame_parm_handlers): Add entries for new frame parameters.
110712         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
110713         frames.
110714         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
110715         for child frames.
110716         (XTmouse_position): Handle child frames.
110717         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
110718         bars obscure child frames.
110719         (handle_one_xevent): Handle child frame positions.  If necessary
110720         set `skip-taskbar' and reassign proper `z-group' when we are
110721         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
110722         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
110723         Let mouse clicks into a child frame activate the frame.
110724         (x_calc_absolute_position, x_set_offset): Handle child frames
110725         specially.
110726         (x_set_skip_taskbar, x_set_z_group): New functions.
110727         (x_make_frame_visible): Handle child frames.
110728         (ATOM_REFS_INIT): Add entries for
110729         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
110730         Xatom_net_wm_state_below.
110731         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
110732         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
110733         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
110735 2017-04-11  Glenn Morris  <rgm@gnu.org>
110737         Update a package test for hydra
110739         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
110740         Also bind package-gnupghome-dir, see eg
110741         https://hydra.nixos.org/build/51462182 .
110743 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
110745         Frame movement, focus and hook related changes
110747         New hook `move-frame-functions'.  Run `focus-in-hook'
110748         after switching to frame that gets focus.  Don't run
110749         XMoveWindow for GTK.
110751         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
110752         functions.
110754         * src/frame.c (do_switch_frame): Simplify code.
110755         (Fhandle_switch_frame): Switch frame before running
110756         `handle-focus-in'.
110757         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
110758         (Vmove_frame_functions): New hook variable.
110759         * src/keyboard.c (kbd_buffer_get_event): Handle
110760         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
110761         (head_table): Add Qmove_frame entry.
110762         (syms_of_keyboard): Add Qmove_frame.
110763         (keys_of_keyboard): Define key for `move-frame'.
110764         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
110765         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
110766         * src/window.c (run_window_size_change_functions): Record size of
110767         FRAME's minibuffer window too.
110768         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
110769         (x_set_offset): For GTK call gtk_widget_move instead of
110770         XMoveWindow.
110772 2017-04-11  Werner LEMBERG  <wl@gnu.org>
110774         Avoid abort in ftfont.c due to faulty fonts
110776         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
110777         hinting, before aborting.  (Bug#25945)
110779 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
110781         Document 'line-pixel-height'
110783         * doc/lispref/display.texi (Size of Displayed Text): Document
110784         line-pixel-height.  Suggested by Tak Kunihiro
110785         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
110787 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
110789         Introduce customizable variable 'package-gnupghome-dir'
110791         * lisp/emacs-lisp/package.el (package-import-keyring)
110792         (package--check-signature-content, package-check-signature):
110793         Use new variable package-gnupghome-dir to control which GnuPG
110794         homedir to use.
110795         * doc/emacs/package.texi: Mention package-gnupghome-dir.
110796         * etc/NEWS: Mention package-gnupghome-dir.
110798 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
110800         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
110802         This activates a change that was installed a few weeks ago but whose
110803         ChangeLog was inadvertently dropped during its commit.  The proper
110804         ChangeLog is included below as part of the present commit.
110806         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
110807         is set avoid calling x_gtk_parse_geometry (Bug#25851).
110808         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
110809         PPosition, USPosition and USSize flags if requested.
110810         * src/xterm.c (x_set_offset): With GTK when
110811         x_gtk_use_window_move is set, leave it entirely to
110812         gtk_window_move to position the window and skip any
110813         post-adjustments (Bug#25851 and Bug#25943).
110814         (x_gtk_use_window_move): New variable.
110816 2017-04-10  Alan Mackenzie  <acm@muc.de>
110818         Fix a loop in C Mode caused by inadequate analysis of comments.
110820         After M-;, and the insertion of the opening "/*", the CC Mode after-change
110821         function got confused, since the new comment opener matched the end of a
110822         subsequent comment, but moving back over that comment did not come back to the
110823         starting point.  Fix this.
110825         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
110826         point is left if no end-of-macro is found before it.
110827         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
110828         non-nil except where we have an unclosed block comment at the end of a macro.
110829         This enables us to populate the cache more fully, at the cost of some run
110830         time.
110832 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
110834         Add PVSIZE function to return the size of a pseudovector.
110836         * src/lisp.h (PVSIZE): New function.
110838         * src/chartab.c (copy_char_table):
110839         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
110840         * src/doc.c (Fdocumentation, store_function_docstring):
110841         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
110842         * src/fns.c (Flength, Fcopy_sequence):
110843         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
110844         * src/lread.c (substitute_object_recurse):
110845         * src/print.c (print_object):
110846           Use it.
110848 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
110850         Add Tramp tests
110852         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
110854         * test/lisp/net/tramp-tests.el
110855         (tramp-test01-file-name-syntax-simplified)
110856         (tramp-test01-file-name-syntax-separate)
110857         (tramp-test02-file-name-dissect-simplified)
110858         (tramp-test02-file-name-dissect-separate): New tests.
110860 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
110862         Make sure that `shell' makes BUFFER current
110864         * lisp/shell.el (shell): Restrict scope of recently added
110865         `with-current-buffer' to make sure that BUFFER is current when
110866         `shell' returns.
110868 2017-04-10  Jim Blandy  <jimb@red-bean.com>
110870         Default to PCRE syntax when reading .hgignore
110872         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
110873         Default to the PCRE syntax (bug#26249).
110875 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
110877         Document Tramp changes
110879         * doc/misc/tramp.texi (Change file name syntax): New node.
110881         * etc/NEWS: Mention `tramp-change-syntax'.
110883         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
110884         External packages uses it.
110885         (tramp-syntax): Set also `tramp-file-name-regexp'.
110887 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
110889         Merge from gnulib (Bug#26398)
110891         This incorporates:
110892         2017-04-08 getopt: prefer - to _ in new file names
110893         2017-04-08 getopt: port recent getopt changes to macOS
110894         * .gitignore: Add lib/getopt-cdefs.h.
110895         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
110896         * lib/getopt-core.h: Rename from lib/getopt_core.h.
110897         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
110898         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
110899         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
110900         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
110901         Copy from Gnulib.
110902         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
110904 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
110906         Write updated loaddefs to a temporary file and rename into place.
110908         In a parallel build, byte compilation can be running at the same times
110909         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
110910         loaddefs.el is read at startup and must always be in a usable state.
110912         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
110913         loaddefs.el.new and then rename it to loaddefs.el.
110915 2017-04-09  Glenn Morris  <rgm@gnu.org>
110917         In the manual, mention pops and imaps
110919         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
110920         Mention pops and imaps protocols.
110922 2017-04-09  Glenn Morris  <rgm@gnu.org>
110924         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
110926 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
110928         Fix rmail handling of movemail protocols (bug#18278)
110930         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
110931         (rmail-parse-url): Return protocol in second list element.
110932         Only use passwords with remote mailboxes.
110933         (rmail-insert-inbox-text): Handle non-simple local
110934         mailboxes (maildir, MH, etc.).
110936 2017-04-09  Glenn Morris  <rgm@gnu.org>
110938         Fix typos in manual re movemail local mailboxes
110940         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
110941         Fix examples of local mailbox urls.
110943 2017-04-08  Glenn Morris  <rgm@gnu.org>
110945         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
110947 2017-04-08  Glenn Morris  <rgm@gnu.org>
110949         Remove references to OS/2 in code, doc, and comments
110951         * lisp/gnus/nnheader.el (nnheader-read-timeout)
110952         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
110953         * lisp/emulation/viper-util.el (viper-color-defined-p):
110954         * lisp/net/pop3.el (pop3-read-timeout):
110955         * lisp/net/imap.el (imap-read-timeout):
110956         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
110957         * lisp/emulation/viper-ex.el (viper-glob-function):
110958         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
110959         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
110960         * doc/emacs/msdos-xtra.texi (MS-DOS):
110961         * doc/misc/gnus.texi (Various Various):
110962         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
110964 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
110966         Tune Tramp syntax
110968         * lisp/net/tramp-cmds.el (tramp-change-syntax):
110969         Use `tramp-syntax-values'.
110971         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
110973         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
110974         (tramp-syntax-values): New defun.
110975         (tramp-prefix-format, tramp-method-regexp)
110976         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
110977         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
110978         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
110979         and changed values.
110980         (tramp-completion-file-name-regexp-default): Rename from
110981         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
110982         (tramp-completion-file-name-regexp-simplified): Rename from
110983         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
110984         (tramp-initial-completion-file-name-regexp):
110985         Use `tramp-completion-file-name-regexp-default'.
110986         (tramp-run-real-handler): Do not autoload any longer.
110988 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
110990         Replace more nested ifs with cond
110992         This is a continuation of d526047 "Replace more nested ifs with cond".
110993         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
110994         when and cond where appropriate.
110996 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
110998         Adjust the edebug spec of if-let*
111000         This was fixed in Bug#24748, but now looking more closely, using gate in
111001         the spec seems correct.  See (info "(elisp) Backtracking").
111002         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
111004 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
111006         Replace some uses of cl-member-if with apply
111008         From the mhtml-mode series.  Some of the uses of cl-lib are not
111009         necessary.
111010         * lisp/align.el: Don't require cl-lib.
111011         (align-region): Use apply instead of cl-member-if.
111012         * lisp/emulation/viper.el: Don't require cl-lib.
111013         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
111014         cl-member-if.
111016 2017-04-08  Philipp Stephani  <phst@google.com>
111018         Validate SPEC of `dolist', cf. Bug#25477.
111020         * lisp/subr.el (dolist): Test type and length of SPEC.
111021         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
111022         Add unit test.
111024 2017-04-08  Philipp Stephani  <phst@google.com>
111026         Add unit test for Bug#26378
111028         * test/lisp/vc/ediff-diff-tests.el
111029         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
111031 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
111033         Fix circular read syntax for records.
111035         * src/lread.c (substitute_object_recurse): Work with records.
111037         * test/src/lread-tests.el (lread-record-1): New test.
111039 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
111041         Deprecate copy-record in favor of copy-sequence
111043         Since copy-sequence seems to be needed anyway for records, have it
111044         work on records, and remove copy-record as being superfluous.
111045         * doc/lispref/records.texi (Records, Record Functions):
111046         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
111047         * lisp/emacs-lisp/eieio.el (make-instance, clone):
111048         * test/src/alloc-tests.el (record-3):
111049         Use copy-sequence, not copy-record, to copy records.
111050         * doc/lispref/sequences.texi (Sequence Functions)
111051         (Array Functions): Document that aref and copy-sequence
111052         work on records.
111053         * etc/NEWS: Omit copy-record.
111054         * src/alloc.c (Fcopy_record): Remove.
111055         * src/data.c (Faref): Document that arg can be a record.
111056         * src/fns.c (Fcopy_sequence): Copy records, too.
111058 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
111060         Fix dependency checking in src/Makefile.in
111062         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
111063         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
111064         Otherwise, some dependencies will be missed.
111066 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
111068         Minor tuneup of write-region change
111070         * src/fileio.c (write_region): Use SCHARS, not Flength,
111071         on a value known to be a string.
111073 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
111075         Adjust write-region so file name is at the beginning again
111077         * lisp/epa-file.el (epa-file-write-region):
111078         * lisp/gnus/mm-util.el (mm-append-to-file):
111079         * lisp/jka-compr.el (jka-compr-write-region):
111080         * lisp/net/ange-ftp.el (ange-ftp-write-region):
111081         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
111082         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
111083         * src/fileio.c (write_region): Put file name at the beginning and move
111084         number of characters to the end of the message.
111086 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
111088         Check that file argument is a string
111090         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
111091           passed to `file-local-copy' is a string (Bug#26378).  Also fix
111092           the existing comment for this function, and convert it to its
111093           doc-string.
111095 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
111097         Fix handling of non-integer START param to write-region
111099         The previous patch for Bug#354 incorrectly assumed that START would
111100         always be an integer.
111102         * lisp/epa-file.el (epa-file-write-region):
111103         * lisp/jka-compr.el (jka-compr-write-region):
111104         * lisp/net/ange-ftp.el (ange-ftp-write-region):
111105         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
111106         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
111107         * src/fileio.c (write_region): Handle nil and string values of START.
111109 2017-04-07  Glenn Morris  <rgm@gnu.org>
111111         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
111113 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
111115         Add Tramp versions to `customize-package-emacs-version-alist'
111117         * lisp/net/trampver.el (customize-package-emacs-version-alist):
111118         Add Tramp versions to `customize-package-emacs-version-alist'.
111120 2017-04-07  Tom Tromey  <tom@tromey.com>
111122         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
111124 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
111126         * doc/lispref/records.texi (Record Functions): fix typo.
111128 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
111130         More casefiddle minor fixes
111132         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
111133         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
111134         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
111136 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
111138         Output number of characters added to file (Bug#354)
111140         * src/fileio.c (write_region):
111141         * lisp/epa-file.el (epa-file-write-region):
111142         * lisp/jka-compr.el (jka-compr-write-region):
111143         * lisp/net/ange-ftp.el (ange-ftp-write-region):
111144         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
111145         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
111146         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
111147         characters written in addition to file name.
111148         * doc/lispref/files.texi: Added documentation to write-region and
111149         append-to-file describing their output.
111151 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
111153         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
111155         The recent changes to src/casefiddle.c cause build failure as seen
111156         below:
111158             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
111159                 --batch --load loadup bootstrap
111160             [Thread debugging using libthread_db enabled]
111161             Using host libthread_db library "/usr/lib/libthread_db.so.1".
111162             Loading loadup.el (source)...
111163             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
111164                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
111165                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
111166                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
111167                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
111168                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
111169             Loading emacs-lisp/byte-run (source)...
111170             Loading emacs-lisp/backquote (source)...
111171             Loading subr (source)...
111172             Loading version (source)...
111173             Loading widget (source)...
111174             Loading custom (source)...
111175             Loading emacs-lisp/map-ynp (source)...
111176             Loading international/mule (source)...
111177             Loading international/mule-conf (source)...
111179             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
111181             Breakpoint 1, terminate_due_to_signal at emacs.c:363
111182             363   signal (sig, SIG_DFL);
111183             (gdb) bt
111184             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
111185             #1  0x000000000060ec33 in die at alloc.c:7352
111186             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
111187             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
111188             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
111189             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
111190             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
111191             #7  0x00000000006325ac in eval_sub at eval.c:2219
111192             #8  0x0000000000632368 in eval_sub at eval.c:2184
111193             #9  0x000000000063446c in apply_lambda at eval.c:2875
111194             #10 0x00000000006329af in eval_sub at eval.c:2294
111195             #11 0x000000000062d462 in Fprogn at eval.c:449
111196             #12 0x000000000062d4cf in prog_ignore at eval.c:461
111197             #13 0x000000000062f19c in Fwhile at eval.c:982
111198             #14 0x00000000006321f4 in eval_sub at eval.c:2172
111199             #15 0x000000000062d462 in Fprogn at eval.c:449
111200             #16 0x000000000062f0c4 in Flet at eval.c:963
111201             #17 0x00000000006321f4 in eval_sub at eval.c:2172
111202             #18 0x0000000000632963 in eval_sub at eval.c:2290
111203             #19 0x000000000062d462 in Fprogn at eval.c:449
111204             #20 0x000000000062f0c4 in Flet at eval.c:963
111205             #21 0x00000000006321f4 in eval_sub at eval.c:2172
111206             #22 0x0000000000668caa in readevalloop at lread.c:1927
111207             #23 0x0000000000667253 in Fload at lread.c:1332
111208             #24 0x0000000000632683 in eval_sub at eval.c:2233
111209             #25 0x0000000000668caa in readevalloop at lread.c:1927
111210             #26 0x0000000000667253 in Fload at lread.c:1332
111211             #27 0x0000000000632683 in eval_sub at eval.c:2233
111212             #28 0x0000000000631be5 in Feval at eval.c:2041
111213             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
111214             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
111215             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
111216             #32 0x000000000062f51e in internal_catch at eval.c:1091
111217             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
111218             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
111219             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
111220             #36 0x000000000057b55b in main at emacs.c:1687
111222             Lisp Backtrace:
111223             "capitalize" (0xffffcf70)
111224             "format" (0xffffd130)
111225             "define-charset" (0xffffd370)
111226             "while" (0xffffd560)
111227             "let" (0xffffd7c0)
111228             "dolist" (0xffffd910)
111229             "let" (0xffffdb70)
111230             "load" (0xffffdfe0)
111231             "load" (0xffffe4a0)
111233         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
111234         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
111235         Qspecial_titlecase.
111236         (prepare_casing_context): Use aforementioned symbols.
111238 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
111240         Merge from gnulib
111242         This merges some getopt fixes from Zack Weinberg, and affects only
111243         non-GNUish platforms.  It incorporates:
111244         2017-04-06 getopt-gnu: omit some duplicate code
111245         2017-04-06 getopt-posix: use angle-bracket include
111246         2017-04-06 getopt: annotate files with relationship to glibc
111247         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
111248         2017-04-06 getopt: better handling of ambiguous options
111249         2017-04-06 getopt: refactor long-option handling
111250         2017-04-06 getopt: tidy up _getopt_initialize a bit
111251         2017-04-06 getopt: merge from glibc: repetition reduction
111252         2017-04-06 getopt: clean up error reporting
111253         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
111254         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
111255         2017-04-06 getopt: harmonize comments with glibc
111256         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
111257         2017-04-06 getopt: tabify, in preparation for merge with glibc
111258         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
111259         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
111260         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
111261         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
111262         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
111263         Copy from gnulib.
111264         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
111265         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
111266         New files, taken from gnulib.
111267         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
111268         Regenerate.
111270 2017-04-07  Hong Xu  <hong@topbug.net>
111272         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
111273         doc (Bug#25193).
111275 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
111277         Mention that processes start in default-directory (Bug#18515)
111279         * doc/lispref/processes.texi (Synchronous Processes):
111280         (Asynchronous Processes):
111281         * lisp/subr.el (start-process):
111282         * src/callproc.c (call-process): Mention that the subprocess starts in
111283         `default-directory' when local, suggest `start-file-process' and
111284         `process-file' otherwise.
111286 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
111288         * src/xdisp.c (vmessage, message): Clarify commentary.
111290 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
111292         Minor casefiddle.c cleanups
111294         * src/casefiddle.c: Redo recent changes to match GNU style,
111295         and prefer C99-style decls within blocks.
111296         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
111297         we are merely using the Unicode name, and make it a constant
111298         rather than a macro.  All uses changed.
111299         (SMALL_SIGMA): Remove; unused.
111300         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
111301         and make it a constant rather than a macro.  All uses changed.
111302         (do_casify_multibyte_string): Use ‘verify’ rather than an
111303         unportable static_assertion local.
111305 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
111307         * lisp/international/README: Update to match current list.
111309 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
111311         Fix 'make clean' in lib subdirectory
111313         * lib/Makefile.in (clean): Remove *-t files.
111314         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
111315         This removes files like lib/getopt.h that should be removed
111316         even if this configuration did not need to build them.
111317         (maintainer-clean): Remove TAGS here, not in distclean,
111318         to be consistent with ../src/Makefile.in.
111320 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
111322         Add new Tramp syntax
111324         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
111326         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
111327         Add :set function.
111328         (tramp-prefix-port-format): Simplify.
111329         (tramp-file-name-regexp-separate): Remove.
111330         (tramp-initial-file-name-regexp)
111331         (tramp-completion-file-name-regexp-old-style)
111332         (tramp-initial-completion-file-name-regexp): New defconst.
111333         (tramp-prefix-format, tramp-prefix-regexp)
111334         (tramp-method-regexp, tramp-postfix-method-format)
111335         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
111336         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
111337         (tramp-postfix-ipv6-regexp)
111338         (tramp-postfix-host-format, tramp-postfix-host-regexp)
111339         (tramp-remote-file-name-spec-regexp)
111340         (tramp-file-name-structure, tramp-file-name-regexp)
111341         (tramp-completion-file-name-regexp)
111342         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
111343         (tramp-tramp-file-p, tramp-find-method)
111344         (tramp-dissect-file-name, tramp-make-tramp-file-name)
111345         (tramp-completion-make-tramp-file-name)
111346         (tramp-rfn-eshadow-update-overlay)
111347         (tramp-register-autoload-file-name-handlers)
111348         (tramp-register-file-name-handlers)
111349         (tramp-unload-file-name-handlers)
111350         (tramp-completion-handle-file-name-all-completions)
111351         (tramp-completion-dissect-file-name, tramp-clear-passwd):
111352         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
111353         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
111354         (tramp-compute-multi-hops): Use them.
111356 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
111358         Implement special sigma casing rule  (bug#24603)
111360         In Greek, a sigma character has two lower case forms which depend on
111361         their position in the word.  Implement logic determining it.
111363         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
111364         assume inword is true when flag is CASE_UP and false when flag is
111365         CASE_DOWN.  For final sigma detection we need this information tracked
111366         reliably;.
111367         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
111368         Unicode code point of different forms of sigma letter.
111369         (case_character): Implement support for final sigma casing.
111370         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
111371         changes to case_character.
111373         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
111374         cases for final sigma.
111376 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
111378         Support casing characters which map into multiple code points  (bug#24603)
111380         Implement unconditional special casing rules defined in Unicode standard.
111382         Among other things, they deal with cases when a single code point is
111383         replaced by multiple ones because single character does not exist (e.g.
111384         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
111385         into SS).
111387         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
111388         standard distribution.
111389         * admin/unidata/README: Mention SpecialCasing.txt.
111391         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
111392         unidata-gen-table-special-casing--do-load): New functions generating
111393         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
111394         character Unicode properties built from the SpecialCasing.txt Unicode
111395         data file.
111397         * src/casefiddle.c (struct casing_str_buf): New structure for
111398         representing short strings used to handle one-to-many character
111399         mappings.
111401         (case_character_imlp): New function which can handle one-to-many
111402         character mappings.
111403         (case_character, case_single_character): Wrappers for the above
111404         functions.  The former may map one character to multiple (or no)
111405         code points while the latter does what the former used to do (i.e.
111406         handles one-to-one mappings only).
111408         (do_casify_natnum, do_casify_unibyte_string,
111409         do_casify_unibyte_region): Use case_single_character.
111410         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
111411         features of case_character.
111412         * (do_casify_region): Updated to reflact do_casify_multibyte_string
111413         changes.
111415         (casify_word): Handle situation when one character-length of a word
111416         can change affecting where end of the word is.
111418         (upcase, capitalize, upcase-initials): Update documentation to mention
111419         limitations when working on characters.
111421         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
111422         Add test cases for the newly introduced character properties.
111423         (casefiddle-tests-casing): Update test cases which are now passing.
111425         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
111426         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
111427         and ‘downcase’.
111428         (char-fold--test-match-exactly): Use the new functions.  This is needed
111429         because otherwise fi and similar characters are turned into their multi-
111430         -character representation.
111432         * doc/lispref/strings.texi: Describe issue with casing characters versus
111433         strings.
111434         * doc/lispref/nonascii.texi: Describe the new character properties.
111436 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
111438         Split up casify_region function  (bug#24603)
111440         No functional changes at this time but splitting casify_region into
111441         a function dealing with multibyte and another dealing with unibyte
111442         buffers will make future code changes slightly easier.
111444         * src/casefiddle.c (casify_region): Move most of the code into two
111445         new functions:
111446         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
111448 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
111450         Add support for title-casing letters  (bug#24603)
111452         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
111453         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
111454         property table if capitalization has been requested.
111455         (case_character): Make use of the titlecase_char_table to title-case
111456         initial characters when capitalising.
111458         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
111459         casefiddle-tests-casing): Update test cases which are now passing.
111461 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
111463         Introduce case_character function
111465         Move single-character casing logic into a separate function so that
111466         it is collected in a single place.  This will make future changes to
111467         the logic easier.  This commit introduces no functionality changes.
111469         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
111470         structure for saving casing context and function to initialize it.
111471         (case_character): New function which cases character base on provided
111472         context.
111473         (do_casify_integer, do_casify_multibyte_string,
111474         do_casify_unibyte_string, casify_object, casify_region): Convert to
111475         use casing_context and case_character.
111477 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
111479         Split casify_object into multiple functions
111481         casify_object had three major cases to cover and those were mostly
111482         independent of each other.  Move those branches to separate function
111483         so it’s easier to comprehend each individual case.
111485         While at it, use somewhat more descriptive ch and cased variable names
111486         rather than c and c1.
111488         This commit introduces no functional changes.
111490         * src/casefiddle.c (casify_object): Split into…
111491         (do_casify_integer, do_casify_multibyte_string,
111492         do_casify_unibyte_string): …new functions.
111494 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
111496         Update documentation for type semantics of records.
111498         * doc/lispref/objects.texi (Record Type): improve description of what
111499         `type-of' returns for records.
111500         (Type Descriptors): new section.
111501         * doc/lispref/elisp.texi: reference it.
111502         * doc/lispref/records.texi (Records): reference it.  Document
111503         behavior when type slot is a record.
111505         * admin/alloc-colors.c (Fmake_record, Frecord): mention type descriptors.
111507 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
111509         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
111511 2017-04-06  Tom Tromey  <tom@tromey.com>
111513         require cl-lib to fix fallout from mhtml series
111515         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
111516         lisp/emulation/viper.el: Require cl-lib.
111518 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
111520         In CANNOT_DUMP builds, allow editing of files named "dump".
111522         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
111523         calling dump-emacs only if dump-emacs is defined; otherwise, don't
111524         treat those command-line argument specially.
111526 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
111528         In CANNOT_DUMP builds, don't prepare for unexec.
111530         Having a command-line argument of "dump" or "bootstrap" would trigger
111531         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
111532         we should get signal handlers installed regardless of whatever funny
111533         file names we decide to edit.
111535         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
111536         alterations to initialization that prepares the process for unexec.
111538 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
111540         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
111542         During a bootstrap, loading rmail.el invokes movemail to determine its
111543         flavor, but call-process doesn't work if exec-path is nil.
111545         * lisp/loadup.el: Only clear exec-path if dumping.
111547 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
111549         Fix CANNOT_DUMP build on Darwin/macOS.
111551         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
111552         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
111553         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
111555 2017-04-05  Tom Tromey  <tom@tromey.com>
111557         add two more mhtml tests
111559         * test/manual/indent/html-multi-2.html: New file.
111560         * test/manual/indent/html-multi-3.html: New file.
111562 2017-04-05  Tom Tromey  <tom@tromey.com>
111564         enable mhtml-mode by default
111566         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
111567         html-mode.
111568         (magic-fallback-mode-alist): Likewise.
111569         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
111571 2017-04-05  Tom Tromey  <tom@tromey.com>
111573         add mhtml-mode.el
111575         * etc/NEWS: Update.
111576         * lisp/textmodes/mhtml-mode.el: New file.
111577         * test/manual/indent/html-multi.html: New file.
111578         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
111579         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
111581 2017-04-05  Tom Tromey  <tom@tromey.com>
111583         change sgml-mode to help multi-html mode
111585         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
111586         defconst.
111587         (sgml-syntax-propertize): Use it.
111588         (sgml--find-<>-backward): New function.
111589         (sgml-parse-tag-backward): Use it.
111591 2017-04-05  Tom Tromey  <tom@tromey.com>
111593         make js.el respect prog-first-column
111595         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
111597 2017-04-05  Tom Tromey  <tom@tromey.com>
111599         make smie.el respect prog-first-column
111601         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
111603 2017-04-05  Tom Tromey  <tom@tromey.com>
111605         change viper to use derived-mode-p
111607         * lisp/subr.el (provided-mode-derived-p): New function.
111608         (derived-mode-p): Use it.
111609         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
111610         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
111611         (set-viper-state-in-major-mode): Use derived-mode-p.
111613 2017-04-05  Tom Tromey  <tom@tromey.com>
111615         change align to use derived-mode-p
111617         * lisp/align.el (align-region): Use derived-mode-p.
111619 2017-04-05  Tom Tromey  <tom@tromey.com>
111621         change org to use derived-mode-p
111623         * lisp/org/org-list.el (org-list-insert-radio-list): Use
111624         derived-mode-p.
111625         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
111626         derived-mode-p.
111628 2017-04-05  Tom Tromey  <tom@tromey.com>
111630         change semantic to use derived-mode-p
111632         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
111634 2017-04-05  Tom Tromey  <tom@tromey.com>
111636         change calc to use derived-mode-p
111638         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
111639         (calc-embedded-make-info): Use derived-mode-p.
111641 2017-04-05  Tom Tromey  <tom@tromey.com>
111643         change auto-insert to use derived-mode-p
111645         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
111647 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
111649         * lisp/info.el (Info-search): Fix typo in April 1 change.
111651 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
111653         Minor cleanups related to type-of
111655         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
111656         * src/data.c (syms_of_data):
111657         * src/frame.c (syms_of_frame): Put all the primitive type names
111658         together, under the "Types that type-of returns" comment.
111660 2017-04-05  Glenn Morris  <rgm@gnu.org>
111662         * doc/lispref/package.texi (Package Archives): Mention https.
111664 2017-04-05  Glenn Morris  <rgm@gnu.org>
111666         Advertise https for homepage of gnu.org packages
111668         * lisp/emacs-lisp/package.el (describe-package-1):
111669         Use https, if supported, for the homepage of packages on gnu.org.
111671 2017-04-05  Glenn Morris  <rgm@gnu.org>
111673         Default to https for elpa.gnu.org if gnutls available
111675         * lisp/emacs-lisp/package.el (package-archives):
111676         Default to https for elpa.gnu.org if gnutls is available.  Ref:
111677         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
111679 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
111681         Minor simplifications and doc for records
111683         * doc/lispref/records.texi (Records): Mention size limit.
111684         * etc/NEWS: Mention records.
111685         * src/alloc.c (allocate_pseudovector, allocate_record):
111686         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
111687         (allocate_record): Check arg range here, not in callers, as this
111688         simplifies the code.  Use allocate_vectorlike instead of
111689         allocate_vector, to avoid duplicate runtime tests.
111690         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
111691         the doc string, as it is not visible to the user.
111692         (Fmake_record, record, Fcopy_record):
111693         Prefer make_lisp_ptr to XSETVECTOR.
111694         (record): Broaden memcpy to copy the type, too.
111696 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
111698         Fix recent changes in record data type
111700         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
111701         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
111703 2017-04-04  Philipp Stephani  <phst@google.com>
111705         Make subprocess functions resolve the default directory
111707         `call-process' doesn't respect file name handlers in
111708         `default-directory', so `file-name-non-special' has to resolve them
111709         for `process-file', `start-file-process', and
111710         `shell-command' (Bug#25949).
111712         * lisp/files.el (file-name-non-special): Also resolve default
111713         directory for 'process-file', 'start-file-process', and
111714         'shell-command'.
111715         * test/lisp/files-tests.el
111716         (files-tests--file-name-non-special--subprocess): Add unit test.
111718 2017-04-04  Philipp Stephani  <phst@google.com>
111720         Make ediff handle remote and quoted file names
111722         Quoted file names need to be unquoted before passed to
111723         subprocesses (Bug#25950).
111725         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
111726         file names.
111727         * test/lisp/vc/ediff-diff-tests.el
111728         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
111730 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
111732         Backward compatibility with pre-existing struct instances.
111734         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
111735         (cl-old-struct-compat-mode): New minor mode.
111737         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
111738         cl-struct-define to signal use of record objects.
111740         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
111741         cl-struct-define): Enable legacy defstruct compatibility.
111743         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
111744         old-struct): New tests.
111746         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
111747         `old-struct-compat'.
111749 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
111751         Make the URL library use records.
111753         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
111754         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
111755         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
111757         * lisp/url/url-http.el (url-http): Check for type `url' instead of
111758         `vector'.
111760 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
111762         Make EIEIO use records.
111764         * lisp/emacs-lisp/eieio-compat.el
111765         (eieio--generic-static-object-generalizer): Adjust to new tags.
111767         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
111768         directly as tag.
111769         (eieio--object-class): Adjust to new tag representation.
111770         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
111771         (eieio-defclass-internal): Use `make-record'.
111772         (eieio--generic-generalizer): Adjust generalizer code accordingly.
111774         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
111776         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
111777         Add `recordp'.
111779         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
111781 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
111783         Make cl-defstruct use records.
111785         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
111786         (cl--describe-class-slots): Use the new `type-of'.
111788         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
111789         (cl--generic-struct-specializers): Adjust to new tag.
111791         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
111792         Use the type symbol as the tag.  Use copy-record to copy structs.
111793         (cl--defstruct-predicate): New function.
111794         (cl--pcase-mutually-exclusive-p): Use it.
111795         (cl-struct-sequence-type): Can now return `record'.
111797         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
111798         code to new format.
111799         (cl--struct-register-child): Work with records.
111800         (cl-struct-define): Don't touch the tag's symbol-value and
111801         symbol-function slots when we use the type as tag.
111803         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
111805         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
111806         New test.
111808         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
111810 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
111812         Add record objects with user-defined types.
111814         * src/alloc.c (allocate_record): New function.
111815         (Fmake_record, Frecord, Fcopy_record): New functions.
111816         (syms_of_alloc): defsubr them.
111817         (purecopy): Work with records.
111819         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
111820         name if record's type holds class.
111821         (Frecordp): New function.
111822         (syms_of_data): defsubr it.  Define `Qrecordp'.
111823         (Faref, Faset): Work with records.
111825         * src/fns.c (Flength): Work with records.
111827         * src/lisp.h (prec_type): Add PVEC_RECORD.
111828         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
111830         * src/lread.c (read1): Add syntax for records.
111832         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
111833         (print_object): Add syntax for records.
111835         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
111836         New test.
111838         * test/src/alloc-tests.el (record-1, record-2, record-3):
111839         New tests.
111841         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
111842         doc/lispref/records.texi: Add documentation for records.
111844 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
111846         Fix a test in python-test.el
111848         Fix a test that breaks the test suite when it is run within a
111849         virtual environment.
111850         See following link for details:
111851         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
111852         * test/lisp/progmodes/python-tests.el
111853         (python-shell-calculate-process-environment-7): Bind
111854         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
111855         bind it to '/env'.
111857 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
111859         Throw a `search-failed' derived error in Info search
111861         The original fix for Bug#6106 switched from signaling `search-failed'
111862         to `user-error'.  However, this breaks incremental searching over
111863         multiple nodes because the isearch code doesn't expect a `user-error'.
111865         * src/search.c (syms_of_search): New error, `user-search-failed',
111866         with `user-error' and `search-failed' as parents.
111867         * doc/lispref/errors.texi (Standard Errors): Document it.
111868         * etc/NEWS: Announce it.
111869         * lisp/info.el (Info-search): Use it instead of `user-error' so that
111870         isearch will handle failed searches correctly.
111872 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
111874         Add Tramp test
111876         * doc/misc/tramp.texi (Remote processes): Fix typo.
111878         * lisp/shell.el (shell): Fix typo.
111880         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
111882         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
111883         New test.
111884         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
111885         (tramp-test31-vc-registered)
111886         (tramp-test32-make-auto-save-file-name)
111887         (tramp-test33-make-nearby-temp-file)
111888         (tramp-test34-special-characters)
111889         (tramp-test34-special-characters-with-stat)
111890         (tramp-test34-special-characters-with-perl)
111891         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
111892         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
111893         (tramp-test35-utf8-with-ls)
111894         (tramp-test36-asynchronous-requests)
111895         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
111897 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
111899         * lisp/ses.el: Silence byte-compiler warnings.
111901         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
111902         byte-compiler warnings.
111904 2017-04-02  Glenn Morris  <rgm@gnu.org>
111906         Belated fixes for admin.el's M-x make-manuals-dist
111908         * admin/admin.el (make-manuals-dist-output-variables): Additions.
111909         (make-manuals-dist--1): Also copy docstyle.texi.
111911 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
111913         Fix bugs in simplified test dependencies
111915         Problem reported by Glenn Morris in:
111916         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
111917         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
111918         (TESTS): Omit unnecessary patsubst.
111919         (test_template): Redo dependency heuristic, hopefully
111920         correctly this time.  It's the .log file that depends,
111921         not the phony test target.  Declare the phonies to be PHONY.
111922         Resurrect the exception for the *-tests subdirectory.
111923         Adjust to the fact that leading "./" is omitted now.
111925 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
111927         Fix typo in docstring
111929         * lisp/help.el: Fix typo.
111931 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
111933         Apply connecion-local variables for shells
111935         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
111936         variables.  Don't mention Emacs 23 anymore.
111937         (Frequently Asked Questions): Precise Emacs and MS Windows version.
111939         * lisp/files-x.el (connection-local-normalize-criteria):
111940         Suppress nil properties.
111941         (connection-local-set-profiles, with-connection-local-profiles):
111942         Adapt docstring.
111944         * lisp/shell.el (shell): Apply connecion-local variables.
111946 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
111948         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
111950         This prevents variables in signatures such as `sub add ($a, $b)' from
111951         being treated as punctuation.
111952         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
111953         Strictly match only prototype characters as punctuation.  (Bug#26037)
111955 2017-04-01  Tom Tromey  <tom@tromey.com>
111957         fix two js-mode syntax propertization bugs
111959         Bug#26070:
111960         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
111961         zero-or-one to regular expression.
111962         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
111963         literal up to END.
111964         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
111965         (js-mode-propertize-bug-2): New tests.
111967 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
111969         Simplify test dependency generation
111971         Generate default dependencies by using GNU extensions to ‘make’
111972         rather than via a hacky auxiliary program and script.
111973         * .gitignore: Remove test/make-test-deps.mk.
111974         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
111975         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
111976         (test_template): Infer dependency directly instead of via
111977         make-test-deps.mk.
111978         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
111979         (clean): No need to clean make-test-deps.mk.
111980         (make-test-deps.mk): Remove rule.
111981         * test/make-test-deps.emacs-lisp: Remove.
111983 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
111985         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
111987         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
111988         test suite.
111989         (cl-lib-symbol-macrolet-2): New test.
111991 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
111993         Use only posix options in a ediff-ptch test
111995         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
111996         Use just "-b" patch option.  Don't assume a particular suffix for
111997         the backup files.
111999 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
112001         Initial implementation of HTTP Digest qop for url
112003         This also refactors digest authentication functions in url-auth.el.
112005         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
112006         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
112007         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
112008         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
112009         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
112010         to simplify code and aid in unit testing.
112011         (url-digest-auth-build-response): Hook up new functionality, or fall
112012         back to previous.
112013         (url-digest-auth-make-request-digest-qop):
112014         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
112015         (url-digest-auth-name-value-string): Add new helper functions.
112016         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
112017         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
112018         (url-auth-test-digest-request-digest): Add a few tests as now more
112019         features are testable via intermediate functions.
112020         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
112021         the new implementation.  Parts of these were accidentally already
112022         merged in the past.
112024 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
112026         Tweak ediff-ptch test in previous commit a bit more
112028         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
112029         Apply patches without requiring a shell.  Add some comments.
112031 2017-03-31  Glenn Morris  <rgm@gnu.org>
112033         Tweak an ediff-ptch test
112035         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
112036         Add skip conditions.  Avoid going through shell where not needed.
112038 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
112040         * lisp/net/tramp-smb.el (tramp-smb-errors):
112042         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
112044 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
112046         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
112048 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
112050         dired-mark-suffix: New command
112052         Now dired-mark-extension prepends '.' to extension when not present.
112053         Add command dired-mark-suffix to preserve the previous
112054         behavior (Bug#25942).
112055         * lisp/dired-x.el (dired-mark-suffix): New command;
112056         mark files ending in a given suffix.
112057         (dired--mark-suffix-interactive-spec): New defun.
112058         (dired-mark-extension, dired-mark-suffix): Use it.
112059         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
112060         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
112062 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
112064         default-directory: Remark that it must be a directory name
112066         * src/buffer.c (default-directory): Update docstring (Bug#26272).
112068 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
112070         Delete confuse statement in manual
112072         * doc/misc/cl.texi (For Clauses): Delete confuse statement
112073         and its example (Bug#23550).
112075 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
112077         Use find -delete if available
112079         This shortens the ‘make’ output and should avoid some
112080         repetitive scanning of directories during a build.
112081         * configure.ac (FIND_DELETE): New var.
112082         * lisp/Makefile.in (compile-always, bootstrap-clean):
112083         * test/Makefile.in (clean, bootstrap-clean): Use it.
112084         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
112086 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
112088         Remove gnus-boundp
112090         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
112091         bound-and-true-p.
112092         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
112094 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
112096         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
112098         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
112099         end of line after deleting horizontal whitespace.
112101 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
112103         * src/inotify.c (add_watch): Add comment.
112105 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
112107         Minor filenotify.el fixes
112109         * lisp/filenotify.el: Require subr-x.
112110         (file-notify-callback): Use equal, not eq.
112112 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
112114         Improve packaging documentation
112116         * doc/lispref/package.texi (Packaging Basics):
112117         * doc/lispref/tips.texi (Library Headers): Clarify some header
112118         formats, relation between file headers and package
112119         attributes (Bug#13281).
112121 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
112123         Fix a small incompatibility in ibuffer
112125         Translate nil values from column functions to the empty string, so that
112126         subsequent calls to string-width don't signal an error (Bug#26317).
112127         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
112128         nil, treat it like the empty string.
112130 2017-03-30  Alan Mackenzie  <acm@muc.de>
112132         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
112134         Also implement the "asymmetric space" rule for fontifying otherwise
112135         ambiguous
112136         declarations/expressions.
112138         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
112139         c-new-BEG or c-new-END when there is no need.
112140         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
112141         space" rule.
112143         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
112144         extracted from c-font-lock-declarations.  Add to this function processing to
112145         make `context' 'decl for lines contained within parens when these are also
112146         declarations.
112147         (c-font-lock-declarations): Call the newly extracted function above in place
112148         of inline code.
112150         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
112151         c-literal-start.
112153         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
112155         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
112156         "asymmetric fontification" rule, including the variable
112157         c-asymmetric-fontification-flag.
112159 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
112161         Some inotify cleanup
112163         This catches some problems with integer overflow and races
112164         that I noticed in inotify.c after reviewing the changes
112165         installed to fix Bug#26126.
112166         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
112167         * src/inotify.c (aspect_to_inotifymask):
112168         Check for cycles and for improper lists.
112169         (make_lispy_mask, lispy_mask_match_p): Remove.
112170         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
112171         (inotifyevent_to_event, add_watch):
112172         Don’t assume watch descriptors and cookies fit in fixnums.
112173         (add_watch): Use assoc_no_quit, not Fassoc.
112174         Avoid integer overflow in (very!) long-running processes where
112175         the Emacs watch ID could overflow.  Avoid some duplicate code.
112176         (find_descriptor): New function.
112177         (remove_descriptor): First arg is now the returned value from
112178         find_descriptor, rather than the descriptor.  This way, the
112179         value can be removed without calling Fdelete, which might quit.
112180         Wait until the end (when watch_list is consistent) before signaling
112181         any errors.
112182         (remove_watch, inotify_callback):
112183         Use find_descriptor to avoid the need for Fdelete.
112184         (inotify_callback): Use simpler tests for ioctl failure.
112185         Free temporary buffer if signaled, and put it on the stack if small.
112186         Use ssize_t to index through read results, to avoid a cast.
112187         (valid_watch_descriptor): New function, with a tighter check.
112188         (Finotify_rm_watch, Finotify_valid_p): Use it.
112189         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
112190         of Fassoc.  Do not assume the first assoc succeeds.
112191         * test/src/inotify-tests.el (inotify-valid-p-simple):
112192         Add inotify-valid-p tests, some of which dump core without
112193         the fixes noted above.
112195 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
112197         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
112199 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
112201         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
112203 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
112205         Fix assoc_no_quit so that it does not quit
112207         The problem was that it called Fequal, which can quit.
112208         * src/fns.c (enum equal_kind):
112209         New enum, to be used in place of a boolean.
112210         (equal_no_quit): New function.
112211         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
112212         (assoc_no_quit): Use it to avoid quitting, the main point here.
112213         (internal_equal): Generalize bool to enum equal_kind arg, so that
112214         there are now 3 possibilities instead of 2.  Do not signal an
112215         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
112216         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
112217         changed.
112219 2017-03-29  Alan Mackenzie  <acm@muc.de>
112221         Amend gitmerge to recognize the injunction "don't merge".
112223         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
112224         well as "do not".
112226 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
112228         Add one more CSS pseudo-class
112230         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
112231         `focus-within'.
112233 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
112235         Update list of CSS pseudo-classes
112237         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
112238         pseudo-classes.
112240 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
112242         Adjust some search failure errors in info.el
112244         * lisp/info.el (Info-select-node): The search for beginning of node is
112245         an internal detail, and is not normally expected to fail, so it should
112246         not be a user error.
112247         (Info-complete-menu-item): Failing to find a menu indicates the user
112248         searched for a menu when there isn't one, so change to `use-error'.
112250 2017-03-28  Alan Mackenzie  <acm@muc.de>
112252         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
112254 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
112256         Don’t mishandle (format "%i" -1.0)
112258         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
112260 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
112262         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
112264 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
112266         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
112268 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
112270         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
112272         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
112273         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
112274         with (user-error "Search failed: "...).
112276 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
112278         Fix obsolete ‘test/automated’ references
112280         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
112281         (bootstrap-clean, maintainer-clean):
112282         Clean ‘test’, not ‘test/automated’.  Test for existence of
112283         subdirectory only for ‘test’, not for directories that should
112284         always exist.
112285         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
112286         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
112287         * lisp/man.el (Man-parse-man-k):
112288         * lisp/url/url-domsuf.el, make-dist:
112289         * test/file-organization.org:
112290         Fix obsolete references to test/automated.
112292 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
112294         shr-image-fetched: Work for narrowed Gnus article
112296         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
112298         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
112300 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
112302         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
112304 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
112306         Expand manual section on quitting windows
112308         * doc/lispref/windows.texi (Quitting Windows): Provide more
112309           information about the elements of the quit-restore window parameter,
112310           and how they affect the behavior of quit-restore-window.
112312 2017-03-26  Philipp Stephani  <phst@google.com>
112314         Add check for expected backtrace in module calls.
112316         * test/manual/cedet/tests/test.el
112317         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
112318         expected backtrace.
112320 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
112322         Fix redisplay glitches due to recent change in redisplay_internal
112324         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
112325         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
112326         for the problems caused by the original fix.
112328 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
112330         Fix Bug#26258
112332         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
112333         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
112334         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
112335         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
112336         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
112338         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
112339         (tramp-register-autoload-file-name-handlers)
112340         (tramp-register-file-name-handlers): Do not handle
112341         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
112342         the handlers are responsible for.
112343         (tramp-register-foreign-file-name-handler): New defun.
112345 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
112347         Fix docstring of dabbrev-abbrev-char-regexp
112349         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
112350         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
112351         previous character doesn't match, we search backwards for one that
112352         does, not throw an error.  Replace Lisp example with C based one to
112353         make it clear that "symbol" means a sequence of word and symbol
112354         constituent characters, not a Lisp symbol (Bug#358).
112356 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
112358         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
112360 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
112362         Minor fixes for inotify.c and filenotify.el
112364         * lisp/filenotify.el (file-notify--watch-absolute-filename):
112365         Add docstring.
112366         (file-notify-callback): Simplify.
112368         * src/inotify.c (Finotify_add_watch): Adapt docstring.
112370 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
112372         Fix issues regarding inotify file-notification
112374         Remove special code handling the inotify back-end.
112375         * lisp/filenotify.el (file-notify--watch): New struct
112376         representing a file-watch.
112377         (file-notify-descriptors): Use the new struct as hash-value.
112378         (file-notify-handle-event): Check that event is a cons.
112379         (file-notify--rm-descriptor, file-notify--event-watched-file)
112380         (file-notify--event-file-name, file-notify--event-file1-name)
112381         (file-notify-callback, file-notify-add-watch)
112382         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
112383         Remove special code handling inotify descriptors.  Remove code
112384         handling multiple clients per descriptor.
112385         (file-notify--descriptor): Remove unused function.
112387         Let inotify-add-watch return a unique descriptor on every
112388         call, like every other back-end does (Bug#26126).  Prevent
112389         multiple clients from interfering with each other, when
112390         watching a shared descriptor.
112391         * src/inotify.c (watch_list): Extend the format by including a
112392         id and the provided mask.
112393         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
112394         (make_watch_descriptor): Removed.
112395         (make_lispy_mask, lispy_mask_match_p): New functions.
112396         (inotifyevent_to_event): Match event against the mask provided
112397         by the client.
112398         (add_watch, remove_descriptor, remove_watch): New functions
112399         for managing the watch_list.
112400         (inotify_callback): Use the new functions.
112401         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
112402         flags from documentation.  Add check for validity of provided
112403         descriptor.  Use the new functions.  Use the default mask.
112404         (INOTIFY_DEBUG): Add new debug conditional.
112405         (inotify-watch-list, inotify-allocated-p): New debug functions.
112406         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
112408         * test/lisp/filenotify-tests.el:
112409         (file-notify-test02-rm-watch): Remove expected failure for inotify.
112411 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
112413         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
112415 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
112417         Stop edebug getting stuck on backquote (Bug#23651)
112419         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
112420         reading backquote or comma.
112422 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
112424         Expand manual section on quitting windows
112426         * doc/lispref/windows.texi (Quitting Windows): Provide more
112427           information about the elements of the quit-restore window parameter,
112428           and how they affect the behavior of quit-restore-window.
112430 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
112432         Support in ispell.el multiple dictionaries loaded by Hunspell
112434         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
112435         Support Hunspell configurations that load more than one dictionary
112436         by default.  Doc fix.  (Bug#25830)
112438 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
112440         Simplify Tramp autoloading.
112442         * lisp/net/tramp.el (tramp-completion-file-name-handler):
112443         Simplify autoloading.  Give it the `operations' property.
112444         (tramp-completion-handle-expand-file-name): Remove.
112446 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
112448         Fix a segfault due to failure to realize some faces
112450         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
112451         while redisplaying its windows, redisplay all of its windows
112452         again.  (Bug#26097)
112453         (init_iterator): When freeing all realized faces on all frames,
112454         reset the 'face_change' flag of the frame whose window we are
112455         about to iterate.
112457 2017-03-25  Philipp Stephani  <phst@google.com>
112459         Use a named function for 'safe-local-variable
112461         This improves the help screen for `version-control' (Bug#25431).
112463         * lisp/files.el (version-control-safe-local-p): New function.
112464         (version-control): Use it.
112466 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
112468         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
112470 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
112472         Make it easier to abort a series of tests with C-g
112474         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
112475         interactively is true and a test was aborted then ask if the remaining
112476         tests should be aborted too.
112477         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
112478         interactively arg.
112480 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
112482         Don’t require chown/chgrp for game installation
112484         Problem reported by Joseph Mingrone in:
112485         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
112486         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
112487         chgrp fails with update-game-score and the game directory.
112488         Instead, expect the installer to fix this up afterwards.
112490 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
112492         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
112494         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
112495         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
112497 2017-03-23  Philipp Stephani  <phst@google.com>
112499         Protect against an infloop in python-mode
112501         There appears to be an edge case caused by using `syntax-ppss' in a
112502         narrowed buffer during JIT lock inside of Python triple-quote strings.
112503         Unfortunately it is impossible to reproduce without manually
112504         destroying the syntactic information in the Python buffer, but it has
112505         been observed in practice.  In that case it can happen that the syntax
112506         caches get sufficiently out of whack so that there appear to be
112507         overlapping strings in the buffer.  As Python has no nested strings,
112508         this situation is impossible and leads to an infloop in
112509         `python-nav-end-of-statement'.  Protect against this by checking
112510         whether the search for the end of the current string makes progress.
112512         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
112513         against infloop.
112514         * test/lisp/progmodes/python-tests.el
112515         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
112517 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
112519         * doc/lispref/os.texi (File Notifications):
112521         Strengthen the recommendation to use filenotify.el.
112523 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
112525         Merge from gnulib
112527         This incorporates:
112528         2017-03-22 getopt: merge from glibc
112529         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
112530         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
112531         * lib/gnulib.mk.in: Regenerate.
112533 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
112535         Use lexical-bind in Tramp
112537         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
112539         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
112540         rather than `add-to-list'.
112541         (tramp-adb-get-device): Remove unused variable.
112543         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
112544         variable.
112546         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
112547         (tramp-find-file-name-coding-system-alist): Use `push' rather
112548         than `add-to-list'.
112550         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
112551         Require 'dired.  Move declarations up.
112552         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
112553         and `temporary-file-directory' calls with `with-no-warnings'.
112554         (tramp-test35-asynchronous-requests): Mark unused variable.
112556 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
112557             Noam Postavsky  <npostavs@gmail.com>
112559         Do not include comment start chars in ffap string
112561         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
112562         ensure that the returned string does not contain the comment start
112563         characters (especially for major modes that have '//' as comment start
112564         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
112565         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
112566         C-f" on a "//foo" comment will initiate an attempt to access a path
112567         "//foo" (Bug#24057).
112569 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
112571         c:/Temp/gtk-window-move/ChangeLog.txt
112573 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
112575         Fix filenotify.el issue for kqueue
112577         * lisp/filenotify.el (file-notify-add-watch): Use directory
112578         for remote file name handlers.
112580         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
112581         Create/delete temporary file only for "kqueue".
112582         (file-notify-test02-rm-watch): Create/delete temporary files.
112584 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
112586         Extend `file-notify-test02-rm-watch'
112588         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
112589         Expect it failed for inotify.  Divide tests into different
112590         `unwind-protect' clauses.  Check, that removing watch
112591         descriptors out of order do not harm.  (Bug#26126)
112593 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
112595         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
112597 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
112599         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
112601 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
112603         Improve configure --with-pop etc. diagnostics
112605         * configure.ac: Improve diagnostics re --with-pop and
112606         --with-mailutils (Bug#26102).
112608 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
112610         Revert "Make --without-pop the default."
112612         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
112614 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
112616         Don’t remove dependency files when configuring
112618         Problem reported by Tom Tromey in:
112619         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
112620         * configure.ac: Don’t remove */*.o and */deps/* when
112621         --enable-autodepend is in effect.
112623 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
112625         Make --without-pop the default.
112627         Suggested by Angelo Graziosi in:
112628         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
112629         * configure.ac: Change the default from --with-pop to
112630         --without-pop.  Adjust diagnostics to match.
112632 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
112634         Streamline dependency-file generation
112636         * configure.ac (AUTODEPEND_PARENTS): New var.
112637         mkdir the dependency directories here, to simplify ‘make’.
112638         Remove dependency files just before outputting Makefiles, so that
112639         they are preserved if ‘configure’ exits early due to some other problem.
112640         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
112641         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
112642         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
112643         number of processes spun off by ‘make’.
112644         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
112645         (distclean): Remove $(DEPDIR) itself.
112646         * lwlib/Makefile.in (all): Move to front, so that depdir includes
112647         do not alter default action.
112649 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
112651         Port and simplify example sh script
112653         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
112654         don’t use ‘tail -1’, which is not portable.
112656 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
112658         Narrow scope of modification hook renabling in org-src fontification
112660         Modification hooks should be enabled while modifying text in the
112661         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
112662         org-src fontify buffers" the hooks were enabled also for modifications
112663         to the original org buffer.  This causes fontification errors when
112664         combined with certain packages, as reported in
112665         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
112667         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
112668         of inhibit-modification-hooks let-binding.
112670 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
112672         epatch: Save right backups in Git multipatches
112674         Multipatches on N Git files save wrong backups for
112675         N-1 files; only the last one has a correct backup (Bug#26084).
112676         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
112677         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
112678         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
112679         Rename from ibuffer-test-bug25010.
112680         (ediff-ptch-test-bug26084): New test.
112682 2017-03-21  Michael R. Mauger  <michael@mauger.com>
112684             * lisp/progmodes/sql.el: Version 3.6
112686             (sql-login-params): Added :must-match for completion of
112687             `server' and `database' login parameters.
112688             (sql-sqlite-login-params, sql-postgres-login-params): Set
112689             :must-match to `confirm'.
112690             (sql-get-login-ext): Use :must-match value to control
112691             `read-file-name' or `completing-read'.
112692             (sql-connect): Added optional BUF-NAME parameter; Reworked
112693             connection variable processing; Pass buffer name to
112694             `sql-product-interactive'.
112695             (sql-product-interactive): Pass buffer name along.
112696             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
112697             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
112698             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
112699             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
112700             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
112701             (sql-comint-vertica): Add optional BUF-NAME, pass to
112702             `sql-comint'.
112703             (sql-oracle--list-oracle-name): New function.
112704             (sql-oracle-list-all): Use it.
112705             (sql-oracle-completion-object): Enhanced.
112707 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
112709         Solve ses-recalculate-cell updating only current line bug.
112711         * lisp/ses.el (ses-recalculate-cell): Add optional argument
112712         ses--curcell to avoid overwriting ses--curcell when function is
112713         called from ses-recalculate-all.  Update docstring accordingly.
112714         (ses-recalculate-all): Call ses-recalculate-cell with argument
112715         ses--curcell to avoid its overwriting.
112717 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
112719         Fix problem with out-of-date dependencies
112721         Problem reported by Robert Marshall in:
112722         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
112723         Although this problem has been with us for a while, the recent
112724         change from Automake to GNU Make exposed it again.
112725         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
112726         leftover dependency and object files, since the previous sources'
112727         dependencies may disagree with the current ones.  Reconfiguring
112728         typically needs to force a rebuild anyway.
112730 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
112732         Simpler filter implementation
112734         * lisp/play/dunnet.el (dun-endgame-question): Get or set
112735         dun-endgame-questions one time only.  Use dolist and an index to
112736         prune the list.
112738 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
112740         * lisp/button.el (forward-button): Use user-error instead.
112742 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112744         Merge from gnulib
112746         This gets Emacs working again with HP-UX Itanium cc.
112747         It incorporates:
112748         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
112749         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
112750         2017-03-17 stat-time, timespec: Support header files in C++ mode
112751         2017-03-17 stdalign: Make it work with HP-UX cc
112752         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
112753         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
112754         2017-03-14 gnulib-tool: don't produce tests with only snippets
112755         2017-03-14 limits-h: Make it work with HP-UX cc.
112756         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
112757         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
112758         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
112759         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
112760         Copy from gnulib.
112762 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112764         * ChangeLog.2: Merge from emacs-25.
112766 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112768         Fixups after merge from emacs-25
112770         * etc/NEWS: Remove stray entry.
112771         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
112772         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
112773         Make it nondecreasing.
112775 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112777         Merge from origin/emacs-25
112779         d71e071 Improve documentation of interactive "r".
112781 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112783         Merge from origin/emacs-25
112785         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
112786         1925dd9 Fix duplicate wording in Emacs manual
112787         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
112788         2d671fd Fix wording in Emacs manual
112789         a8766a2 Document how to customize input methods
112790         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
112791         aceac95 Fix warning message about native completion (Bug#25984)
112792         a314c1f Clarify documentation of 'raise' and 'height' display specs
112793         f366f6e Mention problems with GPaste in PROBLEMS
112794         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
112795         6406618 Fix doc strings in info.el
112796         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
112797         eed9677 Fix doc string of 'posn-at-point'
112798         0d5957e Documentation fix in elisp reference manual
112800 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112802         Merge from origin/emacs-25
112804         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
112805         2b774fa Mention "editor" in Emacs man page header
112806         ae60d0c Document problems with nerd-fonts
112807         2fdb5a9 ; Details about pinning Emacs to w32 task bar
112808         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
112809         4c51ef4 Clarify what is the "cursor"
112810         8303c32 ; * etc/NEWS: Copyedits.
112811         3f7493e ; Fix a typo in comment
112812         c54cf8d Improve commentary in lisp.h
112813         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
112814         0ba9932 Disable native completion for ipython (Bug#25067)
112815         38fc456 Fix a typo in ada-mode manual
112816         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
112817         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
112819         # Conflicts:
112820         #       etc/NEWS
112821         #       etc/PROBLEMS
112823 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112825         Merge from origin/emacs-25
112827         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
112829 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112831         Merge from origin/emacs-25
112833         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
112835 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112837         Merge from origin/emacs-25
112839         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
112840         7e02a47 Index byte-compile-debug
112841         7c1e598 Document `byte-compile-debug' in the ELisp manual
112842         4d81eb4 Document variable `byte-compile-debug'
112843         72ef710 Fix call to debugger on assertion failure
112844         ae8264c Call modification hooks in org-src fontify buffers
112845         b3139da ; Fix last change in doc/lispref/strings.texi
112846         c331f39 Improve documentation of 'format' conversions
112847         9f52f67 Remove stale functions from ert manual
112848         c416b14 Fix a typo in Eshell manual
112849         06695a0 ; Fix a typo in ediff-merg.el
112850         954e9e9 Improve documentation of hooks related to saving buffers
112851         9fcab85 Improve documentation of auto-save-visited-file-name
112852         2236c53 fix typo in mailcap-mime-extensions
112853         85a3e4e Fix typos in flymake.el
112854         a1ef10e More NEWS checking for admin.el's set-version
112856         # Conflicts:
112857         #       lisp/emacs-lisp/bytecomp.el
112859 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112861         Merge from origin/emacs-25
112863         5569e64 ; Spelling fixes
112864         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
112865         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
112866         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
112867         42eae54 Improve documentation of dabbrevs
112868         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
112869         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
112871         # Conflicts:
112872         #       lisp/textmodes/rst.el
112874 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
112876         Merge from origin/emacs-25
112878         0e35405 Improve documentation of coding-systems
112879         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
112880         16fb50d Fix an error message in python.el
112881         a2a2073 Clarify major mode switching
112882         fc38671 Add helpful comment to compile-command's docstring
112883         ee65d85 Fix ':version' of 'select-enable-primary'
112885 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
112887         Fix bug in generator function with pcase (Bug#26068)
112889         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
112890         to symbol-name.
112892 2017-03-19  Alan Mackenzie  <acm@muc.de>
112894         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
112896         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
112897         invocation of c-on-identifier with a check we're not at the _end_ of an
112898         identifier.
112900         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
112901         perl versions of texi2dvi haven't implemented it.
112902         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
112903         in Pike Mode.
112904         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
112905         (FAQ): Add a question about "excessive" indentation of the contents of a C++
112906         lambda function, and how to get rid of it.
112908 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
112910         Remove unused vars in cl-extra.el and tramp.el.
112912         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
112914         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
112915         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
112916         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
112918 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
112920         Improve describe-symbol's layout of slots when describing types
112922         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
112923         (cl--describe-class-slots): Use it.
112925 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
112927         Fix Bug#26156
112929         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
112930         <expand-file-name>: Remove handler.  (Bug#26156)
112932 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
112934         * lisp/obarray.el (obarray-size): Avoid compiler warning.
112936 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
112938         Fix last change in lib/Makefile.in
112940         * lib/Makefile.in (srcdir): Define, as including
112941         $(srcdir)/../nt/gnulib-cfg.mk needs that.
112943 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
112945         * configure.ac: Fix typo in diagnostic.
112947 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
112949         Port out-of-source builds to windows-nt
112951         Problem reported by Angelo Graziosi in:
112952         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
112953         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
112954         to handle out-of-source builds if windows-nt.
112956 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
112958         MS-Windows followup for switch from Automake
112960         * nt/INSTALL:
112961         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
112963 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
112965         Improve documentation of interactive "r".
112967         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
112968         must be set for "r" to work.
112970 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
112972         Fixups for GNU Make switchover
112974         This fixes some minor problems introduced in the recent switch to GNU
112975         Make, discovered by further testing.  Without some of these changes
112976         'make -j' would sometimes have race conditions caused by missing
112977         dependencies.  (Bug#26100)
112978         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
112979         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
112980         src/config.in, since the former's timestamp now represents
112981         the latter's.
112982         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
112983         with other autogen.sh invocations.
112984         ($(srcdir)/src/stamp-h.in):
112985         Remove rule, as this file is no longer created.
112986         * Makefile.in (top_distclean):
112987         * src/Makefile.in (bootstrap-clean):
112988         No need to remove stamp-h1, as that was an Automake byproduct
112989         and Automake is no longer in use.
112990         * lib/Makefile.in, src/Makefile.in:
112991         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
112992         (../config.status, Makefile): Simplify by limiting dependencies
112993         to files we care about and files in the repository, and by
112994         using just one file to represent the timestamps on multiple
112995         targets updated by the same rule.
112996         * autogen.sh: Do not create or use src/stamp-h.in.
112997         Instead, have 'find' test the two output files directly.
112999 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
113001         Switch from Automake to GNU Make
113003         Emacs assumes GNU Make, and GNU Make has much of the functionality of
113004         Automake built-in.  The Emacs build process uses Automake primarily
113005         because Emacs uses some Gnulib code and Gnulib formerly required
113006         Automake.  Now that Gnulib no longer requires Automake, Emacs can
113007         stop using Automake and this should simplify Emacs maintenance
113008         in the future (Bug#26100).  Although this patch may look long, most of
113009         it is generated automatically: the changes to build-aux/config.guess,
113010         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
113011         all done by admin/merge-gnulib.
113012         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
113013         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
113014         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
113015         as they are no longer built by autogen.sh.
113016         Add lib/gnulib.mk, as it is now built by 'configure'.
113017         Remove nt/gnulib.mk, as it is no longer built by 'make'.
113018         * INSTALL.REPO, README, admin/make-tarball.txt:
113019         Remove mention of Automake.
113020         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
113021         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
113022         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
113023         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
113024         Remove.
113025         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
113026         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
113027         ($(srcdir)/src/config.in):
113028         Use autogen.sh instead of doing it by hand.
113029         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
113030         New vars, to simplify processing of avoided modules.
113031         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
113032         Add --gnu-make, and change makefile name to gnulib.mk.in.
113033         Copy config.guess, config.sub, and install-sh too, since
113034         Automake no longer does that for us.
113035         * admin/notes/copyright:
113036         * admin/update_autogen (genfiles):
113037         Update list of files.
113038         Remove hack for nt/gnulib.mk, a file that is no longer needed.
113039         * autogen.sh (progs): Remove Automake.
113040         (automake_min): Remove.
113041         Build aclocal.m4 so that autoreconf need not use aclocal.
113042         * build-aux/config.guess, build-aux/config.sub:
113043         * build-aux/install-sh:
113044         New files, copied from Gnulib.  These are now updated by
113045         admin/merge-gnulib instead by autogen.sh.
113046         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
113047         Remove.
113048         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
113049         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
113050         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
113051         (--disable-silent-rules): New option, since Automake no longer
113052         does this for us.
113053         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
113054         with AM_SUBST_NOTMAKE.
113055         (AC_PROG_INSTALL): Add call.
113056         (MAKEINFO): Do not bother with the 'missing' program.
113057         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
113058         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
113059         (SUBDIR_MAKEFILES): Remove duplication.
113060         * lib/Makefile.am: Remove, replacing with:
113061         * lib/Makefile.in: New file, with the old Makefile.am contents
113062         and with the following changes:
113063         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
113064         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
113065         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
113066         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
113067         Remove.
113068         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
113069         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
113070         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
113071         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
113072         New macros and rules, since Automake no longer does them.
113073         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
113074         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
113075         Include dependency files if AUTO_DEPEND.
113076         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
113077         New macros.
113078         (bootstrap-clean): Depend on distclean, not maintainer-clean,
113079         and remove gnulib.mk.
113080         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
113081         New macros and rules, copied from ../Makefile.in.
113082         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
113083         (.c.o, e-%.o): New generic rules.
113084         * lib/gnulib.mk: Remove.
113085         * lib/gnulib.mk.in: New file, which is built by autogen.sh
113086         and contains much of what used to be in lib/gnulib.mk.
113087         * m4/gnulib-common.m4: Copy from gnulib.
113088         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
113089         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
113090         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
113091         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
113092         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
113093         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
113094         * nt/gnulib-cfg.mk: New file, which supersedes ...
113095         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
113096         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
113097         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
113098         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
113099         Defer to parent Makefile.
113101 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
113103         Don't suggest Mailutils on MS-Windows
113105         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
113106         hasn't been ported.
113108 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
113110         Fix bug: Range-check integer ‘alpha’ frame parm value
113112         Typo introduced 2013-04-01, "Prefer < to >
113113         in range checks such as 0 <= i && i < N".
113115         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
113117 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
113119         Fix bug: Range-check integer ‘alpha’ frame parm value
113121         Typo introduced 2013-04-01, "Prefer < to >
113122         in range checks such as 0 <= i && i < N".
113124         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
113126 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
113128         Fix Bug#26127
113130         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
113131         there is a function which could be called.  (Bug#26127)
113133         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
113134         Clear also `file-notify-descriptors'.
113135         (file-notify--test-make-temp-name): Move up.
113136         (file-notify-test02-rm-watch): New test.
113137         (file-notify-test03-events, file-notify-test04-autorevert)
113138         (file-notify-test05-file-validity)
113139         (file-notify-test06-dir-validity)
113140         (file-notify-test07-many-events, file-notify-test08-backup)
113141         (file-notify-test09-watched-file-in-watched-dir)
113142         (file-notify-test10-sufficient-resources): Rename.
113144 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
113146         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
113148 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
113150         Emacs 'movemail' is now a configure-time option
113152         The new configure option --with-mailutils lets the builder say
113153         that Emacs should assume that GNU Mailutils is installed, instead
113154         of continuing to build and install its own limited and insecure
113155         substitute for 'movemail'.
113156         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
113157         * configure.ac: Add --with-mailutils option.
113158         (with_mailutils): New variable.
113159         Do not bother configuring 'movemail' when not building it.
113160         Warn about issues relating to --with-mailutils.
113161         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
113162         (Movemail, Remote Mailboxes): Document port numbers in
113163         POP and IMAP URLs.
113164         * lib-src/Makefile.in (with_mailutils): New macro.
113165         (UTILITIES): Use it.
113167 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
113169         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
113171         * lisp/obarray.el (obarray-size): New function.
113173         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
113174         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
113175         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
113176         Use obarrayp.
113178         * test/lisp/obarray-tests.el (obarray-make-default-test)
113179         (obarray-make-with-size-test): Use it.
113181 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
113183         Document remote file name syntax change
113185         * doc/emacs/files.texi (Remote Files, Quoted File Names):
113186         * doc/misc/org.texi (dir): Change examples to use a method.
113188         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
113189         `Testing' menu entry.
113190         (History): Fix typos.  Mention syntax change.
113191         (Configuration, Default Host, File name Syntax)
113192         (File name completion, Frequently Asked Questions):
113193         Change examples to use a method.
113194         (External methods, Default Host, Multi-hops, Remote processes):
113195         Fix typos.
113196         (Default Method): Mention pseudo method "-".
113197         (External packages): Rewrite intention of `non-essential'.
113199         * etc/NEWS: Mark recent Tramp entries as documented.
113201 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
113203         (semantic-lex-type-invalid): Fix nested backquote.
113205         * lisp/cedet/semantic/lex.el: Use lexical-binding.
113206         (semantic-lex-type-invalid): Fix nested backquote.
113207         (semantic-lex-map-symbols, semantic-lex-type-symbol)
113208         (semantic-lex-keyword-symbol): Use obarrayp.
113210 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
113212         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
113214 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
113216         Write a named function
113218         * lisp/comint.el (comint-nonblank-p): New function.
113219         (comint-input-filter): Use it.
113221 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
113223         Replace more nested ifs with cond
113225         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
113226         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
113227         (dun-drop-check, dun-swim, dun-break): Use when and cond where
113228         appropriate.
113229         (dun-examine): Fix indentation.
113230         (dun-doverb): Use when.
113231         (dun-read-line): Refactor.
113233 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
113235         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
113237         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
113238         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
113239         causes the regex engine to backtrack a lot when searching for
113240         "\\s-+$" (Bug#26079).
113242         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
113243         syntax, search for "\\s-$" and then skip backward over trailing
113244         whitespace.
113246 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
113248         Merge from gnulib
113250         This incorporates:
113251         2017-03-14 snippets: move unadjusted snippet sources to lib
113252         2017-03-14 gnulib-tool: fix typo in comment output
113253         2017-03-14 snippets: work around GNU Make 3.82 VPATH
113254         2017-03-13 gnulib-tool: minor --gnu-make fixups
113255         2017-03-12 gnulib-tool: new option --gnu-make
113256         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
113257         lib/warn-on-use.h.  Change exception from
113258         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
113259         * admin/authors.el (authors-renamed-files-regexps):
113260         * admin/notes/copyright, make-dist:
113261         The snippet files moved from build-aux/snippet to lib.
113262         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
113263         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
113264         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
113265         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
113266         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
113268 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
113270         Fix duplicate wording in Emacs manual
113272         * doc/emacs/programs.texi (Which Function): Delete duplicate
113273         wording.  (Bug#26098)
113275 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
113277         Reenable lost Tramp test case
113279         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
113280         Reenable lost test case.
113282 2017-03-14  Alan Third  <alan@idiocy.org>
113284         Revert "Remove NSEvent loop from ns_select (bug#25265)"
113286         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
113288 2017-03-14  Alan Third  <alan@idiocy.org>
113290         Revert "Add missing timeout value in ns_select"
113292         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
113294 2017-03-14  Alan Third  <alan@idiocy.org>
113296         Remove old macOS compatibility code
113298         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
113299         macOS versions below 10.6 as they are not supported in Emacs 25+.
113301 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
113303         Tune `tramp-completion-file-name-regexp-unified'
113305         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
113306         Extend this regexp to match also "/".
113308 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
113310         Show ancestor buffer in 3way merges
113312         Add an option ediff-show-ancestor', to control if the ancestor buffer
113313         must be shown in 3way merges (Bug#25493); set it non-nil by default.
113314         Add a toggle to change this option interactively; the original
113315         value of the option is restored on exit.
113317         Update the window setup so that the ancestor buffer is
113318         shown in 3way merges when ediff-show-ancestor is non-nil.
113320         Any operation on ediff windows must take in account the
113321         ancestor window as well, when this is shown.
113323         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
113324         (ediff--show-ancestor-orig): New defvar.
113325         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
113326         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
113327         Display ancestor buffer if ediff-show-ancestor is non-nil.
113328         (ediff-keep-window-config): Expect ancestor window in
113329         ediff-window-config-saved.
113330         (ediff-window-alist): Add entry for the ancestor window.
113331         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
113332         ediff-window-config-saved contains ancestor window.
113333         (ediff-show-ancestor): Delete this command.
113334         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
113335         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
113336         don't cheat it to think that is performing a comparison, that trick is not
113337         necessary anymore: simply call 'ediff-setup-diff-regions-function'
113338         with file-A, file-B and the file ancestor.
113339         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
113340         (ediff--check-ancestor-exists): New defun.
113341         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
113342         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
113343         (ediff-scroll-vertically, ediff-scroll-horizontally)
113344         (ediff-operate-on-windows): Consider the ancestor as well.
113345         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
113346         List ediff-toggle-show-ancestor.
113347         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
113349 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
113351         diff-mode: Improve default faces for buffer ancestor
113353         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
113354         (ediff-fine-diff-Ancestor): Use defaults consistent with
113355         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
113357 2017-03-14  Hong Xu  <hong@topbug.net>
113359         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
113361 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
113363         Fix make-dist typo
113365         * make-dist: Fix typo introduced in the Bug#25895 fix.
113367 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
113369         Fix wording in Emacs manual
113371         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
113372         (Bug#26086)
113374 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
113376         etc/NEWS: Remote file names require a method.
113378 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
113380         Require method in remote file name syntax
113382         * lisp/minibuffer.el (completion--nth-completion):
113383         Do not bind `non-essential'.
113385         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
113386         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
113387         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
113388         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
113389         `tramp-check-proper-method-and-host'.
113391         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
113392         (tramp-maybe-open-connection): Do not use argument for
113393         ´tramp-completion-mode-p'.
113395         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
113396         (tramp-prefix-format, tramp-postfix-method-format)
113397         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
113398         (tramp-prefix-port-format, tramp-postfix-host-format)
113399         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
113400         Use `eq' instead of `eqal'.
113401         (tramp-method-regexp, tramp-domain-regexp)
113402         (tramp-remote-file-name-spec-regexp)
113403         (tramp-file-name-regexp-unified)
113404         (tramp-completion-file-name-regexp-unified)
113405         (tramp-completion-file-name-regexp-separate): Adapt regexp.
113406         (tramp-completion-file-name-handler-alist)
113407         (tramp-run-real-handler): Autoload them.
113408         (tramp-find-method): Handle `tramp-default-method-marker'.
113409         (tramp-check-proper-method-and-host)
113410         (tramp-completion-run-real-handler): Remove them.
113411         (tramp-error-with-buffer, tramp-connectable-p): Do not use
113412         argument for ´tramp-completion-mode-p'.
113413         (tramp-find-foreign-file-name-handler): Remove COMPLETION
113414         argument.  Do not apply heuristic for completion.
113415         (tramp-file-name-handler): Do not modify `non-essential'.
113416         (tramp-completion-file-name-handler): Change implementation.
113417         (tramp-autoload-file-name-handler)
113418         (tramp-completion-handle-file-name-all-completions):
113419         Call `tramp-run-real-handler'.
113420         (tramp-completion-mode-p): Do not autoload.  Remove argument.
113421         Do not apply heuristic for completion.
113422         (tramp-completion-dissect-file-name): Simplify implementation.
113423         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
113425         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
113426         (tramp-test02-file-name-dissect)
113427         (tramp-test03-file-name-defaults)
113428         (tramp-test06-directory-file-name): Adapt to the new syntax.
113429         (tramp-test11-copy-file, tramp-test12-rename-file)
113430         (tramp--test-check-files): Deactivate temporarily tests with
113431         quoted file names.
113432         (tramp-test16-directory-files, tramp-test17-insert-directory):
113433         Adapt tests.
113434         (tramp-test24-file-name-completion): Do not check for
113435         completion mode.
113436         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
113437         two tests.
113439 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
113441         Fix bidi paragraph direction when inserting text at newline
113443         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
113444         paragraph cache when inserting immediately after a newline.
113445         (Bug#26083)
113447 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
113449         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
113451 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
113453         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
113455         (cl-print-object) <compiled-function>: Print the docstring and
113456         interactive form.  Obey cl-print-compiled.
113458 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
113460         Fix indent-sexp when called from inside a string (Bug#21343)
113462         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
113463         state from `syntax-ppss'.
113465 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
113467         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
113469         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
113470         (indent-subsexp, indent-sexp-in-string): New tests.
113472 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
113474         Use switch on pseudovector types; plus cleanups along the way
113476         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
113477         (PSEUDOVECTOR_TYPEP): Change type of `code'.
113479         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
113480         (mark_object): Use PSEUDOVECTOR_TYPE.
113482         * src/data.c (Ftype_of): Use switch on pvec type.
113484         * src/print.c (print_object): Use switch on pvec type.
113486         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
113487         Add recently added types.
113489 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
113491         Install update-game-score only on request
113493         Most distributions do not install update-game-score properly
113494         due to setuid/setgid complications, so install it only when
113495         the installer specifies a user or group (Bug#25895).
113496         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
113497         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
113498         New vars.
113499         (epaths-force): Use PATH_GAME.
113500         (uninstall): Remove snake-scores and tetris-scores only if shared.
113501         * configure.ac: Default --with-gameuser to 'no'.
113502         (UPDATE_MANIFEST): Remove.
113503         * etc/NEWS: Mention this.
113504         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
113505         (use_gamedir): New macro.
113506         (UTILITIES): Remove update-game-score unless use_gamedir.
113507         (SCRIPTS): Remove $(UPDATE_MANIFEST).
113508         ($(DESTDIR)${archlibdir}): Install game directory program and data
113509         only if use_gamedir.
113510         * lib-src/update-game-score.exe.manifest: Remove, as
113511         update-game-score is no longer installed on MS-Windows.
113512         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
113513         Use auxiliary program only if setuid or setgid.
113514         * make-dist: Do not distribute update-game-score.exe.manifest.
113515         * src/callproc.c (init_callproc):
113516         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
113517         (syms_of_callproc): Remove unnecessary initialization of
113518         Vshared_game_score_directory.
113520 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
113522         Add `touch-action' to list of CSS properties
113524         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
113525         property.
113527 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
113529         Teach etags to process ENUM_BF correctly
113531         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
113532         (hash): Regenerated values for asso_values[] array.
113533         (in_word_set): Update values of TOTAL_KEYWORDS and
113534         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
113535         (in_enum_bf): New file-global variable.
113536         (consider_token): Skip ENUM_BF if not in a macro definition.
113537         (C_entries): Reset the in_enum_bf flag when past its closing
113538         parenthesis.
113540         * test/manual/etags/ETAGS.good_1:
113541         * test/manual/etags/ETAGS.good_2:
113542         * test/manual/etags/ETAGS.good_3:
113543         * test/manual/etags/ETAGS.good_4:
113544         * test/manual/etags/ETAGS.good_5:
113545         * test/manual/etags/ETAGS.good_6:
113546         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
113548 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
113550         Use path/to/file instead of path/to.file in tramp.texi
113552         * doc/misc/tramp.texi (Configuration, File name Syntax):
113553         Use path/to/file instead of path/to.file.
113555 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
113557         Remove some stray gnulib files
113559         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
113560         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
113561         the --avoid=unsetenv option avoided most of it anyway.
113562         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
113563         * lib/gnulib.mk: Regenerate.
113565 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
113567         Merge from gnulib
113569         This incorporates:
113570         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
113571         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
113573 2017-03-12  Glenn Morris  <rgm@gnu.org>
113575         Remove trivial duplication in epg-config
113577         * lisp/epg-config.el (epg-config--program-alist):
113578         Use epg-gpg-minimum-version.
113580 2017-03-12  Glenn Morris  <rgm@gnu.org>
113582         Small epg-find-configuration improvement
113584         * lisp/epg-config.el (epg-find-configuration):
113585         Handle epg-gpg-program customized but not saved.  (Bug#25947)
113587 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
113589         Improve last change
113591         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
113592         Use ppss to check escaping and add help-echo.
113594 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
113596         Highlight useless backslashes in Elisp strings
113598         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
113599         Put warning face on backslashes that have no effect.
113601 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
113603         Document how to customize input methods
113605         * doc/emacs/mule.texi (Input Methods): Document how to customize
113606         input methods.
113608 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
113610         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
113612 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
113614         Fix generation of nt/gnulib.mk on macOS
113616         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
113617         to Sed, as that is not portable with non-GNU Sed variants.
113618         (Bug#26043)
113620 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
113622         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
113624         * src/xdisp.c (handle_single_display_spec): If position to be
113625         restored after processing the display property comes from an
113626         overlay, protect against that overlay's end point being outside of
113627         the narrowed region.
113628         Reported by Filipe Silva <filipe.silva@gmail.com> in
113629         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
113631 2017-03-10  Glenn Morris  <rgm@gnu.org>
113633         Small improvement for epa-display-error (bug#24553)
113635         * lisp/epa.el (epa-display-error): Report the actual program in use.
113637 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
113639         Tweak X toolkit code to pacify modern GCC
113641         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
113642         Don’t include <stdlib.h>, since this code now calls emacs_abort
113643         rather than abort.
113644         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
113645         (wm_delete_window):
113646         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
113647         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
113648         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
113649         (separator_height, XlwMenuInitialize):
113650         Use emacs_abort, not abort.  Without this change, some calls
113651         to ‘abort’ were invalid, as stdlib.h was not always included.
113652         * src/widget.c (resources, emacsFrameClassRec):
113653         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
113654         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
113655         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
113656         (x_term_init) [USE_X_TOOLKIT]:
113657         Cast string constants to char * to pacify --enable-gcc-warnings.
113659 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
113661         * doc/misc/tramp.texi (Android shell setup): Require adb program
113663 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
113665         Adapt tramp-tests.el
113667         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
113668         (tramp-test24-file-name-completion): Call
113669         `tramp-completion-mode-p' with argument.
113671 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
113673         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
113675         * doc/lispref/processes.texi (Bindat Examples):
113676         Mention two examples in intro blurb; rewrite first example.
113678 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
113680         Simplify checks for xdg-open and xdg-email
113682         browse-url's xdg-open detection was too picky on some GNU/Linux
113683         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
113684         if it is executable, as nowadays this is more likely to be correct than
113685         trying to use heuristics from a few years ago.  Don't test for nohup: it
113686         is ineffective nowadays, as xdg-open's child uses the default action for
113687         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
113688         allow for Wayland here, as "emacs -nw" might be running in a non-X
113689         Wayland terminal.
113690         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
113691         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
113692         Simplify to a test for DISPLAY and whether the helper program is
113693         executable.  Allow WAYLAND_DISPLAY as an option.
113695 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
113697         Byte compile cond clauses without any bodies correctly.
113699         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
113700         cond clause has no body, push t on to the stack.
113702 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
113704         Fix bug#23006
113706         * lisp/minibuffer.el (completion--nth-completion):
113707         Let-bind `non-essential'.
113709         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
113710         (tramp-completion-mode-p): Optional parameter VEC.  Replace
113711         check for `last-input-event' by analysing VEC argument.
113712         (tramp-error-with-buffer, tramp-file-name-handler)
113713         (tramp-connectable-p, tramp-handle-file-name-as-directory):
113714         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
113716 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
113718         etc/NEWS: Add entry for new `switch' bytecode.
113720 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
113722         * src/data.c (arithcompare): Add comments.
113724 2017-03-08  Glenn Morris  <rgm@gnu.org>
113726         Update a cl-print test
113728         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
113729         Update for recent change in cl-print-object function output.
113731 2017-03-08  Sam Steingold  <sds@gnu.org>
113733         Replace change-log-date-face -> change-log-date
113735         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
113737 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
113739         Fix bug#26011
113741         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
113742         Check, whether file is too large.  (Bug#26011)
113744 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
113746         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
113747         (Fmax, Fmin): Restore documentation.
113749         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
113750         comparisons that are written backward.
113752 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
113754         [doc elisp] Add some index entries for "old" advice mechanism
113756         * doc/lispref/functions.texi (Porting old advice):
113757         Add one @cindex and two @findex entries.
113759 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
113761         * etc/NEWS: Adjust to match previous patch.
113763 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
113765         min and max should not return markers
113767         Problem reported by Glenn Morris in:
113768         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
113769         * src/data.c (minmax_driver): Convert any marker result to an
113770         integer, since some callers assume this.
113771         * test/src/data-tests.el (data-tests-max, data-tests-min):
113772         Test for this.
113774 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
113776         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
113778 2017-03-08  Alan Third  <alan@idiocy.org>
113780         Add missing timeout value in ns_select
113782         * src/nsterm.m (ns_select): Set timeout to distant future when relying
113783         on fd_handler's timeout.
113785 2017-03-07  Glenn Morris  <rgm@gnu.org>
113787         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
113789 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
113791         Remove isnan hack for Solaris 10 gcc 3.4.3
113793         This seems to have been a false alarm (Bug#26018).
113794         * src/data.c (isnan):
113795         * src/floatfns.c (isfinite, isnan):
113796         Use standard implementation if available.
113798 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
113800         Support browsing URLs with embedded spaces on MS-Windows
113802         * lisp/net/browse-url.el (browse-url-default-windows-browser):
113803         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
113804         support that in file:// URLs.  (Bug#26014)
113806 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
113808         Define copysign on all platforms
113810         * configure.ac (copysign): Remove test.
113811         * src/floatfns.c (signbit): New macro, if not already defined.
113812         (Fcopysign): Use it instead of copysign.
113813         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
113815 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
113817         Revert "Replace ldefs-boot with a much smaller file"
113819         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
113821         This commit has been reverted because the new mechanism was too
113822         sensitive to changes in the lisp source, generation of new ldefs-boot
113823         files was platform specific and resulted in warnings about undefined
113824         variables.
113826         See also 11436e2890d.
113828 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
113830         Revert "Record autoloads till emacs dump"
113832         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
113834         This commit has been reverted because the new mechanism was too
113835         sensitive to changes in the lisp source, generation of new ldefs-boot
113836         files was platform specific and resulted in warnings about undefined
113837         variables.
113839         See also 11436e2890d.
113841 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
113843         Revert "Remove unused ldefs-boot.el"
113845         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
113847         This commit has been reverted because the new mechanism was too
113848         sensitive to changes in the lisp source, generation of new ldefs-boot
113849         files was platform specific and resulted in warnings about undefined
113850         variables.
113852         See also 11436e2890d.
113854 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
113856         Revert "Remove conditional includes from bootstrap"
113858         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
113860         This commit has been reverted because the new mechanism was too
113861         sensitive to changes in the lisp source, generation of new ldefs-boot
113862         files was platform specific and resulted in warnings about undefined
113863         variables.
113865         See also 11436e2890d.
113867 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
113869         Revert "Speed generation of ldefs-boot-auto"
113871         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
113873         This commit has been reverted because the new mechanism was too
113874         sensitive to changes in the lisp source, generation of new ldefs-boot
113875         files was platform specific and resulted in warnings about undefined
113876         variables.
113878         See also 11436e2890d.
113880 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
113882         Revert "Fix minor problems with loaddefs autogeneration"
113884         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
113886         This commit has been reverted because the new mechanism was too
113887         sensitive to changes in the lisp source, generation of new ldefs-boot
113888         files was platform specific and resulted in warnings about undefined
113889         variables.
113891 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
113893         Set default when asking for send-mail-function (Bug#25874).
113895         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
113896         option as default for `completing-read'.
113898 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
113900         min and max now return one of their arguments
113902         * doc/lispref/numbers.texi (Comparison of Numbers):
113903         * etc/NEWS: Document this.
113904         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
113905         (minmax_driver): New function.
113906         (Fmax, Fmin): Use it instead of arith_driver.
113907         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
113909 2017-03-06  Alan Third  <alan@idiocy.org>
113911         Remove NSEvent loop from ns_select (bug#25265)
113913         * src/nsterm.m (ns_select): Remove event processing loop and replace
113914         with simple test for a new event.
113916 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
113918         A better fix for bug#25845
113920         * src/xdisp.c (font_for_underline_metrics): New function.
113921         * src/dispextern.h: Add its prototype.
113922         * src/xterm.c (x_draw_glyph_string):
113923         * src/w32term.c (x_draw_glyph_string):
113924         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
113925         having identical code 3 times in 3 different files.
113927 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
113929         Fix warning message about native completion (Bug#25984)
113931         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
113932         The relevant variable is `python-shell-completion-native-enable'.
113934 2017-03-06  Tom Tromey  <tom@tromey.com>
113936         Fix typos in EIEIO manual
113938         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
113940 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
113942         Merge from gnulib
113944         This incorporates:
113945         2017-03-04 dtotimespec: simplify
113946         * lib/dtotimespec.c: Copy from gnulib.
113948 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
113950         ffloor etc. now accept only floats
113952         * etc/NEWS: Say why.
113953         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
113954         Require arg to be float.
113955         * test/src/floatfns-tests.el (fround-fixnum): Check this.
113957 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
113959         Fix display of cursor on underlined text
113961         * src/nsterm.m (ns_draw_text_decoration):
113962         * src/xterm.c (x_draw_glyph_string):
113963         * src/w32term.c (x_draw_glyph_string): Compute the position and
113964         thickness of the underline by looking for the first glyph of the
113965         run of underlined glyphs that includes the glyph string we are
113966         drawing.  (Bug#25845)
113968 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
113970         Add more CL concept index items, print Concept Index
113972         * doc/misc/cl.texi: Print concept index.
113973         (Generalized Variables, Variable Bindings):
113974         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
113975         (Blocks and Exits, Iteration, Multiple Values): Add concept index
113976         items.
113978 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
113980         Add 'loop facility' to the CL concept index
113982         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
113983         index item.
113985 2017-03-05  martin rudalics  <rudalics@gmx.at>
113987         In `window--display-buffer' fix behavior reported in Bug#25946
113989         * lisp/window.el (window--display-buffer): Set the dedicated
113990         status of the window used and clear its history of previous
113991         buffers also for the case that the window already shows the
113992         buffer to be displayed.  (Bug#25946)
113994 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
113996         Compare and round more carefully
113998         * etc/NEWS: Document this.
113999         * src/data.c (store_symval_forwarding):
114000         * src/sound.c (parse_sound):
114001         Do not botch NaN comparison.
114002         * src/data.c (cons_to_unsigned, cons_to_signed):
114003         Signal an error if a floating-point arg is not integral.
114004         * src/data.c (cons_to_unsigned, cons_to_signed):
114005         * src/fileio.c (file_offset):
114006         Use simpler overflow check.
114007         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
114008         Avoid rounding error in overflow check.
114009         (Fcar_less_than_car): Use arithcompare directly.
114010         * test/src/charset-tests.el: New file.
114012 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
114014         Fewer rounding errors with (format "%f" fixnum)
114016         * etc/NEWS: Document this.
114017         * src/editfns.c (styled_format): When formatting integers via a
114018         floating-point format, use long double instead of double
114019         conversion, if long double’s extra precision might help.
114021 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
114023         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
114025         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
114027 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
114029         Clarify documentation of 'raise' and 'height' display specs
114031         * doc/lispref/display.texi (Other Display Specs): Clarify the
114032         effect of 'height' display spec on the following 'raise'.
114033         (Bug#25824)
114035 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
114037         Fix header shown by Info 'L' command
114039         * lisp/info.el (Info-history-find-node): A better heading for the
114040         list of visited nodes.  (Bug#25876)
114042 2017-03-04  K. Handa  <handa@gnu.org>
114044         Add a section about incorrect Bengali rendering.
114046 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
114048         Fix minor problems with loaddefs autogeneration
114050         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
114051         and coding-system-for-write, to produce a UTF-8 file with Unix
114052         EOLs on MS-Windows.
114054         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
114056 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
114058         Fix issues with dedicated windows in shr.el
114060         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
114061         the window not dedicated, to avoid errors if it was, before
114062         setting its buffer temporarily.  (Bug#25828)
114064 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
114066         Mention problems with GPaste in PROBLEMS
114068         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
114069         GPaste, and its solution.  (Bug#25902)
114071 2017-03-04  Glenn Morris  <rgm@gnu.org>
114073         Avoid duplicate gud menu items with gdb-mi
114075         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
114076         entries in gdbmi mode.  (Bug#23923)
114078 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
114080         * src/editfns.c (styled_format): Omit unnecessary code.
114082 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
114084         logb now works correctly on large integers
114086         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
114087         * etc/NEWS: Document the change.
114088         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
114089         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
114090         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
114091         * src/floatfns.c: Include count-leading-zeros.h.
114092         (Flogb): Do not convert fixnum to float before taking the log,
114093         as the rounding error can cause the answer to be off by 1.
114094         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
114095         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
114097 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
114099         Merge from gnulib
114101         This incorporates:
114102         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
114103         2017-02-24 ftoastr: port to -Wdouble-promotion
114104         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
114106 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
114108         Avoid duplicating characters recorded in macros
114110         * src/keyboard.c (record_char): Don't store in macro definitions
114111         characters that came from executing a macro.  (Bug#25860)
114113 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
114115         Fix color component calculations in color.el
114117         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
114118         (color-rgb-to-hex): Accept an optional argument
114119         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
114120         notation either for 8 or 16 bits per component.  (Bug#25890)
114121         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
114122         color-rgb-to-hex with the optional argument of 2, to match color
114123         processing on the Web.
114125 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
114127         Use lexical binding in benchmark.el
114129         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
114130         (benchmark-elapse): Use 'declare'.
114131         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
114133 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
114135         Switch pp.el to lexical binding
114137         Additionally, do some minor code cleanup.
114139         * lisp/emacs-lisp/pp.el: Set lexical-binding.
114140         (pp-buffer): Use skip-syntax-forward.
114141         (pp-eval-expression): Use push.
114142         (pp-last-sexp): Use with-syntax-table.
114143         * test/lisp/emacs-lisp/pp-tests.el: New tests.
114145 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
114147         Fix completing-read call in reb-change-syntax
114149         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
114150         of completing-read.
114152 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
114154         sql-mode w/ sqlite: In-memory database
114156         Enable the usage of an in-memory database. Prior to this, sql-mode w/
114157         sqlite could only be used with file databases.
114158         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
114159         file name provided by the user, but call sub-process sqlite with that,
114160         in which case it uses an in-memory database.
114162 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
114164         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
114166         `abbrev--before-point' does not adjust `pos' to account for when it
114167         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
114168         `abbrev-before-point' goes to restore point, it moves point one
114169         character too far forward.
114171         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
114173 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
114175         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
114177 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
114179         Restore XFLOATINT but with restricted args
114181         Turn instances of extract_float into XFLOAT_DATA when possible,
114182         and to a resurrected XFLOATINT when the arg is a number.
114183         The resurrected XFLOATINT is more like XFLOAT and XINT in
114184         that is valid only if its arg is a number.  This clarifies
114185         the ways in which floats can be extracted at the C level.
114186         * src/editfns.c (styled_format):
114187         * src/floatfns.c (extract_float, Fexpt):
114188         Use XFLOATINT rather than open-coding it.
114189         * src/fns.c (internal_equal):
114190         * src/image.c (imagemagick_load_image):
114191         * src/xdisp.c (resize_mini_window):
114192         Prefer XFLOAT_DATA to extract_float on values known to be floats.
114193         * src/frame.c (x_set_screen_gamma):
114194         * src/frame.h (NUMVAL):
114195         * src/image.c (x_edge_detection, compute_image_size):
114196         * src/lread.c (read_filtered_event):
114197         * src/window.c (Fset_window_vscroll):
114198         * src/xdisp.c (handle_single_display_spec, try_scrolling)
114199         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
114200         (on_hot_spot_p):
114201         Prefer XFLOATINT to extract_float on values known to be numbers.
114202         * src/lisp.h (XFLOATINT): Bring back this function, except
114203         it now assumes its argument is a number.
114205 2017-03-02  Glenn Morris  <rgm@gnu.org>
114207         Ert commands to error if no test at point (bug#25931)
114209         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
114210         Deactivate some items if no test at point.
114211         (ert--results-test-at-point-no-redefinition):
114212         Add option to signal an error rather than return nil.
114213         (ert-results-pop-to-backtrace-for-test-at-point)
114214         (ert-results-pop-to-messages-for-test-at-point)
114215         (ert-results-pop-to-should-forms-for-test-at-point)
114216         (ert-results-describe-test-at-point): Error if no test at point.
114218 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
114220         Remove XFLOATINT
114222         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
114223         All callers changed to use extract_float.
114224         * src/frame.h (NUMVAL): Now an inline function, not a macro.
114226 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
114228         Fix rounding errors in <, =, etc.
114230         * etc/NEWS: Document this.
114231         * src/bytecode.c (exec_byte_code):
114232         * src/data.c (arithcompare):
114233         Do not lose information when comparing floats to integers.
114234         * test/src/data-tests.el (data-tests-=, data-tests-<)
114235         (data-tests->, data-tests-<=, data-tests->=):
114236         Test this.
114238 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
114240         Fix display of mouse-highlight produced by overlapping overlays
114242         * src/xfaces.c (face_at_buffer_position): If called to find the
114243         mouse-face, only consider the highest-priority source for that
114244         face, and ignore the rest.  Previously, all the mouse-face
114245         definitions at POS were merged in that case.
114246         * src/xdisp.c (note_mouse_highlight): Record the overlay that
114247         specifies mouse-face _after_ clearing the info about the previous
114248         overlay, so as not to clear the information about the just-recorded
114249         overlay.  (Bug#25906)
114251 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
114253         Fix display of strike-through text in variable-height lines
114255         * src/nsterm.m (ns_draw_text_decoration):
114256         * src/xterm.c (x_draw_glyph_string):
114257         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
114258         strike-through y-coordinate for a glyph row which is taller than
114259         the strike-through text.  (Bug#25907)
114261 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
114263         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
114265         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
114266         don't call x_net_wm_state when the window is a scroll bar window.
114267         (Bug#24963, Bug#25887)
114269 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
114271         gnus-summary-select-article-buffer: Don't re-render existing article
114273         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
114274         Don't re-render existing article.
114276 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
114278         Don't add debbugs address to message body (bug#25896)
114280         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
114281         Don't add debbugs address to message body (bug#25896), and
114282         don't add it to message header either if it already exists.
114284 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
114286         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
114288         (semanticdb--ih): Declare.
114289         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
114290         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
114291         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
114293 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
114295         * lisp/help-fns.el (describe-variable): Use cl-print for the value
114297         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
114299 2017-03-02  Glenn Morris  <rgm@gnu.org>
114301         * test/lisp/net/puny-tests.el: New file.
114303 2017-03-02  Glenn Morris  <rgm@gnu.org>
114305         Small puny.el fix
114307         * lisp/net/puny.el (puny-decode-string-internal):
114308         Handle strings with no ascii parts.  (Bug#23688)
114310 2017-03-02  Glenn Morris  <rgm@gnu.org>
114312         Small recover-this-file improvement
114314         * lisp/files.el (recover-this-file): Explicit error if not
114315         visiting a file.  (Bug#23671)
114317 2017-03-01  Glenn Morris  <rgm@gnu.org>
114319         Fix for coding-system completion (bug#23670)
114321         * lisp/international/mule.el (read-buffer-file-coding-system):
114322         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
114323         so that completion-pcm--pattern->regex can append "*?".
114325 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
114327         Fix rounding error in ‘ceiling’ etc.
114329         Without this fix, (ceiling most-negative-fixnum -1.0) returns
114330         most-negative-fixnum instead of correctly signaling range-error,
114331         and similarly for floor, round, and truncate.
114332         * configure.ac (trunc): Add a check, since Gnulib’s doc says
114333         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
114334         also missing from some other older operating systems like Solaris
114335         9 which I know we don’t care about any more, so MSVC is the only
114336         reason to worry about ‘trunc’ here.
114337         * src/editfns.c (styled_format): Formatting a float with %c is now an
114338         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
114339         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
114340         only as a result of my misunderstanding old code that I introduced
114341         2011.  Although %d etc. is sometimes used on floats that represent
114342         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
114343         happen with characters.
114344         * src/floatfns.c (rounding_driver): Rework to do the right thing
114345         when the intermediate result equals 2.305843009213694e+18, i.e.,
114346         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
114347         Simplify so that only one section of code checks for overflow,
114348         rather than two.
114349         (double_identity): Remove.  All uses changed to ...
114350         (emacs_trunc): ... this new function.  Add replacement for
114351         platforms that lack ‘trunc’.
114352         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
114353         Make it clear that the arg cannot be floating point.
114354         * test/src/editfns-tests.el (format-c-float): New test.
114355         * test/src/floatfns-tests.el: New file, to test for this bug.
114357 2017-03-01  Glenn Morris  <rgm@gnu.org>
114359         Small help--loaded-p fix
114361         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
114362         with nil file name.  (Bug#25847)
114364 2017-03-01  Leo Liu  <sdl.web@gmail.com>
114366         * src/fns.c (Fbuffer_hash): Doc fix.
114368 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
114370         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
114372         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
114373         Instead, use a plain concat, which will create a string out of a list
114374         of characters.
114376 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
114378         Fix epg-tests with dummy-pinentry program (Bug#23619)
114380         * test/data/epg/dummy-pinentry: New file.
114381         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
114382         when a passphrase is required.  Add debug declaration.  Set
114383         GPG_AGENT_INFO non-destructively.
114385 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
114387         Speed generation of ldefs-boot-auto
114389         Previously, generation of ldefs-boot-auto required at least one full
114390         bootstrap and, in extreme cases, two. Now, from build system, it
114391         requires the same time as taken to dump Emacs.
114393         * Makefile.in: Remove all calls, pass to src.
114394         * admin/ldefs-clean.el: Update for changed messages.
114395         * lisp/Makefile.in (compile-first-delete): Add.
114396         * lisp/ldefs-boot-auto.el: Update.
114397         * src/Makefile.in (generate-ldefs-boot): Add.
114399 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
114401         Add error handling to magic-mode-alist
114403         * lisp/files.el (set-auto-mode): Add explicit error handling in two
114404           places.
114406 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
114408         Remove conditional includes from bootstrap
114410         Previously, bootstrap-emacs includes optional functionality, depending
114411         on the platform which is not needed for bootstrap function.  As a
114412         result, bootstrap-emacs contains different functions in different
114413         circumstances.  If ldefs-boot-auto.el is generated, then loaded
114414         functions will not be added to ldefs-boot-auto.el, although they may be
114415         required during some builds.  With this change, bootstrap-emacs should
114416         always behave the same way and, therefore, require the same autoloads.
114418          * lisp/loadup.el: No longer load optional includes during bootstrap
114419            dumping.
114420          * lisp/ldefs-boot-auto.el: Regenerate.
114421          * lisp/ldefs-boot-manual.el: Add two autoloads.
114423 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
114425         Do not use find-file non-interactively
114427          * lisp/international/titdic-cnv.el (miscdic-convert): Use
114428            insert-file-contents in place of find-file.
114430 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
114432         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
114434         (update_overlay_arrows): Skip non-markers.
114436 2017-02-28  Ken Brown  <kbrown@cornell.edu>
114438         Try to avoid hang when logging out of MS-Windows
114440         * src/w32term.c (x_update_window_begin, x_update_window_end)
114441         (my_show_window, my_set_window_pos, my_set_focus)
114442         (my_set_foreground_window, my_destroy_window)
114443         (my_bring_window_to_top, x_iconify_frame): Replace calls to
114444         SendMessage by calls to SendMessageTimeout with a 6-second
114445         timeout.  (Bug#25875)
114447 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
114449         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
114451 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
114453         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
114455         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
114456         (Methods): Document cl-defmethod.
114457         Explain in more detail the order in which the various
114458         methods are executed.  Document the conditions under which a method
114459         is redefined.  Remove reference to `eieio-generic-call-arglst`.
114460         Don't document the precise return value of cl-next-method-p.
114461         (Static Methods): Adjust to use `subclass` specializer.
114462         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
114463         (Signal Handling, Signals): Adjust names and args for cl-generic; add
114464         cl-no-primary-method.
114465         (CLOS compatibility, Wish List): Adjust to new featureset.
114467 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
114469         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
114471         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
114473 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
114475         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
114477         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
114478         (sgml-syntax-propertize-inside): New fun.
114480 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
114482         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
114484         ": ;" after completing a property.
114486 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
114488         Show Ibuffer and jump to line listing current buffer
114490         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
114492 2017-02-27  Juri Linkov  <juri@linkov.net>
114494         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
114496         before adding it to the list of files.
114498 2017-02-27  Juri Linkov  <juri@linkov.net>
114500         Put text properties on query-replace separator string instead of "\0"
114502         * lisp/replace.el (query-replace--split-string):
114503         Split at a substring instead of just character.
114504         (query-replace-read-from): Put text properties on the
114505         separator string instead of "\0".  (Bug#25482)
114507 2017-02-27  Juri Linkov  <juri@linkov.net>
114509         Add file name and its extension to suggestions in dired-mark-files-regexp
114511         * lisp/dired.el (dired-mark-files-regexp): Add file name
114512         and its extension to the list of suggested defaults.  (Bug#25578)
114514 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
114516         Prompt default extension in dired-mark-extension
114518         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
114519         based on extension of file at point.  (Bug#25578)
114521 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
114523         Prevent for consing in cl-mapc and cl-mapl
114525         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
114526         If non-nil, accumulate values in the result (Bug#25826).
114527         (cl-mapc): Do computations inside function instead of call cl-map.
114528         (cl-mapl): Do computations inside function instead of call cl-maplist.
114529         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
114530         Call cl--mapcar-many with non-nil 3rd argument.
114531         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
114532         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
114533         (cl-extra-test-maplist): New tests.
114535 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
114537         Choose the right target dir on dired operations
114539         Prevent from changing the input target dir
114540         when dired-dwim-target is non-nil (Bug#25609).
114541         * lisp/dired-aux.el (dired-do-create-files):
114542         If dired-dwim-target is non-nil, then bind 'default' to nil.
114543         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
114545 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
114547         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
114549 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
114551         Don't record eshell/clear "command" in history (Bug#25838)
114553         `eshell/clear' is implemented by sending a series of blank lines,
114554         which is not a useful thing to have in the history.
114556         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
114557         `string-blank-p' which does check for newlines (even though newlines
114558         have comment-end syntax, not whitespace syntax class).
114559         * lisp/eshell/esh-mode.el (eshell/clear): Remove
114560         `eshell-add-to-history' from `eshell-input-filter-functions' while
114561         sending the blank lines.  This change is needed to solve the bug if
114562         the user customizes `eshell-input-filter' to something that doesn't
114563         filter newlines.
114565 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
114567         Remove a few unused C functions
114569         * src/eval.c (let_shadows_global_binding_p):
114570         * src/print.c (write_string):
114571         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
114572         Remove.
114573         * src/print.c (write_string): Rename from write_string_1.
114574         All uses changed.
114576 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
114578         Avoid segfault in overlay_arrows_changed_p
114580         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
114581         to avoid a segfault.
114583 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
114585         Don't call package--ensure-init-file if initialized during startup
114587         * lisp/emacs-lisp/package.el (package-initialize): Check
114588         `after-init-time' rather than `load-file-name' to decide if
114589         `package--ensure-init-file' should be called.  Depending on
114590         `load-file-name' will fail if the user calls `pacakge-initialize' in
114591         file which is loaded from the init file (Bug#24643, Bug#25819).
114593 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
114595         Fix display of before- and after-strings at invisible text
114597         * src/xdisp.c (next_overlay_string): Don't raise the
114598         ignore_overlay_strings_at_pos_p flag if the iterator is already
114599         set to continue at a buffer position different from the one
114600         where the overlay strings we just processed were loaded.  (Bug#25856)
114602 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
114604         Work on `tramp-completion-mode-p'
114606         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
114608         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
114609         (tramp-completion-mode-p): Reintroduce the check for 'tab.
114611 2017-02-25  Tom Tromey  <tom@tromey.com>
114613         Use font-lock-doc-face in js-mode
114615         Bug#25858:
114616         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
114617         defun.
114618         (js-mode): Use it.
114619         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
114620         test.
114622 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
114624         Don't use IP 0.0.0.0 for package test server (Bug#22582)
114626         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
114627         'server_address' when port number is given on the command line.  Print
114628         IP and port number as a URL, and flush it after printing.
114629         * test/lisp/emacs-lisp/package-tests.el:
114630         (package-test-update-archives-async): Grab the whole URL from server
114631         output.
114633 2017-02-25  Tom Tromey  <tom@tromey.com>
114635         Add more branch support to vc-dir
114637         Bug#25859:
114638         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
114639         * lisp/vc/vc.el (vc-revision-history): New defvar.
114640         (vc-read-revision): Use vc-revision-history.
114641         (vc-print-branch-log): New function.
114642         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
114643         bindings.
114644         * etc/NEWS: Mention new vc-dir bindings.
114646 2017-02-25  Alan Mackenzie  <acm@muc.de>
114648         Allow for the :: operator in C++ "enum class" declarations.
114650         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
114651         "::".
114653 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
114655         Fix bug#25854
114657         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
114658         Simplify error handling for huge inodes.
114659         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
114661 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
114663         Avoid leaving garbage on screen when using 'raise' display property
114665         * src/xdisp.c (display_line): Reset voffset value of the iterator
114666         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
114667         which then leaves stuff on screen that needs to be cleared by
114668         redisplay.  (Bug#25855)
114670 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
114672         Fix doc strings in info.el
114674         * lisp/info.el (Info-selection-hook, Info-mode-hook)
114675         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
114677 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
114679         Fix doc string of 'posn-at-point'
114681         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
114682         (Bug#25796)
114684 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
114686         New option -u / --suppress-output to emacsclient
114688         * lib-src/emacsclient.c (print_help_and_exit, longopts)
114689         (decode_options, main): Implement new option --suppress-output / -u to
114690         suppress printing of eval-results.
114691         * doc/emacs/misc.texi (emacsclient Options): Document the new
114692         "--suppress-output/-u" options.
114693         * etc/NEWS: Mention the new options.
114695 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
114697         Fix scrolling with partial line corner case (Bug#25792)
114699         Also fix up the scrolling tests so that they don't make so many
114700         assumptions about the current window configuration.
114702         * src/xdisp.c (try_window): Take partial line height into account when
114703         comparing cursor position against scroll margin.
114705         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
114706         HEIGHT argument, to allow setting up window with exact height and
114707         partial line.
114708         (scroll-tests-display-buffer-with-height): New display-buffer action
114709         function.
114710         (scroll-tests-scroll-margin-over-max):
114711         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
114712         `scroll-tests--scroll-margin-whole-window'.
114713         (scroll-tests-conservative-show-trailing-whitespace): New test.
114714         (scroll-tests-scroll-margin-negative): Fix line counting.
114715         (scroll-tests--point-in-middle-of-window-p): Set window height
114716         properly.
114718 2017-02-25  Tom Tromey  <tom@tromey.com>
114720         Fix indentation error in js.el
114722         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
114723         call in condition-case.
114724         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
114725         test.
114727 2017-02-24  Tom Tromey  <tom@tromey.com>
114729         add "async" and "await" keywords
114731         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
114733 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
114735         Use cl-print for Edebug and EIEIO
114737         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
114738         (edebug-prin1, edebug-print): Remove.
114740         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
114741         (cl-print-object): Add a method for EIEIO objects.
114742         (eieio-edebug-prin1-to-string): Delete.
114743         (edebug-prin1-to-string): Don't advise any more.
114745         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
114746         Replace `object-print' -> `cl-prin1-to-string'.
114748 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
114750         Fix left over uses of `call-next-method'
114752         * lisp/cedet/semantic/db-global.el (object-print):
114753         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
114755 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
114757         Minor redisplay optimizations
114759         * src/frame.c (Ficonify_frame): No need to redisplay everything.
114761         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
114762         (redisplay_internal): Use it to avoid redisplaying everything.
114763         (try_window_id): Use it keep the same behavior as before.
114765 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
114767         * lisp/emacs-lisp/cl-print.el: New file
114769         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
114770         (advice--make-docstring): Use it.
114772         * src/print.c (print_number_index): Don't declare here any more.
114773         (Fprint_preprocess): New function.
114775         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
114777 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
114779         Make calc's least common multiple positive (bug#25255)
114781         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
114782         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
114784 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
114786         Documentation fix in elisp reference manual
114788         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
114789         on 'declare' forms (Bug#25846).
114791 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
114793         Support read syntax for circular objects in Edebug (Bug#23660)
114795         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
114796         for edebug-read-function. Handle the read syntax for circular
114797         objects.
114798         (edebug-read-objects): New variable.
114799         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
114801         * src/lread.c (Fsubstitute_object_in_subtree): Make
114802         substitute_object_in_subtree into a Lisp primitive.
114804 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
114806         Add Conference to the list of valid bibtex entry types
114808         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
114809         Add Conference as a duplicate of InProceedings.  (Bug#25143)
114811 2017-02-23  Glenn Morris  <rgm@gnu.org>
114813         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
114815 2017-02-23  Glenn Morris  <rgm@gnu.org>
114817         Small dunnet score file improvements
114819         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
114820         (dun-do-logfile): Handle non-existing score file.
114822 2017-02-23  Glenn Morris  <rgm@gnu.org>
114824         * lisp/play/dunnet.el (dun-help): Doc fix.
114826 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
114828         Declare dun-line and dun-line-list
114830         Previously, there were free variables 'line' and 'line-list'.
114831         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
114832         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
114833         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
114834         (dun-batch-unix-interface): Use them.
114836 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
114838         Merge from gnulib
114840         This incorporates:
114841         2017-02-16 xbinary-io: rename from xsetmode
114842         2017-02-15 xsetmode: new module
114843         * lib-src/etags.c (main):
114844         * lib-src/hexl.c (main):
114845         * src/emacs.c (main) [MSDOS]:
114846         Prefer set_binary_mode to the obsolescent SET_BINARY.
114847         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
114849 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
114851         hexl: handle large files and I/O errors
114853         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
114854         Do not include ctype.h, as the code no longer uses isdigit.
114855         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
114856         (DEFAULT_BASE, endian): Remove; was not really used.
114857         (usage): Remove; now done by ‘main’, as that’s simpler.
114858         (progname): Now static.
114859         (output_error, hexchar): New functions.
114860         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
114861         "-little-endian" options, as they did not work and were not used.
114862         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
114863         Use SET_BINARY only once on stdout.
114864         Do not assume file offsets fit in ‘long’.
114865         If an I/O error occurs, report it and exit with nonzero status.
114867 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
114869         Avoid quitting inside a critical section on MS-Windows
114871         * src/w32uniscribe.c (uniscribe_list_family):
114872         * src/w32font.c (w32font_list_family, w32font_text_extents)
114873         (w32font_list_internal, w32font_match_internal)
114874         (list_all_matching_fonts): Prevent quitting while these functions
114875         cons lists of fonts, to avoid leaving the critical section taken
114876         by the main thread, which will then cause any other thread
114877         attempting to enter the critical section to hang.  (Bug#25279)
114879 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
114881         Use revision-completion-table in vc-retrieve-tag
114883         * lisp/vc/vc.el (vc-retrieve-tag): Use the
114884         revision-completion-table command for completion (bug#25710).
114886 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
114888         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
114890         remove entries whose car can't be returned by type-of.
114891         (cl--generic-all-builtin-types): New var.
114892         (cl-generic-generalizers): Use it to avoid requiring
114893         extra entries in cl--generic-typeof-types.
114895 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
114897         Find macro binding for symbol-bound macros too (Bug#6848)
114899         There are 2 ways to bind a macro: with global-set-key or
114900         kmacro-bind-to-key.  The former binds a key to a symbol, while the
114901         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
114902         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
114903         case, but broke the symbol case.
114905         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
114906         MACRONAME.
114908 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
114910         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
114912 2017-02-22  Juri Linkov  <juri@linkov.net>
114914         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
114916 2017-02-22  Juri Linkov  <juri@linkov.net>
114918         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
114920         (isearch-lazy-highlight-update): Check it to decide whether to apply
114921         overlays only on the selected window.
114923         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
114924         (Bug#17453, bug#21092)
114926 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
114928         Minor weak hash table performance tweaks
114930         * src/fns.c (make_hash_table): Omit unnecessary assignment to
114931         h->next_weak when the hash table is not weak.
114932         (copy_hash_table): Put the copy next to the original in the
114933         weak_hash_tables list, as this should have better locality
114934         when scanning the weak hash tables.
114936 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
114938         Use float instead of Lisp_Object for rehash_size
114940         * src/alloc.c (purecopy_hash_table):
114941         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
114942         (Fhash_table_rehash_size):
114943         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
114944         The rehash_size member of struct Lisp_Hash_Table is now a
114945         float, not a Lisp_Object.
114946         * src/alloc.c (purecopy_hash_table): Assign members in order.
114947         * src/fns.c (make_hash_table): Use EMACS_INT for size and
114948         float for rehash_size, instead of Lisp_Object for both.
114949         All callers changed.
114950         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
114951         and 1 smaller.
114952         * src/print.c (print_object): Simplify by calling
114953         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
114954         Avoid unnecessary NILP.
114956 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
114958         Use ptrdiff_t instead of Lisp_Object for collision
114960         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
114961         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
114962         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
114963         integer (or Qnil if empty).  All callers changed.
114964         (larger_vecalloc): New static function.
114965         (larger_vector): Use it.
114966         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
114967         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
114968         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
114969         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
114970         * src/profiler.c (evict_lower_half, record_backtrace):
114971         -1, not nil, is now the convention for end of collision list.
114972         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
114973         of the free list.  Reallocate H->next last, in case other
114974         reallocations exhaust memory.
114975         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
114976         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
114977         ‘index’, which no longer contain nil.
114978         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
114980 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
114982         Hash table threshold is now float, not double
114984         Change default from 0.8 to 0.8125 so it fits in float without
114985         rounding glitches.
114986         * doc/lispref/hash.texi (Creating Hash):
114987         * doc/lispref/objects.texi (Hash Table Type):
114988         * etc/NEWS:
114989         Document change.
114990         * src/fns.c (make_hash_table, maybe_resize_hash_table)
114991         (Fmake_hash_table): Threshold is now float, not double.
114992         Be consistent about how this is rounded.
114993         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
114994         Change back to float, now that the other code rounds consistently.
114995         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
114997 2017-02-22  Juri Linkov  <juri@linkov.net>
114999         Avoid flicker in lazy-highlight by doing all updates without redisplay.
115001         * lisp/isearch.el (lazy-highlight-max-at-a-time):
115002         Change default value from 20 to nil to not trigger redisplay
115003         between updating iterations.
115004         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
115005         overlays when non-nil.
115006         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
115007         with non-nil second arg when the search string is not empty.
115008         Run timer with isearch-lazy-highlight-start instead of
115009         isearch-lazy-highlight-update.
115010         (isearch-lazy-highlight-start): New function. (Bug#25751)
115012 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
115014         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
115016         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
115018 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
115020         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
115022         which resulted in incomplete list of parents in one copy of the
115023         cl-structure-class class.
115025 2017-02-21  Glenn Morris  <rgm@gnu.org>
115027         Tweak recent custom-reevaluate-setting change
115029         * lisp/custom.el (custom-reevaluate-setting):
115030         Tweak previous change to avoid font-lock init issues.
115032 2017-02-21  Glenn Morris  <rgm@gnu.org>
115034         Ensure delayed-init custom variables get marked special
115036         * lisp/custom.el (custom-reevaluate-setting):
115037         If the variable has never been set, defvar it.  (Bug#25770)
115039 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
115041         Turn on lexical-binding in dunnet.el
115043         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
115044         byte compile warnings.
115046 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
115048         Make dunnet insertion functions n-ary
115050         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
115051         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
115052         any number of arguments.
115053         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
115054         (dun-take, dun-go, dun-move, dun-press, dun-score):
115055         (dun-compile-save-out, dun-do-logfile): Collect arguments from
115056         multiple insertion calls into less calls with more args.
115058 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
115060         message-goto-body-1: Fix regexp so as not to match multi-line
115062         * lisp/gnus/message.el (message-goto-body-1):
115063         Fix regexp so as not to match multi-line.
115065 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
115067         Simplify cl-get using `plist-member'
115069         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
115070         `plist-member' instead of explicit loop.
115071         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
115073 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
115075         Verify xwidget USE_LSB_TAG assumption
115077         * src/xwidget.c (Fxwidget_webkit_execute_script):
115078         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
115080 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
115082         * src/insdel.c (make_gap): Improve comment.
115084 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
115086         Do not use switch-to-buffer for working in a temp buffer
115088         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
115089         cf. Bug#22244.
115090         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
115091         with-temp-buffer instead.
115093 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
115095         Make dun-room-shorts a defconst
115097         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
115098         initial value into the declaration.
115099         (dun-space-to-hyphen): Remove.
115101 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
115103         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
115105         * src/xwidget.c (webkit_javascript_finished_cb)
115106         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
115107         integer.  This fix is just a hack; I’ll file a bug report about
115108         the underlying problem.
115110 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
115112         mm-decode.el: Simplify regexp used to search html meta tag
115114         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
115115         Simplify regexp used to search html meta tag.
115117 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
115119         mm-shr: Ignore coding-system `ascii'
115121         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
115123 2017-02-20  Tom Tromey  <tom@tromey.com>
115125         vc-log-outgoing fixes for git; add binding to vc-dir
115127         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
115128         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
115129         async execution.
115130         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
115131         log-incoming.
115132         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
115133         as remote-location argument.
115135 2017-02-20  Tom Tromey  <tom@tromey.com>
115137         Remove stale comments from vc-git and vc-hg
115139         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
115140         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
115142 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
115144         Remove member clone
115146         * lisp/play/dunnet.el (dun-answer): Use member instead.
115147         (dun-members): Remove.
115149 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
115151         Prefix global var
115153         * lisp/play/dunnet.el (room): Rename to dun-room.
115154         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
115155         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
115157 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
115159         Replace nested ifs with cond
115161         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
115162         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
115163         and cond where appropriate.
115164         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
115165         (dun-take): Use null and dun-mprincl.
115166         (dun-inven-weight, dun-load-d): Reformat.
115167         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
115169 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
115171         Fix glitches in recent hash table changes
115173         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
115174         by using 0 rather than -1.
115175         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
115176         than a bitfield, for speed (the bitfield did not save space).
115177         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
115178         float, since the float caused unwanted rounding errors, e.g.,
115179         (hash-table-rehash-threshold (make-hash-table)) yielded
115180         0.800000011920929 instead of the correct 0.8.
115182 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
115184         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
115186 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
115188         Avoid aborts during loadup
115190         * src/emacs-module.c (syms_of_module):
115191         * src/image.c (xpm_make_color_table_h): Update calls to
115192         make_hash_table to adjust to a recent change in fns.c.
115193         * src/fns.c (make_hash_table):
115194         * src/lisp.h (make_hash_table): 4th arg is now of type double.
115196 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
115198         Rework connection local variables
115200         For connection local variables interface, `class' is renamed
115201         to `profile'.  All arguments `criteria' are a plist now.
115203         * doc/lispref/variables.texi (Connection Local Variables):
115204         Rewrite.
115206         * lisp/files-x.el (connection-local-profile-alist): Rename
115207         from `connection-local-class-alist'.  Adapt docstring.
115208         (connection-local-criteria-alist): Adapt docstring.
115209         (connection-local-normalize-criteria): New defun.
115210         (connection-local-get-profiles): Rename from
115211         `connection-local-get-classes'.  Rewrite.
115212         (connection-local-set-profiles): Rename from
115213         `connection-local-set-classes'.  Rewrite.
115214         (connection-local-get-profile-variables): Rename from
115215         `connection-local-get-class-variables'.  Rewrite.
115216         (connection-local-set-profile-variables): Rename from
115217         `connection-local-set-class-variables'.  Rewrite.
115218         (hack-connection-local-variables)
115219         (hack-connection-local-variables-apply)): Rewrite.
115220         (with-connection-local-profiles): Rename from
115221         `ith-connection-local-classes'.  Rewrite.
115223         * lisp/net/tramp.el (tramp-set-connection-local-variables):
115224         Compute criteria.
115226         * lisp/net/tramp-cmds.el (tramp-bug):
115227         Use `connection-local-profile-alist'.
115229         * test/lisp/files-x-tests.el (files-x-test--variables1)
115230         (files-x-test--variables2, files-x-test--variables3)
115231         (files-x-test--variables4, files-x-test--criteria1)
115232         (files-x-test--criteria2): Make them a defconst.
115233         (files-x-test--application)
115234         (files-x-test--another-application, files-x-test--protocol)
115235         (files-x-test--user, files-x-test--machine): New defconst.
115236         (files-x-test--criteria): New defvar.
115237         (files-x-test--criteria3): Remove.
115238         (files-x-test-connection-local-set-profile-variables):
115239         Rename from `files-x-test-connection-local-set-class-variables'.
115240         Rewrite.
115241         (files-x-test-connection-local-set-profiles): Rename from
115242         `files-x-test-connection-local-set-classes'.  Rewrite.
115243         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
115244         (files-x-test-with-connection-local-profiles): Rename from
115245         `files-x-test-with-connection-local-classes'.  Rewrite.
115247 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
115249         Set up combination and random item location
115251         * lisp/play/dunnet.el (dun-combination): Make defconst.
115252         (tloc, tcomb): Remove.  Replace with a top-level form.
115254 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
115256         Replace movement variables with an alist and accessor
115258         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
115259         (northwest, southwest, up, down, in, out): Remove.
115260         (dun-movement-alist): New constant.
115261         (dun-movement): New function.
115262         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
115263         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
115264         (dun-move, dun-special-move): Translate movement symbol to an
115265         enumeration.
115267 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
115269         Change top-level setq forms to defvar or defconst
115271         Also collect some code onto fewer lines and reindent.
115272         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
115273         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
115274         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
115275         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
115276         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
115277         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
115278         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
115279         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
115280         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
115281         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
115282         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
115283         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
115284         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
115285         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
115286         declaration to use defvar or defconst.
115287         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
115288         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
115289         dun-verblist.  Those are now constants and the byte compiler doesn't
115290         allow defconsts in lambda lists.
115292 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
115294         Move all dunnet globals up to the top
115296         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
115297         (dun-visited, dun-current-room, dun-exitf):
115298         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
115299         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
115300         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
115301         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
115302         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
115303         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
115304         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
115305         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
115306         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
115307         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
115308         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
115309         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
115310         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
115311         top of the file, before any uses.
115313 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
115315         Fix bug#25788
115317         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
115318         Do not load tramp.el just for "/".  (Bug#25788)
115320 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
115322         Fix fringe bitmap initialization on MS-Windows
115324         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
115325         of fb->bits.  (Bug#25673)
115327 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
115329         Change type of `rehash_threshold' and `pure' fields in hash-tables
115331         * src/lisp.h (struct Lisp_Hash_Table): Change type of
115332         `rehash_threshold' and `pure' fields and move them after `count'.
115333         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
115334         (Fmake_hash_table, Fhash_table_rehash_threshold):
115335         * src/category.c (hash_get_category_set):
115336         * src/xterm.c (syms_of_xterm):
115337         * src/profiler.c (make_log):
115338         * src/print.c (print_object):
115339         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
115341 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
115343         Use 'char *FOO' instead of 'char* FOO'
115345 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
115347         More json.el changes
115349         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
115350         (json-read-array): Just use = for char comparison.
115352 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
115354         * lisp/woman.el (woman): Fix docstring prefix arg description.
115356 2017-02-18  Alan Mackenzie  <acm@muc.de>
115358         Fix edebug-spec on c-lang-defvar.
115360         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
115361         optional documentation to be instrumented for edebug.
115363         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
115364         c-lang-defvar.
115365         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
115366         'dont-doc.
115368 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
115370         Lists used as plists now have to be an even length
115372         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
115373         (eww-process-text-input): Not here, either.
115375 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
115377         Unset `non-essential' in Tramp when not needed anymore
115379         * doc/misc/trampver.texi:
115380         * lisp/net/trampver.el: Change version to "2.3.2-pre".
115382         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
115383         Use `tramp-completion-mode-p'.
115385         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
115386         when file name doesn't match `tramp-completion-file-name-regexp'.
115388 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
115390         Automatically regenerate emacs.1 and *.rc files
115392         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
115393         non-Makefile files produced by config.status.
115394         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
115395         their targets are regenerated when the source changes.
115397 2017-02-18  Alan Mackenzie  <acm@muc.de>
115399         Set the syntax table in AWK Mode.
115401         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
115402         It fixes bug #25722.
115404         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
115406 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
115408         Mention "editor" in Emacs man page header
115410         * doc/man/emacs.1.in: Mention "editor" in the header line.
115411         (Bug#25771, Bug#25779)
115413 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
115415         Fix Turkish language environment setup
115417         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
115418         language setup.  (Bug#25763)
115420 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
115422         Support 24-bit direct colors on text terminals
115424         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
115425         foreground and background functions are present in terminal type
115426         definition.
115427         * src/tparam.h: Define prototype for tigetstr.
115429         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
115430         index to pixel value on 16.7M color terminals.
115431         (tty-color-24bit): New function to convert color palette index to
115432         pixel value on 16.7M color terminals.
115433         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
115434         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
115435         TTY colors on 16.7M color terminals.
115437         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
115438         enable direct color TTY mode.
115439         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
115441 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
115443         Remove unused TN_max_pairs field
115445         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
115446         describing maximum number of terminal background/foreground color pairs.
115447         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
115448         (init_tty): Remove references to TN_max_pairs.
115450 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
115452         Improve documentation of query-replace-from-to-separator
115454         * doc/emacs/search.texi (Query Replace): Document the meaning of
115455         the nil value of query-replace-from-to-separator.  (Bug#25482)
115457 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
115459         Document problems with nerd-fonts
115461         * etc/PROBLEMS (fonts): Describe the potential problems with
115462         nerd-fonts that cause slow display.  (Bug#25697)
115464 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
115466         Improve commentary for a recent change in keyboard.c
115468         * src/keyboard.c (Fset__this_command_keys): Add a comment about
115469         the magic 248 value.  (Bug#25612)
115471 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
115473         Avoid infloop in rect.el
115475         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
115476         with argument N whose absolute value is greater than 1.  (Bug#25773)
115478 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
115480         Remove annoying warnings about let-binding
115482         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
115483         Remove warnings about making symbols local while let-bound.
115484         (Bug#25561)
115486 2017-02-18  Hong Xu  <hong@topbug.net>
115488         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
115490         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
115491         functionp instead of fboundp on
115492         flyspell-generic-check-word-predicate (Bug#25765).
115494 2017-02-18  Glenn Morris  <rgm@gnu.org>
115496         Remove the build number from emacs-version variable
115498         It's a largely internal detail that can confuse users.  (Bug#25590)
115499         * lisp/version.el (emacs-build-number): New constant.
115500         (emacs-version): Use emacs-build-number.
115501         * lisp/loadup.el (top-level): When dumping, increment
115502         emacs-build-number rather than emacs-version.
115503         * src/emacs.c (emacs-version): Doc fix.
115504         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
115505         Mention emacs-build-number.
115506         * lisp/gnus/gnus-util.el (gnus-emacs-version):
115507         * lisp/mail/emacsbug.el (report-emacs-bug):
115508         * admin/admin.el (set-version): Update for emacs-version change.
115510 2017-02-18  Glenn Morris  <rgm@gnu.org>
115512         Ensure that user-mail-address always has a value
115514         * lisp/startup.el (user-mail-address): Initialize in the normal way.
115515         (command-line): Reset user-mail-address if needed using
115516         standard custom machinery.
115517         * lisp/mail/feedmail.el (feedmail-fiddle-from):
115518         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
115519         * lisp/mail/rmailsum.el (rmail-header-summary):
115520         Simplify now that user-mail-address is always set.
115522 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
115524         Turn on lexical-binding in ruby-mode
115526         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
115527         (ruby-font-lock-syntax-table): Use make-syntax-table.
115528         (ruby-mode): 'define-derived-mode' writes the keys for us.
115530 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
115532         Turn on lexical-binding in elint.el
115534         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
115535         (elint-running, elint-current-pos): Move these dynamic vars to toward
115536         the top of the file.
115537         (elint-check-quote-form): Ignore unused argument.
115538         (elint-check-conditional-form): Remove unused binding.
115540 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
115542         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
115544 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
115546         Enable erc-accidental-paste-threshold-seconds by default
115548         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
115549         default to 0.2 (Bug#25709).
115551 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
115553         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
115555         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
115556         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
115557         one created with ‘make extraclean’), see
115558         <https://hydra.nixos.org/build/48774928>.
115560         The failure was caused by characters.el trying to read Unicode
115561         property tables which aren’t available so early in the build process.
115563         Wrap the part that requires Unicode property tables in a condition
115564         checking if those are available.  If they aren’t they case and syntax
115565         tables won’t be fully set but later on, the characters.el file will be
115566         evaluated again and this time with Unicode properties available so
115567         final Emacs ends up with the exact same case and syntax tables.
115569 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
115571         mm-add-meta-html-tag: Improve regexp
115573         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
115574         Improve regexp to search html meta tag.
115576 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
115578         mm-shr: Prefer charset specified in html meta tag
115580         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
115581         meta tag than mail-parse-charset in the case there is no charset spec
115582         in MIME header.
115584 2017-02-17  Glenn Morris  <rgm@gnu.org>
115586         Stop duplicating some custom-types in message.el
115588         * lisp/gnus/message.el (user-mail-address, user-full-name):
115589         No need to re-specify custom-type.
115591 2017-02-17  Glenn Morris  <rgm@gnu.org>
115593         Whitespace trivia in dunnet.el
115595         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
115596         (dun-rlogin-endgame): Whitespace trivia.
115598 2017-02-17  Glenn Morris  <rgm@gnu.org>
115600         Explicit error on changing case of negative integers
115602         * src/casefiddle.c (casify_object): Reject negative integers:
115603         Emacs characters are positive integers.  (Bug#25684)
115605 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
115607         Fix buffers update in vc-retrieve-tag
115609         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
115610         `repository', use the repository root and pass it to
115611         vc-resynch-buffer (bug#25714).
115613 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
115615         * src/buffer.h: Fix indenting.
115617 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
115619         Add sanity checks for Bswitch hash tables
115621         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
115622         Check that operand is a hash table and hashes to ints.
115624 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
115626         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
115628 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
115630         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
115632         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
115633           redundant operations while calculating the correct jump addresses
115634           from TAGs in jump tables.
115636 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
115638         Minor changes in json.el
115640         * lisp/json.el (json-advance): Simpler docstring.
115641         (json-read-escaped-char): Use xdigit subform in rx expression.
115642         (json-read-string): Just use = for char comparison.
115644 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
115646         Don't expand body inside a let-binding when there are no bindings
115648         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
115649         is non-nil.
115651 2017-02-16  Glenn Morris  <rgm@gnu.org>
115653         Handle user-mail-address being the empty string
115655         * lisp/mail/feedmail.el (feedmail-fiddle-from):
115656         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
115657         * lisp/mail/rmailsum.el (rmail-header-summary):
115658         Belated update for 2002-09-29 startup.el change, 680ebfa, where
115659         the value of user-mail-address during initialization was changed
115660         from nil to the empty string.
115662 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
115664         Continue to fix bug#25607
115666         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
115667         (ido-file-name-all-completions-1): Do not bind `non-essential'.
115669         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
115670         Improve autoloaded version.
115671         (tramp-completion-file-name-handler): Remove old compat code.
115672         Check only for `tramp-completion-mode-p'.
115673         (tramp-completion-mode-p): Autoload.  Do not check any longer
115674         for `last-input-event'.
115675         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
115677 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
115679         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
115681         A compatibility digraph characters, such as Dž, are neither upper- nor
115682         lower-case.  At the moment however, those are reported as upper-case¹
115683         despite the fact that they change when upper-cased.
115685         Stop checking if a character is upper-case before trying to up-case it
115686         so that title-case characters are handled correctly.  This fixes one of
115687         the issues mentioned in bug#24603.
115689         ¹ Because they change when converted to lower-case.  Notice an asymmetry
115690           in that for a character to be considered lower-case it must not be
115691           upper-case (plus the usual condition of changing when upper-cased).
115693         * src/buffer.h (upcase1): Delete.
115694         (upcase): Change to upcase character unconditionally just like downcase
115695         does it.  This is what upcase1 was.
115697         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
115698         of upcase1 and don’t check !uppercasep(x) before calling upcase.
115700         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
115701         downcase(x) and see if it changed.
115703         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
115704         casefiddle-tests-casing): Update test cases which are now passing.
115706 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
115708         Generate upcase and downcase tables from Unicode data  (bug#24603)
115710         Use Unicode data to generate case tables instead of mostly repeating
115711         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
115712         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
115714         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
115715         changes to syntax table and case tables introduced by this commit.
115717         * lisp/international/characters.el: Remove case-pairs defined with
115718         explicit Lisp code and instead use Unicode character properties.
115720         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
115721         casefiddle-tests-casing): Update test cases which are now working
115722         as they should.
115724 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
115726         Add tests for casefiddle.c  (bug#24603)
115728         Fixes cases marked FIXME upcoming in followup commits.
115730         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
115731         casefiddle-tests-case-table, casefiddle-tests-casing-character,
115732         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
115733         casefiddle-tests-casing-byte8-with-changes): New tests.
115734         (casefiddle-tests--test-casing): New helper function for running
115735         some of the tests.
115737 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
115739         oldXMenu: add missing #include <string.h>
115741         Some of the files in oldXMenu use functions from string.h without
115742         including that header which results in compile warnings:
115744                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
115745                 ChgPane.c:46:20: warning: incompatible implicit declaration of
115746                         built-in function ‘strlen’
115747                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
115748                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
115749                         function ‘strlen’
115750                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
115751                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
115752                 InsPane.c:65:20: warning: incompatible implicit declaration of
115753                         built-in function ‘strlen’
115754                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
115755                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
115756                         function ‘strlen’
115757                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
115759         Add the necessary ‘#include <string.h>’.
115761         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
115762         oldXMenu/InsSel.c: add missing #include <string.h>
115764 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
115766         Fixup recent rmail patch
115768         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
115770 2017-02-15  Richard Stallman  <rms@gnu.org>
115772         Rmail fix
115774         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
115775         as element 4 of the value.
115776         (rmail-epa-decrypt): Take the text to insert from that element.
115778 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
115780         bytecomp-tests.el: Store all test forms in one constant.
115782         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
115783         in a single constant (byte-opt-testsuite-arith-data), add new forms
115784         which generate lapcode with adjacent/redundant tags.
115786 2017-02-15  Glenn Morris  <rgm@gnu.org>
115788         Small lispref edit
115790         * doc/lispref/os.texi (User Identification):
115791         Remove extraneous detail about user-mail-address.
115793 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
115795         Document fill-separate-heterogeneous-words-with-space (bug#25685)
115797         * doc/lispref/text.texi (Filling):
115798         Document fill-separate-heterogeneous-words-with-space (bug#25685).
115800 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
115802         Test comment-multi-line = nil auto fill case too
115804         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
115805         `comment-multi-line' both nil and non-nil.
115806         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
115807         boolean.
115808         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
115810 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
115812         Don't delete leading and trailing space from CJK word (bug#25685)
115814         * lisp/textmodes/fill.el (fill-delete-newlines):
115815         Don't delete leading and trailing space from CJK word.
115816         (fill-separate-heterogeneous-words-with-space):
115817         New user option that controls it (bug#25685).
115819 2017-02-15  Juri Linkov  <juri@linkov.net>
115821         ‘M-s w RET word C-s’ repeats incremental search.
115823         * lisp/isearch.el (isearch-new-nonincremental): New variable.
115824         (with-isearch-suspended): Bind isearch-new-nonincremental to
115825         isearch-nonincremental, and restore it afterwards.
115826         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
115827         Set isearch-new-nonincremental to nil.  (Bug#25562)
115829 2017-02-14  Tom Tromey  <tom@tromey.com>
115831         Make vc-git detect conflict state for vc-dir
115833         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
115834         (vc-git-dir-status-update-file): New function.
115835         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
115836         vc-git-dir-status-state; add 'ls-files-conflict state.
115837         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
115839 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
115841         byte-opt: Replace merged tags in jump tables too. (bug#25716)
115843         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
115844           adjacent tags, make sure that the old tag is replaced in all jump
115845           tables, if any. This fixes the bytecode VM jumping to the wrong
115846           address in compiled cond forms where the body of a clause was a loop
115847           of any sort.
115849 2017-02-14  Glenn Morris  <rgm@gnu.org>
115851         Remove overly broad element from default mail-dont-reply-to-names
115853         * lisp/mail/mail-utils.el (mail-dont-reply-to):
115854         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
115855         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
115856         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
115857         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
115859 2017-02-14  Juri Linkov  <juri@linkov.net>
115861         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
115863 2017-02-13  Arash Esbati  <arash@gnu.org>
115865         Match all characters in optional argument of \documentclass
115867         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
115868         characters in optional argument containing name of the main file.
115870 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
115872         Merge branch 'master' into feature/byte-switch
115874 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
115876         Fix non-ASCII text encoding (bug#25658)
115878         * lisp/gnus/mm-bodies.el (mm-encode-body):
115879         Fix non-ASCII text encoding (bug#25658).
115881 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
115883         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
115885 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
115887         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
115889 2017-02-13  Glenn Morris  <rgm@gnu.org>
115891         Fix recent bootstrap issue by moving string-to-list
115893         * lisp/international/mule-util.el (string-to-list, string-to-vector):
115894         Move from here...
115895         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
115896         The implementation is trivial and at least string-to-list
115897         has ended up being needed early during bootstrap.
115899 2017-02-13  Glenn Morris  <rgm@gnu.org>
115901         Doc fixes related to mail-host-address
115903         * lisp/startup.el (mail-host-address): Doc fix.
115904         * doc/lispref/os.texi (System Environment):
115905         Remove extraneous details of mail-host-address.
115907 2017-02-13  Glenn Morris  <rgm@gnu.org>
115909         Simplify time-stamp mail host usage
115911         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
115912         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
115914 2017-02-13  Glenn Morris  <rgm@gnu.org>
115916         Doc fix for vhdl-mode re mail-host-address
115918         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
115919         (mail-host-address): Do not add to vhdl-related custom group,
115920         since vhdl-template-replace-header-keywords doesn't use it.
115922 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
115924         Substitute leading $HOME/ in xdg-user-dirs
115926         * lisp/xdg.el (xdg--substitute-home-env): New function.
115927         (xdg--user-dirs-parse-line): Use it.
115928         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
115930 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
115932         * lisp/buff-menu.el: Turn on lexical-binding.
115934 2017-02-13  Juri Linkov  <juri@linkov.net>
115936         * lisp/replace.el (query-replace-from-to-separator): Move propertize
115938         and char-displayable-p test to query-replace-read-from.
115939         Add choice nil to disable this feature.
115940         (query-replace-read-from): Don't reevaluate custom setting.
115941         Use char-displayable-p to test the first non-whitespace character
115942         in query-replace-from-to-separator, use " -> " when fails.
115943         Add prompt for the case when separator is nil but
115944         query-replace-defaults is non-nil.
115945         Remove unused test for regexp-flag.
115946         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
115948 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
115950         Convert more uses of `looking-at' to `following-char'
115952         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
115953         (commit 91478f46238a) with more of the same.
115955         * lisp/bookmark.el (bookmark-send-edited-annotation):
115956           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
115957           with char comparisons using following-char.
115959 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
115961         Fix typos in tests for lax-plist-get etc.
115963         Problem reported by Eli Zaretskii (Bug#25606#62).
115964         * test/src/fns-tests.el (test-cycle-lax-plist-get)
115965         (test-cycle-plist-put, test-cycle-lax-plist-put):
115966         Fix tests to match behavior.
115968 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
115970         Fix bug#25607
115972         * lisp/net/tramp.el (tramp-completion-file-name-handler):
115973         Improve autoloaded version.
115974         (tramp-autoload-file-name-handler): Avoid recursive load.
115975         (tramp-completion-handle-expand-file-name): Handle empty NAME.
115976         (Bug#25607)
115978 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
115980         Remove server-buffer-clients string from minor-mode-alist
115982         * lisp/server.el: Don't put an element for server-buffer-clients into
115983         minor-mode-alist. (Bug#20201)
115985 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
115987         Nix some useless uses of looking-at, looking-back
115989         * lisp/allout.el (allout-kill-topic):
115990         (allout-next-topic-pending-encryption):
115991         * lisp/bookmark.el (bookmark-kill-line):
115992         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
115993         * lisp/cus-theme.el (custom-theme-write-variables):
115994         (custom-theme-write-faces):
115995         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
115996         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
115997         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
115998         (checkdoc-interactive-ispell-loop):
115999         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
116000         (checkdoc-this-string-valid-engine):
116001         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
116002         * lisp/emulation/viper-cmd.el (viper-backward-indent):
116003         * lisp/image-dired.el (image-dired-delete-char):
116004         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
116005         looking-back with char comparisons using following-char, preceding-char.
116007 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
116009         Clarify what is the "cursor"
116011         * doc/lispref/windows.texi (Window Point): Clarify the notion of
116012         "cursor".
116014 2017-02-11  Tom Tromey  <tom@tromey.com>
116016         Recognize JS regexp literals more correctly
116018         Bug#25529
116019         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
116020         constant.
116021         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
116022         (js--syntax-propertize-regexp-syntax-table): Remove.
116023         (js-syntax-propertize): Update.
116024         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
116025         New test.
116027 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
116029         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
116031         This avoids using XUINT every time while comparing it with
116032         HASH_HASH (h, i), replacing it with EQ.
116034 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
116036         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
116038 2017-02-11  Tom Tromey  <tom@tromey.com>
116040         Fix bug in css--mdn-find-symbol
116042         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
116043         before skipping word characters.
116044         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
116045         regression test.
116047 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
116049         src/bytecode.c: Add optional sanity check for jump tables.
116051         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
116052           check that the jump table's size is equal to it's count.
116054 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
116056         Merge branch 'master' into feature/byte-switch
116058         * src/bytecode.c: Refactor to follow GNU coding standards
116060 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
116062         Fix handling of XBM images on MS-Windows
116064         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
116065         'nbytes' when inverting XBM data bits.  (Bug#25661)
116067 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
116069         Fix handling of PBM data
116071         * src/image.c (pbm_load): Handle PBM data with no blanks between
116072         individual pixel values correctly.  (Bug#25660)
116074 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
116076         Fix warnings in debug tracing code
116078         * src/xdisp.c (dump_glyph, dump_glyph_string):
116079         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
116080         specifiers to match signedness.
116082 2017-02-10  Sam Steingold  <sds@gnu.org>
116084         Extract grep-find-ignored-directories processing from rgrep-default-command
116086         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
116087         Some Emacs packages use `grep-find-ignored-directories' to ignore some
116088         directories, so will use this function instead of custom code.
116089         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
116091 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
116093         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
116095         * src/bytecode.c: (exec_byte_code) While linear searching the jump
116096           table, compare the value's hash table first to avoid calling
116097           h->test.cmpfn every time.
116099 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
116101         Fix a few integer-overflow glitches
116103         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
116104         * src/dispextern.h (struct composition_it.rule_idx):
116105         * src/keyboard.c (Fset__this_command_keys):
116106         * src/xwidget.c (webkit_js_to_lisp):
116107         Don’t assume object sizes fit in ‘int’.
116108         * src/xwidget.c (Fxwidget_resize):
116109         Don’t assume Emacs integers fit in ‘int’.
116111 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
116113         Fix a bug with displaying an image after a TAB
116115         * src/xdisp.c (display_line): Handle TAB at end of screen line
116116         specially only when we are displaying characters.  (Bug#25662)
116118 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
116120         Improve commentary in lisp.h
116122         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
116123         object is discouraged.
116125 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
116127         Move cyclic tests to fns-tests.el
116129         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
116130         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
116131         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
116132         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
116133         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
116134         (test-cycle-plist-get, test-cycle-lax-plist-get)
116135         (test-cycle-plist-member, test-cycle-plist-put)
116136         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
116137         New tests.
116138         * test/manual/cyclic-tests.el: File deleted.
116140 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
116142         Fix instrumenting code with propertized strings in Edebug
116144         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
116145         'read' to decide what is and isn't a syntax error.  (Bug#25068)
116147 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
116149         Improve fontification in bat-mode
116151         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
116152         word and symbol constituents when looking for variable names
116153         to fontify; also, correct the syntax table and mark the equal
116154         sign (=) character as punctuation.  Improve fontification
116155         accuracy of iteration/positional variables.
116156         (bat-mode): Set comment-start-skip.  (Bug#25541)
116158         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
116159         bat-mode.el.
116161 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
116163         Restore special setting of this-command-keys by M-x
116165         It was lost when execute-extended-command was reimplemented in Lisp.
116167         * src/keyboard.c (Fset__this_command_keys): New function.
116168         (syms_of_keyboard): Defsubr it.
116170         * lisp/simple.el (execute-extended-command): Set this-command-keys
116171         as novice.el expects.  (Bug#25612)
116173 2017-02-09  Juri Linkov  <juri@linkov.net>
116175         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
116177         to t to display "Pending" in the search prompt for lax
116178         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
116179         when 'bound' is non-nil.
116180         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
116181         at the beginning of regexp (bug#22589).
116183         * lisp/info.el (Info-isearch-search):
116184         Use isearch--lax-regexp-function-p.
116186         * doc/emacs/search.texi (Word Search, Symbol Search):
116187         Mention "Pending" prompt for lax word/symbol search.
116189 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
116191         src/bytecode.c (exec_byte_code): Remove unneeded assert.
116193         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
116195 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
116197         bytecode.c (exec_byte_code): don't check hash code in linear search.
116199         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
116200           not nil when linear scanning the jump table. Hash tables for are
116201           declared with :size as the exact number of cases, so each entry i
116202           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
116203           check.
116205 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
116207         Ibuffer: Update mode documentation
116209         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
116211 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
116213         Fix environment variable for xdg-data-dirs
116215         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
116217 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
116219         Ibuffer: Erase output buffer before shell commands
116221         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
116222         BEFORE and AFTER; they are forms to run before/after the operation.
116223         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
116224         New defun; if shell-command-dont-erase-buffer is nil, then
116225         erase shell command output buffer.
116226         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
116228 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
116230         Ibuffer: Don't truncate shell command output
116232         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
116233         (ibuffer-do-shell-command-pipe-replace)
116234         Use 'call-shell-region' (Bug#22679).
116235         (ibuffer-do-shell-command-file): Use call-process-shell-command.
116236         If FILE, the file that the buffer object is visiting,
116237         exists and the buffer is up-to-date, then use
116238         FILE instead of creating a temporary file (Bug#22679).
116240 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
116242         Improve byte-switch execution.
116244         * lisp/emacs-lisp/byte-opt.el,
116245           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
116246           (byte-compile-lapcode): Calculate the actual jump address while
116247           compiling, store it in the jump table.
116249         * src/bytecode.c: Jump to the looked up value directly, do a linear
116250           search when the number of elements is <= 5.
116252 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
116254         Make sure eshell pipelines don't drop data
116256         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
116257         handling output of the process, make sure to close the pipes only later,
116258         so that the next process in the pipeline receives EOF only after getting
116259         all its input (Bug#25549).
116261 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
116263         Make mm-shr use mail-parse-charset by default
116265         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
116266         This helps an html message with no charset spec to be decoded.
116268 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
116270         describe-char: unambiguous name for inserting ASCII 7
116272         * lisp/descr-text.el (describe-char): Make the input
116273         suggestion for inserting ASCII character 7 by name use the
116274         unambiguous name "BELL (BEL)" (bug#25641).
116276 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
116278         Modify suppressing `vc-refresh-state' in filenotify-tests.el
116280         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
116281         Use an advice rather than an alias for suppressing `vc-refresh-state'.
116283 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
116285         Disable native completion for ipython (Bug#25067)
116287         * lisp/progmodes/python.el:
116288         (python-shell-completion-native-disabled-interpreters): Add "ipython".
116290 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
116292         Suppress undesired error messages in filenotify-tests.el
116294         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
116295         Suppress `vc-refresh-state', it produces undesired error messages.
116297 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
116299         Fix a typo in ada-mode manual
116301         * doc/misc/ada-mode.texi (Project file variables): Add a missing
116302         right bracket.  Reported by Jean-Christophe Helary
116303         <jean.christophe.helary@gmail.com>.
116305 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
116307         Ensure that Gnus bugs show up in the Emacs tracker
116309         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
116310         package spec.
116312 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
116314         Revert "Don't tag Gnus bugs with "gnus""
116316         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
116318         The debbugs syntax requires a package name
116320 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
116322         Add tests for checking byte-switch code.
116324         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
116325           test byte-switch bytecode.
116327 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
116329         Add xdg library
116331         * etc/NEWS: Mention new library.
116332         * lisp/xdg.el: New file.
116334 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
116336         Do not trick info/dir’s timestamp
116338         * Makefile.in (${srcdir}/info/dir): When making this file, do not
116339         do anything special about its timestamp.  Previously this rule
116340         used move-if-change, which meant that this file’s timestamp could
116341         end up being older than the files it depends on, and this caused
116342         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
116343         now that ‘make-dist’ invokes ‘make --question info’.
116345 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
116347         Make FOR_EACH_TAIL more like other FOR_EACH macros
116349         See comments by Stefan Monnier in:
116350         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
116351         and by Eli Zaretskii in:
116352         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
116353         * src/fns.c (internal_equal): Do not bypass check for depth
116354         overflow when tail-recursing via a dotted list tail or an overlay
116355         plist, to avoid a rare infloop.
116356         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
116357         arg, and update it at each iteration, rather than have callers
116358         access it.tail.  All callers changed.
116359         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
116360         the caller’s responsibility.  All callers changed.
116361         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
116362         (struct for_each_tail_internal.tail): Remove; no longer needed.
116363         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
116364         arg each time through the loop.  All callers changed.
116366 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
116368         Port to clang 3.8.0
116370         It does not allow a for-loop's control var to be an anonymous struct.
116371         * src/lisp.h (struct for_each_tail_internal): New type.
116372         (FOR_EACH_TAIL_INTERNAL): Use it.
116374 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
116376         Add cyclic-list tests
116378         * test/manual/cycle-tests.el: New file (Bug#25606).
116380 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
116382         FOR_EACH_TAIL now checks for quit
116384         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
116385         maybe_quit are unnecessary in practice, Eli was not convinced
116386         that the calls are unnecessary.
116387         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
116388         Call maybe_quit every so often.
116389         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
116391 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
116393         Signal list cycles in ‘length’ etc.
116395         Use macros like FOR_EACH_TAIL instead of maybe_quit to
116396         catch list cycles automatically instead of relying on the
116397         user becoming impatient and typing C-g (Bug#25606).
116398         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
116399         (Frassoc, Fdelete, Freverse):
116400         Use FOR_EACH_TAIL instead of maybe_quit.
116401         (Fnreverse): Use simple EQ to check for circular list instead
116402         of rarely_quit, as this suffices in this unusual case.
116403         (Fplist_put, Flax_plist_put, Flax_plist_put):
116404         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
116405         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
116406         of by-hand tail recursion that did not catch cycles.
116407         * src/fns.c (Fsafe_length, Fplist_get):
116408         * src/xdisp.c (display_mode_element):
116409         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
116410         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
116411         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
116412         fancier versions are no longer needed.
116413         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
116414         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
116415         mostly taken from FOR_EACH_TAIL.
116416         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
116418 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
116420         Simplify use of FOR_EACH_TAIL
116422         * src/data.c (circular_list): New function.
116423         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
116424         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
116425         to speed things up a bit on typical hosts with optimization.
116426         All uses changed (Bug#25605).
116428 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
116430         * lisp/textmodes/css-mode.el: Require subr-x at compile time
116432 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
116434         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
116436         * doc/lispref/nonascii.texi (Text Representations): Clarify that
116437         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
116438         'filepos-to-bufferpos' can lead to expensive and slow processing.
116440         * lisp/international/mule-util.el (filepos-to-bufferpos)
116441         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
116443 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
116445         Merge remote-tracking branch 'origin/master' into feature/byte-switch
116447 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
116449         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
116451         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
116452           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
116453           make sure that obj1/obj2 can be compared with `eq'.
116455 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
116457         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
116459 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
116461         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
116463         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
116464           Restore value of byte-compile-depth after emitting a jump to a tag
116465           in a jump table, or default/done tags.
116466           Set the depth of final tags for byte-switch to nil after emitting
116467           any jumps to them.
116469 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
116471         byte-opt.el: Replace jump tables while decompiling correctly.
116473         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
116474           Don't make a copy of the constant vector, as it isn't used with
116475           the decompiled lapcode.
116476           Make sure that the correct lapcode pair/list is being modified while
116477           replacing the jump table.
116479 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
116481         bytecomp.el: Don't store non-keyword symbols in jump-tables.
116483         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
116484           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
116485           table can only be used when comparing variables with constant values.
116487 2017-02-04  Tom Tromey  <tom@tromey.com>
116489         typo fix
116491         (css--colon-inside-selector-p): Fix typo in docstring.
116493 2017-02-04  Tom Tromey  <tom@tromey.com>
116495         Set comment-multi-line in js-mode
116497         Bug#6806:
116498         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
116499         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
116501 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
116503         * test/manual/indent/scss-mode.scss: Fix indentation
116505 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
116507         Fix indentation of multiline CSS property values
116509         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
116510         to properties higher precedence.
116511         (css--colon-inside-selector-p, css--colon-inside-funcall): New
116512         functions for helping SMIE during tokenization.
116513         (css-smie--forward-token, css-smie--backward-token): Distinguish
116514         colons belonging to properties from other colons.
116516         * test/manual/indent/css-mode.css: Add tests for the changes above.
116518         * test/manual/indent/scss-mode.scss: Ditto.
116520 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
116522         Add tests for lisp/kmacro.el
116524         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
116526 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
116528         Fix autorevert-tests on MS-Windows
116530         * test/lisp/autorevert-tests.el
116531         (auto-revert-test02-auto-revert-deleted-file): Don't check that
116532         auto-revert-use-notify was reset to nil on w32.
116534 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
116536         New macro 'ert-with-message-capture'
116538         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
116539         (Bug#25158)
116541         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
116542         (auto-revert-test00-auto-revert-mode)
116543         (auto-revert-test01-auto-revert-several-files)
116544         (auto-revert-test02-auto-revert-deleted-file)
116545         (auto-revert-test03-auto-revert-tail-mode)
116546         (auto-revert-test04-auto-revert-mode-dired):
116547         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
116548         ert-with-message-capture.
116550 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
116552         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
116554         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
116555         'declare' form.  (Bug#24722)
116557 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
116559         Fix a syntax error when evaluating pcase.el under Edebug
116561         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
116562         with an explicit 'put' form.  Suggested by Gemini Lasswell
116563         <gazally@runbox.com>.  (Bug#24717)
116565 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
116566             Eli Zaretskii  <eliz@gnu.org>
116568         Change edebug-max-depth from defconst to defcustom
116570         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
116571         (Bug#24713)
116573         * etc/NEWS: Mention edebug-max-depth.
116575         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
116576         edebug-max-depth and index it.  Add cross-references for
116577         max-lisp-eval-depth and max-specpdl-size.
116579 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
116581         Support options with embedded whitespace in 'dired-listing-switches'
116583         * lisp/dired.el (dired-listing-switches): Document how to quote
116584         options with embedded whitespace.
116586         * lisp/files.el (insert-directory): Use split-string-and-unquote
116587         to support dired-listing-switches that specify command-line
116588         options with embedded spaces.  (Bug#25485)
116590 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
116591             Noam Postavsky  <npostavs@users.sourceforge.net>
116593         Add tests for lisp/emacs-lisp/testcover.el
116595         * test/lisp/emacs-lisp/testcover-tests.el: New file.
116596         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
116598 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
116600         Document 'save-some-buffers-default-predicate'
116602         * doc/lispref/files.texi (Saving Buffers):
116603         * doc/emacs/files.texi (Save Commands): Document
116604         save-some-buffers-default-predicate.
116606 2017-02-04  Richard Stallman  <rms@gnu.org>
116608         New defcustom 'save-some-buffers-default-predicate'
116610         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
116611         (save-some-buffers): Use it when PRED is nil or omitted.
116613 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
116615         Rename to if-let* and when-let*
116617         Make the existing if-let and when-let aliases.
116618         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
116619         docstrings, incorporating that from let* and the existing if-let.
116620         (if-let, when-let, and-let*): Alias them.
116622 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
116624         Revert "Use maphash instead of cl-loop."
116626         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
116628 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
116630         Bump Emacs version to 25.2 RC1
116632         * README:
116633         * configure.ac:
116634         * msdos/sed2v2.inp:
116635         * nt/README.W32: Bump Emacs version.
116636         * lisp/ldefs-boot.el: Update.
116638 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
116640         * admin/make-tarball.txt: Add documentation regarding the release banner.
116642 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
116644         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
116646 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
116648         Re-port alloc.c to Solaris sparc and simplify
116650         alloc.c had bitrotted a bit, and used an undefined symbol
116651         stack_base when Emacs was built on Solaris sparc, leading to
116652         compilation failures.  Also, code related to __builtin_unwind_init
116653         was unnecessarily duplicated.  Fix the bitrot and remove some
116654         duplication.
116655         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
116656         is never defined.
116657         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
116658         Define a no-op dummy, to simplify use.
116659         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
116660         than in the caller, to simplify use.
116661         (stacktop_sentry): New type.
116662         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
116663         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
116664         (flush_stack_call_func, Fgarbage_collect): Use it.
116665         (init_alloc): Omit unnecessary initialization.
116666         After dumping, Emacs need not re-test setjmp.
116668 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
116670         Add tests for scrolling
116672         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
116674 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
116676         Fix scrolling with partial lines
116678         * src/xdisp.c (partial_line_height): New function.
116679         (try_scrolling):
116680         * src/window.c (window_scroll_pixel_based): Use it for calculating the
116681         pixel scroll margin correctly in a window with partial lines.
116683 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
116685         Make limit on scroll-margin variable
116687         * src/xdisp.c (maximum-scroll-margin): New variable.
116688         * lisp/cus-start.el: Make it customizable.
116689         * etc/NEWS: Mention it.
116690         * doc/emacs/display.texi (Auto Scrolling):
116691         * doc/lispref/windows.texi (Textual Scrolling): Document it.
116692         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
116693         division by 4 (Bug #5718).
116695 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
116697         Don't count mode line for scroll-margin limit
116699         * src/window.c (window_scroll_margin): Use window_box_height to avoid
116700         counting header line, scrollbars for scroll-margin limit (Bug #5718).
116702 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
116704         Refactor uses of scroll_margin to a function
116706         Its effective range needs to be clamped between 0 and (window height /
116707         4), so it's better to have this constraint in a single place.
116709         * src/window.c (window_scroll_margin): New function.
116710         (window_scroll_pixel_based, window_scroll_line_based):
116711         (Frecenter, Fmove_to_window_line):
116712         * src/xdisp.c (try_scrolling, try_cursor_movement):
116713         (redisplay_window, try_window, try_window_id): Use it.
116715 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
116717         (xref-collect-matches): Use '-E' together with '-e'
116719         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
116720         together with '-e', as suggested by Noam Postavsky
116721         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
116723 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
116725         Pacify Oracle Studio 12.5
116727         * src/emacs.c (main): Do not silently convert char * to bool.
116729 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
116731         Fix lisp.h underparenthesization
116733         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
116734         Parenthesize compound literals that are function call args.
116735         Although this does not fix any bugs, it is the proper style for
116736         macro parenthesization as it means this code will continue to
116737         work even if make_lisp_ptr is changed to a macro.
116739 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
116741         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
116743         (doc-view-revert-buffer): Silence overflow warnings.
116745 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
116747         Merge from gnulib
116749         2017-01-30 Port to PGI 16.10 x86-64
116750         2017-01-20 time_rz: fix comment typo
116751         2017-01-14 strftime: %z is -00 if unknown
116752         This incorporates:
116753         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
116754         * lib/time-internal.h, lib/verify.h:
116755         Copy from gnulib.
116757 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
116759         Check if there are hunks before kill or refine a hunk
116761         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
116762         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
116764 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
116766         Ignore error after kill last file or hunk
116768         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
116769         Ignore error after kill last hunk (Bug#25570).
116770         (diff-file-kill): Idem.
116772 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
116774         Show current line highlighted in *Occur* buffer
116776         * lisp/replace.el (list-matching-lines-current-line-face)
116777         (list-matching-lines-jump-to-current-line): New user options.
116778         (occur--orig-line, occur--orig-line-str): New variables.
116779         (occur, occur-engine): Use them.
116780         (occur--final-pos): New variable.
116781         (occur-1): Use it.
116782         (occur-engine): Idem.
116783         Show the current line with 'list-matching-lines-current-line-face'.
116784         Set point on the first matching line after the current one.
116785         * etc/NEWS: Add entry for the new option.
116787 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
116789         Allow occur command to operate on the region
116791         See discussion in:
116792         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
116793         * lisp/replace.el (occur--region-start, occur--region-end)
116794         (occur--matches-threshold): New variables.
116795         (occur-engine): Use them.
116796         (occur): Idem.
116797         Add optional arg REGION; if non-nil occur applies in that region.
116798         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
116799         * doc/emacs/search.texi (Other Repeating Search): Idem.
116801 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
116803         Treat list-buffers-directory as a string
116805         Another step in the long history of list-buffers-directory.  A thread
116806         branch discussing the meaning/use of the variable starts here
116807         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
116808         Also see (info "(elisp) Buffer File Name").
116809         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
116810         Info-* defvars.
116811         (Buffer-menu--pretty-file-name): Remove special case.  Use
116812         bound-and-true-p.
116813         (Buffer-menu-info-node-description): Remove.
116814         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
116815         list-buffers-directory as a string.
116816         * lisp/info.el (Info-node-description): New function.
116817         (Info-select-node): Use it.
116819 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
116821         Turn on lexical-binding in parse-time.el
116823         * lisp/calendar/parse-time.el: Turn on lexical-binding.
116824         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
116825         bindings.
116827 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
116829         Prevent creating thumbnails of all gif frames
116831         With the previous defaults, doing image-dired on a directory with an
116832         animated foo.gif would cause creation of foo.thumb-N.gif for each of
116833         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
116834         there additionally is no usable thumbnail after all the needless effort.
116835         image-dired never handled animation, regardless.
116836         * lisp/image-dired.el: Mention limitation.
116837         (image-dired-cmd-create-thumbnail-options):
116838         (image-dired-cmd-create-temp-image-options):
116839         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
116840         filename to indicate only converting the 0th frame.
116841         (image-dired-display-image-mode): Don't show a cursor.
116843 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
116845         Fix quitting bug when buffers are frozen
116847         Problem noted by Eli Zaretskii in:
116848         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
116849         This patch also fixes some other issues in that report.
116850         * src/lisp.h (incr_rarely_quit): Remove.
116851         All callers changed to use rarely_quit directly.
116852         * src/search.c (freeze_buffer_relocation)
116853         (thaw_buffer_relocation): New functions.
116854         (looking_at_1, fast_looking_at, search_buffer):
116855         Use them to fix bug when quitting when buffers are frozen.
116856         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
116857         All uses changed.
116859 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
116861         Revamp quitting and fix infloops
116863         This fixes some infinite loops that cannot be quitted out of,
116864         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
116865         when byte-compiled and when run under X.  See:
116866         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
116867         This also attempts to keep the performance improvements I recently
116868         added, as much as possible under the constraint that the infloops
116869         must be caught.  In some cases this fixes infloop bugs recently
116870         introduced when I removed immediate_quit.
116871         * src/alloc.c (Fmake_list):
116872         Use rarely_quit, not maybe_quit, for speed in the usual case.
116873         * src/bytecode.c (exec_byte_code):
116874         * src/editfns.c (Fcompare_buffer_substrings):
116875         * src/fns.c (Fnthcdr):
116876         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
116877         (Fbackward_prefix_chars):
116878         Use rarely_quit so that users can C-g out of long loops.
116879         * src/callproc.c (call_process_cleanup, call_process):
116880         * src/fileio.c (read_non_regular, Finsert_file_contents):
116881         * src/indent.c (compute_motion):
116882         * src/syntax.c (scan_words, Fforward_comment):
116883         Remove now-unnecessary maybe_quit calls.
116884         * src/callproc.c (call_process):
116885         * src/doc.c (get_doc_string, Fsnarf_documentation):
116886         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
116887         * src/lread.c (safe_to_load_version):
116888         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
116889         Use emacs_read_quit instead of emacs_read in places where
116890         C-g handling is safe.
116891         * src/eval.c (maybe_quit): Move comment here from lisp.h.
116892         * src/fileio.c (Fcopy_file, e_write):
116893         Use emacs_write_quit instead of emacs_write_sig in places where
116894         C-g handling is safe.
116895         * src/filelock.c (create_lock_file): Use emacs_write, not
116896         plain write, as emacs_write no longer has a problem.
116897         (read_lock_data): Use emacs_read, not read, as emacs_read
116898         no longer has a problem.
116899         * src/fns.c (rarely_quit): Move to lisp.h and rename to
116900         incr_rarely_quit.  All uses changed..
116901         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
116902         * src/indent.c (compute_motion):
116903         * src/syntax.c (find_defun_start, back_comment, forw_comment)
116904         (Fforward_comment, scan_lists, scan_sexps_forward):
116905         Use incr_rarely_quit so that users can C-g out of long loops.
116906         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
116907         inner loop, so that it catches C-g there too.
116908         * src/keyboard.c (tty_read_avail_input): Remove commented-out
116909         and now-obsolete code dealing with interrupts.
116910         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
116911         the latter moved here from fns.c and renamed from rarely_quit.
116912         (emacs_read_quit, emacs_write_quit): New decls.
116913         * src/search.c (find_newline, search_buffer, find_newline1):
116914         Add maybe_quit to catch C-g.
116915         * src/sysdep.c (get_child_status): Always invoke maybe_quit
116916         if interruptible, so that the caller need not bother.
116917         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
116918         New functions.
116919         (emacs_read): Rewrite in terms of emacs_nointr_read.
116920         Do not handle C-g or signals; that is now for emacs_read_quit.
116921         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
116922         with INTERRUPTIBLE three-way arg.  All uses changed.
116924 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
116926         Remove immediate_quit.
116928         The old code that sets and clears immediate_quit was
116929         ineffective except when Emacs is running in terminal mode, and
116930         has problematic race conditions anyway, so remove it.  This
116931         will introduce some hangs when Emacs runs in terminal mode,
116932         and these hangs should be fixed in followup patches.
116933         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
116935 2017-02-01  Alan Mackenzie  <acm@muc.de>
116937         Allow C++ nested brace-list-entries to be better indented.
116939         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
116940         nested brace lists when the opening element stands on the same line as both
116941         its introductory brace and an enclosing parameter list parenthesis.
116943         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
116945         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
116946         presence of exactly an identifier between an open parenthesis and an open
116947         brace as evidence of the brace starting a brace list.
116948         (c-looking-at-statement-block): New function, extracted from
116949         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
116950         when needed.
116951         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
116952         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
116953         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
116954         all added syntactic symbols to those having an anchor point on the same line.
116955         Add, in addition to the current additional symbols, c-brace-list-entry when
116956         needed; use c-looking-at-statement-block to determine the latter.
116957         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
116958         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
116959         getting, possibly, several accompanying syntactic entries.
116961         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
116962         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
116964         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
116965         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
116967         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
116968         brace-list-intro.
116969         (Brace List Symbols): Amend the example to show the new analysis of brace
116970         lists when the first element comes on the same line as the opening brace.
116971         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
116973 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
116975         Revert "DOn't use string-as-unibyte in Gnus"
116977         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
116979         Not all the cases where we had string-as-unibyte were characters,
116980         so this needs to be considered more thoroughly before being redone.
116982 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
116984         Use maphash instead of cl-loop.
116986         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
116987           instead of cl-loop
116989 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
116991         Fix a subtle problem in Tramp with timers
116993         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
116994         list.  Make it work when called inside a timer.  See
116995         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
116997 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
116999         Index byte-compile-debug
117001         * doc/lispref/compile.texi (Compilation Functions): Index
117002         byte-compile-debug.
117004 2017-01-31  Philipp Stephani  <phst@google.com>
117006         Document `byte-compile-debug' in the ELisp manual
117008         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
117010 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
117012         read-multiple-choice: explain dialog popups more
117014         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
117015         when a graphical popup is used and how it can be avoided.
117017 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
117019         auth-source-user-and-password: add forgotten user parameter
117021                 * lisp/auth-source.el (auth-source-user-and-password): Use
117022                   accidentally unused "user" parameter.
117023                   Reported by Oscar Najera <najera.oscar@gmail.com>.
117025 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
117027         Fix typo in a NEWS entry for CSS mode
117029 2017-01-31  Philipp Stephani  <phst@google.com>
117031         Document variable `byte-compile-debug'
117033         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
117035 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
117037         DOn't use string-as-unibyte in Gnus
117039         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
117040         string-as-unibyte.
117041         (nnmail-insert-xref): Ditto.
117043         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
117045         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
117047         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
117048         (gnus-browse-foreign-server): Ditto.
117049         (gnus-browse-foreign-server): Ditto.
117051         * lisp/gnus/gnus-start.el
117052         (gnus-update-active-hashtb-from-killed): Ditto.
117053         (gnus-read-newsrc-el-file): Ditto.
117055         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
117057         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
117058         (nnir-get-active): Ditto.
117060 2017-01-31  Juri Linkov  <juri@linkov.net>
117062         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
117064         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
117065         M-. in article buffers work for `foo' strings, and still allow
117066         C-s C-w to yank ' to the search ring (bug#22248).
117068 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
117070         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
117072 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
117074         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
117076 2017-01-31  Dima Kogan  <dima@secretsauce.net>
117078         New test for diff-mode handling trailing --
117080         test/lisp/vc/diff-mode-tests.el: New test file
117082 2017-01-31  Dima Kogan  <dima@secretsauce.net>
117084         Handle patch terminators produced by git and bzr patch export
117086         Patch by Juri Linkov posted in the #9597 bug report
117088         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
117089         terminator (Bug #9597, #5302)
117091 2017-01-31  Dima Kogan  <dima@secretsauce.net>
117093         Revert two accidental commits
117095         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
117096         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
117098 2017-01-31  Dima Kogan  <dima@secretsauce.net>
117100         stash
117102 2017-01-31  Dima Kogan  <dima@secretsauce.net>
117104         comint-get-old-input-default: behavior follows docstring
117106         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
117107         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
117108         if point is on an output field.
117110 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
117112         Fix call to debugger on assertion failure
117114         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
117115         argument must be `error', and the second is a list of arguments for
117116         `signal'.
117118 2017-01-30  Tom Tromey  <tom@tromey.com>
117120         css-mode documentation lookup feature
117122         * etc/NEWS: Mention new feature.
117123         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
117124         (css--mdn-lookup-history): New defvar.
117125         (css-lookup-url-format): New defcustom.
117126         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
117127         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
117128         defuns.
117129         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
117130         test.
117132 2017-01-30  Glenn Morris  <rgm@gnu.org>
117134         edt-mapper: just loading a library should not run code
117136         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
117137         containing code previously at top-level.
117138         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
117139         run edt-mapper function.
117141 2017-01-30  Glenn Morris  <rgm@gnu.org>
117143         mh-compat.el: remove duplicate definition
117145         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
117146         Remove duplicate definition.
117148 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
117150         Add delq list arg check
117152         * src/fns.c (Fdelq): Check that list is a proper list.
117153         This is more compatible with what ‘delete’ does.
117155 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
117157         * lisp/indent.el (indent-region-line-by-line): New function.
117159         Extracted from indent-region.
117160         (indent-region, indent-region-function): Use it.
117162 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
117164         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
117166 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
117168         More fixes to prevent crashes on C-g
117170         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
117171         before returning, to avoid crashes in quit.  (Bug#25566)
117173 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
117175         Avoid crashes on C-g in TTY sessions
117177         * src/keyboard.c (handle_interrupt): Don't quit if
117178         waiting_for_input is set, as doing that is "unsafe": it will
117179         abort.  (Bug#25566)
117181 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
117183         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
117185         Merge remote-tracking branch 'origin/master' into feature/byte-switch
117187 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
117189         Fix hash tables not being purified correctly.
117191         * src/alloc.c
117192         (purecopy_hash_table) New function, makes a copy of the given hash
117193         table in pure storage.
117194         Add new struct `pinned_object' and `pinned_objects' linked list for
117195         pinning objects.
117196         (Fpurecopy) Allow purifying hash tables
117197         (purecopy) Pin hash tables that are either weak or not declared with
117198         `:purecopy t`, use purecopy_hash_table otherwise.
117199         (marked_pinned_objects) New function, marks all objects in pinned_objects.
117200         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
117201         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
117202         * src/fns.c: Add `purecopy' parameter to hash tables.
117203         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
117204         to make_hash_table.
117205         (make_hash_table): Add `pure' parameter, set h->pure to it.
117206         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
117207         CHECK_IMPURE.
117208         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
117209           hash tables.
117210         * src/print.c: (print_object) add the `purecopy' parameter while
117211           printing hash tables.
117212         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
117213           src/xterm.c: Use new (make_hash_table).
117215 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
117217         Escape dash in xref rgrep regexp
117219         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
117220         in REGEXP if it's the first character.
117222 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
117224         Say JavaScript, not Javascript
117226         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
117227         (js-js-error, js-eval, js-set-js-context)
117228         (js--get-js-context):
117229         Refer to the language consistently as JavaScript.
117231 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
117233         lisp/*.el: Fix some warnings
117235         * lisp/battery.el (dbus-get-property):
117236         * lisp/dired-aux.el (format-spec): Declare function.
117238         * lisp/net/zeroconf.el (zeroconf-list-service-names)
117239         (zeroconf-list-service-types, zeroconf-list-services):
117240         Mark unused lexical arg.
117242         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
117243         * lisp/progmodes/sql.el (sql-end-of-statement):
117244         Pass LIMIT to 'looking-back'.
117246 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
117248         Don't warn about obsolete defgenerics when defining them
117250         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
117251         should run after the definition code (Bug#25556).
117253 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
117255         Call modification hooks in org-src fontify buffers
117257         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
117258         `inhibit-modification-hooks' to nil, since this function can be called
117259         from jit-lock-function which binds that variable to t (Bug#25132).
117261 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
117263         Fix Bug#25524
117265         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
117266         Return position at the beginning off the hunk.
117267         (diff-file-junk-re): Add SVN keywords.
117269 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
117271         hl-line.el: Don't try to operate on a killed buffer
117273         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
117274         live buffers (bug#25522).
117276 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
117278         Use access-file in EWW to check before downloading a file
117280         * lisp/net/eww.el (eww-download): Check accessibility of
117281         eww-download-directory to prevent starting a download that will fail
117282         to write.
117283         * src/fileio.c (Faccess_file): Clarify the use of string argument in
117284         the docstring.
117286 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
117288         Subject: Check Bcc after the Message hook has run
117290         * lisp/gnus/message.el (message-send): If the hook modifies
117291         the message (mml tags or headers), we should check bcc on the
117292         final message, not on the original.
117294 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
117296         Improve documentation of 'format' conversions
117298         * src/editfns.c (Fformat): More accurate description of %g and
117299         effects of the various flags on it.  More accurate description of
117300         integer conversions.
117302         * doc/lispref/strings.texi (Formatting Strings): More accurate
117303         description of %g and effects of the various flags on it.  More
117304         accurate description of integer conversions.  (Bug#25557)
117306 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
117308         test/*.el: Avoid byte-compiler warnings
117310         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
117312         * test/lisp/faces-tests.el (faces--test): New customization group.
117313         (faces--test1, faces--test2): Use it.
117315         * test/lisp/ffap-tests.el (ffap-tests-25243):
117316         Call 'mark-whole-buffer' interactively.
117318         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
117319         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
117320         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
117321         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
117323         * test/lisp/minibuffer-tests.el (completion-test1):
117324         Mark unused lexical arguments.
117326         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
117327         'with-no-warnings' to avoid them when the macro is invoked for effect.
117329         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
117330         Mark unused lexical arguments.
117332         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
117333         Mark unused lexical arguments.
117334         (let-alist-cons): Remove unused let binding.
117336         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
117337         (dbus-get-unique-name): Declare.
117339         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
117340         Call 'font-lock-fontify-buffer' interactively.
117342         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
117343         Mark unused lexical argument.
117345 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
117347         Restore a test that was removed by a recent commit
117349         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
117350         errno value unless it's necessary.  (Bug#25419)
117352 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
117354         Fix a couple eww customization types
117356         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
117357         Change customization type to "directory".
117359 2017-01-27  Philipp Stephani  <phst@google.com>
117361         Don't require a shell when loading htmlfontify
117363         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
117364         detecting the etags version (Bug#25468).
117365         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
117366         test.
117368 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
117370         Slightly tune file-accessible-directory-p fix
117372         * src/fileio.c (Ffile_accessible_directory_p):
117373         Remove unnecessary test (Bug#25419).
117375 2017-01-27  Arash Esbati  <arash@gnu.org>
117377         Add \citetitle to biblatex cite format
117379         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
117380         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
117381         per user request
117382         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
117384 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
117386         Fix charsets and encodings from non-file MIME parts
117388         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
117389         encoding right for parts that do not originate from files.
117391 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
117393         Fix 'describe-variable' for longish variable values
117395         * lisp/help-fns.el (describe-variable): Don't accidentally remove
117396         the last character of a variable's value.  (Bug#25545)
117398 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
117400         Remove stale functions from ert manual
117402         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
117403         Replace ert--mismatch references with its cl-lib replacement,
117404         cl-mismatch.
117406 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
117408         Fix a typo in Eshell manual
117410         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
117411         Kolybabi <mak@kolybabi.com>.
117413 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
117415         Ensure last line is at window bottom in shell buffers
117417         * lisp/shell.el (shell-mode): Use setq-local.  Set
117418         scroll-conservatively to 101 locally.  See the discussion at
117419         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
117420         for the reasons.
117422 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
117424         Support Bash Ctrl-Z indication of directory name in term.el
117426         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
117427         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
117429 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
117431         Don't report zero errno for inaccessible directory
117433         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
117434         a file handler reports a failure.  (Bug#25419)
117436 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
117438         Fix filenotify-tests on MS-Windows
117440         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
117441         (file-notify-test05-dir-validity)
117442         (file-notify-test06-many-events)
117443         (file-notify-test08-watched-file-in-watched-dir): Manually remove
117444         the watch descriptor before calling file-notify--test-cleanup-p.
117445         (Bug#25539)
117447 2017-01-27  Hong Xu  <hong@topbug.net>
117449         python-mode: Fix detection for opening blocks.
117451         * lisp/progmodes/python.el
117452         (python-info-dedenter-opening-block-positions): There can't be any
117453         back-indented lines between an opening block and the current line.
117455         * test/lisp/progmodes/python-tests.el
117456         (python-indent-electric-colon-4): Add an indent test case where
117457         there is one-more indented previous opening block.
117459 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
117461         Fix Message check for bogus domain names
117463         * lisp/gnus/message.el (message-make-fqdn): Fix check for
117464         bogus system names (bug#24570).
117466 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
117468         Subject: Restore correct Gnus newsgroup name after sending message
117470         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
117471         gnus-newsgroup-name in the correct buffer (bug#24329).
117473 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
117475         Mention the new Gnus sorting command
117477 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
117479         Don't try to find charsets of non-text MIME parts
117481         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
117482         to try to determine the charset of non-text message parts, so
117483         skip that (bug#24190).  This will also remove messages like
117484         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
117485         if you include such files.
117487 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
117489         Add new command gnus-article-sort-by-marks
117491         * doc/misc/gnus.texi (Summary Sorting): Mention
117492         gnus-summary-sort-by-marks.
117494         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
117495         function (bug#23393).
117496         (gnus-thread-sort-by-marks): Ditto.
117497         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
117498         (gnus-summary-mode-map): Add keystroke.
117499         (gnus-summary-make-menu-bar): Add to menu.
117501 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
117503         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
117505         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
117506         Ignore summary commands that aren't bound to
117507         gnus-article-read-summary-keys keys (bug#18257).
117509 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117511         Fix crossposting in non-primary groups
117513         * lisp/gnus/message.el
117514         (message-cross-post-followup-to-header): Gnus server prefixes
117515         shouldn't be included in the group names (bug#21661).
117516         (message-cross-post-followup-to): Ditto.
117518 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117520         Gnus doc clarification
117522         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
117523         that "unreachable" is the same as disabling it (bug#21630).
117525 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117527         Remove dead code from rfc2047
117529         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
117531         It's been disabled since 2005, when I made the change with the
117532         following comment.
117534         (rfc2047-encode-message-header): Disabled header folding -- not
117535         all headers can be folded, and this should be done by the message
117536         composition mode.  Probably.  I think.
117538 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117540         Fill too long mail headers
117542         * lisp/gnus/message.el (message--fold-long-headers): New
117543         function to fold too-long headers (bug#21608).
117544         (message-send-mail): Use it to fill headers longer than 998
117545         characters (which is the protocol limit).
117547 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117549         Make nndoc more resilient against corrupted files
117551         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
117552         out on invalid files, like invalid .gz files (bug#21538).
117553         This may hinder Gnus from starting up.
117555 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117557         Respect buffer-local message-fcc-handler-function
117559         * lisp/gnus/message.el (message-do-fcc): Copy the local
117560         variables from the Message buffer so that local settings of
117561         `message-fcc-handler-function' etc are respected (bug#21174).
117563 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117565         (message-do-fcc): Modernize the code slightly.
117567         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
117569 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117571         Avoid a regexp overflow in message-goto-body
117573         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
117574         complicated backtracking regexp, because they may overflow on
117575         large headers (bug#21160).
117577 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117579         Refactor message-goto-body
117581         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
117583 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117585         Fix typo in last checkin
117587         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
117588         nnimap-shell-program (bug#20651).
117590 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117592         Document nnimap-shell-program
117594         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
117595         nnimap-shell-program (bug#20651).
117597 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117599         Document :shell-command in `make-network-process'
117601         * doc/lispref/processes.texi (Network): Document :shell-command.
117603         * lisp/net/network-stream.el (open-network-stream): Document
117604         the :shell-command parameter (bug#20651).
117606 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117608         Gnus doc clarification
117610         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
117611         the gnus-prompt-before-saving variable (bug#20500).
117613 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117615         Fix the previous mml patch better
117617         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
117618         previous patch in a better way (bug#20480).
117620 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117622         Give a slight better error message in mml-minibuffer-read-file
117624         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
117625         better error message when the user enters nothing (bug#20480).
117627 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
117629         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
117631 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117633         Make eww buffers prettier in the buffer listing
117635         * lisp/net/eww.el (eww-render): Put the currently visited URL
117636         into the buffer listing (bug#23738).
117637         (eww-render): Ditto.
117639 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117641         Allow mml-attach-file to prompt less
117643         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
117644         prompt for type/description/disposition, but use defaults
117645         (bug#19202).
117647 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
117649         Don't allow message-newline-and-reformat to be run outside the body
117651         * lisp/gnus/message.el (message-newline-and-reformat): Error
117652         out if run outside the body of a message (bug#18820).
117654 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
117656         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
117658         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
117659           byte-compile-constant instead of byte-compile-form to push nil.
117661 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
117663         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
117665 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
117667         Replace QUIT with maybe_quit
117669         There’s no longer need to have QUIT stand for a slug of C statements.
117670         Use the more-obvious function-call syntax instead.
117671         Also, use true and false when setting immediate_quit.
117672         These changes should not affect the generated machine code.
117673         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
117675 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
117677         A quicker check for quit
117679         On some microbenchmarks this lets Emacs run 60% faster on my
117680         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
117681         * src/atimer.c: Include keyboard.h, for pending_signals.
117682         * src/editfns.c (Fcompare_buffer_substrings):
117683         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
117684         (Fnconc, Fplist_member):
117685         Set and clear immediate_quit before and after loop instead of
117686         executing QUIT each time through the loop.  This is OK for loops
117687         that affect only locals.
117688         * src/eval.c (process_quit_flag): Now static.
117689         (maybe_quit): New function, containing QUIT’s old body.
117690         * src/fns.c (rarely_quit): New function.
117691         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
117692         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
117693         Use it instead of QUIT, for
117694         speed in tight loops that might modify non-locals.
117695         * src/keyboard.h (pending_signals, process_pending_signals):
117696         These belong to keyboard.c, so move them here ...
117697         * src/lisp.h: ... from here.
117698         (QUIT): Redefine in terms of the new maybe_quit function, which
117699         contains this macro’s old definiens.  This works well with branch
117700         prediction on processors with return stack buffers, e.g., x86
117701         other than the original Pentium.
117703 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
117705         Simplify make-list implementation
117707         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
117708         is not worth it these days.
117710 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
117712         Make use of cl-loop destructuring
117714         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
117715         destructuring.
117716         (with-js): Add declare forms.
117718 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117720         Revert "Bind C-c keys in the article buffer"
117722         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
117724         The commit somehow lead to problems in other parts of Emacs.
117726 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117728         Document how to quote MML tags
117730         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
117731         quote MML tags (bug#18881).
117733 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117735         Make address parsing more robust
117737         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
117738         bug out on addresses like
117739         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
117740         (bug#18572).
117742 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117744         Fix the %P (line number) thing in Gnus summary buffers
117746         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
117748         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
117749         "pick" mode line number on entry instead of relying in a hack (bug#18311).
117751 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117753         Fix wrong documentation on nnmairix keystrokes
117755         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
117756         nnmairix commands are on G G, not $ (bug#18260).
117758 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117760         Bind C-c keys in the article buffer
117762         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
117763         C-c keys so that they execute in the summary buffer
117764         (bug#18257).  This makes commands like `C-c C-f' work from the
117765         article buffer.
117767 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117769         Don't mark articles in Gnus as displayed when they aren't
117771         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
117772         mark any articles as selected if we're not selecting any
117773         articles (bug#18255).
117775 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
117777         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
117779         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
117781         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
117783         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
117785 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
117787         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
117789         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
117790           constant encountered precedes a byte-switch op, replace all the
117791           addresses in the jump table with tags.
117793 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
117795         Move cXXXr and cXXXXr to subr.el
117797         * etc/NEWS: Mention new core Elisp.
117798         * doc/lispref/lists.texi (List Elements): Document and index the new
117799         functions.
117800         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
117801         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
117802         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
117803         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
117804         (cddddr): New functions.
117805         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
117806         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
117807         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
117808         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
117809         (cl-cdddar, cl-cddddr): Alias to new subr functions.
117810         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
117811         elements.
117813 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117815         Only save .newsrc file if the native method is NNTP
117817         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
117818         the .newsrc file if the native select method is NNTP
117819         (bug#18198).  This avoids problems with invalid IMAP group
117820         names and the like in the .newsrc file.
117822 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117824         Only save .newsrc file if the native method is NNTP
117826         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
117827         the .newsrc file if the native select method is NNTP
117828         (bug#18198).  This avoids problems with invalid IMAP group
117829         names and the like in the .newsrc file.
117831 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117833         Gnus custom spec fix
117835         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
117836         spec to match the doc string (bug#17679).
117838 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117840         Clarify confusing Gnus error message
117842         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
117843         confusing error message (bug#17677).
117845 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117847         Make C-u C-x m work with Message as documented
117849         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
117850         parameter (bug#17175).
117852 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117854         Fix problem with auto-mode and dir-locals-collect-variables
117856         * lisp/files.el (dir-locals-collect-variables): When run from
117857         auto-mode, the file in question may not be an absolute path
117858         name (bug#24016).
117860         Example backtrace:
117862         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
117863           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
117864           hack-dir-local-variables()
117865           hack-local-variables(no-mode)
117866           run-mode-hooks(diff-mode-hook)
117867           diff-mode()
117868           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
117870 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117872         Attach text files correctly in Message
117874         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
117875         system has been used in attached text files, and don't try to
117876         do any encoding of these files (bug#13808).
117878 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117880         Build fix for older gnutls versions
117882         * src/gnutls.c (emacs_gnutls_handle_error):
117883         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
117884         gnutls-3.
117886 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
117888         ediff-difference-vector-alist: Drop duplicated definition
117890         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
117891         Drop duplicated definition.
117892         (ediff-difference-vector-A, ediff-difference-vector-B)
117893         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
117894         Move definition before 'ediff-difference-vector-alist'.
117896 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117898         Revert "nnimap.el: support additional expunge options"
117900         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
117902         The patch broke fetching new mail:
117904         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
117905           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
117906           (looking-at (format "%d .*\n" sequence))
117907           (not (looking-at (format "%d .*\n" sequence)))
117908           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
117910 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
117912         nnimap.el: support additional expunge options
117914         * lisp/gnus/nnimap.el (nnimap-close-group)
117915         (nnimap-request-expire-articles, nnimap-delete-article)
117916         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
117917         settings for nnimap-expunge (bug#20670).
117919 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117921         Don't tag Gnus bugs with "gnus"
117923         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
117925         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
117926         have its own package any more in the bug tracker.
117928 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
117930         Tweak TLS error messaging on closed connections
117932         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
117933         peer-closed-connection "The TLS connection was non-properly
117934         terminated" message to a lower level so that it isn't shown to
117935         the user by default.
117937 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
117939         Avoid having eww unexpectedly open external browsers
117941         * lisp/net/eww.el (eww-render): Instead of opening unsupported
117942         content types like audio/mpeg directly in an external browser
117943         (which can be very confusing especially when something
117944         redirects to a file like that), just display a simple
117945         interstitial that people can choose to click on or not
117946         (bug#22671).
117948 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
117950         When opening new eww buffers, use buffer names based on the host name
117952         * lisp/net/eww.el (eww-browse-url): When opening in a new
117953         window, use a buffer name based on the host name (bug#23738).
117954         (eww--dwim-expand-url): Refactored out into its own function
117955         for easier reuse.
117957 2017-01-24  David Engster  <deng@randomsample.de>
117959         xml: Fix parsing of default namespace with quoted names
117961         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
117962           parsing is done with quoted symbol names (bug#23440).
117963         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
117964           (xml-parse-test-default-namespace-qnames): Test for the above.
117966 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
117968         Fix rendering of some complex SVG images
117970         * lisp/net/shr.el (shr-parse-image-data): Don't transform
117971         SVG->DOM->XML unless we're blocking images, as this is apt to
117972         destroy the SVG (bug#24111).
117974 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
117976         Clarify the last clarification
117978         * lisp/net/shr.el (shr-width): Clarify the interaction with
117979         `shr-use-fonts' (bug#24928).
117981 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
117983         shr-width doc clarification
117985         * lisp/net/shr.el (shr-width): Clarify the interaction with
117986         `shr-use-fonts' (bug#24928).
117988 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
117990         Allow passing in max-width/height
117992         * lisp/net/shr.el (shr-rescale-image): Allow passing in
117993         max-width/height (bug#25287).
117995 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
117997         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
117999         Require `cl' for `pushnew'.
118000         (vhdl-scan-project-contents, vhdl-compose-wire-components)
118001         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
118003 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
118005         Fix comment detection on open parens
118007         Characters having both open paren syntax and comment start syntax were
118008         being detected as open parens even when they should have been part a
118009         comment starter (Bug#24870).
118011         * src/syntax.c (in_2char_comment_start): New function, extracted from
118012         `scan_sexps_forward'.
118013         (scan_sexps_forward): Add check for a 2-char comment starter before the
118014         loop.  Inside the loop, do that check after incrementing the 'from'
118015         character index.  Move the single char comment syntax cases into the
118016         switch instead of special casing them before.
118017         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
118018         (parse-partial-sexp-continue-over-comment-marker): New tests.
118020 2017-01-23  Alan Mackenzie  <acm@muc.de>
118022         Give , and .@ doc strings.  Fixes bug #24561.
118024         Also make *Help* links to ``' possible.  Also make usable as such doc strings
118025         on the function-documentation property of a symbol.
118027         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
118028         function-documentation property.  Also give these symbols a reader-construct
118029         property.
118031         * lisp/help-fns.el (describe-function): Allow the function-documentation
118032         property to work.  Use princ rather than prin1 to print the function's name
118033         when it has a reader-construct property.
118034         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
118035         (describe-function-1): Adapt to process documentation on the
118036         function-documentation property.  Print "a reader construct" when appropriate.
118038         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
118039         ``'.
118041 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
118043         Improve uses of CHECK_LIST etc.
118045         * src/eval.c (FletX): Report an error for invalid constructs like
118046         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
118047         (lambda_arity): Use plain CHECK_CONS.
118048         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
118049         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
118050         concat does that for us.
118051         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
118052         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
118053         runtime check out of the loop.
118054         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
118055         (Fassq, Fassoc, Frassq, Frassoc):
118056         Simplify and use CHECK_LIST_END instead of CAR.
118057         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
118058         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
118059         * src/fontset.c (Fnew_fontset):
118060         * src/frame.c (Fmodify_frame_parameters):
118061         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
118062         more-complete check.
118063         * src/gfilenotify.c (Fgfile_add_watch):
118064         Omit unnecessary CHECK_LIST, since Fmember does that for us.
118065         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
118066         Remove; no longer used.
118067         (CHECK_LIST_END): New inline function.
118069 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
118071         Prevent to use tabulated-list--near-rows unbound
118073         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
118074         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
118076 2017-01-22  Juri Linkov  <juri@linkov.net>
118078         * lisp/simple.el (region-bounds): New function.
118080         (region-noncontiguous-p): Use it.
118081         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
118083 2017-01-21  Alan Mackenzie  <acm@muc.de>
118085         Fix low-level handling of (big) C macros.
118087         In particular, ensure that a comment detected by its syntax is not a CPP
118088         construct marked with generic comment delimiter syntax-table text
118089         properties.
118091         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
118092         c-macro-cache-syntactic to nil when the cached macro changes.
118093         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
118094         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
118095         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
118096         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
118097         (c-determine-limit): When checking a parse syntax for a comment, check that
118098         we're not in a CPP construct marked by syntax-table generic comment delimiter
118099         text property.
118100         (c-state-pp-to-literal): Change from a defsubst to a defun.
118102         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
118103         parse syntax as described above under cc-engine.el.
118105 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
118107         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
118109 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
118111         Don't wait for frame to become visible
118113         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
118114         frame to become visible.  We have to deal with invisible frames anyway,
118115         the loop could sometimes before the frame turned visible, and for some
118116         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
118117         busy loop (Bug#24091).
118119 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
118121         diff-hunk-kill independent of point inside headers
118123         Make diff-apply-hunk and diff-hunk-kill independent of the point
118124         position in a diff header (Bug#17544).
118125         This change allows to apply hunks in order.  It also makes possible to
118126         press M-k repeatedly to kill hunks in the order they appear in the buffer.
118127         See discussion on #Bug25105.
118128         * lisp/vc/diff-mode.el (diff-file-junk-re):
118129         Move definition before it's used.
118130         (diff--at-diff-header-p): New predicate; return non-nil when point
118131         is inside a hunk header, a file header, or within a line
118132         matching diff-file-junk-re.
118133         (diff-beginning-of-hunk): Use it.
118134         Check if the point is inside a diff header, in the middle of a hunk,
118135         or before the first hunk.
118136         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
118137         before apply the hunk.
118138         (diff-hunk-kill, diff-file-kill):
118139         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
118140         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
118142 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
118144         Improve documentation of hooks related to saving buffers
118146         * lisp/files.el (write-file-functions, write-contents-functions)
118147         (before-save-hook, after-save-hook): Note that these are only used
118148         by save-buffer.
118150         * doc/lispref/backups.texi (Auto-Saving):
118151         * doc/lispref/files.texi (Saving Buffers): Mention that
118152         save-related hooks are not run by auto-saving.  (Bug#25460)
118154 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
118156         Improve documentation of auto-save-visited-file-name
118158         * doc/emacs/files.texi (Auto Save Files): Mention subtle
118159         differences between saving the buffer and auto-saving with
118160         auto-save-visited-file-name set non-nil.  (Bug#25478)
118162 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
118164         Fix free var FOO-mode-{syntax,abbrev}-table warnings
118166         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
118167         defvar the syntax and abbrev tables so that the compiler will know that
118168         they are dynamically bound variables (Bug#25446).
118170 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
118172         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
118174         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
118175           eval obj2 to avoid quoted forms being stored as is.
118177 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
118179         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
118181 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
118183         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
118185         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
118186         default-case for last cond clause.
118188 2017-01-19  Philipp Stephani  <phst@google.com>
118190         Check that variable lists are actually lists
118192         'let' and 'let*' document that their first argument has to be a list,
118193         but don't check for that; instead, they allow (and silently ignore)
118194         other types.  Introduce an explicit type check.
118196         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
118197         list.
118198         * test/src/eval-tests.el: Add unit tests.
118200 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
118202         Add type checking for Bswitch, when enabled at compile time.
118204         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
118205           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
118207 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
118209         Use byte-switch for all symbols.
118211         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
118212           t for all symbols (instead for just keywords)
118214 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
118216         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
118218         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
118219         (diff-refine-hunk): Use it instead of trying to match multiple lines
118220         with a single lines.
118222 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
118224         Remove lock file when auto-saving into the visited file
118226         * src/fileio.c (write_region): When auto-saving into the visited
118227         file, unlock the file whenever we mark the buffer unmodified.
118228         (Bug#25470)
118230 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
118232         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
118234         Fgethash type checks the provided table object, which is unnecessary
118235         for compiled bytecode.
118237 2017-01-18  Tom Tromey  <tom@tromey.com>
118239         fix typo in mailcap-mime-extensions
118241         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
118242         not "test/x-patch".  (Bug#25472)
118244 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
118246         Fix typos in flymake.el
118248         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
118249         Spelling fixes in the doc string.
118251 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
118253         Fix a bug with signaling a thread that waits for condvar
118255         * src/thread.c (lisp_mutex_lock_for_thread): New function,
118256         with all the guts of lisp_mutex_lock.
118257         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
118258         (condition_wait_callback): Don't call post_acquire_global_lock
118259         before locking the mutex, as that could cause a signaled thread to
118260         exit prematurely, because the condvar's mutex is recorded to be
118261         not owned by any thread, and with-mutex wants to unlock it as part
118262         of unwinding the stack in response to the signal.
118264 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
118266         Rudimentary error handling for non-main threads
118268         * src/thread.c (last_thread_error): New static variable.
118269         (syms_of_threads): Staticpro it.
118270         (record_thread_error, Fthread_last_error): New functions.
118271         (syms_of_threads): Defsubr Fthread_last_error.
118273         * doc/lispref/threads.texi (Basic Thread Functions): Document
118274         thread-last-error.
118276         * test/src/thread-tests.el (thread-errors, thread-signal-early)
118277         (threads-condvar-wait): Test the values returned by
118278         thread-last-error.
118280 2017-01-17  Tom Tromey  <tom@tromey.com>
118282         Add info-lookup help for gdb-script-mode
118284         Bug#25464:
118285         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
118286         function.
118287         Add help for gdb-script-mode.
118289 2017-01-17  Tom Tromey  <tom@tromey.com>
118291         Treat ":root" as a css-selector
118293         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
118294         ":root" as selector.
118296 2017-01-17  Tom Tromey  <tom@tromey.com>
118298         Fix JS regexp literal syntax propertization in expressions
118300         Bug#25465:
118301         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
118302         literal after "!", "&", and "|".
118303         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
118305 2017-01-17  Glenn Morris  <rgm@gnu.org>
118307         More NEWS checking for admin.el's set-version
118309         * admin/admin.el (set-version): Warn if temporary NEWS markup
118310         still present in release candidates.
118312 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
118314         Mark unused arguments and remove unused variables
118316         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
118317         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
118318         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
118319         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
118320         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
118321         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
118322         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
118323         (dungeon-nil): Mark arguments as unused.
118324         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
118325         (dun-restore): Remove unused variable.
118327 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
118329         Fix auto-save-file-name problem in Tramp on MS Windows
118331         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
118332         rather than an ange-ftp regexp.
118334         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
118335         Fix a problem when running on MS Windows.
118337         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
118338         Adapt test.
118340 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
118342         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
118344         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
118345         Fix a problem when running on MS Windows.
118347 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
118349         Merge from origin/emacs-25
118351         42614fa Update remaining copyright years with admin.el M-x set-copyright
118352         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
118354 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
118356         Nix some uses of eval
118358         * lisp/play/dunnet.el: Fix triple negative.
118359         (dun-doverb): Use funcall instead of eval.
118360         (dun-echo): Just call dun-mprinc.
118361         (dun-save-val): Just bind value without eval.
118363 2017-01-17  Tom Tromey  <tom@tromey.com>
118365         Fix comment in css-mode.el
118367         * lisp/textmodes/css-mode.el: Remove obsolete comment.
118369 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
118371         update branch
118373 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
118375         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
118377 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
118379         Improve ffap-gopher-at-point handling of long lines
118381         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
118382         setting to nil is now supported.
118383         (ffap--gopher-var-on-line): New function.
118384         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
118385         which could overflow the regexp stack on long lines (Bug#25391).  Use
118386         `let-alist' instead of calling `set' on local variables.
118387         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
118389 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
118391         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
118393         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
118394           finding the tag in a jump table.
118396 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
118398         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
118400 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
118402         Add new 'switch' byte-code.
118404         'switch' takes two arguments from the stack: the variable to test, and
118405         a jump table (implemented as a hash-table with the appropriate :test
118406         function). By looking up the value of the variable in the hash table,
118407         the interpreter can jump to the label pointed to by the value, if any.
118408         This implementation can only be used for `cond' forms of the type
118409         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
118410         variable `x` is same for all clauses.
118412         * lisp/emacs-lisp/bytecomp.el:
118414           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
118415             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
118416             (byte-compile-cond-jump-table), byte-compile-jump-tables.
118418           * Add defcustom `byte-compile-cond-use-jump-table'.
118420           * (byte-compile-cond): Use them.
118422           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
118424         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
118425           some peephole optimizations to prevent them from messing up any code
118426           involving `byte-switch`.
118428         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
118430 2017-01-14  Alan Third  <alan@idiocy.org>
118432         Fix NS main thread check (bug#25265)
118434         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
118435         isMainThread.
118437 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
118439         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
118441         `:sqli-comint-func' does not have to be a symbol.
118443 2017-01-14  Alan Mackenzie  <acm@muc.de>
118445         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
118447         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
118448         its previous value, we chose strategy 'forward, and the new HERE is in a
118449         (different) macro, ensure the returned START-POINT is not above the start of
118450         the macro.
118452 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
118454         Include "Date:" in mail messages filed by 'sendmail-send-it'
118456         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
118457         into the filed message.  In the outgoing message, sendmail will
118458         add the date, but the composed message body doesn't have it.
118459         (Bug#25436)
118461 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
118463         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
118465 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
118467         Remove leftover references to log-view-message-face
118469         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
118471         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
118473         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
118475 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
118477         Record autoloads till emacs dump
118479         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
118480         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
118482         Previously, autoloads were collected till loaddefs.el was generated as
118483         part of the build. However, bootstrap-emacs does not load
118484         loaddefs (rather it is dumped), hence we must record autoloads until the
118485         full emacs binary is dumped.
118487 2017-01-13  Tom Tromey  <tom@tromey.com>
118489         Add chained indentation to js-mode
118491         Bug#20896
118492         * lisp/progmodes/js.el (js-chain-indent): New variable.
118493         (js--skip-term-backward, js--skip-terms-backward)
118494         (js--chained-expression-p): New functions.
118495         (js--proper-indentation): Call js--chained-expression-p.
118496         * test/manual/indent/js-chain.js: New file.
118497         * test/manual/indent/js.js: Add (non-)chained indentation test.
118499 2017-01-13  Tom Tromey  <tom@tromey.com>
118501         Fix js-mode indentation bug
118503         Bug#15582:
118504         * lisp/progmodes/js.el (js--find-newline-backward): New function.
118505         (js--continued-expression-p): Use it.
118506         * test/manual/indent/js.js: Add new test.
118508 2017-01-13  Tom Tromey  <tom@tromey.com>
118510         Fix definition of EMACS in test/manual/indent/Makefile
118512         * test/manual/indent/Makefile (EMACS): Add one more "..".
118514 2017-01-13  Tom Tromey  <tom@tromey.com>
118516         Add .jsx to auto-mode-alist
118518         Bug#25389:
118519         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
118521 2017-01-13  Tom Tromey  <tom@tromey.com>
118523         Fix two js-mode filling bugs
118525         Bug#19399 and Bug#22431:
118526         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
118527         c-block-comment-start-regexp.
118528         * test/lisp/progmodes/js-tests.el: New file.
118530 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
118532         Fix last change
118534         * test/src/thread-tests.el (threads-condvar-wait): Revert
118535         previous change.  Make sure no other threads from previous
118536         tests are running, to avoid interfering with our thread counts.
118538 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
118540         Fix the new condvar test
118542         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
118543         time we sleep in the main thread to let the other thread
118544         process notifications.
118546 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
118548         Minor improvements in the new condvar test
118550         * test/src/thread-tests.el (threads-test-condvar-wait): Use
118551         with-mutex instead of emulating it inline.
118552         (threads-condvar-wait): Improve comments.  Check that the new
118553         thread is alive before waiting for it to become blocked on the
118554         conditional variable.
118556 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
118558         Fix a bug in waiting for condition variable
118560         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
118561         (lisp_mutex_unlock_for_wait, condition_wait_callback)
118562         (condition_notify_callback): Improve commentary.
118563         (condition_wait_callback): Call post_acquire_global_lock before
118564         attempting to lock the mutex, to make sure the lock's owner is
118565         recorded correctly.
118567         * test/src/thread-tests.el (threads-condvar-wait): New test.
118569 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
118571         Improve documentation of dabbrevs
118573         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
118574         to "Dabbrev Customization".
118575         (Dabbrev Customization): More details about the default value of
118576         dabbrev-abbrev-char-regexp and use cases when it might not be good
118577         enough.  (Bug#25432)
118579 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
118581         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
118583 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
118585         mm-uu.el: Don't dissect patch part
118587         This fixes a bug that the patch part is broken in the article
118588         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
118590         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
118591         Don't dissect patch part.
118593 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
118595         Fix extracting async def type and name in python mode imenu
118597         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
118598         New function.
118599         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
118600         extract async or simple def type and name at current
118601         position (Bug#24820).
118602         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
118603         (python-imenu-create-flat-index-1): Add async def's.
118605 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
118607         Remove garbage from Content-Transfer-Encoding value (bug#25420)
118609         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
118610         (ietf-drums-remove-garbage): New function.
118611         (ietf-drums-remove-whitespace): Remove CR as well.
118613         * lisp/mail/mail-parse.el (mail-header-strip-cte):
118614         Alias to ietf-drums-strip-cte.
118616         * lisp/gnus/gnus-art.el (article-decode-charset):
118617         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
118618         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
118619         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
118620         (nndoc-rfc822-forward-generate-article):
118621         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
118622         Replace mail-header-strip with mail-header-strip-cte.
118624 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
118626         Restore behavior of ‘./autogen.sh autoconf git’
118628         * autogen.sh: Do both autoconf and git setup when invoked
118629         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
118630         Mention new --no-check option in usage message.  (Bug#25359)
118632 2017-01-12  Glenn Morris  <rgm@gnu.org>
118634         * autogen.sh: Simplify argument parsing.
118636 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
118638         Clarify that easy-menu-add is a nop (Bug#25382)
118640         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
118641         `ignore', like `easy-menu-remove'.
118643 2017-01-12  Glenn Morris  <rgm@gnu.org>
118645         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
118647 2017-01-11  Glenn Morris  <rgm@gnu.org>
118649         * autogen.sh: Add --no-check option.  (Bug#25359)
118651 2017-01-11  Glenn Morris  <rgm@gnu.org>
118653         Convert some network test failures to skipping
118655         These tests intermittently fail on hydra.nixos.org for unclear
118656         reasons related to starting the external process.
118657         This isn't an Emacs issue, and the failures cause noise on
118658         the emacs-buildstatus list.  (Bug#24503)
118659         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
118660         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
118661         external process fails to start properly.
118663 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
118665         Revert "Add DNS keywords and remove duplications"
118667         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
118669 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
118671         Add DNS keywords and remove duplications
118673         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
118674         NSEC" DNS related keywords and remove duplication of "NSAP".
118676 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
118678         Add DNS keywords and remove duplications
118680         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
118681         NSEC" DNS related keywords and remove duplication of "NSAP".
118683 2017-01-11  Alan Mackenzie  <acm@muc.de>
118685         Handle syntactic WS cache properties more accurately at buffer changes.
118687         This fixes bug #25362.
118689         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
118690         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
118691         (c-invalidate-sws-region-after-ins): New variables and functions.
118692         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
118693         Also pass
118694         it the standard OLD-LEN argument.  Call both
118695         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
118696         cache
118697         properties.
118699         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
118700         variable.
118702         * lisp/progmodes/cc-mode.el (c-before-change): Call
118703         c-invalidate-sws-region-before.
118704         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
118706 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
118708         Support stat 8.26 in Tramp
118710         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
118711         environment variable of newer coreutils.  (Bug#23422)
118713 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
118715         Improve documentation of coding-systems
118717         * doc/lispref/nonascii.texi (Coding System Basics): Mention
118718         'prefer-utf-8'.  Index it and 'undecided'.
118719         (Encoding and I/O): Fix a typo.
118720         (User-Chosen Coding Systems): Improve the documentation of
118721         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
118722         select-safe-coding-system-function.
118723         (Specifying Coding Systems): Document coding-system-require-warning.
118725 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118727         Merge from gnulib
118729         This incorporates:
118730         2017-01-09 maint: time stamp -> timestamp
118731         2017-01-07 stdioext: Port to Minix 3.2 and newer
118732         2017-01-06 glob, intprops, xalloc: work around Clang bug
118733         2017-01-02 revert copyright-year change to synced files
118734         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
118735         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
118736         * lib/utimens.c, lib/xalloc-oversized.h:
118737         Copy from gnulib.
118739 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
118741         Don't use unsafe encoding for the bookmark file
118743         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
118744         explicitly specified encoding of the bookmark file cannot encode the
118745         additional bookmarks just added.  (Bug#25365)
118747 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
118749         Improve definition of 'variable-pitch' face on MS-Windows
118751         * lisp/faces.el (variable-pitch): Don't specify too many
118752         attributes of the font, otherwise faces that request different
118753         weight or slant or size will not get them.
118755 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
118757         Fix an error message in python.el
118759         * lisp/progmodes/python.el (python-shell-get-process-or-error):
118760         Don't repeat the same key binding twice.  (Bug#25405)
118762 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
118764         Remove unused ldefs-boot.el
118766          * lisp/ldefs-boot.el: Remove
118768         This file was not removed as reported in c27b645956a11, but accidentally
118769         left.
118771 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
118772             Eli Zaretskii  <eliz@gnu.org>
118774         Use expanded stack during regex matches
118776         While the stack is increased in main(), to allow the regex stack
118777         allocation to use alloca we also need to modify regex.c to actually take
118778         advantage of the increased stack, and not limit stack allocations to
118779         SAFE_ALLOCA bytes.
118781         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
118782         allocations in signal handlers which no longer happens and correct
118783         description about when and why MATCH_MAY_ALLOCATE should be defined.
118784         (emacs_re_safe_alloca): New variable.
118785         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
118786         of MAX_ALLOCA.
118787         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
118788         confusion with glibc's `re_max_failures'.
118789         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
118790         to the stack.  Instead of changing emacs_re_max_failures based on the
118791         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
118792         remains constant regardless, since if we run out stack space SAFE_ALLOCA
118793         will fall back to heap allocation.
118795 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
118797         Fix computation of regex stack limit
118799         The regex stack limit was being computed as the number of stack entries,
118800         whereas it was being compared with the current size as measured in
118801         bytes.  This could cause indefinite looping when nearing the stack limit
118802         if re_max_failures happened not to be a multiple of sizeof
118803         fail_stack_elt_t (Bug #24751).
118805         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
118806         limit as numbers of stack entries.
118808 2017-01-08  Alan Third  <alan@idiocy.org>
118810         Remove apploopnr
118812         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
118813         allow app loop to run in main thread.
118815 2017-01-08  Glenn Morris  <rgm@gnu.org>
118817         Remove unused configure output variable
118819         * configure.ac (GNULIB_MK):
118820         * Makefile.in (gnulib_mk): Remove, no longer used.
118822 2017-01-08  Glenn Morris  <rgm@gnu.org>
118824         Fix automake dependencies
118826         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
118827         All platforms need this file to exist.
118829 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
118831         Remove unnecessary blankp code
118833         * src/character.c (blankp): Remove redundant code that slows Emacs
118834         down a bit.  The caller already does the test.
118836 2017-01-08  Stefan Merten  <stefan@merten-home.de>
118838         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
118840         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
118841         (rst-svn-timestamp)
118842         (rst-official-version, rst-official-cvs-rev)
118843         (rst-package-emacs-version-alist): Maintain version numbers.
118844         (rst-forward-indented-block): Fix. Start searching at next
118845         line again. Fixes fontification of comments continuing on the
118846         same line they started.
118848 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
118850         Remove @SET_MAKE@ from manually-maintained files
118852         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
118853         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
118854         * src/Makefile.in: Remove @SET_MAKE@.
118856 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
118858         Fix a problem with `start-file-process' in Tramp
118860         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
118861         `start-file-process' shall work when `non-essential' is
118862         non-nil, but there is already an established connection.
118863         <https://github.com/company-mode/company-mode/issues/462>
118865 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
118867         Fix selecting SQLite database files with sql-mode (Bug#23566)
118869         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
118870         SQLite database file name, by default.
118871         (sql-get-login-ext): Fixed read-file-name arguments to provide
118872         path completion even if a database name pattern is customized and to
118873         allow creation of new SQLite database files.
118875 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
118877         Clarify major mode switching
118879         * doc/emacs/modes.texi (Major Modes):
118880         * doc/lispref/modes.texi (Modes, Major Modes): Explicitly say that each
118881         buffer has exactly one major mode and can't be "turned off", only
118882         switched away from (Bug#25357).
118884 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
118886         Add helpful comment to compile-command's docstring
118888         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
118889         docstring (Bug#25337).
118891 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
118893         Specify encoding of the bookmark file
118895         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
118896         Accept an argument CODING and include a 'coding:' cookie in the
118897         bookmark file preamble.
118898         (bookmark-upgrade-file-format-from-0): Call
118899         'bookmark-insert-file-format-version-stamp' with the file buffer's
118900         encoding, as detected when it was read.
118901         (bookmark-file-coding-system): New variable.
118902         (bookmark-load): Set bookmark-file-coding-system to the encoding
118903         of the loaded file.
118904         (bookmark-write-file): Bind coding-system-for-write to either the
118905         user setting via "C-x RET c" or to the existing file encoding,
118906         defaulting to 'utf-8-emacs'.  Update the value of
118907         bookmark-file-coding-system.  (Bug#25365)
118909 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
118911         Avoid infloop in 'ispell-region'
118913         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
118914         Protect against 'ispell-skip-region-alist' being nil.  Reported by
118915         Ernest Adrogué <nfdisco@gmail.com>, see
118916         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
118918 2017-01-06  Philipp Stephani  <phst@google.com>
118920         Add support for Unicode whitespace in [:blank:]
118922         See Bug#25366.
118924         * src/character.c (blankp): New function for checking Unicode
118925         horizontal whitespace.
118926         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
118927         whitespace.
118928         (BIT_BLANK): New bit for range table.
118929         (re_wctype_to_bit, execute_charset): Use it.
118930         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
118931         unit test for [:blank:] character class.
118932         * test/src/regex-tests.el (test): Adapt unit test.
118933         * doc/lispref/searching.texi (Char Classes): Document new Unicode
118934         behavior for [:blank:].
118936 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
118938         Fix ':version' of 'select-enable-primary'
118940         * lisp/select.el (select-enable-primary): Fix a typo in
118941         ':version'.  (Bug#25375)
118943 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
118945         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
118947         Author:
118949         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
118950         Avoid add-to-list on local variables.
118952 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
118954         Fix isearch handling of C-u C-u...
118956         * lisp/isearch.el: Add `isearch-scroll' property to
118957         universal-argument-more so that `isearch-allow-scroll' will apply to it
118958         as well.
118959         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
118960         `universal-argument-more' as well (Bug#25302).
118962 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
118964         Shorten autogen.sh script
118966         * autogen.sh: Use a shorter script, as some 'sed' implementations
118967         mishandle long scripts.
118969 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
118971         Yet another fix for autogen.sh
118973         * autogen.sh (gnulib.mk): Make the Sed script more portable.
118975         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
118976         the changes in autogen.sh.
118978 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
118980         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
118982 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
118984         Fix dependencies of nt/gnulib.mk
118986         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
118987         of nt/gnulib.mk on lib/Makefile.in.
118989 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
118991         Unbreak macOS build
118993         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
118994         Sed.
118996 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
118998         Fix term.el handling of ^Z-sequences spanning chunks
119000         Bash will after each command send ?\032 and the current directory "/tmp"
119001         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
119002         command outputs roughly 4096 bytes then the end of the first chunk will
119003         be "/tm" (Bug#13350).
119005         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
119006         end of the ?\032 sequence to use \n instead of $, the latter can match
119007         end of string as well.
119009 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
119011         Turn on lexical-binding in mb-depth.el
119013         * lisp/mb-depth.el: Turn on lexical-binding.
119014         (minibuffer-depth-setup): Bind things used multiple times.
119016 2017-01-04  Alan Third  <alan@idiocy.org>
119018         Revert "Rework NS event handling (bug#25265)"
119020         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
119022 2017-01-04  Glenn Morris  <rgm@gnu.org>
119024         Update remaining copyright years with admin.el M-x set-copyright
119026         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
119028 2017-01-04  Glenn Morris  <rgm@gnu.org>
119030         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
119032 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
119034         Port recent autogen.sh changes to Darwin
119036         Problem reported by Sam Steingold (Bug#25347).
119037         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
119038         POSIX does not require it and it does not work on Darwin.
119040 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
119042         Avoid add-to-list on local variables
119044         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
119045         (nnir-retrieve-headers): Use pcase.
119046         (nnir-search-thread): Avoid add-to-list on local variables.
119048         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
119049         (smime-verify-region): Avoid add-to-list on local variables.
119051         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
119052         (rmail-digest-parse-mime, rmail-digest-rfc1153)
119053         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
119055         * lisp/net/ldap.el (ldap-search): Move init into declaration.
119057         * lisp/net/newst-backend.el (newsticker--cache-add):
119058         Avoid add-to-list on local variables; Simplify code with `assq'.
119060         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
119061         (dbus-debug): Remove declaration, unused.
119062         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
119063         (zeroconf-service-browser-handler, zeroconf-publish-service):
119064         Avoid add-to-list and *-hook on local variables.
119066         * lisp/org/org-archive.el (org-all-archive-files):
119067         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
119068         Avoid add-to-list on local variables.
119070         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
119071         (org-publish-projects): Use it to avoid run-hooks on a local variable.
119072         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
119073         local variables.
119075         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
119076         (ada-prj-load-from-file): Avoid add-to-list on local variables.
119078         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
119079         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
119080         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
119082         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
119083         Avoid add-to-list on local variables.
119085 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
119087         Turn on lexical-binding in md4.el
119089         * lisp/md4.el: Turn on lexical-binding.
119090         * test/lisp/md4-tests.el: New file.
119092 2017-01-03  Stefan Merten  <stefan@merten-home.de>
119094         Lots of refactorings and a few minor improvements.
119096         User visible improvements and changes:
119097         * Improve and debug `rst-forward-section` and `rst-backward-section`.
119098         * Auto-enumeration may be used with all styles for list insertion.
119099         * Improve and debug `rst-toc-insert`.
119100         * Adapt change in Emacs to use customization group `text` instead of `wp`.
119101         * Bind `n` and `p` in `rst-toc-mode`.
119102         * `z` in `toc-mode` returns to the previous window configuration.
119103         * Require Emacs version >= 24.1.
119105         Lots of refactorings including:
119106         * Silence byte compiler.
119107         * Use lexical binding.
119108         * Use `cl-lib`.
119109         * Add tests and raise test coverage.
119111 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
119113         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
119115         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
119116         emit a warning for those coders who forgot to put a default value in
119117         their slot.
119119 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
119121         Small patch for ffap.el
119123         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
119124         while walking 'ffap-alist'.
119126 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
119128         Generate nt/gnulib.mk from lib/gnulib.mk
119130         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
119131         with the purpose of avoiding manual maintenance of
119132         nt/gnulib.mk.
119134         * nt/gnulib-modules-to-delete.cfg: New file.
119135         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
119136         (am__v_GEN_1): New variables.
119137         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
119138         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
119140         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
119141         files to link.
119142         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
119143         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
119144         running autoreconf.
119145         * Makefile.in (gnulib_mk): New variable.
119146         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
119147         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
119148         name.
119149         * .gitignore: Add nt/gnulib.mk.
119151         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
119152         build the acl-permissions module from Gnulib.
119154 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
119156         Handle multibyte chars spanning chunks in term.el
119158         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
119159         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
119160         buffer-local twice.
119161         (term-emulate-terminal): Check for bytes of incompletely decoded
119162         characters, and save them until the next call when they can be fully
119163         decoded (Bug#25288).
119165 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
119167         Finish work on filenotify-tests.el
119169         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
119170         New variable.
119171         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
119172         (file-notify--test-read-event, file-notify-test02-events)
119173         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
119174         (file-notify-test03-autorevert)
119175         (file-notify-test08-watched-file-in-watched-dir):
119176         Set `file-notify--test-desc' for proper work of
119177         `file-notify--test-monitor'.  (Bug#21804)
119179 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
119181         Check also for "gvfs-monitor-dir.exe" in Tramp
119183         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
119184         for "gvfs-monitor-dir.exe".
119186 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
119188         Fix compilation --without-x
119190         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
119191         font_range only if it is compiled in.  (Bug#25334)
119193 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
119195         Fix RefTeX to show table of contents for dtx files (tiny change)
119197         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
119198           section regexp so that it accepts lines starting with the comment
119199           character. (tiny change)
119200         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
119201           gathered toc entries, accepting a commented entry if and only if the
119202           source file is a ".dtx" file. (tiny change)
119204 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
119206         Remove mistakenly-added files
119208         Problem reported by Glenn Morris in:
119209         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
119210         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
119211         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
119212         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
119213         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
119214         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
119215         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
119216         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
119217         Remove files that were added by mistake during a merge.
119219 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
119221         Warn about incomplete untarring of link files
119223         The current tar-mode doesn't really support unpacking symlinks, it
119224         simply creates an empty file of the same name.
119226         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
119227         `tar--check-descriptor'.
119228         (tar-untar-buffer): Use it to warn about imperfectly untarred link
119229         files.
119231 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
119233         Remove sh-mode's skeleton-end-hook
119235         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
119236         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
119237         and also respects `skeleton-end-newline' (Bug#16634).
119239 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119241         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
119243 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
119245         Add term/tmux.el
119247         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
119248         with xterm and screen terminfos.  This is simply a duplication of
119249         term/screen.el with screen -> tmux.
119250         * lisp/term/tmux.el: New file.
119252 2017-01-01  Philipp Stephani  <phst@google.com>
119254         Fix encoding of JSON surrogate pairs
119256         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
119257         individual code points; cf. Bug #24784.
119259         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
119260         pairs.
119261         (json--decode-utf-16-surrogates): New defun.
119263         * test/lisp/json-tests.el (test-json-read-string): Add test for
119264         surrogate pairs.
119266 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
119268         Remove tramp-gw.el, which was synced from emacs-25 by accident
119270 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119272         Do not use Gnulib’s m4/wint_t.m4.
119274         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
119275         Fix typo so that warn-on-use.m4 is removed too.
119276         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
119277         * m4/wint_t.m4: Remove.
119279 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119281         Merge from gnulib, continued
119283         * m4/wint_t.m4: New file, copied from gnulib.
119285 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119287         Update copyright year to 2017 in master
119289         Run admin/update-copyright in the master branch.  This fixes files
119290         that were not already fixed in the emacs-25 branch before it was
119291         merged here.
119293 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119295         Remove test/automated detritus from merge
119297 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119299         Merge from gnulib
119301         This incorporates:
119302         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
119303         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
119304         2016-12-17 getlogin: Port to newer mingw
119305         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
119306         2016-12-17 Avoid redefinition errors on MSVC
119307         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
119308         * m4/stdint.m4, m4/unistd_h.m4:
119309         Copy from gnulib.
119310         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
119311         Plus, this commit updates the indenting on copyright notices to
119312         match that of gnulib.
119314 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119316         Merge from origin/emacs-25
119318         2e2a806 Fix copyright years by hand
119319         5badc81 Update copyright year to 2017
119321 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119323         Merge from origin/emacs-25
119325         665be69 ; Update ChangeLog.2 and AUTHORS files
119327         # Conflicts:
119328         #       etc/AUTHORS
119330 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119332         Merge from origin/emacs-25
119334         697167b ; Improve wording of previous change in variables.texi
119335         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
119336         8b71826 Don't modify minibuffer variables globally
119337         5b5e036 Revert to pre-25.1 behavior in ffap
119338         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
119339         3ace730 Attempt to fix 64-bit AIX build
119340         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
119341         c04ac8a Document that variable binding order is unspecified
119342         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
119343         08de101 Fix M-x hints on Mac port
119344         86a297a Work around reporting a dpi change in apply_xft_settings
119345         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
119346         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
119347         88cdf14 Improve skeleton docstrings
119349 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119351         Merge from origin/emacs-25
119353         4179238 Improve documentation of 'w32-scroll-lock-modifier'
119355 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119357         Merge from origin/emacs-25
119359         9adb101 Document 'describe-fontset'
119360         229315c ; Add missing symbol quoting.
119361         3d94931 Repair desktop restoration on text terminals
119362         43022f9 Ignore forward-sexp-function in js-mode indentation code
119363         b19fb49 Improve documentation of 'define-coding-system'
119364         467768f Fix Bug#25162
119365         6db78ae Fix a typo in define-abbrev-table
119366         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
119367         442e2f6 Fixes related to select-enable-clipboard
119368         e4ac450 Define struct predicate before acccesors
119369         08decbd Doc fix for vc-git
119370         5531e75 Further improve make-dist checking
119371         953bf67 Improve previous make-dist change
119372         129645a Make make-dist --snapshot do some sanity checks
119374         # Conflicts:
119375         #       lisp/menu-bar.el
119377 2017-01-01  Alan Mackenzie  <acm@muc.de>
119379         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
119381         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
119382         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
119384         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
119385         t to (&rest def-form).
119387 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119389         Fix copyright years by hand
119391         These are dates that admin/update-copyright did not update, or
119392         updated incorrectly.
119394 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
119396         Update copyright year to 2017
119398         Run admin/update-copyright.
119400 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
119402         Clarify internal_catch etc.
119404         The recent change to internal_catch and friends relied on some
119405         confusion I introduced to the code in 2013.  Attempt to fix
119406         the confusion by clarifying the code instead.  This saves an
119407         instruction and a load dependency in the typical case.
119408         * src/eval.c (internal_catch, internal_condition_case)
119409         (internal_condition_case_1, internal_condition_case_2)
119410         (internal_condition_case_n): Undo the previous change.  Instead,
119411         use use ‘c’ rather than ‘handlerlist’ in the typical case.
119412         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
119414 2016-12-31  Ken Brown  <kbrown@cornell.edu>
119416         Further improve filenotify-tests.el
119418         * test/lisp/filenotify-tests.el
119419         (file-notify--test-read-event): Adapt to file monitors of type
119420         GFamFileMonitor, which occur on Cygwin.
119421         (file-notify--test-monitor): Update doc string.
119423 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
119425         * src/xdisp.c (string_from_display_spec): Simplify.
119427 2016-12-31  Alan Third  <alan@idiocy.org>
119429         Rework NS event handling (bug#25265)
119431         * src/nsterm.m (unwind_apploopnr): Remove.
119432         (ns_read_socket): Remove references to apploopnr.  Make processing the
119433         NS event loop conditional on being in the main thread.
119434         (ns_select): Remove references to apploopnr.  Remove all fd_handler
119435         related stuff.  Check if there are events waiting on the NS event
119436         queue rather than running the event loop.  Remove unused variables and
119437         code.
119438         (fd_handler): Remove.
119439         (ns_term_init): Remove creation of fd_handler thread.
119440         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
119441         EmacsView:windowDidExpose): Remove send_appdefined.
119442         (ns_send_appdefined): Always check the event queue for
119443         applicationDefined events rather than relying on send_appdefined var.
119444         * src/nsterm.h: Remove reference to fd_handler method.
119446 2016-12-31  Philipp Stephani  <phst@google.com>
119448         Checkdoc: use syntax functions instead of regex
119450         In checkdoc.el, get rid of the error-prone regex to find definition
119451         forms, and use existing syntax-based navigation functions instead.
119452         This fixes a corner case with one-argument `defvar' forms.
119454         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
119455         (checkdoc-next-docstring, checkdoc-defun): Use it.
119456         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
119457         Add unit test.
119459 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
119461         Don't define NOMINMAX on MS-Windows
119463         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
119464         longer needed with the current sources and MinGW headers, while
119465         defining NOMINMAX causes an annoying compiler warning.
119467 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
119469         Simplify code in eval.c that calls 'setjmp'
119471         * src/eval.c (internal_catch, internal_condition_case)
119472         (internal_condition_case_1, internal_condition_case_2)
119473         (internal_condition_case_n): Factor out the common tail of the
119474         functions.
119476 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
119478         Simplify code in 'string_from_display_spec'
119480         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
119481         test before the loop.
119483 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
119485         Serialize random number generation on MS-Windows
119487         * src/w32.c (rand_as183): New function.
119488         (random): Use it instead of MS runtime's 'rand'.  This avoids
119489         producing separate and identical random series in each Lisp
119490         thread.
119491         (srandom): Modify to supply 3 seed values to 'rand_as183'.
119493 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
119495         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
119497 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
119499         Don't call xg_select for a NextStep build.
119501         NextStep builds use glib but don't use xg_select.
119503         * src/process.c (wait_reading_process_output): Don't call xg_select
119504         for a NextStep build.
119506 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
119508         Increase the obarray size.
119510         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
119511         the time we've started.  The old obarray size ensured an average chain
119512         length of 10 or more.
119514         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
119516 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
119518         Initialize thread support for Xlib.
119520         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
119521         before doing anything else with X.
119523 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
119525         Rename primary_thread to main_thread
119527         This avoids the confusion of using two different phrases "main thread"
119528         and "primary thread" internally to mean the same thing.  See:
119529         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
119530         * src/thread.c (main_thread): Rename from primary_thread,
119531         since the new name no longer clashes with main_thread_id
119532         and Emacs internals normally call this the "main thread".
119533         (init_main_thread): Rename from init_primary_thread.
119534         (main_thread_p): Rename from primary_thread_p.
119535         All uses changed.
119537 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
119539         Rename main_thread to main_thread_id and simplify
119541         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
119542         [HAVE_PTHREAD]: Do not include pthread.h.
119543         (main_thread): Remove.  All uses replaced by main_thread_id,
119544         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
119545         the main_thread_id established by sysdep.c, there is no need for a
119546         separate copy of the main thread ID here.
119547         (module_init): Remove.  All uses removed.
119548         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
119549         Rename from main_thread.  All uses changed.  Now extern.
119551 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
119553         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
119555 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
119557         * src/sysdep.c (deliver_process_signal): Improve comment.
119559 2016-12-30  Alan Mackenzie  <acm@muc.de>
119561         CC Mode: Fix the fontification of a spuriously recognized enum member.
119563         The "enum" was in an argument list, but triggered the fontification of a
119564         following identifier in the function block as though it were in an enum
119565         declaration.
119567         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
119568         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
119569         call to c-font-lock-enum-body.
119571         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
119572         variable.
119574 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
119576         Bump Emacs version to 25.1.91
119578         * README:
119579         * configure.ac:
119580         * msdos/sed2v2.inp:
119581         * nt/README.W32: Bump Emacs version.
119582         * lisp/ldefs-boot.el: Update.
119584 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
119586         Attempt to fix crashes with threads in GTK builds
119588         * src/xgselect.c (xg_select): Call pselect via thread_select, not
119589         directly, to avoid running Lisp (via unblock_input) when more than
119590         one thread could be running.  (Bug#25247)
119591         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
119592         xg_select directly instead of through thread_select.
119593         * src/xgselect.h (xg_select): Last 2 arguments are no longer
119594         'const', for consistency with thread_select.
119596 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
119598         Add entry for biblatex
119600         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
119601         entry for biblatex macros.
119603 2016-12-30  Alan Mackenzie  <acm@muc.de>
119605         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
119607         The ambiguity was whether INITVALUE is evaluated when it's not going to be
119608         used to set SYMBOL's value.
119610         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
119612         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
119614 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
119616         ffap-string-at-point: Limit max length of active region
119618         Prevents that 'ffap-guesser' waste time checking large strings
119619         which are likely not valid candidates (Bug#25243).
119620         * lisp/ffap.el (ffap-max-region-length): New variable.
119621         (ffap-string-at-point): Use it.
119622         * test/lisp/ffap-tests.el: New test suite.
119623         (ffap-tests-25243): Add test for this bug.
119625 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
119627         last-chance: Also ignore NEWS files + typo fixes
119629         * admin/last-chance.el: Fix typo in copyright notice.
119630         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
119631         (last-chance-cleanup): Fix typo in docstring.
119633 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
119635         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
119637 2016-12-29  Alan Mackenzie  <acm@muc.de>
119639         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
119641         The ambiguity was whether INITVALUE is evaluated when it's not going to be
119642         used to set SYMBOL's value.
119644         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
119646 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
119648         Improve filenotify-tests.el
119650         * src/inotify.c (Finotify_valid_p):
119651         * src/kqueue.c (Fkqueue_valid_p):
119652         * src/w32notify.c (Fw32notify_valid_p):
119653         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
119654         (Fgfile_monitor_name): New defun.
119655         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
119657         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
119658         New defun, derived from `file-notify--test-read-event-timeout'.
119659         Replace all calls of `read-event' by this.
119660         (file-notify--test-timeout): Fix docstring.
119661         (file-notify--test-monitor): New defun.
119662         (file-notify--deftest-remote): Do not bind
119663         `file-notify--test-read-event-timeout' anymore.
119664         (file-notify-test00-availability): Print also monitor, if existent.
119665         (file-notify--test-with-events): Add an additional
119666         `file-notify--test-read-event' call, in order to get it work
119667         after `file-notify-add-watch'.  Remove special timeout for cygwin.
119668         (file-notify-test02-events): Make a better check for cygwin.
119669         (file-notify-test06-many-events): Improve event list for cygwin.
119670         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
119672 2016-12-29  Alan Mackenzie  <acm@muc.de>
119674         Partially correct fontification of "(b*3)", and the like, in C++ Mode
119676         This problem is caused by the fundamental ambiguity in C++ between
119677         argument declarations and initialization clauses.
119679         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
119680         paren preceded by an arithmetic operator, we give this the context nil, not
119681         'arglist.
119683         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
119684         New lang consts and vars.
119686 2016-12-29  Alan Mackenzie  <acm@muc.de>
119688         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
119690         This is because there are times when this variable is changed by setcar before
119691         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
119692         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
119694         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
119696 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
119698         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
119700         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
119701         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
119703 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
119705         Release Tramp 2.3.1
119707         * doc/misc/trampver.texi:
119708         * lisp/net/trampver.el: Change version to "2.3.1".
119710         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
119711         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
119713         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
119714         (tramp-compat-file-name-quote)
119715         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
119717 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
119719         Simplify prog1 implementation
119721         Inspired by a suggestion from Chris Gregory in:
119722         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
119723         On my platform, this generates exactly the same machine insns.
119724         * src/eval.c (prog_ignore): Rename from unwind_body, since
119725         it’s more general than that.  All callers changed.
119726         (Fprog1): Simplify by using prog_ignore.
119727         (Fwhile): Clarify by using prog_ignore.
119729 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
119731         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
119733         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
119735 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
119737         Remove a use of lexical-let
119739         * lisp/gnus/message.el (message-completion-function): Just use let,
119740         since the file now uses lexical-binding.
119742 2016-12-27  Ken Brown  <kbrown@cornell.edu>
119744         Improve filenotify-tests.el on Cygwin (Bug #21804)
119746         * test/lisp/filenotify-tests.el [CYGWIN]
119747         (file-notify--test-read-event-timeout): Increase.
119748         (file-notify--test-with-events): Add delay before executing body.
119749         (file-notify-test02-events, file-notify-test04-file-validity):
119750         Adjust expected results.
119752 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
119754         Fix expand-file-name on DOS_NT systems when /: escaping is used
119756         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
119757         file names escaped by "/:".  Don't recursively expand
119758         default-directory escaped with "/:" which is not followed by a
119759         drive spec.  (Bug#25183)
119761 2016-12-27  Bake Timmons  <65pandas@gmail.com>
119763         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
119765         * doc/misc/gnus.texi (Mail Source Specifiers):
119766         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
119767         the correct `((group))' value.  (bug#25275) (tiny change)
119769 2016-12-27  Bake Timmons  <65pandas@gmail.com>
119771         Fix bug in customizing `mail-sources' variable (bug#25274)
119773         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
119774         for lone argument. (bug#25274) (tiny change)
119776 2016-12-26  Philipp Stephani  <phst@google.com>
119778         Checkdoc: Don't require a space before an arg list
119780         See Bug#24998.
119782         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
119783         space before a argument list.
119784         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
119785         Add unit test.
119787 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
119789         Document 'default-toplevel-value' and 'set-default-toplevel-value'
119791         * doc/lispref/variables.texi (Default Value): Document
119792         'default-toplevel-value' and 'set-default-toplevel-value'.
119794 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
119796         Add zshrc and zshenv detection to sh-mode (bug#25217)
119798         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
119800 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
119802         Fix typo in lisp.h reordering patch
119804         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
119805         Reported by Eli Zaretskii (Bug#25128#19).
119807 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
119809         regex.h now includes sys/types.h
119811         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
119812         Do not include sys/types.h; no longer needed.
119813         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
119814         glibc regex.h does, and POSIX has blessed this since 2008.
119816 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
119818         Reorder lisp.h to declare types before using them
119820         This puts basic functions for types to be after the corresponding
119821         type definitions.  This is a more-common programming style in C,
119822         and will make it easier to port Emacs to gcc
119823         -fcheck-pointer-bounds, since the functions now have access to the
119824         corresponding types' sizes.  This patch does not change the code;
119825         it just moves declarations and definitions and removes
119826         no-longer-needed forward declarations (Bug#25128).
119827         * src/buffer.c, src/data.c, src/image.c:
119828         Include process.h, for PROCESSP.
119829         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
119830         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
119831         * src/termhooks.h (TERMINALP, XTERMINAL):
119832         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
119833         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
119834         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
119835         Move here from lisp.h.
119836         * src/intervals.h: Include buffer.h, for BUFFERP.
119837         Include lisp.h, for Lisp_Object.
119838         * src/lisp.h: Reorder declarations and definitions as described
119839         above.  Move thread includes to be later, so that they can use the
119840         reordered definitions.  Move some symbols to other headers (noted
119841         elsewhere).  Remove forward decls that are no longer needed.
119842         * src/thread.h: Include systhread.h here, not in lisp.h,
119843         since lisp.h itself does not need systhread.h.
119845 2016-12-25  Leo Liu  <sdl.web@gmail.com>
119847         Don't modify minibuffer variables globally
119849         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
119851 2016-12-25  Dima Kogan  <dima@secretsauce.net>
119853         diff-mode auto-refines only after a successful motion
119855         Prior to this patch (if enabled) auto-refinement would kick in after all
119856         hunk navigation commands, even if the motion failed.  This would result
119857         in a situation where the hunk navigation would signal an error and beep,
119858         but yet still accomplish potentially useful work, by auto-refining.
119859         This patch moves the auto-refinement code to only run when a motion was
119860         successful
119862         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
119863           diff--internal-hunk-prev): Removed auto-refinement-triggering code
119864         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
119865           auto-refinement-triggering code
119867 2016-12-25  Dima Kogan  <dima@secretsauce.net>
119869         diff-mode is able to better handle file headers
119871         This fixes a regression introduced in
119873           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
119875         This bug was filed in
119877           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
119879         Patches generated from a VCS such as git contain a patch message at the
119880         start, and diff-mode is now once-again able to properly able to ignore
119881         this message when issuing navigation commands around the message.
119883         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
119884           thoroughly ignore the header when looking for a beginning of file
119885           diffs.
119887 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
119889         Use libpng-config --ldflags, not --libs
119891         Problem reported by James K. Lowden (Bug#25268).
119892         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
119894 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
119896         Revert to pre-25.1 behavior in ffap
119898         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
119899         the same behavior as in Emacs 24.x.  (Bug#25264)
119900         Explain the trade-offs of customizing this in the doc string.
119902 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
119904         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
119906 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
119908         Remove redundant `save-match-data' in whitespace.el
119910         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
119911         (whitespace-report-region): Remove redundant `save-match-data' calls.
119913 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
119915         Fix whitespace eob cleanup
119917         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
119918         of empty lines at end of buffer.
119919         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
119920         (whitespace-tests--cleanup-string): New helper function for tests.
119922 2016-12-24  Hong Xu  <hong@topbug.net>
119924         Fix timezone detection of parse-iso8601-time-string
119926         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
119927         parsing.  Add a doc string.  (Bug#25086)
119928         * src/editfns.c (Fdecode-time): Doc fix.
119929         * doc/misc/emacs-mime.texi (time-date): Add an example for
119930         parse-iso8601-time-string.
119931         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
119932         tests for parse-iso8601-time-string.
119934 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
119936         Simplify exec_byte_code via moving decls etc.
119938         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
119939         initializers into decls, and by omitting some unnecessary changes
119940         to ‘top’.
119942 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
119944         Remove interpreter’s byte stack
119946         This improves performance overall on my benchmark on x86-64,
119947         since the interpreted program-counter resides in a machine
119948         register rather than in RAM.
119949         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
119950         is no longer a byte stack to decode.
119951         * src/bytecode.c (struct byte_stack, byte_stack_list)
119952         (relocate_byte_stack): Remove.  All uses removed.
119953         (FETCH): Simplify now that pc is now local (typically, in a
119954         register) and no longer needs to be relocated.
119955         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
119956         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
119957         (exec_byte_code): Allocate a copy of the function’s bytecode,
119958         so that there is no problem if GC moves it.
119959         * src/lisp.h (struct handler): Remove byte_stack member.
119960         All uses removed.
119961         * src/thread.c (unmark_threads): Remove.  All uses removed.
119962         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
119963         All uses removed.  m_stack_bottom is now the first non-Lisp field.
119965 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
119967         BYTE_CODE_SAFE typo fix
119969         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
119970         not on whether it is defined.
119972 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
119974         BYTE_CODE_SAFE cleanups
119976         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
119977         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
119978         Remove unused members ‘top’ and ‘bottom’.
119979         (exec_byte_code): Nest inside { } to avoid GCC warning about
119980         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
119982 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
119984         last-chance: new utility lib for dangling deterrence
119986         * admin/last-chance.el: New file.
119988 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
119990         Use max_align_t instead of void *
119992         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
119994 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
119996         Attempt to fix 64-bit AIX build
119998         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
119999         type-casts that assumed 32-bit pointers.  (Bug#25141)
120001 2016-12-23  Philipp Stephani  <phst@google.com>
120003         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
120005         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
120007 2016-12-23  Philipp Stephani  <phst@google.com>
120009         Document that variable binding order is unspecified
120011         * doc/lispref/variables.texi (Local Variables):
120012         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
120013         'cl-letf' is unspecified.
120015 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
120017         Prevent infloops in redisplay due to truncate-lines and overlays
120019         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
120020         redisplay_window when a screen line ends in an overlay string with
120021         a newline.  (Bug#25246)
120023 2016-12-23  Philipp Stephani  <phst@google.com>
120025         Treat incomplete integer literals as errors
120027         See Bug#25120.
120029         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
120030         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
120031         incomplete integer literals.
120033 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
120035         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
120037 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
120039         Fix M-x hints on Mac port
120041         * lisp/simple.el (execute-extended-command--shorter): Call
120042         input-pending-p to trigger input processing on some systems, such
120043         as Mac port.  (Bug#23002)
120045 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
120047         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
120049 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
120051         Avoid aborts due to unaligned byte stack of threads
120053         * src/thread.c (run_thread): Make sure the pointers to thread byte
120054         stack are properly aligned.  (Bug#25247)
120056 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
120058         Pacify --enable-gcc-warnings
120060         * src/charset.c (load_charset_map):
120061         * src/coding.c (decode_coding_object):
120062         * src/frame.c (make_frame):
120063         * src/window.c (Frecenter):
120064         Mark locals with UNINIT to silence false alarms from
120065         -Wmaybe-uninitialized.
120066         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
120067         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
120068         Check and assume that values are nonnull.  This pacifies
120069         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
120070         Fmake_local_variable.
120072 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
120074         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
120076         * src/thread.c (primary_thread_p): New function.
120077         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
120078         meant for thread objects allocated dynamically.
120079         * src/thread.h (primary_thread_p): Add prototype.
120081 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
120083         Work around reporting a dpi change in apply_xft_settings
120085         * src/xsettings.c (apply_xft_settings): Don't report a change
120086         when dpi settings do not differ substantially.
120088 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
120090         Use completion-at-point in verilog-mode
120092         There were some functions in verilog-mode that implemented in-buffer
120093         completion, but this needlessly duplicates completion-at-point
120094         functionality, and the popup window management had problems
120095         (see Bug #23842).  We need to keep them for backwards compatibility with
120096         older emacs versions, but use completion-at-point if available.
120098         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
120099         obsolete if completion-cycle-threshold is available.
120100         (verilog-mode-map, verilog-menu): Bind completion-at-point and
120101         completion-help-at-point in preference to verilog-complete-word and
120102         verilog-show-completions, respectively.
120103         (verilog-mode): Add verilog-completion-at-point to
120104         completion-at-point-functions.
120105         (verilog-completion-at-point): New function.
120106         (verilog-show-completions, verilog-complete-word): Use it to avoid code
120107         duplication.
120109 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
120111         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
120113         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
120114         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
120115         retain their hardwired values, and all other dictionaries are given
120116         sensible defaults.
120118 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
120120         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
120121         and xetex commands.
120123 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
120125         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
120127         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
120128         for thread objects.  They are marked via the all_threads list, and
120129         therefore don't need to be inserted into the red-black tree, so
120130         mem_find will never find them.  Reported by Daniel Colascione
120131         <dancol@dancol.org> in
120132         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
120134 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
120136         * src/data.c (Fmake_variable_frame_local): Remove
120138         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
120140         * src/data.c (swap_in_symval_forwarding, set_internal)
120141         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
120142         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
120143         Don't pay attention to ->frame_local any more.
120144         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
120145         Smake_variable_frame_local.
120147         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
120148         of make-variable-frame-local.
120150         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
120151         frame-local case.
120153         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
120155         * src/frame.c (store_frame_param):
120156         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
120158         * src/widget.c (first_frame_p): Remove, unused.
120160 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
120162         Port dumping better to WSL
120164         Problem reported by Angelo Graziosi in:
120165         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
120166         * src/sysdep.c (disable_address_randomization):
120167         Detect buggy platforms where 'personality' always returns 0.
120169 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
120171         Remove gateway methods in Tramp
120173         * doc/misc/tramp.texi (Top, Configuration): Remove section
120174         `Gateway methods', insert section `Firewalls' in menu.
120175         (History): Gateways are removed now.
120176         (Gateway methods): Remove section.
120177         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
120178         (Firewalls): New section.
120180         * etc/NEWS: Gateway methods in Tramp have been removed.
120182         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
120183         (tramp-file-name-port, tramp-accept-process-output): Simplify.
120185         * lisp/net/tramp-gw.el: Remove.
120187         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
120188         (tramp-gw-socks-method): Remove declarations.
120189         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
120190         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
120191         (tramp-do-copy-or-rename-file-out-of-band)
120192         (tramp-compute-multi-hops, tramp-maybe-open-connection):
120193         Remove gateway support.
120195         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
120196         Remove gateway tests.
120198 2016-12-20  Alan Mackenzie  <acm@muc.de>
120200         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
120202         lisp/progmodes/cc-defs.el: Amend the version number.
120203         etc/NEWS: Add an item explaining the change.
120205 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
120207         files-test-read-file-in-: Delete temporary dir on exit
120209         * test/lisp/files-tests.el (files-test-read-file-in-~):
120210         Create subdir inside dir.
120212 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
120214         ibuffer: New filters and commands
120216         Add several new filters and improve documentation.
120217         See discussion on:
120218         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
120219         * lisp/ibuf-ext.el: Add paragraph to file commentary.
120220         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
120221         (ibuffer-filter-groups): Update doc string.
120222         (ibuffer-unary-operand): Add new function that transparently
120223         handles 'not' formats for compound filters.
120224         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
120225         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
120226         (ibuffer-decompose-filter): Handle 'and' as well,
120227         and handle 'not' consistently with other uses.
120228         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
120229         (ibuffer--or-and-filter): New defun.
120230         (ibuffer-or-filter, ibuffer-and-filter): Use it.
120231         (ibuffer-format-qualifier): Handle 'and' filters as well.
120232         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
120233         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
120234         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
120235         Add new pre-defined filters.
120236         (ibuffer-filter-chosen-by-completion): Add new interactive command
120237         for easily choosing a filter from the descriptions.
120238         * lisp/ibuffer.el (ibuffer-mode-map):
120239         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
120240         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
120241         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
120242         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
120243         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
120244         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
120245         and '/ DEL' respectively.
120246         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
120247         skip specification.
120248         Add menu entries for the new filters.
120249         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
120250         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
120251         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
120252         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
120253         ibuffer-decompose-filter, ibuffer-and-filter
120254         ibuffer-or-filter): Add new tests; they are skipped unless
120255         ibuf-ext is loaded.
120257 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
120259         Update NEWS
120261         * etc/NEWS (Image-Dired): New section.
120263 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
120265         Recognize graphicsmagick in image-dired
120267         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
120268         (image-dired-cmd-create-thumbnail-options):
120269         (image-dired-cmd-create-temp-image-program):
120270         (image-dired-cmd-create-temp-image-options):
120271         (image-dired-cmd-create-standard-thumbnail-options):
120272         (image-dired-cmd-rotate-thumbnail-program):
120273         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
120274         gm(1) executable.
120276 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
120278         Improve skeleton docstrings
120280         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
120281         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
120282         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
120283         `skeleton-end-hook' above the explanation of skeleton syntax.
120285 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
120287         Implement asynchronous thumbnail generation in image-dired
120289         Additionally, all FOO-options defcustoms that were in fact shell command
120290         strings have been converted to argument lists.  Another method for
120291         shrinking PNG thumbs with optipng(1) has been added.
120292         * lisp/image-dired.el: Remove TODO item in commentary.
120293         (image-dired-cmd-create-thumbnail-options):
120294         (image-dired-cmd-create-temp-image-options):
120295         (image-dired-cmd-rotate-thumbnail-options):
120296         (image-dired-cmd-rotate-original-options):
120297         (image-dired-cmd-write-exif-data-options):
120298         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
120299         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
120300         Change string type to file.
120301         (image-dired-cmd-create-standard-thumbnail-command): Remove.
120302         (image-dired-cmd-pngnq-options):
120303         (image-dired-cmd-create-standard-thumbnail-options):
120304         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
120305         New defcustoms.
120306         (image-dired-queue, image-dired-queue-active-jobs):
120307         (image-dired-queue-active-limit): New variables.
120308         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
120309         (image-dired-optipng-thumb): New functions.
120310         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
120311         Use start-process instead of call-process.  Set file modes.  Trigger
120312         PNG file optimization in process sentinel.
120313         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
120314         (image-dired-display-thumbs):
120315         (image-dired-create-thumbs): Don't expect call-process return value.
120316         (image-dired-display-image, image-dired-rotate-thumbnail): Use
120317         start-process instead of call-process.
120318         (image-dired-rotate-original, image-dired-set-exif-data):
120319         (image-dired-get-exif-data): Adapt to arguments being an arg list.
120321 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
120323         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
120325         * src/indent.c (restore_window_buffer): New function.
120326         (Fvertical_motion): Use it to restore window's buffer.
120328 2016-12-19  Glenn Morris  <rgm@gnu.org>
120330         Improve default load-path for uninstalled CANNOT_DUMP builds
120332         * src/lread.c (load_path_default) [CANNOT_DUMP]:
120333         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
120334         I think this became an issue several years ago when we stopped
120335         using EMACSLOADPATH in the Makefiles; however this change should
120336         improve the CANNOT_DUMP uninstalled case in general.
120338 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
120340         Improve documentation of 'w32-scroll-lock-modifier'
120342         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
120343         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
120345         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
120346         fix.  (Bug#25204)
120348 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
120350         Document 'describe-fontset'
120352         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
120353         (Bug#25216)
120355 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
120357         Document 'describe-fontset'
120359         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
120360         (Bug#25216)
120362 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
120364         Fix crashes upon C-g on Posix TTY frames
120366         * src/thread.h (struct thread_state): New member not_holding_lock.
120367         (maybe_reacquire_global_lock): Add prototype.
120368         * src/thread.c: Include syssignal.h.
120369         (maybe_reacquire_global_lock): New function.
120370         (really_call_select): Set the not_holding_lock member of the
120371         thread state before releasing the lock, and rest it after
120372         re-acquiring the lock when the select function returns.  Block
120373         SIGINT while doing this to make sure we are not interrupted on TTY
120374         frames.
120375         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
120376         functions.
120377         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
120378         Add prototypes.
120379         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
120380         maybe_reacquire_global_lock.  (Bug#25178)
120382 2016-12-19  Sam Steingold  <sds@gnu.org>
120384         avoid Eager macro-expansion failure: (void-function string-to-list)
120386         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
120387           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
120388           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
120390 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
120392         Fix Bug#24980
120394         * lisp/ido.el (ido-add-virtual-buffers-to-list):
120395         Suppress Tramp invocation.  (Bug#24980)
120397 2016-12-18  Philipp Stephani  <phst@google.com>
120399         Add a new compile error regexp for Clang includes
120401         Clang uses a slight variation of GCC's include format, causing includes
120402         to be treated as warnings instead of informational messages.  Use a new
120403         regular expression instead.
120405         * lisp/progmodes/compile.el
120406         (compilation-error-regexp-alist-alist): New element
120407         `clang-include' for Clang-style "included from" lines.
120408         * test/lisp/progmodes/compile-tests.el
120409         (compile-tests--test-regexps-data): Add unit test.
120411 2016-12-18  Alan Third  <alan@idiocy.org>
120413         Reinstate ispell character offset (bug#25219)
120415         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
120416         ispell-offset used to be.
120418 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
120420         Bind new image-mode scroll commands in image-dired
120422         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
120423         to new image-mode commands.
120425 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
120427         Fix rx-any with range with ?\] and ?-
120429         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
120430         list (Bug#25123).
120431         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
120433 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
120435         Use floor of mtime instead of rounding for thumb property
120437         This seems to be the correct thing to do, at least more in line with
120438         what at least one other implementation does.  Anything using
120439         gnome-desktop [0] effectively does the same, as
120440         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
120441         comparison and time_t on GNU/Linux is a signed int.
120442         [0] https://git.gnome.org/browse/gnome-desktop/
120443         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
120445 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
120447         Fix spelling mistake in private defun name (Bug#25218)
120449         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
120450         `flyspell-adjust-cursor-point'.
120452 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
120454         Remove XEmacs support from flyspell.el (Bug#25218)
120456         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
120457         (flyspell-word, flyspell-delete-region-overlays):
120458         (flyspell-correct-word-before-point): Remove XEmacs support.
120459         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
120461 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
120463         More tests for Tramp
120465         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
120466         file names.
120468         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
120469         name properly.
120471         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
120472         Mark quoted file name as absolute.  (Bug#25183)
120473         (tramp--test-windows-nt-and-batch)
120474         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
120475         (tramp--test-windows-nt-or-smb-p): Rename from
120476         `tramp--test-smb-windows-nt-p'.  Adapt callees.
120477         (tramp--test-check-files): Improve checks for environment variables.
120478         (tramp-test33-special-characters)
120479         (tramp-test33-special-characters-with-stat)
120480         (tramp-test33-special-characters-with-perl)
120481         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
120482         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
120483         (tramp-test34-utf8-with-ls): Add more checks for skip.
120485 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
120487         Fix comments
120489         * src/thread.h (struct thread_state): Fix comments.
120490         * src/process.c (wait_reading_process_output): Fix a typo in
120491         commentary.
120493 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
120495         Repair desktop restoration on text terminals
120497         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
120498         frame here, instead of in desktop-restoring-frameset.  That's
120499         because desktop-read wants to know whether frameset will actually
120500         be restored, and has fallback procedures up its sleeve when it
120501         won't be; these fallbacks need to be invoked when the frameset is
120502         not going to be restored.  (Bug#24298)
120504 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
120506         Fix crashes on MS-Windows during dumping
120508         * src/unexw32.c (get_section_info): Make extra_bss_size be the
120509         maximum of extra_bss_size and extra_bss_size_static.  This avoids
120510         computing the size of the output file smaller than it actually
120511         needs to be, which then causes copy_executable_and_dump_data to
120512         write beyond the requested size of the file mapping, thus relying
120513         on the OS roundup to page boundary to save us from ourselves.  See
120514         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
120515         for the details.
120517         * lib/stdio-impl.h: Revert the workaround fix of not including
120518         errno.h for MinGW.
120520 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
120522         Ignore forward-sexp-function in js-mode indentation code
120524         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
120525         (js--maybe-goto-declaration-keyword-end):
120526         Bind forward-sexp-function to nil (bug#25215).
120528 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
120530         Be more selective clearing the image cache
120532         * lisp/image-dired.el (image-dired-create-thumbs):
120533         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
120534         the current thumbnail file from the image cache.
120536 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
120538         Unbreak the MinGW build
120540         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
120541         this, temacs crashes while dumping.
120543 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
120545         Make seq-into return the sequence when no conversion needed
120547         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
120548           no conversion is needed.
120549         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
120550           a regression test checking for identity.
120552 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
120554         Improve documentation of 'define-coding-system'
120556         * lisp/international/mule.el (define-coding-system): Warn against
120557         possible infinite recursion in pre-write-conversion and
120558         post-read-conversion functions.  (Bug#25203)
120560 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
120562         New commands image-scroll-left and image-scroll-right
120564         * etc/NEWS: Mention them.
120565         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
120566         functions.
120568 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
120570         More image-dired refactoring
120572         * lisp/image-dired.el (image-dired-thumbnail-mode):
120573         (image-dired-display-image-mode): Add :group 'image-dired so
120574         customize-mode works.
120575         (image-dired-display-image): Rearrange.
120576         (image-dired-copy-with-exif-file-name): This map is for side effect.
120577         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
120579 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
120581         * lisp/image-dired.el: Turn on lexical-binding.
120583 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
120585         Teach image-dired to also generate large thumbs
120587         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
120588         standard-large option.
120589         (image-dired-thumb-size): Add condition for standard-large storage.
120590         (image-dired-insert-thumbnail): Check for new option.  Change
120591         thumbnail path conditionally.
120592         (image-dired-thumb-size): New function.
120593         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
120595 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
120597         Merge from gnulib
120599         This incorporates:
120600         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
120601         2016-12-12 fpending: port to native Windows with MSVC
120602         * .gitignore: Do not ignore lib/stdio-impl.h.
120603         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
120604         Copy from gnulib.
120605         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
120606         * lib/stdio-impl.h:
120607         New file, copied from gnulib.
120608         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
120610 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
120612         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
120613         Append newline.
120615 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
120617         Don't abuse princ and spam messages
120619         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
120620         (image-dired-display-thumb-properties):
120621         (image-dired-dired-display-properties): Nix princ.  Bind
120622         message-log-max to nil.
120624 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
120626         Inherit things from special-mode and image-mode
120628         * lisp/image-dired.el: Require image-mode library.
120629         (image-dired-thumbnail-mode-map): Remove superfluous binding.
120630         (image-dired-display-image-mode-map): Remove superfluous binding.
120631         Add movement remaps from image-mode-map.
120632         (image-dired-thumbnail-mode): Derive from special-mode.
120633         (image-dired-display-image-mode): Derive from special-mode. Call
120634         image-mode-setup-winprops.
120636 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
120638         Fix some image-dired customization types
120640         * lisp/image-dired.el (image-dired): Add info link to defgroup.
120641         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
120642         (image-dired-db-file, image-dired-temp-image-file):
120643         (image-dired-cmd-create-thumbnail-program):
120644         (image-dired-cmd-create-temp-image-program):
120645         (image-dired-cmd-rotate-thumbnail-program):
120646         (image-dired-cmd-rotate-original-program):
120647         (image-dired-temp-rotate-image-file):
120648         (image-dired-cmd-write-exif-data-program):
120649         (image-dired-cmd-read-exif-data-program): Set type to file.
120650         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
120651         type at runtime, since setting image-dired-thumb-size does not
120652         automatically set image-dired-thumb-width and image-dired-thumb-height.
120654 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
120656         Prevent crashes in xg_select due to concurrency
120658         * src/xgselect.c (xg_select): Don't call Glib functions that use
120659         'context' if we failed to acquire it.  This means some other
120660         thread owns the context, in which case both using the context and
120661         calling block_input/unblock_input will step on that thread's toes
120662         and eventually lead to crashes.  (Bug#25172)
120664 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
120666         Fix circular list handling in seq-mapn
120668         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
120669         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
120670           Add a regression test.
120672 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
120674         Check in tramp-tests.el, that environment variables are set correctly
120676         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
120677         Check also, that environment variables are set correctly.
120679 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
120681         Protect environment variables with double quotes in Tramp
120683         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
120684         Protect environment variables with double quotes.
120686 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
120688         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
120690 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
120692         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
120694 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
120696         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
120698 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
120700         Recognize pngnq or pngnq-s9
120702         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
120703         pngnq-s9 as a possible executable.
120705 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
120707         Update standard image-dired thumbnail location
120709         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
120710         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
120712 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
120714         Reset window scroll when displaying an image
120716         When viewing a large image full size and scrolling, for instance, to
120717         the lower right corner, then selecting a much smaller image in the
120718         thumbnail buffer, the window stays scrolled so the new image is out of
120719         the window.  One must scroll back to the "origin" to view the new
120720         displayed image, or just kill the image-dired-display-image buffer and
120721         try again.  This fixes the issue.
120722         * lisp/image-dired.el (image-dired-display-window-width):
120723         (image-dired-display-window-height): Operate on a window as argument.
120724         (image-dired-display-image): Bind (image-dired-display-window) and use
120725         it. Set window vscroll and hscroll to zero when refreshing the
120726         buffer's contents.
120728 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
120730         More image-dired polish
120732         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
120733         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
120734         undo list. Add image-dired-file-name-at-point to
120735         file-name-at-point-functions to facilitate find-file and friends.
120736         (image-dired-thumbnail-display-external):
120737         (image-dired-dired-display-external): Use start-process instead, to
120738         avoid needlessly blocking and using a shell.
120740 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
120742         Replace ldefs-boot with a much smaller file
120744          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
120745            (bootstrap): Depend on bootstrap-build.
120746          * admin/ldefs-clean.el: New file.
120747          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
120748          * lisp/ldefs-boot.el: Remove.
120749          * lisp/ldefs-boot-auto.el: New file.
120750          * lisp/ldefs-boot-manual.el: New file.
120751          * lisp/loadup.el: Load ldefs-boot-manual.el.
120752          * src/emacs.c (generating_ldefs_boot): New variable.
120753            (main): Check whether we are generating ldefs.
120754          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
120755            requested.
120756          * src/lisp.h (generating_ldefs_boot): New variable.
120757          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
120758            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
120759            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
120760            ldefs-boot.
120761          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
120763 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120765         Remove support for aspell < 0.60 (from 2004)
120767         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
120768         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
120770 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120772         Minor docstring and comment fixes to ispell.el
120774         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
120775         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
120776         (ispell-set-spellchecker-params): Change double-single quotes to
120777         single single quotes in comment.
120779 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120781         Remove unused variable
120783         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
120785 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120787         Remove XEmacs-specific ispell-with-no-warnings
120789         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
120790         defmacro, needed only for XEmacs.
120791         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
120793 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120795         Remove meaningless defconst ispell-version
120797         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
120798         firmly part of Emacs, and the version hasn’t changed since 2003, and
120799         isn’t used anywhere, remove it.  3rd-party code can better use the
120800         Emacs version, or feature or function checks.
120801         (ispell-check-version): No longer report ispell.el version.
120803 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120805         Remove boundp test for always-bound symbol
120807         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
120808         defvar’d at the top of the file, so remove a test to see if it is
120809         bound.
120811 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120813         Remove support for ispell < 3.1.12
120815         * lisp/textmodes/ispell.el (ispell-offset): Remove.
120816         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
120817         (ispell-process-line): No longer use ispell-offset.
120819 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120821         Remove unused constant
120823         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
120825 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120827         Remove support for old versions of supercite and GNUS from ispell.el
120829         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
120830         and GNUS >= 5.  Not exactly the bleeding edge!
120832 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120834         Remove remaining mentions of XEmacs from ispell.el
120836         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
120837         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
120838         comments.
120840 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120842         Remove XEmacs-specific minibuffer handling code from ispell.el
120844         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
120845         XEmacs.
120847 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120849         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
120851         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
120852         XEmacs-specific code.
120854 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120856         Remove XEmacs-specific code dealing with enable-multibyte-characters
120858         * lisp/textmodes/ispell.el (ispell-decode-string):
120859         (ispell-init-process):  Remove XEmacs-specific guard.
120861 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120863         Remove XEmacs-specific code from ispell.el
120865         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
120866         (ispell-menu-map-needed): Remove XEmacs-specific check.
120867         (ispell-word): Remove XEmacs-specific extent code.
120868         (ispell-init-process): Remove XEmacs workaround for local add-hook.
120869         Assume we have set-process-query-on-exit-flag.
120870         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
120871         workaround for called-interactively-p.
120873 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120875         Remove some commented-out code
120877         lisp/textmodes/ispell.el (ispell-process)
120878         ispell-valid-dictionary-list): Remove commented-out code.
120880 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120882         Remove XEmacs and old Emacs highlighting code
120884         * lisp/textmodes/ispell.el
120885         (ispell-highlight-spelling-error-xemacs): Remove.
120886         (ispell-highlight-spelling-error): Assume display-color-p exists.
120888 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120890         Assume Emacs supports [:alpha:] in regexps
120892         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
120893         (ispell-set-spellchecker-params): Remove tests of
120894         ispell-emacs-alpha-regexp.
120896 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120898         Remove some XEmacs-specific code from ispell.el
120900         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
120901         (ispell-int-char): Remove.
120903 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120905         Generalize over-specific documentation
120907         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
120908         document precise personal wordlist filenames for only two supported
120909         spelling checkers, simply say that the default personal dictionary
120910         depends on the chosen spelling checker.  The user can check the
120911         spelling checker’s documentation if necessary.  This is simpler, and
120912         works for other supported (and future, or unknown) spelling checkers.
120914 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120916         Remove tests for built-in functions
120918         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
120919         back-up definition.
120920         (ispell-add-per-file-word-list): Remove tests for comment-padright and
120921         comment-normalize-vars.
120923 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120925         Remove unused ispell-looking-back
120927         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
120929 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120931         Assume we have version<= for checking ispell version
120933         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
120934         (ispell-check-version): Use version<= directly.
120936 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
120938         Remove ispell.el pre-GNU Emacs comments
120940         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
120941           details, as Emacs version, bug report address and so forth should be
120942           used instead for this version.  Remove in-line change history; use
120943           git instead.
120945 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
120947         More small fixes for image-dired
120949         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
120950         node.
120951         (image-dired--with-db-file): Add declare forms.
120952         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
120953         run through the whole list.
120955 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
120957         Remove image-dired-kill-buffer-and-window
120959         This breaks window layout, especially when quitting a
120960         image-dired-display-image-mode buffer.
120961         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
120962         (image-dired-display-image-mode-map): Replace in keymap and menu items
120963         bindings to image-dired-kill-buffer-and-window with quit-window.
120964         (image-dired-kill-buffer-and-window): Remove.
120966 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
120968         Replace image-dired-setup-dired-keybindings with a minor mode
120970         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
120971         remove mention of nonexistent image-dired-dired and to refer to the
120972         new minor mode.
120973         (image-dired-minor-mode-map): New keymap assimilated from
120974         image-dired-setup-dired-keybindings.  In the future, the keymap parent
120975         should be removed, and perhaps also the duplicate bindings that
120976         already exist in dired-mode-map.
120977         (image-dired-setup-dired-keybindings): Remove.  Replace with an
120978         obsolete function alias.
120979         (image-dired-minor-mode): New minor mode, assuming the role of
120980         image-dired-setup-dired-keybindings.
120982 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
120984         * test/src/regex-resources/PTESTS: Convert to UTF-8.
120986 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
120988         Clarify thread-signal semantics
120990         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
120991         thread will be signaled as soon as possible.
120993 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
120995         Clean up var watcher disabling on thread switching
120997         * src/data.c (Fset_default): Move code into new C level function,
120998         `set_default_internal'.
120999         (set_default_internal): New function, like `Fset_default' but also takes
121000         additional bindflag parameter.
121001         (set_internal): Only call `notify_variable_watchers' if bindflag is not
121002         SET_INTERNAL_THREAD_SWITCH.
121003         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
121004         passed on to set_internal and set_default_internal.  Adjust callers.
121005         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
121006         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
121007         temporarily adjusting symbol's trapped_write field.
121009 2016-12-13  Glenn Morris  <rgm@gnu.org>
121011         Minor fix for define-derived-mode
121013         * lisp/emacs-lisp/derived.el (define-derived-mode):
121014         Do not let eg eval-defun reset the values of syntax or abbrev tables,
121015         since they might have been defined externally.  (Bug#16160)
121017 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
121019         * build-aux/git-hooks/pre-commit: Add whitespace comment.
121021 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
121023         Move backtrace to ELisp using a new mapbacktrace primitive
121025         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
121026         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
121027         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
121029         * lisp/subr.el (backtrace--print-frame): New function.
121030         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
121031         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
121033         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
121034         `mapbacktrace' instead of searching for "(debug" in the output of
121035         `backtrace'.
121037         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
121038         (subr-test-backtrace-integration-test): New tests.
121040         * doc/lispref/debugging.texi (Internals of Debugger): Document
121041         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
121043 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
121045         Use C99 syntax for font drivers
121047         Problem reported by Daniel Colascione in:
121048         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
121049         * src/ftcrfont.c (ftcrfont_driver):
121050         * src/ftfont.c (ftfont_driver):
121051         * src/ftxfont.c (ftxfont_driver):
121052         * src/macfont.m (macfont_driver):
121053         * src/nsfont.m (nsfont_driver):
121054         * src/xfont.c (xfont_driver):
121055         * src/xftfont.c (xftfont_driver):
121056         Use C99 syntax, not the old GNU C syntax.
121058 2016-12-12  Glenn Morris  <rgm@gnu.org>
121060         Obsolete gs.el
121062         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
121063         * doc/lispref/display.texi (Image Formats): Remove postscript.
121064         (PostScript Images): Remove section.
121065         * doc/lispref/elisp.texi: Update menu.
121067 2016-12-12  Glenn Morris  <rgm@gnu.org>
121069         Un-revert recent Ffset change
121071         * src/data.c (Ffset): Reinstate the check for "nil".
121073 2016-12-12  Glenn Morris  <rgm@gnu.org>
121075         Minor advice.el fix
121077         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
121078         Avoid setting the function definition of nil.
121079         This was happening during bootstrap of org-compat.el,
121080         apparently due to eager macro expansion of code behind
121081         a (featurep 'xemacs) test.
121083 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
121085         Make etags-tests work in out-of-tree builds
121087         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
121088         (etags-bug-23164): Make them work in an out-of-tree build.
121089         Reported by Ken Brown <kbrown@cornell.edu>.
121091 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
121093         Avoid crashing if a new thread is signaled right away
121095         * src/thread.c (post_acquire_global_lock): Don't raise the pending
121096         signal if the thread's handlers were not yet set up, as that will
121097         cause Emacs to exit with a fatal error.  This can happen if a
121098         thread is signaled as soon as make-thread returns, before the new
121099         thread had an opportunity to acquire the global lock, set up the
121100         handlers, and call the thread function.
121102         * test/src/thread-tests.el (thread-signal-early): New test.
121104 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
121106         Fix point motion in cloned buffers
121108         * src/thread.c (post_acquire_global_lock): Call
121109         set_buffer_internal_2 instead of tricking set_buffer_internal_1
121110         into resetting the current buffer even if it didn't change.  This
121111         avoids bug#25165, caused by failing to record the modified values
121112         of point and mark, because current_buffer was set to NULL.  Also,
121113         don't bother re-setting the buffer if there was no thread switch,
121114         as that just wastes cycles.
121115         * src/buffer.c (set_buffer_internal_2): New function, with most of
121116         the body of set_buffer_internal_1, but without the test for B
121117         being identical to the current buffer.
121118         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
121119         identical to the current buffer.
121120         * src/buffer.h (set_buffer_internal_2): Add prototype.
121122         * test/src/thread-tests.el (thread-sticky-point): New test.
121124 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
121126         Further improvements in Tramp's file name unquoting
121128         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
121129         (tramp-adb-handle-write-region): Unquote localname.
121130         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
121131         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
121133         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
121134         (tramp-handle-file-name-case-insensitive-p):
121135         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
121136         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
121137         (tramp-gvfs-maybe-open-connection):
121138         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
121139         * lisp/net/tramp-smb.el (tramp-smb-get-share)
121140         (tramp-smb-get-localname): Use it.
121142         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
121143         (tramp--test-special-characters, tramp-test34-utf8)
121144         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
121145         (tramp-test34-utf8-with-ls): Use it.
121147 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
121149         Strengthen conditions for resizing sibling windows (Bug#25169)
121151         * lisp/window.el (window-resize, delete-window): Resize other siblings
121152         only if `window-combination-resize' equals t (Bug#25169).
121154 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
121156         Quote filenames containing '~' in prompts
121158         When in a directory named '~', the default value given by
121159         `read-file-name' should be quoted by prepending '/:', in order to
121160         prevent it from being interpreted as referring to the $HOME
121161         directory (Bug#16984).
121163         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
121164         (completion--sifn-requote, read-file-name-default): Use it instead of
121165         `minibuffer--double-dollars'.
121166         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
121168 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
121170         Undo part of last change
121172         * src/thread.h:
121173         * src/keyboard.c:
121174         * src/keyboard.h: Undo part of last change:
121175         input_available_clear_time is again a global variable.
121177 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
121179         Avoid aborts when a thread signals an error
121181         * src/thread.h (struct thread_state): Add members
121182         m_waiting_for_input and m_input_available_clear_time.
121183         (waiting_for_input, input_available_clear_time): New macros.
121184         * src/keyboard.c (waiting_for_input, input_available_clear_time):
121185         Remove; they are now macros that reference the current thread.
121186         (Bug#25171)
121187         * src/w32select.c: Don't include keyboard.h.
121189         * test/src/thread-tests.el (thread-errors): New test.
121191 2016-12-11  Philipp Stephani  <phst@google.com>
121193         Clean up compile-tests.el
121195         Switch to lexical binding.  Make checkdoc happy.
121197         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
121198         (compile-test-error-regexps): Instead of checking a single Boolean
121199         value, use `should' for each attribute of the message to be compared.
121200         (compile-tests--test-regexps-data): Document sixth list element
121201         TYPE.
121203 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
121205         Fix Bug#25162
121207         * doc/emacs/files.texi (Reverting): Document
121208         auto-revert-remote-files and auto-revert-verbose.
121210         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
121211         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
121213 2016-12-11  Glenn Morris  <rgm@gnu.org>
121215         Fix a typo in define-abbrev-table
121217         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
121219 2016-12-11  Glenn Morris  <rgm@gnu.org>
121221         Improve previous cperl-mode change
121223         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
121224         Improve previous change.
121226 2016-12-11  Glenn Morris  <rgm@gnu.org>
121228         Mark default cperl abbrevs as system ones
121230         * lisp/progmodes/cperl-mode.el (cperl-mode):
121231         Mark our abbrevs as system ones.  (Bug#10934)
121233 2016-12-11  Glenn Morris  <rgm@gnu.org>
121235         Revert earlier Ffset change
121237         * src/data.c (Ffset): Allow nil again, since it caused
121238         eager macro-expansion failures.
121240 2016-12-11  Glenn Morris  <rgm@gnu.org>
121242         Tweaks for message bogus address detection
121244         * lisp/gnus/message.el (message-bogus-recipient-p):
121245         Do not require "@", since some mailers deliver to local addresses
121246         without one.  (Bug#23054)
121247         Move "@.*@" from here...
121248         (message-bogus-addresses): ...to here, so it can be customized.
121250 2016-12-11  Glenn Morris  <rgm@gnu.org>
121252         Do not allow nil to be defined as a function
121254         * lisp/emacs-lisp/byte-run.el (defun):
121255         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
121257 2016-12-11  Glenn Morris  <rgm@gnu.org>
121259         Bump makeinfo requirement from 4.7 to 4.13
121261         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
121262         We need at least 4.8, and that may be buggy, so go for the last
121263         of the 4 series, which is 8 years old.  (Bug#25108)
121265 2016-12-11  Glenn Morris  <rgm@gnu.org>
121267         Fixes related to select-enable-clipboard
121269         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
121270         (clipboard-kill-region):
121271         * lisp/eshell/esh-io.el (eshell-virtual-targets)
121272         (eshell-clipboard-append):
121273         Replace option gui-select-enable-clipboard with
121274         select-enable-clipboard; renamed October 2014.  (Bug#25145)
121276 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
121278         Add some sanity checking of defun arglist
121280         * lisp/emacs-lisp/byte-run.el (defun):
121281         Check for malformed argument lists.  (Bug#15715)
121283 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
121285         Minor shell-mode fix for zsh
121287         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
121288         becoming confused by zsh abbreviations.  (Bug#24632)
121290 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
121292         Define struct predicate before acccesors
121294         The accessor functions use the predicate function, which causes problems
121295         when reloading after unload-feature: the compiler-macro property is
121296         still present on the predicate symbol, and the compiler fails to find
121297         the definition when trying to inline it into the accessor
121298         function (Bug#25088).
121300         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
121301         before field accessor definitions.
121303 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
121305         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
121306         system unit file.
121308 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
121310         Support concurrency in Emacs Lisp
121312         Merge branch 'test-concurrency'
121314         * src/thread.c:
121315         * src/thread.h:
121316         * src/systhread.c:
121317         * src/systhread.h: New files.
121318         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
121319         xnmalloc unconditionally.
121320         * src/window.c (struct save_window_data): Rename current_buffer to
121321         f_current_buffer.
121322         * src/w32proc.c (sys_select): Change the function signature to
121323         closer fit 'pselect' on Posix hosts.
121324         * src/search.c:
121325         * src/regex.h: Convert some globals to macros that reference
121326         thread-specific values.
121327         * src/process.c (pset_thread, add_non_keyboard_read_fd)
121328         (add_process_read_fd, add_non_blocking_write_fd)
121329         (recompute_input_desc, compute_input_wait_mask)
121330         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
121331         (compute_write_mask, clear_waiting_thread_info)
121332         (update_processes_for_thread_death, Fset_process_thread)
121333         (Fprocess_thread): New functions.
121334         (enum fd_bits): New enumeration.
121335         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
121336         'condition' to 'flags'.
121337         (set_process_filter_masks, create_process, create_pty)
121338         (Fmake_serial_process, finish_after_tls_connection)
121339         (connect_network_socket, deactivate_process)
121340         (server_accept_connection, wait_reading_process_output)
121341         (Fcontinue_process, Fstop_process, keyboard_bit_set)
121342         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
121343         (delete_keyboard_wait_descriptor): Use the new functions instead
121344         of manipulating fd flags and masks directly.
121345         (syms_of_process): Defsubr the new primitives.
121346         * src/print.c (print_object): Print threads, mutexes, and
121347         conditional variables.
121348         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
121349         and PVEC_CONDVAR.
121350         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
121351         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
121352         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
121353         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
121354         f_lisp_eval_depth.
121355         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
121356         (rebind_for_thread_switch, do_one_unbind)
121357         (unbind_for_thread_switch): New functions.
121358         (init_eval): 'handlerlist' is not malloc'ed.
121359         (specbind): Call do_specbind.
121360         (unbind_to): Call do_one_unbind.
121361         (mark_specpdl): Accept 2 arguments.
121362         (mark_specpdl): Mark the saved value in a let-binding.
121363         * src/emacs.c (main): Call init_threads_once, init_threads, and
121364         syms_of_threads.
121365         * src/data.c (Ftype_of): Support thread, mutex, and condvar
121366         objects.
121367         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
121368         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
121369         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
121370         (BYTE_CODE_QUIT): Add back.
121371         (exec_byte_code): Add back byte stack manipulation.
121372         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
121373         conditional variables.
121374         (mark_stack): Now extern; accept additional argument 'bottom'.
121375         (flush_stack_call_func): New function.
121376         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
121377         mark handlers.
121378         * src/.gdbinit (xbytecode): Add back.
121380         * test/src/thread-tests.el: New tests.
121381         * test/src/data-tests.el (binding-test-manual)
121382         (binding-test-setq-default, binding-test-makunbound)
121383         (binding-test-defvar-bool, binding-test-defvar-int)
121384         (binding-test-set-constant-t, binding-test-set-constant-nil)
121385         (binding-test-set-constant-keyword)
121386         (binding-test-set-constant-nil): New tests.
121388         * doc/lispref/processes.texi (Processes and Threads): New
121389         subsection.
121390         * doc/lispref/threads.texi: New file
121391         * doc/lispref/elisp.texi (Top): Include it.
121392         * doc/lispref/objects.texi (Thread Type, Mutex Type)
121393         (Condition Variable Type): New subsections.
121394         (Type Predicates): Add thread-related predicates.
121395         * doc/lispref/objects.texi (Editing Types):
121396         * doc/lispref/elisp.texi (Top): Update higher-level menus.
121398         * etc/NEWS: Mention concurrency features.
121400 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
121402         Fix error messages in thread.c
121404         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
121405         (Fcondition_notify, Fthread_join): Fix error messages.
121407 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
121409         Improve doc strings in thread.c
121411         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
121412         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
121413         (Fthread_join, Fall_threads): Doc fixes.
121415 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
121417         Fix building with check-lisp-object-type
121419         * src/thread.c (mark_one_thread): Use NILP to compare with
121420         m_saved_last_thing_searched, which is a Lisp object.  Reported by
121421         Andreas Politz <politza@hochschule-trier.de>.
121423 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
121425         Documentation and commentary improvements
121427         * src/lisp.h:
121428         * src/regex.c:
121429         * src/xgselect.c (xg_select): Improve commentary and formatting.
121431         * doc/lispref/objects.texi (Thread Type, Mutex Type)
121432         (Condition Variable Type): New subsections.
121433         (Type Predicates): Add thread-related predicates.
121434         * doc/lispref/objects.texi (Editing Types):
121435         * doc/lispref/elisp.texi (Top): Update higher-level menus.
121437 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
121439         Fix further problems with quoted file names in Tramp
121441         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
121442         (tramp-unquote-name): Move defsubst ...
121443         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
121444         (tramp-compat-file-name-quote)
121445         (tramp-compat-file-name-unquote): ... here. Adapt callees.
121447         * lisp/net/tramp-cache.el (tramp-flush-file-property)
121448         (tramp-flush-directory-property):
121449         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
121450         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
121451         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
121452         (tramp-smb-handle-substitute-in-file-name)
121453         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
121455 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
121457         *src/sysdep.c: Fix a comment.
121459 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
121461         Fix compilation error on Fedora 24
121463         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
121464         Reported by Paul Eggert <eggert@cs.ucla.edu>.
121466 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
121468         Fix compilation warnings due to prototype of thread_select
121470         * src/thread.h <int select_func>: Make the 5th and 6th arguments
121471         be 'const'.
121472         * src/process.c [WINDOWSNT]:
121473         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
121474         'const'.
121476 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
121478         Fix compilation on Debian GNU/Linux
121480         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
121481         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
121483 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
121485         Fix subtle errors with let-binding of localized variables
121487         * src/eval.c (do_specbind): Don't require a "symbol" that is
121488         actually a cons cell, in order to call set-default, as there are
121489         no longer such bindings.  This makes do_specbind work like the
121490         pre-concurrency implementation in specbind for bindings of
121491         forwarded symbols.  Use specpdl_kind to access the type of the
121492         binding.
121493         (specpdl_kind): New function.
121495 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
121497         Document file-name-quote, file-name-unquote and file-name-quoted-p
121499         * doc/lispref/files.texi (File Name Expansion):
121500         * etc/NEWS: Mention file-name-quote, file-name-unquote and
121501         file-name-quoted-p.
121503         * lisp/files.el (file-name-non-special): Revert using
121504         file-name-quote, file-name-unquote and file-name-quoted-p.
121506 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
121508         Fix bad quoting of python-shell-interpreter
121510         `python-shell-calculate-command' was using `shell-quote-argument' as if
121511         it was generating a shell command, but its callers don't pass the result
121512         to a shell, and they expect to parse it with `split-string-and-unquote'.
121513         This caused problems depending on the flavor of shell quoting in
121514         effect (Bug#25025).
121516         * lisp/progmodes/python.el (python-shell-calculate-command): Use
121517         `combine-and-quote-strings' to quote the interpreter, so that it can be
121518         parsed by `python-shell-make-comint' successfully using
121519         `split-string-and-unquote'.
121521 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
121523         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
121525 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
121527         Make read1 more reentrant
121529         This is needed if ‘read’ is called soon after startup, before the
121530         Unicode tables have been set up, and it reads a \N escape and
121531         needs to look up a value the Unicode tables, a lookup that in turn
121532         calls read1 recursively.  Although this change doesn’t make ‘read’
121533         fully reentrant, it’s good enough to handle this case.
121534         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
121535         (grow_read_buffer): Revamp to use locals, not statics, and to
121536         record memory allocation un the specpdl.  All callers changed.
121537         (read1): Start with a stack-based buffer, and use the heap
121538         only if the stack buffer is too small.  Use unbind_to to
121539         free any heap buffer allocated.  Use bool for boolean.
121540         Redo symbol loop so that only one call to grow_read_buffer
121541         is needed.
121542         (init_obarray): Remove no-longer-needed initialization.
121544 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
121546         Fix compilation warnings
121548         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
121549         compilation warning.
121551 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
121553         Fix unlikely substitute-command-keys memory leak
121555         * src/doc.c (Fsubstitute_command_keys):
121556         Free buffer when unwinding.
121558 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
121560         Add file-name-quoted-p, file-name-quote, file-name-unquote
121562         * lisp/files.el (file-name-quoted-p, file-name-quote)
121563         (file-name-unquote): New defsubst.
121564         (find-file--read-only, find-file-noselect)
121565         (file-name-non-special): Use them.
121567 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
121569         Add a NEWS entry.
121571 2016-12-08  Glenn Morris  <rgm@gnu.org>
121573         Minor fix for symbol-file
121575         * lisp/subr.el (symbol-file): Avoid false matches with "require"
121576         elements in load-history.  (Bug#25109)
121578 2016-12-08  Glenn Morris  <rgm@gnu.org>
121580         Doc fix for vc-git
121582         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
121584 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
121586         Fix Bug#24962
121588         * lisp/buff-menu.el (list-buffers--refresh):
121589         List buffers with name starting with " " if they visit a file.
121590         * test/lisp/buff-menu-tests.el (buff-menu-24962):
121591         Update test result as pass.
121593 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
121595         ediff-fixup-patch-map: Improve prompt
121597         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
121598         Make clear in the prompt when we are applying a multi patch.
121600 2016-12-08  Glenn Morris  <rgm@gnu.org>
121602         Retain message logging in map-y-or-n-p
121604         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
121605         Stop disabling logging to Messages buffer.  (Bug#13326)
121607 2016-12-08  Glenn Morris  <rgm@gnu.org>
121609         Doc fix for recent change
121611         * lisp/simple.el (region-modifiable-p): Doc fix.
121613 2016-12-08  Glenn Morris  <rgm@gnu.org>
121615         Quieten make-dist default operation
121617         * make-dist: Add --verbose option.  Default to quieter operation.
121619 2016-12-08  Glenn Morris  <rgm@gnu.org>
121621         Further improve make-dist checking
121623         * make-dist: Print status messages when checking.
121625 2016-12-08  Glenn Morris  <rgm@gnu.org>
121627         Improve previous make-dist change
121629         * make-dist: Let make check the info files more thoroughly.
121631 2016-12-08  Glenn Morris  <rgm@gnu.org>
121633         Make make-dist --snapshot do some sanity checks
121635         * make-dist: Snapshot mode no longer disables checks.
121636         Checks now includes checks for freshness.  (Bug#25084)
121637         Checks now exits with an error if problems were found.
121639 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
121641         Fix regression introduced by commit 7b1e97f
121643         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
121644         of cadr; required after commit 20f5a5b.
121646 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
121648         Put post-25 ChangeLog entries into ChangeLog.3
121650         * ChangeLog.2: Copy from emacs-25 branch.
121651         * ChangeLog.3: New file, with changes only in master.
121652         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
121654 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
121656         Fix network streams.
121658         The original code messed up flags in fd_callback_data[], and also
121659         didn't call add_process_read_fd for process-related file descriptors.
121661 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
121663         Minimize spurious diffs from master.
121665 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
121667         Fix the test suite
121669         * test/automated/bindings.el: Contents moved to
121670         test/src/data-tests.el.
121671         * test/automated/threads.el: Moved to test/src/thread-tests.el.
121673 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
121675         Fix a typo in bytecode.c.
121677 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
121679         Fix compilation problems.
121681         Fix merged code in process.c and eval.c.
121683 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
121685         Merge branch 'concurrency'
121687         Conflicts (resolved):
121688                 configure.ac
121689                 src/Makefile.in
121690                 src/alloc.c
121691                 src/bytecode.c
121692                 src/emacs.c
121693                 src/eval.c
121694                 src/lisp.h
121695                 src/process.c
121696                 src/regex.c
121697                 src/regex.h
121699 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
121701         Fix the MS-Windows build
121703         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
121705         * src/sysselect.h: Don't define fd_set and FD_* macros for
121706         MS-Windows here.
121707         * src/w32.h: Define them here.
121709         * src/process.h (sys_select): Declare prototype.
121711         * src/sysdep.c:
121712         * src/process.c:
121713         * src/filelock.c:
121714         * src/emacs.c:
121715         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
121716         * nt/inc/socket.h: Include w32.h instead of sysselect.h
121718 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
121720         merge from trunk
121722 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
121724         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
121725         specpdl stack.
121727 2013-10-18  Tom Tromey  <tromey@redhat.com>
121729         change condition-variablep to condition-variable-p
121731 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
121733         Fix crashes when unbind_for_thread_switch signals an error.
121735          src/eval.c (unbind_for_thread_switch): Accept a 'struct
121736          thread_state *' argument and use specpdl_ptr and specpdl of that
121737          thread.  Fixes crashes if find_symbol_value signals an error.
121738          src/thread.c (post_acquire_global_lock): Update current_thread
121739          before calling unbind_for_thread_switch.  Pass the previous thread
121740          to unbind_for_thread_switch.
121742 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
121744         Improve MS-Windows implementation of threads.
121746          src/systhread.c (sys_cond_init): Set the 'initialized' member to
121747          true only if initialization is successful.  Initialize wait_count
121748          and wait_count_lock.
121749          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
121750          'initialized' is false, do nothing.
121751          (sys_cond_wait): Fix the implementation to avoid the "missed
121752          wakeup" bug: count the waiting threads, and reset the broadcast
121753          event once the last thread was released.
121754          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
121755          PulseEvent.  Don't signal the event if no threads are waiting.
121756          (sys_cond_destroy): Only close non-NULL handles.
121757          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
121758          src/systhread.h (w32thread_cond_t): New member 'initialized'.
121759          Rename waiters_count and waiters_count_lock to wait_count and
121760          wait_count_lock, respectively.
121762 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
121764         Enable thread support in the MS-Windows build.
121766          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
121767          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
121768          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
121769          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
121770          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
121771          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
121772          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
121774          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
121775          if pthreads is not available.
121777 2013-08-27  Tom Tromey  <tromey@redhat.com>
121779         use condition-notify in the docs, not condition-signal
121781         zap until-condition docs
121783         zap until-condition
121785         rename thread-blocker to thread--blocker
121787         remove binding_symbol
121789         fix style of threadp, mutexp, and condition-variable-p
121791         make thread_check_current_buffer return bool
121793         add a comment before flush_stack_call_func
121795         fix whitespace_regexp warning
121797 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
121799         Fix MS-Windows build.
121801          src/callproc.c:
121802          src/emacs.c:
121803          src/filelock.c:
121804          src/process.c:
121805          src/sysdep.c:
121806          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
121807          redefinition of fd_set etc.
121808          src/process.c: Don't use num_pending_connects when
121809          NON_BLOCKING_CONNECT is not defined.
121810          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
121811          here from w32.h.
121812          src/w32proc.c (sys_select): Adjust the argument types to what
121813          thread.h expects.
121815          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
121816          of w32.h.
121818 2013-08-26  Tom Tromey  <tromey@redhat.com>
121820         use record_unwind_protect_void, avoid warning
121822         implement --enable-threads and a thread-less mode
121824 2013-08-25  Tom Tromey  <tromey@redhat.com>
121826         merge from trunk
121828 2013-08-20  Tom Tromey  <tromey@redhat.com>
121830         fix up some merge errors in process.c
121832         remove a dead function
121833         clean up a fixme I added in create_pty during the merge
121835 2013-08-20  Tom Tromey  <tromey@redhat.com>
121837         merge from trunk
121839 2013-07-26  Tom Tromey  <tromey@redhat.com>
121841         merge from trunk
121843 2013-07-13  Tom Tromey  <tromey@redhat.com>
121845         Merge from trunk
121847 2013-07-12  Tom Tromey  <tromey@redhat.com>
121849         Use thread_alive_p in a couple more spots
121851 2013-07-07  Tom Tromey  <tromey@redhat.com>
121853         fix xfree bug in run_thread
121855         this fixes run_thread to account for the dummy slot
121856         in specpdl
121858 2013-07-07  Tom Tromey  <tromey@redhat.com>
121860         merge from trunk
121862         this merges from trunk and fixes various build issues.
121863         this needed a few ugly tweaks.
121864         this hangs in "make check" now
121866 2013-07-06  Tom Tromey  <tromey@redhat.com>
121868         add assertion to flush_stack_call_func
121870         functions called via flush_stack_call_func are assumed
121871         to return with the global lock held again, and with
121872         current_thread reset.  this assertion verifies part of this
121874 2013-07-06  Tom Tromey  <tromey@redhat.com>
121876         call init_primary_thread from init_threads
121878 2013-07-05  Tom Tromey  <tromey@redhat.com>
121880         avoid SAFE_ALLOCA
121882         avoid SAFE_ALLOCA in xgselect.c.
121883         in this code it is just as easy to always use malloc;
121884         and it avoids thread-switching problems, as the safe-alloca
121885         stuff implicitly refers to the current thread
121887 2013-07-05  Tom Tromey  <tromey@redhat.com>
121889         avoid current_thread sometimes
121891         this tweaks thread.c to use 'self' instead of current_thread
121892         in a couple spots.  this is clearer and more robust
121894 2013-07-05  Tom Tromey  <tromey@redhat.com>
121896         initialize saved_value
121898         initialize the saved_value field in all needed cases
121899         also, add an assertion to do_one_unbind
121901 2013-07-04  Tom Tromey  <tromey@redhat.com>
121903         fix buglet in test case
121905 2013-07-04  Tom Tromey  <tromey@redhat.com>
121907         unlink thread later
121909         unlink thread from global list later
121910         also remove some unnecessary destruction code
121912 2013-07-04  Tom Tromey  <tromey@redhat.com>
121914         introduce thread_alive_p macro
121916         This introduces the thread_alive_p macro and changes
121917         thread-alive-p to use it.  This is a minor cleanup.
121918         It also changes all-threads to ignore dead threads.
121920 2013-07-03  Tom Tromey  <tromey@redhat.com>
121922         Don't call unbind_for_thread_switch in run_thread
121924         This removes the call to unbind_for_thread_switch from run_thread.
121925         This isn't necessary because acquire_global_lock does it properly.
121927 2013-07-03  Tom Tromey  <tromey@redhat.com>
121929         remove unused field from struct thread_state
121931         Fix a comment.
121933 2013-06-13  Tom Tromey  <tromey@redhat.com>
121935         merge from trunk
121937 2013-06-06  Tom Tromey  <tromey@redhat.com>
121939         fix a few latent issues in the thread patch
121941         * we called unbind_for_thread_switch unconditionally, but this
121942           is wrong if the previous thread exited
121943         * likewise, exiting a thread should clear current_thread
121944         * redundant assignment in run_thread
121945         * clean up init_threads - no need to re-init the primary thread
121947         This patch still sometimes causes weird hangs in "make check".
121948         However, I think that is a kernel bug, since Emacs enters the zombie
121949         state but its parent process hangs in wait.  This shouldn't happen.
121951 2013-06-04  Tom Tromey  <tromey@redhat.com>
121953         update eval.c to make it build again after the merge
121955 2013-06-03  Tom Tromey  <tromey@redhat.com>
121957         merge from trunk; clean up some issues
121959 2013-03-18  Tom Tromey  <tromey@redhat.com>
121961         don't let kill-buffer kill a buffer if it is current in any thread
121963 2013-03-18  Tom Tromey  <tromey@redhat.com>
121965         fix process bugs
121967         Fix some process-related bugs, mostly thinkos from the conversion to
121968         recording fd state as flags.
121969         This now passes the test suite without hanging.
121971 2013-03-17  Tom Tromey  <tromey@redhat.com>
121973         merge from trunk
121975 2013-03-08  Tom Tromey  <tromey@redhat.com>
121977         merge from trunk
121979 2013-01-16  Tom Tromey  <tromey@redhat.com>
121981         merge from trunk
121983 2013-01-06  Tom Tromey  <tromey@redhat.com>
121985         merge from trunk
121987 2012-12-23  Tom Tromey  <tromey@redhat.com>
121989         mention let bindings and lack of other ways to rewind
121991 2012-12-17  Tom Tromey  <tromey@redhat.com>
121993         Remove bit accidentally left over from the merge
121995         merge from trunk
121997 2012-09-04  Tom Tromey  <tromey@redhat.com>
121999         merge from trunk
122001         link from thread docs to match data
122003 2012-08-27  Tom Tromey  <tromey@redhat.com>
122005         cannot thread-join the current thread
122007         fix test suite for condition-variable-p name change
122009         add tests for variable bindings
122011 2012-08-25  Tom Tromey  <tromey@redhat.com>
122013         minor update to thread-join docs
122015 2012-08-24  Tom Tromey  <tromey@redhat.com>
122017         minor documentation updates
122019 2012-08-23  Tom Tromey  <tromey@redhat.com>
122021         document until-condition
122023         first draft of threads documentation
122025         rename condition-variablep to condition-variable-p
122027         document process-thread and set-process-thread
122029 2012-08-20  Tom Tromey  <tromey@redhat.com>
122031         pass the thread name to the OS if possible
122033         use prctl to pass the thread name to the OS, if possible
122035 2012-08-20  Tom Tromey  <tromey@redhat.com>
122037         add convenience macros with-mutex and until-condition
122039         with-mutex is a safe way to run some code with a mutex held.
122040         until-condition is a safe way to wait on a condition variable.
122042 2012-08-20  Tom Tromey  <tromey@redhat.com>
122044         Merge from trunk
122046 2012-08-19  Tom Tromey  <tromey@redhat.com>
122048         another docstring fixlet
122050         minor docstring fixup
122052         add condition-mutex and condition-name
122054         ensure name of a thread is a string
122056         ensure name of a mutex is a string
122058         use NILP
122060 2012-08-19  Tom Tromey  <tromey@redhat.com>
122062         condition variables
122064         This implements condition variables for elisp.
122065         This needs more tests.
122067 2012-08-19  Tom Tromey  <tromey@redhat.com>
122069         comment fixes
122071 2012-08-19  Tom Tromey  <tromey@redhat.com>
122073         refactor systhread.h
122075         This refactors systhread.h to move the notion of a "lisp mutex"
122076         into thread.c.  This lets us make make the global lock and
122077         post_acquire_global_lock static.
122079 2012-08-17  Tom Tromey  <tromey@redhat.com>
122081         write docstrings for the thread functions
122083         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
122085 2012-08-15  Tom Tromey  <tromey@redhat.com>
122087         add test case for I/O switching
122089 2012-08-15  Tom Tromey  <tromey@redhat.com>
122091         process changes
122093         This changes wait_reading_process_output to handle threads better.  It
122094         introduces a wrapper for select that releases the global lock, and it
122095         ensures that only a single thread can select a given file descriptor
122096         at a time.
122098         This also adds the thread-locking feature to processes.  By default a
122099         process can only have its output accepted by the thread that created
122100         it.  This can be changed using set-process-thread.  (If the thread
122101         exits, the process is again available for waiting by any thread.)
122103         Note that thread-signal will not currently interrupt a thread blocked
122104         on select.  I'll fix this later.
122106 2012-08-15  Tom Tromey  <tromey@redhat.com>
122108         Prepare process.c for threads by not having global select masks.
122109         The next step is to make it so selects can choose fds by thread.
122111 2012-08-15  Tom Tromey  <tromey@redhat.com>
122113         fix a latent bug in process.c
122115         * src/process.c (wait_reading_process_output): Check Writeok bits,
122116         not write_mask.
122118 2012-08-15  Tom Tromey  <tromey@redhat.com>
122120         This adds thread-blocker, a function to examine what a thread is
122121         blocked on.  I thought this would be another nice debugging addition.
122123         This adds names to mutexes.  This seemed like a nice debugging
122124         extension.
122126         This adds some tests of the threading code.
122128 2012-08-15  Tom Tromey  <tromey@redhat.com>
122130         This supplies the mutex implementation for Emacs Lisp.
122132         A lisp mutex is implemented using a condition variable, so that we can
122133         interrupt a mutex-lock operation by calling thread-signal on the
122134         blocking thread.  I did things this way because pthread_mutex_lock
122135         can't readily be interrupted.
122137 2012-08-15  Tom Tromey  <tromey@redhat.com>
122139         This adds most of the thread features visible to emacs lisp.
122141         I roughly followed the Bordeaux threads API:
122143         https://sionescu.github.io/bordeaux-threads/
122145         ... but not identically.  In particular I chose not to implement
122146         interrupt-thread or destroy-thread, but instead a thread-signaling
122147         approach.
122149         I'm still undecided about *default-special-bindings* (which I did not
122150         implement).  I think it would be more emacs-like to capture the let
122151         bindings at make-thread time, but IIRC Stefan didn't like this idea
122152         the first time around.
122154         There are one or two semantics issues pointed out in the patch where I
122155         could use some advice.
122157 2012-08-15  Tom Tromey  <tromey@redhat.com>
122159         This turns thread_state into a pseudovector and updates various bits
122160         of Emacs to cope.
122162 2012-08-15  Tom Tromey  <tromey@redhat.com>
122164         This introduces some new functions to handle the specpdl.  The basic
122165         idea is that when a thread loses the interpreter lock, it will unbind
122166         the bindings it has put in place.  Then when a thread acquires the
122167         lock, it will restore its bindings.
122169         This code reuses an existing empty slot in struct specbinding to store
122170         the current value when the thread is "swapped out".
122172         This approach performs worse than my previously planned approach.
122173         However, it was one I could implement with minimal time and
122174         brainpower.  I hope that perhaps someone else could improve the code
122175         once it is in.
122177 2012-08-15  Tom Tromey  <tromey@redhat.com>
122179         This introduces the low-level system threading support.  It also adds
122180         the global lock.  The low-level support is a bit over-eager, in that
122181         even at the end of the present series, it will not all be used.  I
122182         think thiat is ok since I plan to use it all eventually -- in
122183         particular for the emacs lisp mutex implementation.
122185         I've only implemented the pthreads-based version.  I think it should
122186         be relatively clear how to port this to other systems, though.
122188         I'd also like to do a "no threads" port that will turn most things
122189         into no-ops, and have thread-creation fail.  I was thinking perhaps
122190         I'd make a future (provide 'threads) conditional on threads actually
122191         working.
122193         One other minor enhancement available here is to make it possible to
122194         set the name of the new thread at the OS layer.  That way gdb, e.g.,
122195         could display thread names.
122197 2012-08-15  Tom Tromey  <tromey@redhat.com>
122199         This parameterizes the GC a bit to make it thread-ready.
122201         The basic idea is that whenever a thread "exits lisp" -- that is,
122202         releases the global lock in favor of another thread -- it must save
122203         its stack boundaries in the thread object.  This way the boundaries
122204         are always available for marking.  This is the purpose of
122205         flush_stack_call_func.
122207         I haven't tested this under all the possible GC configurations.
122208         There is a new FIXME in a spot that i didn't convert.
122210         Arguably all_threads should go in the previous patch.
122212 2012-08-15  Tom Tromey  <tromey@redhat.com>
122214         This introduces a thread-state object and moves various C globals
122215         there.  It also introduces #defines for these globals to avoid a
122216         monster patch.
122218         The #defines mean that this patch also has to rename a few fields
122219         whose names clash with the defines.
122221         There is currently just a single "thread"; so this patch does not
122222         impact Emacs behavior in any significant way.
122224 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122226         Merge from origin/emacs-25
122228         eeecac7 Fix minor quoting problems in doc strings
122230 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122232         Merge from origin/emacs-25
122234         35ce3fb Don't assume window-point and point are the same
122236 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122238         Merge from origin/emacs-25
122240         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
122241         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
122242         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
122243         93d8346 Improve indexing of 'man'
122245 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122247         Merge from origin/emacs-25
122249         d31298d Fix documentation of `window-combination-resize'
122250         2086f4c Typo fixes in elisp manual
122252 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122254         Merge from origin/emacs-25
122256         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
122257         5878abf Fix 'expand-file-name' during startup on MS-Windows
122259 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122261         Merge from origin/emacs-25
122263         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
122264         6d27423 Tweak refcard note about documentation location
122265         e46a134 Improve treatment of Fortran's "class is"
122267 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122269         Merge from origin/emacs-25
122271         93c0f51 Handle TeX comments when making new paragraph
122272         e0884f1 Restore keystroke echo in 'C-q'
122273         a6213ce Improve documentation of 'current-word'
122274         0828126 Fix a typo in an Eshell defcustom
122275         2e361c7 Minor copyedits of electric-pair-mode
122276         7499ee8 ; Minor copyedit in the Emacs manual
122277         45b652b Fix documentation of 'invocation-directory'
122278         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
122279         ba48880 ; Fix pl-refcard.tex
122281 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122283         Merge from origin/emacs-25
122285         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
122287 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122289         Merge from origin/emacs-25
122291         3d63b48 Update ChangeLog files and authors.el
122292         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
122293         a725592 Avoid errors in shr-pixel-column due to dedicated windows
122294         3138598 Update format-time-string documentation
122296 2016-12-07  Sam Steingold  <sds@gnu.org>
122298         delete-trailing-whitespace: handle read-only text in buffer
122300         * lisp/simple.el (region-modifiable-p): New function.
122301         (delete-trailing-whitespace): Use it to avoid trying to delete read-only text.
122303 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122305         Fix minor quoting problems in doc strings
122307 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122309         Fix --enable-gcc-warnings --with-ns on Fedora
122311         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
122312         (ALL_OBJC_CFLAGS): Use it.
122313         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
122314         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
122316 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
122318         Fix problems in quoting Tramp file names
122320         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
122321         (tramp-unquote-shell-quote-argument): New defun.
122322         (tramp-shell-quote-argument):
122323         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
122324         (tramp-make-copy-program-file-name):
122325         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
122326         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
122327         (tramp-smb-shell-quote-argument): Use it.
122329 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122331         ibuffer-map-deletion-lines: Re-included it
122333         It was deleted in previous commit, but it's referenced
122334         by the macro 'define-ibuffer-op'.
122335         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
122337 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122339         ibuffer-unmark-all: simplify code
122341         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
122342         (ibuffer-unmark-all): Simplify code.
122344 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122346         define-ibuffer-filter: Discard wrong filters
122348         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
122349         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
122350         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
122352 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
122354         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
122356         so that it matches the actual implementation.
122357         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
122359 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122361         ibuffer-decompose-filter-group avoid unwanted side effects
122363         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
122364         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
122365         All callers changed (Bug#25058).
122366         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
122368 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122370         ibuffer-unmark-backward: Unmark the region when is active
122372         * lisp/ibuffer.el (ibuffer-unmark-backward):
122373         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
122374         with the region boundary as the first 2 arguments (Bug#24987).
122376 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
122378         Docstring improvement for seq-some (bug#25129)
122380         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
122381           regarding the returned value.
122383 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122385         dired-unmark-backward: Unmark the region when is active
122387         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
122388         a non-nil second argument (Bug#24986).
122390 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122392         New test file for ediff
122394         Fix previous commit.
122395         * test/lisp/vc/ediff-ptch-tests.el: New test.
122397 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122399         ediff-context-diff-label-regexp: Detect the end of second file
122401         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
122402         '\n' in file names (Bug#25010).
122403         * test/lisp/vc/ediff-ptch-tests.el: New file.
122404         (ibuffer-test-bug25010): Add test for Bug#25010.
122406 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122408         ibuffer-decompose-filter: Avoid side effects on error
122410         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
122411         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
122412         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
122413         Update test result as pass.
122415 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
122417         ibuffer: compare marks with EQ
122419         * lisp/ibuffer.el:
122420         (ibuffer-update-title-and-summary)
122421         (ibuffer-redisplay-current)
122422         (ibuffer-buffer-name-face, ibuffer-unmark-all)
122423         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
122424         Use 'eq' instead of 'char-equal' when comparing mark characters
122425         (Bug#25000).
122426         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
122427         Update test result as pass.
122429 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
122431         ibuffer-saved-filters: Remove extra nesting level
122433         Fix Bug#25049.
122434         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
122435         nesting level; add transparent setter to adjust old-format values;
122436         update doc string.
122437         (ibuffer-save-filters): Remove extra level of nesting
122438         in ibuffer-saved-filters values when saving new filters.
122439         (ibuffer-old-saved-filters-warning): New variable with
122440         clickable message with repair options to be displayed
122441         as a warning if 'ibuffer-repair-saved-filters' detects
122442         a format mismatch.
122443         (ibuffer-repair-saved-filters): Add new command to check and
122444         repair saved filters format.
122445         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
122446         Change access of saved filter data (cadr->cdr) to account
122447         for reduced nesting.
122448         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
122449         New test; check that filters are saved in the proper format.
122451 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
122453         Clean out some IRIX cruft
122455         * etc/MACHINES: Remove obsolete discussion of IRIX.
122456         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
122457         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
122458         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
122459         * src/unexelf.c [__sgi]: Don't include <syms.h>.
122460         (unexec) [__sgi]: Remove SGI-specific code.
122462 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
122464         Simplify FUNCTIONP implementation
122466         * src/bytecode.c (exec_byte_code):
122467         * src/image.c (parse_image_spec):
122468         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
122469         * src/eval.c (FUNCTIONP): Move here ...
122470         * src/lisp.h: ... from here.  No longer inline, as that
122471         bloats the text and does not help speed (at least on my platform).
122472         (functionp): Remove this name, since callers use FUNCTIONP.
122474 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
122476         Don't assume window-point and point are the same
122478         The function `cursor-sensor--detect' calls `bobp' to decide whether to
122479         check properties at (1- (window-point)).  However, (window-point) may be
122480         at beginning of buffer, even if (point) is not.  In this case an
122481         `args-out-of-range' error will be signaled (Bug#25104).
122483         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
122484         value of (window-point) against (point-min), rather than (bobp) to
122485         decide if (1- (window-point)) is accessible.
122487 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
122489         Give test-completion's PREDICATE the hashtable key
122491         For hashtable entries with symbol keys, `test-completion' would convert
122492         the key to a string before calling PREDICATE, unlike `try-completion'
122493         and `all-completions'.
122495         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
122497 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
122499         Give test-completion's PREDICATE full alist entry
122501         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
122502         calling test-completion with an alist collection, the predicate was
122503         receiving the string value instead of the alist entry (Bug#24966).
122505         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
122506         test STRING against `completion-regexp-list'.
122507         * test/src/minibuf-tests.el: New tests for `try-completion',
122508         `all-completions', and `test-completion'.
122510 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
122512         Fix ert-tests when running compiled
122514         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
122515         specific macroexpansion, just check result of evaluation.
122516         (ert-test-record-backtrace): Don't hardcode representation of closure in
122517         expected backtrace, this lets the test succeed even when the test code
122518         is compiled.
122520         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
122521         `byte-compile-macro-environment' to `macroexpand', this allows the
122522         `should' macro to properly handle macroexpansion of macros that were
122523         defined in the same file when it's being compiled (Bug #17851).
122525 2016-12-06  Glenn Morris  <rgm@gnu.org>
122527         Make "g" in vc push/pull buffers re-push/pull
122529         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
122530         * lisp/vc/vc-git.el (vc-git--pushpull):
122531         * lisp/vc/vc-hg.el (vc-hg--pushpull):
122532         Set compile-command so that "g" works.  (Bug#11446)
122534 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
122536         Change two _Noreturn functions to return void
122538         This is a bit clearer than _Noreturn functions that (do not)
122539         return a non-void type.
122540         * src/callproc.c (call_process) [MSDOS]:
122541         Use 'status' local to record status.
122542         (child_setup): Return CHILD_SETUP_TYPE.
122543         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
122544         All callers changed.
122545         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
122547 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
122549         Fix GPG bug introduced by Oct file-missing change
122551         Problem with visiting nonexistent .gpg file
122552         reported by Herbert J Skuhra.
122553         * lisp/epa-file.el (epa-file--find-file-not-found-function):
122554         (epa-file-insert-file-contents, epa-file-write-region):
122555         Signal file-missing or file-error instead of epa-error.
122557 2016-12-05  Glenn Morris  <rgm@gnu.org>
122559         Tweak recent flymake change
122561         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
122562         Avoid double message when flymake-log-level >= 0.
122563         * doc/misc/flymake.texi (Customizable variables):
122564         No longer mention flymake-gui-warnings-enabled.
122566 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
122568         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
122570         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
122571         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
122572         `widget-backward' instead (bug#25091).
122574 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
122576         Remove compat code in Tramp
122578         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
122580         * lisp/net/tramp-compat.el (top): Require parse-time.
122582         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
122583         Use `parse-time-months'.
122585 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
122587         Don't try to split side windows in ibuffer (Bug#25115)
122589         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
122590         split a side window (Bug#25115).
122592 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
122594         * src/lisp.h: Update comment to kick -Og down the road.
122596 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
122598         More image-dired refactoring
122600         * lisp/image-dired.el: Remove TODO comment. This appears to have been
122601         implemented in 5d7433a "image-dired: Signal an error before calling a
122602         missing executable".
122603         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
122604         Add :version.
122605         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
122606         when. Remove superfluous call to image-dired-thumb-name. Move single nil
122607         binding and setq into dolist form.
122609 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
122611         Implement quoting the local part of a remote file name
122613         * doc/emacs/files.texi (Quoted File Names):
122614         * etc/NEWS: Mention quoting the local part of a remote file name.
122616         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
122617         `tramp-tramp-file-p'.
122618         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
122619         New defsubst.
122620         (tramp-handle-substitute-in-file-name)
122621         (tramp-handle-make-auto-save-file-name): Handle quoted files.
122622         (tramp-shell-quote-argument): Unquote argument.
122624         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
122625         Handle quoted files.
122627         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
122628         (tramp--test-make-temp-name): New argument QUOTED.
122629         (tramp-test01-file-name-syntax)
122630         (tramp-test02-file-name-dissect)
122631         (tramp-test04-substitute-in-file-name)
122632         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
122633         (tramp-test08-file-local-copy)
122634         (tramp-test09-insert-file-contents)
122635         (tramp-test10-write-region, tramp-test11-copy-file)
122636         (tramp-test12-rename-file, tramp-test13-make-directory)
122637         (tramp-test14-delete-directory, tramp-test15-copy-directory)
122638         (tramp-test16-directory-files)
122639         (tramp-test17-insert-directory)
122640         (tramp-test18-file-attributes)
122641         (tramp-test19-directory-files-and-attributes)
122642         (tramp-test20-file-modes, tramp-test21-file-links)
122643         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
122644         (tramp-test24-file-name-completion, tramp-test25-load)
122645         (tramp-test26-process-file, tramp-test27-start-file-process)
122646         (tramp-test28-shell-command, tramp-test30-vc-registered)
122647         (tramp-test31-make-auto-save-file-name)
122648         (tramp--test-check-files)
122649         (tramp-test35-asynchronous-requests): Test also quoted file names.
122650         (tramp--test-shell-command-to-string-asynchronously): Rename.
122651         (tramp-test29-environment-variables): Use it.
122653 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
122655         Fix typo in dired-omit-case-fold-p
122657         * lisp/dired-x.el (dired-omit-case-fold-p):
122658         Write 'file-name-case-insensitive-p' instead of
122659         'file-name-case-sensitive-p'.
122660         Add declaration of 'file-name-case-insensitive-p'.
122662 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
122664         Add HTML5 attributes for the input element
122666         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
122667         for the input element.
122669 2016-12-03  Glenn Morris  <rgm@gnu.org>
122671         Obsolete sc-load-hook in favor of eval-after-load
122673         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
122674         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
122675         No longer mention sc-load-hook.
122677 2016-12-03  Glenn Morris  <rgm@gnu.org>
122679         Obsolete calendar-load-hook in favor of eval-after-load
122681         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
122682         (calendar): Doc fix - no longer mention calendar-load-hook.
122683         * doc/emacs/cal-xtra.texi (Calendar Customizing):
122684         No longer mention calendar-load-hook.
122685         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
122686         Replace calendar-load-hook in example with with-eval-after-load.
122688 2016-12-03  Glenn Morris  <rgm@gnu.org>
122690         Fix markup in read-multiple-choice doc (Bug#25102)
122692         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
122694 2016-12-03  Glenn Morris  <rgm@gnu.org>
122696         Stop flymake using dialog boxes for errors (Bug#16622)
122698         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
122699         Mark as obsolete.
122700         (flymake-display-warning): Turn into an obsolete alias.
122701         (flymake-report-fatal-status): Just use message for a warning that
122702         was formerly displayed by default.
122704 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
122706         Clean up keymap and menu code in image-dired
122708         A function to populate these maps is not necessary, just define the maps
122709         once and for all.
122710         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
122711         clearer and in the spirit of dired's.
122712         (image-dired-define-display-image-mode-keymap):
122713         (image-dired-define-thumbnail-mode-keymap): Remove.
122714         (image-dired-thumbnail-mode-map):
122715         (image-dired-thumbnail-mode-line-up-map):
122716         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
122717         menu code from the aforementioned removed functions.  Reorder so that
122718         the definitions are inherited properly.
122719         (image-dired-display-current-image-sized): Fix erroneous message.
122720         (image-dired-thumbnail-mode):
122721         (image-dired-display-image-mode): Remove defunct call.
122723 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
122725         Mention `file-name-case-insensitive-p' as magic file name
122727         * doc/lispref/files.texi (Magic File Names):
122728         Mention `file-name-case-insensitive-p'.
122730         * doc/lispref/variables.texi (Connection Local Variables):
122731         Fix typo.
122733 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
122735         Clean up uses of cl-foo in image-dired
122737         Both instances here are just emulating cl-find-if.
122738         * lisp/image-dired.el: Use cl-lib at compile time.
122739         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
122740         Replace the cl-foo instances with equivalent cl-loops.
122742 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
122744         Avoid compilation warnings in nt/*.c files
122746         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
122747         (console_event_handler): Add prototypes.
122748         (canon_filename, skip_space, skip_nonspace, get_next_token)
122749         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
122750         (spawn, get_env_size): Now static.
122751         * nt/ddeclient.c (DdeCallback): Provide prototype.
122752         * nt/addpm.c (DdeCallback): Provide prototype.
122753         (add_registry): Now static.
122755 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
122757         Display window before calculating width
122759         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
122760         before calling image-dired-line-up and friends, which in turn calculate
122761         the window width. Otherwise, the thumbnail layout will be wrong in
122762         a side-by-side split.
122764 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
122766         Use pop-to-buffer-same-window
122768         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
122769         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
122770         use pop-to-buffer-same-window cf. Bug#22244.
122771         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
122773 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
122775         Document watchpoints
122777         * doc/lispref/debugging.texi (Variable Debugging):
122778         * doc/lispref/variables.texi (Watching Variables): New section.
122779         * etc/NEWS: Add entry for watchpoints
122781 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
122783         Add tests for watchpoints
122785         * test/src/data-tests.el (data-tests-variable-watchers):
122786         (data-tests-local-variable-watchers): New tests.
122788 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
122790         Ensure redisplay using variable watcher
122792         This replaces looking up the variable name in redisplay--variables when
122793         setting it.
122795         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
122796         calls.
122797         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
122798         set the redisplay flag unconditionally.
122799         (Vredisplay__variables): Remove it.
122800         * src/data.c (set_internal): Remove maybe_set_redisplay call.
122802 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
122804         Add function to trigger debugger on variable write
122806         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
122807         (debug--variable-list):
122808         (cancel-debug-on-variable-change): New functions.
122809         (debugger-setup-buffer): Add watchpoint clause.
122811 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
122813         Show watchpoints when describing variables
122815         * src/data.c (Fget_variable_watchers): New function.
122816         * lisp/help-fns.el (describe-variable): Use it to detect watching
122817         functions.
122819 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
122821         Add lisp watchpoints
122823         This allows calling a function whenever a symbol-value is changed.
122825         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
122826         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
122827         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
122828         (enum symbol_trapped_write): New enumeration.
122829         (struct Lisp_Symbol): Rename field constant to trapped_write.
122830         (make_symbol_constant): New function.
122832         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
122833         (set_symbol_trapped_write, restore_symbol_trapped_write):
122834         (harmonize_variable_watchers, notify_variable_watchers): New functions.
122836         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
122837         symbols.
122838         (set_internal): Change bool argument BIND to 3-value enum and call
122839         `notify_variable_watchers' for trapped symbols.
122841         * src/data.c (syms_of_data):
122842         * src/data.c (syms_of_data):
122843         * src/font.c (syms_of_font):
122844         * src/lread.c (intern_sym, init_obarray):
122845         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
122847         * src/alloc.c (init_symbol):
122848         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
122849         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
122850         (Fmake_variable_frame_local):
122851         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
122852         trapped_write instead of constant.
122853         (Ffuncall): Move subr calling code into separate function.
122854         (funcall_subr): New function.
122856 2016-12-02  Glenn Morris  <rgm@gnu.org>
122858         Starting doc of user options with "*" is long obsolete
122860         * lisp/battery.el (battery-upower-device): Doc fix.
122862 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
122864         Fix bug#25087
122866         * etc/themes/manoj-dark-theme.el: Fix two typos.
122868         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
122870 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
122872         Fix docstrings to have a complete sentence in first line
122874         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
122875         docstrings.
122877 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
122879         Remove obsolete comments and commented code from dired-x.el
122881         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
122882         1997 answer about whether dired-mark-sexp is used.
122883         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
122884         commented out since before dired-x.el was added to RCS in 1994.
122886 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
122888         Remove pre-customize dired-x.el documentation
122890         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
122891         use dired-x from .emacs.  It is now fully customizable.
122892         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
122893         how to set this custom variable in .emacs.  It should be customized.
122895 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
122897         Allow files to be matched case-sensitively in dired-x
122899         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
122900         controls case folding for matching the regex (Bug#18716).
122901         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
122902         systems, `nil' otherwise.
122903         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
122904         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
122906 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
122908         Add support for curly quotation marks to electric-pair-mode
122910         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
122911         entries for left/right single/double quotation marks, from
122912         electric-quote-chars. Note that this is safe for single quotation marks,
122913         unlike with the ASCII apostrophe, since, although the right quotation
122914         mark can be used as an apostrophe, it is the left quotation mark that is
122915         typed to get a pair (Bug#24901).
122917 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
122919         Fix bug#25087
122921         * etc/themes/manoj-dark-theme.el: Fix two typos.
122923 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
122925         Handle quoted file names in Tramp
122927         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
122928         case the file name is quoted.  This is not trapped by the
122929         reassigned `tramp-file-name-regexp' anymore.
122931 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
122933         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
122935 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
122937         Support for rawrgb images using imagemagick
122939         * src/image.c (imagemagick_load_image): Set wand size before loading
122940         blob when ':width' and ':height' are provided.
122942         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
122944 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
122946         Fix 'sql-connect' on first invocation
122948         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
122949         param-var.  (Bug#19452)
122951 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
122953         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
122955 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
122957         Improve indexing of 'man'
122959         * doc/emacs/programs.texi (Man Page): Index 'man', not
122960         'manual-entry', as the latter is an alias for the former.
122961         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
122963 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
122965         Port to Sun C 5.14
122967         Backport from master.  Sun C 5.14 supports C11 but not GCC
122968         extensions, and so refuses to compile Emacs without this patch.
122969         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
122970         size_t, as in general this macro is restricted to signed types.
122972 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
122974         Fix type typo on Solaris
122976         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
122977         Fix type mismatch, caught by --enable-check-lisp-object-type.
122979 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
122981         Merge from gnulib
122983         This incorporates:
122984         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
122985         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
122986         * build-aux/snippet/c++defs.h:
122987         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
122988         Copy from gnulib.
122990 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
122992         Make struct font_drivers read-only
122994         This simplifies the code a bit, and makes the structs more
122995         shareable and less likely to become corrupt.
122996         * src/alloc.c (cleanup_vector):
122997         * src/font.c (valid_font_driver, font_prepare_cache)
122998         (font_finish_cache, font_get_cache, font_clear_cache)
122999         (register_font_driver, font_update_drivers):
123000         * src/font.h (struct font, struct font_driver_list)
123001         (valid_font_driver):
123002         struct font_drivers are now const.
123003         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
123004         Omit no-longer-necessary decls.
123005         * src/ftcrfont.c (syms_of_ftcrfont):
123006         * src/ftxfont.c (syms_of_ftxfont):
123007         * src/xftfont.c (syms_of_xftfont):
123008         Omit no-longer-necessary initialization code.
123009         * src/ftcrfont.c (ftcrfont_driver):
123010         * src/ftfont.c (ftfont_driver):
123011         * src/ftxfont.c (ftxfont_driver):
123012         * src/macfont.m (macfont_driver):
123013         * src/nsfont.m (nsfont_driver):
123014         * src/xfont.c (xfont_driver):
123015         * src/xftfont.c (xftfont_driver):
123016         Use C99-style initializer for ease of maintenance, and make it const.
123017         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
123018         Refer to functions like ftfont_text_extents directly.
123019         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
123020         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
123021         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
123022         (ftfont_variation_glyphs, ftfont_filter_properties)
123023         (ftfont_combining_capability):
123024         * src/xfont.c (xfont_get_cache):
123025         Now extern, so that other modules’ struct font_drivers can use
123026         them directly.
123027         * src/macfont.m (macfont_descriptor_entity):
123028         * src/nsfont.m (nsfont_open):
123029         Use constant directly; this is clearer.
123031 2016-12-01  Richard Stallman  <rms@gnu.org>
123033         Fix mail-combine-fields
123035         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
123036         avoid losing our place in the search loop.
123038         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
123040 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
123042         Forth related improvements for etags
123044         Generate correct tags names for things like "(foo)".
123045         Previously "(foo" created.
123047         Fix a bug where a tag for "-bar" was created when encountering things
123048         like "create-bar".
123050         Recognize more words from the Forth-2012 Standard.
123052         * lib-src/etags.c (Forth_words): Check for whitespace after defining
123053         words.  Create tag with make_tag instead of get_tag to avoid notiname
123054         which isn't appropriate for Forth.
123056         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
123057         * test/manual/etags/ETAGS.good_1:
123058         * test/manual/etags/ETAGS.good_2:
123059         * test/manual/etags/ETAGS.good_3:
123060         * test/manual/etags/ETAGS.good_4:
123061         * test/manual/etags/ETAGS.good_5:
123062         * test/manual/etags/ETAGS.good_6:
123063         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
123064         new test cases.
123066 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
123068         Fix bugs with buffer-local tags tables
123070         * lisp/progmodes/etags.el (visit-tags-table): After
123071         'visit-tags-table-buffer' returns, retrieve the value of
123072         'tags-file-name' from the buffer we started in.  Force
123073         recomputation of 'tags-completion-table' next time it is used,
123074         since the list of tags table has changed.
123075         (visit-tags-table-buffer): Accept an additional optional argument
123076         CBUF, the buffer in which to start processing, and switch to that
123077         buffer if CBUF is non-nil.  All callers changed to supply a
123078         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
123079         Doc fix.
123080         (tags-completion-table): Accept an optional argument, the buffer
123081         for which to build 'tags-completion-table', and build that
123082         buffer's completion table.
123083         (tags-lazy-completion-table): Pass the current buffer to
123084         'tags-completion-table'.
123085         (tags-file-name): Don't say in the doc string that setting this
123086         variable directly is enough; say that 'visit-tags-table' should be
123087         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
123089         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
123090         advice to set 'tags-file-name' directly.
123092         * test/lisp/progmodes/etags-tests.el: New tests.
123094 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
123096         Fix documentation of `window-combination-resize'
123098         * src/window.c (Vwindow_combination_resize): Fix doc-string.
123099         * doc/lispref/windows.texi (Recombining Windows): Fix
123100         documentation of `window-combination-resize'.
123102 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
123104         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
123106         All uses replaced by LISPSYM_INITIALLY.
123108 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
123110         Make Cairo safer for --enable-gcc-warnings
123112         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
123113         Avoid overflow warnings about ‘0xff << 24’.
123114         (xpm_load, gif_load): Avoid unnecessary casts.
123115         (gif_load): Fewer ifdefs.
123117 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
123119         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
123121         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
123122         !NILP.
123124 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
123126         Fix previous commit
123128         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
123129         of hunk before calling `diff-hunk-style'.
123131 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
123133         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
123135 2016-11-29  Glenn Morris  <rgm@gnu.org>
123137         Use archive-mode for .cbr files
123139         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
123141 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
123143         Pacify Sun C 5.14
123145         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
123146         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
123147         into this enum rather than into an anonymous enum.  This avoids
123148         diagnostics from Sun C 5.14 and is a bit clearer anyway.
123150 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
123152         Adjust lwlib to recent config.h change
123154         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
123156 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
123158         * src/eval.c (clobbered_eassert): Check E's syntax.
123160 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
123162         Improve user retrieval from auth-source in Tramp
123164         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
123165         Use user for auth-source request only in case it exists.
123167 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
123169         shr.el: Don't render a normal table twice
123171         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
123172         Don't render a table if it is called for the first time,
123173         IOW, recognize it to never be invalid (bug#25051).
123175 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
123177         Typo fixes in elisp manual
123179         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
123180         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
123181         definitions of 'string-prefix-p' and 'string-suffix-p'.
123182         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
123184 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
123186         Improve diff-mode navigation/manipulation
123188         This is Bug #17544.
123190         Navigation and use of diff buffers had several annoying corner cases
123191         that this patch fixes.  These corner cases were largely due to
123192         inconsistent treatment of file headers.  Say you have a diff such as
123193         this:
123195          --- aaa
123196          +++ bbb
123197          @@ -52,7 +52,7 @@
123198          hunk1
123199          @@ -74,7 +74,7 @@
123200          hunk2
123201          --- ccc
123202          +++ ddd
123203          @@ -608,6 +608,6 @@
123204          hunk3
123205          @@ -654,7 +654,7 @@
123206          hunk4
123208         The file headers here are the '---' and '+++' lines.  With the point on
123209         such a line, hunk operations would sometimes refer to the next hunk and
123210         sometimes to the previous hunk.  Most of the time it would be the
123211         previous hunk, which is not what the user would expect.  This patch
123212         consistently treats such headers as the next hunk.  So with this patch,
123213         if the point is on the '--- ccc' line, the point is seen as referring to
123214         hunk3.
123216         Specific behaviors this fixes are:
123218         1. It should be possible to place the point in the middle of a diff
123219         buffer, and press M-k repeatedly to kill hunks in the order they appear
123220         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
123221         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
123222         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
123223         This is fixed by this patch.
123225         2. Similarly, it should be possible to apply hunks in order.  Previously
123226         with the point at the start, C-c C-a would apply the hunk1, then move
123227         the point to the first @@ header, and thus C-c C-a would try to apply
123228         the same hunk again.
123230         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
123231         navigation logic to diff-{hunk,file}-{next,prev}.
123232         (diff-hunk-next, diff-hunk-prev):
123233         (diff-file-next, diff-file-prev): Better navigation logic if
123234         skip-hunk-start is true, which happens when called interactively.
123235         (diff-bounds-of-hunk, diff-find-source-location):
123236         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
123237         improve hunk navigation.
123239 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
123241         Upcase Path and ComSpec in process-environment
123243         Since 2016-07-18 "Keep w32 environment settings internal only", the
123244         upcasing of environment variables "Path" and "ComSpec" occurred after
123245         initializing process-environment.  This meant that Lisp code trying to
123246         override "PATH" environment had no effect (Bug #24956).
123248         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
123249         in Vprocess_environment.
123251 2016-11-28  Philipp Stephani  <phst@google.com>
123253         Guard terminal parameter in XTerm mouse mode
123255         It has been observed (in the HTerm terminal emulator) that the
123256         event stored in the 'xterm-mouse-last-down' terminal parameter gets
123257         overwritten during a mouse drag operation, causing Emacs to attempt to
123258         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
123259         the terminal parameter to protect against such modifications.
123261         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
123262         of input event list.
123264 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
123266         Fix template for module functions
123268         Reported by Syohei YOSHIDA (Bug#24932).
123269         * modules/modhelp.py (TEMPLATES):
123270         c_func’s 2nd arg is ptrdiff_t, not int.
123272 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
123274         Pacify gcc -Wswitch.
123276         * src/keyboard.c (kbd_buffer_store_buffered_event):
123277         Move initialization into default case.
123279 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
123281         Reuse already existing lisp symbols for ignore_event (bug#19547).
123283         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
123284         * src/keyboard.c (kbd_buffer_store_buffered_event):
123285         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
123286         and make-frame-visible for DEICONIFY_EVENT.
123287         (syms_of_keyboard): Remove unneeded symbols.
123289 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
123291         Allow configuring which event throw-on-input should ignore (bug#19547).
123293         * src/keyboard.c (kbd_buffer_store_buffered_event):
123294         Translate event to corresponding symbol from `while-no-input-ignore-events`
123295         and check them with Fmemq.
123296         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
123297         and its symbols.
123299         * lisp/subr.el (while-no-input-ignore-events): Add default values.
123301         * doc/lispref/commands.texi (Event Input Misc):
123302         Document while-no-input-ignore-events.
123303         * etc/NEWS: Same.
123305 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
123307         ash, lsh avoid code duplication
123309         See discussion in:
123310         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
123311         * src/data.c (ash_lsh_impl): New function.
123312         (ash, lsh): Use it.
123314 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
123316         Add will change module to CSS property list
123318         * lisp/textmodes/css-mode.el (css-property-alist)
123319         (css-value-class-alist): Add new property and value class from CSS
123320         Will Change Module.
123322 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
123324         Don't access pointers to freed storage in regex.c
123326         Remove __BOUNDED_POINTERS__ code, which does not work with
123327         -fcheck-pointer-bound and which has undefined behavior anyway.
123328         Problem found when trying to port to gcc -fcheck-pointer-bounds.
123329         (This code was removed from glibc and gnulib regex.c many years ago.)
123330         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
123331         (EXTEND_BUFFER): Use a more-portable approach that avoids
123332         undefined behavior due to inspecting pointers to freed storage.
123334 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123336         Port build to gcc -fcheck-pointer-bounds
123338         This does not let Emacs run, just build.
123339         * lib-src/etags.c (main):
123340         * lib-src/profile.c (main):
123341         Use return, not exit.
123342         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
123343         Do not define, as -fcheck-pointer-bounds is incompatible with taking
123344         addresses of labels.
123345         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
123346         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
123348 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
123350         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
123352 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
123354         * lisp/rot13.el: Use lexical-binding
123356 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
123358         Add "using" to cl-loop debug spec (Bug#24750)
123360         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
123361         "using" hash table clause.
123363 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
123365         Allow user control of progress messages in cpp.el
123367         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
123368         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
123369         the doc string.
123370         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
123371         'message' to print messages.  (Bug#24861)
123373 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
123375         New input method 'polish-prefix'
123377         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
123378         method.  (Bug#24967)
123380         * etc/NEWS: Mention the new input method.
123382 2016-11-25  Damien Cassou  <damien@cassou.me>
123384         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
123386 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
123388         Add missing 'provide's in preloaded packages
123390         * lisp/composite.el:
123391         * lisp/replace.el:
123392         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
123394 2016-11-24  Alan Mackenzie  <acm@muc.de>
123396         Handle correctly an (undocumented) bare mode in hack-local-variables.
123398         lisp/files.el (hack-local-variables-prop-line): When a file's first line
123399         contains only a mode specification without the string "mode:", return the mode
123400         symbol only when `handle-mode' is t.
123402 2016-11-23  Dima Kogan  <dima@secretsauce.net>
123404         Clarify ediff-directories prompt
123406         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
123407         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
123408         ediff-directories3, ediff-merge-directories,
123409         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
123410         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
123411         filename filter in interactive ediff. The new message makes it clear what is
123412         being filtered
123414 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
123416         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
123418 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
123420         Fix Bug#24199.
123422         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
123423           bracket in doc string (make checkdoc happy).
123424           (icalendar-import-buffer),
123425           (icalendar-import-buffer),
123426           (icalendar--convert-ical-to-diary),
123427           (icalendar--add-diary-entry): Rename argument diary-file to
123428           diary-filename (make checkdoc happy).
123429           (icalendar--convert-recurring-to-diary): Take care of byday-clause
123430           in monthly recurring events.  Actually fix Bug#24199.
123432         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
123434 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
123436         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
123438 2016-11-22  Philipp Stephani  <phst@google.com>
123440         Comint: new user option for C-c M-r and C-c M-s
123442         This option allows the user to specify where to place point after these
123443         commands.
123445         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
123446         (comint-previous-matching-input-from-input): Use user option.
123448 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
123450         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
123452         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
123453         `eshell-first-time-mode-hook'.
123455 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
123457         Dump also connection local variables in Tramp bug reports
123459         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
123460         Dump also connection local variables.
123462 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
123464         Make sure elided long buffer names have ellipses added (Bug#24972)
123466         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
123467         string concat, and chop "strvar" less the width of the ellipsis.
123468         (ibuffer-compile-make-substring-form): Add space as padding, to fix
123469         off-by-one in alignment.
123471 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
123473         Buffer-menu-no-header: Detect a fake header
123475         * lisp/buff-menu.el (Buffer-menu-no-header): Use
123476         'tabulated-list-header-overlay-p' (Bug#24855).
123478 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
123480         buff-menu: Add command to unmark all buffers
123482         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
123483         to unmark all buffers (Bug#24880).
123484         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
123485         New predicate; return non-nil if tabulated-list has a fake header.
123486         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
123487         New command; remove all flags that use a particular mark from all the lines.
123488         Bind it to 'M-DEL'.
123489         (Buffer-menu-unmark-all):
123490         New command; remove all flags from all the lines.  Bind it to 'U'.
123491         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
123492         (Buffer-menu-delete, Buffer-menu-mark): Use them.
123493         (Buffer-menu-mode-map): Update menus.
123494         (Buffer-menu-mode): Update mode doc.
123495         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
123496         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
123497         (bs-mode): Update mode doc.
123498         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
123499         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
123500         to 'M-DEL'.
123501         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
123502         Use point instead of cursor in doc string.
123503         (electric-buffer-list): Update mode doc.
123504         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
123505         and Buffer-menu-unmark-all-buffers.
123507 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
123509         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
123511         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
123513 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
123515         Port htmlfontify to cl-lib
123517         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
123518         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
123519         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
123520         instances of cl aliases with their cl-lib counterparts.
123522 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
123524         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
123526 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
123528         Fix another CANNOT_DUMP problem
123530         Reported by Robert Pluim in:
123531         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
123532         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
123533         * src/lisp.h: ... to here.
123535 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
123537         Add further consideration to string-width (Bug#24972)
123539         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
123540         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
123542 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
123544         Don't collect strings existing out of <tr>...</tr>
123546         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
123547         Don't collect strings existing out of <tr>...</tr> to avoid
123548         duplication with what `shr-tag-table' renders.
123550 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
123552         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
123553         the last commit.
123555 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
123557         Add a variable to pass additional options to rcvstore
123559         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
123560         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
123561         the arguments that are passed to rcvstore.
123563         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
123564         and followups, i.e., ding mailing list.
123566 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123568         Fix undefined refs on some GNU/Linux hosts
123570         Problem reported by Ken Raeburn in:
123571         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
123572         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
123573         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
123574         removes unwanted references to my_endbss and my_endbss_static,
123575         which are not optimized away on some platforms.
123577 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123579         Make CANNOT_DUMP work better on GNU/Linux
123581         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
123582         lets the build succeed again, and fixes the testing framework so
123583         that most test cases now pass.  About twenty test cases still
123584         fail, though, and we still have Bug#24974.
123585         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
123586         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
123587         be any point to messing with a private memory allocator unless
123588         Emacs is dumping.
123589         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
123590         * src/image.c (reset_image_types):
123591         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
123592         Do not define if CANNOT_DUMP.
123593         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
123594         (daemon_pipe) [!WINDOWSNT]: Now static.
123595         * test/Makefile.in (mostlyclean): Remove *.tmp files.
123596         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
123598 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123600         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
123602 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123604         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
123606         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
123607         Do not define.  If defining, do it in a smaller scope.
123609 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
123611         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
123613 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
123615         Fix redrawing non-selected frame after resize on MS-Windows
123617         * src/xdisp.c (redisplay_internal): If all the frames were
123618         successfully updated, reset the "garbaged" flag of each frame, to
123619         make sure it doesn't stay set.
123621         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
123622         "garbaged", since expose_frame won't redraw the foreground then.
123623         (Bug#24642)
123625 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
123627         Add file-local-name
123629         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
123630         (Unique File Names): Use it.
123632         * etc/NEWS: Mention `file-local-name'.
123634         * lisp/files.el (file-local-name): New defun.
123635         (file-expand-wildcards):
123636         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
123637         * lisp/eshell/esh-ext.el (eshell-remote-command):
123638         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
123639         * lisp/org/ob-core.el (org-babel-local-file-name):
123640         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
123641         * lisp/progmodes/python.el (python-shell-send-file):
123642         * lisp/shell.el (shell):
123643         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
123644         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
123646 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
123648         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
123650 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
123652         * src/editfns.c (format-time-string): Mention %q in doc string.
123654 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
123656         Document format-time-string %q
123658         * doc/lispref/os.texi (Time Parsing):
123659         * etc/NEWS: Document new %q functionality taken from gnulib.
123661 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
123663         Merge from gnulib
123665         This incorporates:
123666         2016-11-15 sys_time: add gnulib::timeval for C++
123667         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
123668         2016-11-13 strftime: don't use __THROW
123669         2016-11-12 strftime: tune %q
123670         2016-11-12 Merge strftime.c changes from glibc
123671         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
123672         2016-11-05 strftime,strptime: support %q to represent the quarter
123674         The glibc changes in turn incorporate the following strftime.c changes:
123675         2015-10-20 Convert misc function definitions to prototype style
123676         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
123677         2010-01-09 Add support for XPG7 testing
123678         2009-10-30 Implement Burmese language locale for Myanmar
123679         2008-06-13 [BZ #6612] pass reference to tzset_called around
123680         2007-10-16 [BZ #5184] Add tzset_called argument
123682         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
123683         * m4/manywarnings.m4: Copy from gnulib.
123685 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
123687         Merge from origin/emacs-25
123689         07f45d7 ; Spelling fix
123690         1a210f0 * admin/release-process: Update versions and blocking bug num...
123691         36bafc9 Improve documentation of functions that accept time values
123693         # Conflicts:
123694         #       admin/release-process
123695         #       src/editfns.c
123697 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
123699         Merge from origin/emacs-25
123701         4af5981 Add a comment in generated refcards about the source
123702         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
123703         4887e7c js-mode: Fix indent problem after a regexp
123704         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
123705         1fc101b Don't confuse how Texinfo outputs @var with the input
123706         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
123707         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
123708         5b0cddd More fixes in copyright notices in etc/refcards/
123709         f994c20 Update copyright text in refcards
123710         9ad2ae7 Fix Outline command names
123711         26c3554 Send text received by bracketed paste to process
123712         db0b58d Correct the statement about programming modes always running ...
123713         78aece4 Improve documentation of 'occur'
123714         eb364fd Do call debugger on failed cl-assert
123715         3ef4ee8 Avoid infloop in python
123716         8da810f Don't refer to obsolete FEATURE-unload-hook
123717         4f478ca Improve documentation of dabbrevs
123718         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
123719         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
123720         3b199f7 Improve documentation of some Help commands
123721         93d3a0e Fix documentation of yes-or-no prompts
123722         af04919 Fix documentation of partial completion style
123723         ed80184 Fix documentation of the mode line on emacsclient frames
123724         e6be855 Fix description of 'C-z' in User manual
123725         16f7007 Improve and clarify documentation of Outline Mode
123726         31d93aa Add Emacs version number to nt/README.W32
123727         0b6b815 Fix python-mode hideshow regexp
123728         dc152c5 Modernize usage of 'macOS' in doc and comments
123729         84c5343 Prefer comments /* like this */ in C code
123730         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
123731         3ef86fd Clarify documentation of face attribute functions
123732         de51d59 ; * nt/README.W32: Minor copyedits.
123733         db436e9 Don't call debug on failed cl-assert
123735         # Conflicts:
123736         #       doc/emacs/cmdargs.texi
123737         #       etc/NEWS
123738         #       etc/PROBLEMS
123739         #       lisp/auth-source.el
123740         #       lisp/net/tramp-sh.el
123742 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
123744         Port RefTeX to cl-lib
123746         * lisp/textmodes/reftex-auc.el:
123747         * lisp/textmodes/reftex-cite.el: Use cl-lib.
123748         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
123749         macros.
123750         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
123751         (reftex-view-regexp-match): Substitute cl-lib macro.
123752         * lisp/textmodes/reftex-global.el: Use cl-lib.
123753         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
123754         (reftex-translate): Substitute cl-lib macros.
123755         * lisp/textmodes/reftex-index.el: Use cl-lib.
123756         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
123757         (reftex-index-next-phrase, reftex-index-phrases-info):
123758         (reftex-query-index-phrase): Substitute cl-lib macros.
123759         * lisp/textmodes/reftex-parse.el: Use cl-lib.
123760         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
123761         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
123762         Substitute cl-lib macros.
123763         * lisp/textmodes/reftex-ref.el: Use cl-lib.
123764         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
123765         macros.
123766         * lisp/textmodes/reftex-sel.el: Use cl-lib.
123767         (reftex-select-shared-map): Set keymap parent to special-mode-map.
123768         Flatten loop and remove digits and hyphen definitions from the map.
123769         (reftex-select-label-mode-map):
123770         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
123771         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
123772         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
123773         cl-pushnew.
123774         * lisp/textmodes/reftex.el: Use cl-lib.
123775         (reftex-docstruct-symbol): Use cl-incf.
123776         (reftex-ref-style-toggle): Replace add-to-list with append.
123777         (reftex-compile-variables): Use cl-lib macros, and functions with
123778         compiler macros. cl-first is just an alias.
123779         (reftex-parse-args, reftex-scanning-info-available-p):
123780         (reftex-select-external-document, reftex-get-file-buffer-force): Use
123781         cl-lib macros.
123782         (reftex-isearch-minor-mode): Replace add-to-list with append.
123784 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
123786         ibuffer-exchange-filters: Simplify code
123788         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
123790 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
123792         Implement getrlimit and setrlimit for MS-Windows
123794         * src/w32heap.c (getrlimit, setrlimit): New functions.
123795         Include w32.h.
123796         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
123797         should be compatible with 'struct rlimit' members.
123799         * nt/inc/sys/resource.h: New header file.
123801         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
123802         Set to "yes".
123804 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
123806         Move key mappings into reftex-mode-map defvar
123808         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
123809         key mappings.
123810         (reftex-reset-mode): Just use dolist.
123812 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
123814         Derive reftex-index-mode from special-mode
123816         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
123817         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
123818         from special-mode now.
123819         (reftex-index-mode): Derive from special-mode.
123820         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
123822 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
123824         Clean up reftex-toc-mode-map
123826         * lisp/textmodes/reftex-toc.el: Remove cl.
123827         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
123828         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
123830 2016-11-18  Philipp Stephani  <phst@google.com>
123832         Prevent dubious argument lists
123834         See Bug#24912 and Bug#24913.
123836         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
123837         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
123838         more dubious argument lists.
123839         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
123840         test.
123842 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
123844         Add test suite for buff-menu.el
123846         * test/lisp/buff-menu-tests.el: New file.
123847         (buff-menu-24962): Add test for Bug#24962.
123849 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
123851         Add cyrillic-tuvan input method
123853         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
123854         method.  (Bug#24942)
123856         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
123858 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
123860         Extend 'indent-relative' when its arg is non-nil
123862         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
123863         (indent-relative-first-indent-point): Renamed from
123864         'indent-relative-maybe'.
123865         (indent-relative): Now accepts an additional optional argument.
123866         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
123867         the additional arg.  (Bug#24766)
123869 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
123871         Add example for bug#24854
123873         * test/manual/indent/js.js: Add example for bug#24854.
123875 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
123877         Port registry.el the rest of the way to cl-lib
123879         This file already is using cl-lib functions at runtime; eieio ultimately
123880         loads cl-lib, which explains why doing so wasn't an issue.
123881         * lisp/registry.el: Require cl-lib.
123882         (registry-db, registry--match, registry-search, registry-delete):
123883         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
123884         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
123886 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
123888         Fix arglist in python.el (Bug#24762)
123890         * lisp/progmodes/python.el: Remove unneeded second args.
123891         (python-define-auxiliary-skeleton): DOC arg should be &optional.
123893 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
123895         Add tests for rot13.el
123897         * lisp/rot13.el (rot13): Docstring correction.
123899         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
123901 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
123903         Fix Bug#24947 (Tramp + ido)
123905         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
123907         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
123908         Run remote tests only if a connection is established only.  (Bug#24947)
123910 2016-11-16  Ken Brown  <kbrown@cornell.edu>
123912         Unbreak the build on Darwin (Bug#24957)
123914         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
123915         mistakes in recent commit.
123917 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
123919         Do not use map.el in seq-tests.el
123921         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
123922         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
123923         Emacs 24.5.
123925 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
123927         Update parameter :version to 26.1 in several defcustom
123929         Following defcustom where added or modified for 25.2 release.
123930         In fact all these changes belong to 26.1 release.
123931         * lisp/battery.el (battery-linux-sysfs-regexp)
123932         * lisp/comint.el (comint-password-prompt-regexp)
123933         * lisp/dired.el (dired-always-read-filesystem)
123934         * lisp/image.el (image-scaling-factor)
123935         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
123936         (ibuffer-never-search-content-mode)
123937         * lisp/mouse.el (mouse-select-region-move-to-beginning)
123938         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
123939         (netstat-program, route-program, route-program-options)
123940         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
123941         * lisp/progmodes/grep.el (grep-save-buffers)
123942         * lisp/vc/add-log.el (change-log-directory-files)
123943         * lisp/url/url-vars.el (url-user-agent)
123944         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
123945         (vc-hg-use-file-version-for-mode-line-version)
123946         (vc-hg-parse-hg-data-structures)
123947         * lisp/wdired.el (wdired-create-parent-directories)
123948         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
123949         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
123950         (gnus-button-url-regexp)
123951         * lisp/window.el (switch-to-buffer-preserve-window-point)
123952         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
123953         (ibuffer-locked-buffer)
123954         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
123955         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
123956         * lisp/gnus/message.el (message-user-fqdn)
123957         * lisp/simple.el (shell-command-dont-erase-buffer)
123958         (extended-command-suggest-shorter)
123959         * lisp/net/shr.el (shr-use-fonts)
123960         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
123962 2016-11-15  Glenn Morris  <rgm@gnu.org>
123964         Add --new-daemon, which runs in the foreground and does not fork
123966         This is intended for modern init systems such as systemd,
123967         which manage many of the traditional aspects of daemon behavior
123968         themselves.  (Bug#2677)
123969         * src/emacs.c (daemon_type): New integer.
123970         (usage, standard_args): Add --old-daemon and --new-daemon.
123971         (main): Handle --old-daemon and --new-daemon arguments.
123972         Restrict all the forking and complicated daemon stuff to old-daemon.
123973         (Fdaemon_initialized): Handle new-style daemon.
123974         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
123975         Replace daemon_pipe with daemon_type.
123976         * doc/emacs/cmdargs.texi (Initial Options):
123977         * doc/emacs/glossary.texi (Glossary):
123978         * doc/emacs/misc.texi (Emacs Server):
123979         * doc/lispref/display.texi (Window Systems):
123980         * doc/lispref/os.texi (Startup Summary): Related doc updates.
123981         * etc/NEWS: Mention this.
123982         * etc/emacs.service: Use Type=simple and --new-daemon.
123984 2016-11-15  Glenn Morris  <rgm@gnu.org>
123986         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
123987         * doc/man/emacs.1.in: Likewise.
123989 2016-11-15  Ken Brown  <kbrown@cornell.edu>
123991         Simplify case-insensitivity checks on Mac OS X
123993         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
123994         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
123995         Leave in two alternatives conditionally compiled based on
123996         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
123998         * etc/PROBLEMS: Mention the possible problem with pathconf on
123999         Mac OS X.
124001 2016-11-15  Glenn Morris  <rgm@gnu.org>
124003         * src/emacs.c (sort_args): Warn about multiple matches.
124005 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
124007         Implement file name handler for `file-name-case-insensitive-p'
124009         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
124010         is also applicable for remote hosts.
124012         * lisp/net/tramp.el (tramp-methods): Improve docstring.
124013         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
124014         (tramp-handle-file-name-case-insensitive-p): New defun.
124016         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
124017         Add `tramp-case-insensitive' entry.
124019         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
124020         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
124021         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
124022         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
124023         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
124025 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
124027         Nix more uses of default-FOO variables (Bug#24946)
124029         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
124030         Check for header-line-format instead.
124031         * lisp/emulation/viper.el (viper-load-custom-file): Reference
124032         major-mode instead.
124033         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
124034         fill-column instead.
124036 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
124038         Complete the name of PostgreSQL databases
124040         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
124041         name.
124042         (sql-postgres-list-databases): New function returning a list of
124043         available PostgreSQL databases.
124045         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
124047 2016-11-14  Sam Steingold  <sds@gnu.org>
124049         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
124051         When `vc-git-print-log-follow' is true and all files are
124052         non-directory, pass "--follow" to "git log".
124053         This works around bug#8756 and bug#16422.
124055 2016-11-14  Sam Steingold  <sds@gnu.org>
124057         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
124059         vc-git-print-log: pass "--follow" to "log" to handle renamed files
124061 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
124063         Revert "Improve case-insensitive checks (Bug#24441)"
124065         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
124066         I see no reason for removing code, documentation, and comments
124067         in the original commit.
124069 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
124071         Update verilog-mode.el
124073         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
124074         (verilog-calc-1): Fix "default clocking" indentation and
124075         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
124076         (verilog-diff-report): Fix `verilog-diff-report'
124077         not returning bad status on differences, bug1087.  Reported by
124078         Eric Jackowski.
124079         (verilog-auto-inst-param-value)
124080         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
124081         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
124082         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
124083         (verilog-read-sub-decls-type): When
124084         `verilog-auto-inst-param-value-type' is set, which is now the
124085         default, AUTOINPUT etc will now substitute parameter types from
124086         submodules, bug1061.  Reported by Brad Dobbie.
124087         (verilog-auto-reset, verilog-backward-case-item)
124088         (verilog-extended-case-re, verilog-read-always-signals-recurse):
124089         Fix indentation of randcase, bug1072. Reported by David Rogoff.
124090         (verilog-read-sub-decls-expr)
124091         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
124092         in generated comments, bug1057. Reported by Kaushal Modi.
124093         (verilog-auto-wire-comment, verilog-insert-definition):
124094         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
124095         Eric Jackowski.
124096         (verilog-extended-complete-re): Fix indentation
124097         of class static functions, bug1053. Reported by Gregory
124098         Czajkowski.
124099         (verilog-module-filenames): Support tramp for
124100         finding verilog modules. Reported by Nevada Sanchez.
124102 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
124104         Improve case-insensitive checks (Bug#24441)
124106         * doc/lispref/files.texi (Truenames): Simplify documentation,
124107         to avoid giving too much platform-specific information that
124108         may not be accurate anyway.
124109         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
124110         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
124111         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
124112         back on an alternative rather than returning false.  Try skipping
124113         the Darwin code, as it (1) no longer seems to be needed and (2)
124114         does not seem to match the Apple documentation.  Leave in two
124115         alternatives conditionally compiled based on
124116         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
124118 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
124120         Fix documentation changes of connection-local variables
124122         * etc/NEWS: Fix last change.
124123         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
124124         * doc/lispref/elisp.texi (Top): Update the master menu.
124126 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
124128         Implement connection-local variables
124130         * doc/lispref/variables.texi (Connection Local Variables): New section.
124132         * etc/NEWS: Mention connection-local variables.
124134         * lisp/files-x.el (enable-connection-local-variables)
124135         (connection-local-variables-alist, connection-local-class-alist)
124136         (connection-local-criteria-alist): New defvars.
124137         (connection-local-get-classes)
124138         (connection-local-get-class-variables): New defsubst.
124139         (connection-local-set-classes)
124140         (connection-local-set-class-variables)
124141         (hack-connection-local-variables)
124142         (hack-connection-local-variables-apply): New defuns.
124143         (with-connection-local-classes): New defmacro.
124145         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
124147         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
124148         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
124149         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
124150         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
124152         * test/lisp/files-x-tests.el: New file.
124154 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
124156         tabulated-list: extend truncation into next align-right column
124158         See discussion on:
124159         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
124160         * lisp/emacs-lisp/tabulated-list.el
124161         (tabulated-list--near-rows): New variable.
124162         (tabulated-list-print, tabulated-list-set-col): Use it.
124163         (tabulated-list--col-local-max-widths): New defsubst.
124164         (tabulated-list-print-col): Use it.  If the next column is
124165         align-right, and has some space left then don't truncate to width,
124166         use some of the available space from the next column.
124168 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
124170         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
124172         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
124173         (shr-collect-extra-strings-in-table): Render images as well.
124175 2016-11-13  Ken Brown  <kbrown@cornell.edu>
124177         Use the new 'file-name-case-insensitive-p' function
124179         * lisp/international/mule.el (auto-coding-alist-lookup):
124180         * lisp/files.el (file-truename):
124181         (abbreviate-file-name, set-auto-mode, file-relative-name):
124182         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
124183         'file-name-case-insensitive-p' instead of 'system-type' to test
124184         case-insensitivity.
124186 2016-11-13  Glenn Morris  <rgm@gnu.org>
124188         Include a systemd user unit file.  (Bug#16507)
124190         * etc/emacs.service: New file.
124191         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
124192         * Makefile.in (libdir): New, set by configure.
124193         (systemdunitdir): New variable.
124194         (install-etc, uninstall): Handle the emacs.service file.
124196 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
124198         Port --enable-gcc-warnings to Ubuntu 16.10
124200         * src/gmalloc.c: Include <stdlib.h>, so it declares
124201         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
124202         so that GCC doesn't complain that hybrid_aligned_alloc is
124203         defined without being declared.
124205 2016-11-13  Ken Brown  <kbrown@cornell.edu>
124207         Silence tramp warning
124209         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
124210         'file-name-case-insensitive-p' as a known file primitive.
124211         (Bug#24936)
124213 2016-11-12  Ken Brown  <kbrown@cornell.edu>
124215         Check case-sensitivity when renaming files
124217         * src/fileio.c (file_name_case_insensitive_p)
124218         (Ffile_name_case_insensitive_p):  New functions.
124219         (Frename_file): Allow renames that simply change case when the
124220         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
124222         * lisp/dired-aux.el (dired-do-create-files): Use
124223         'file-name-case-insensitive-p' instead of 'system-type' to check
124224         for case-insensitivity.  (Bug#24441)
124226         * doc/lispref/files.texi (Truenames): Document
124227         'file-name-case-insensitive-p'.
124229 2016-11-12  Ken Brown  <kbrown@cornell.edu>
124231         Unbreak the build on Cygwin
124233         * configure.ac (system_malloc) [CYGWIN]: Unset.
124235 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
124237         Update chart.el
124239         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
124240         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
124241         fixed number of newlines, use window-height.
124242         (chart-bar):
124243         (chart-trim): Use dolist.
124244         (chart-file-count): The previous implementation was buggy and missed
124245         extensions.  Use file-name-extension instead to detect file extensions.
124246         Also use dolist and cl-incf to reduce verbosity.
124248 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
124250         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
124251         (shr-collect-extra-strings-in-table):
124252         Render extra tables in an invalid html as well.
124254 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
124256         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
124258 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
124260         Resurrect 'memory-limit' on MS-Windows
124262         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
124263         'memory-limit' will produce a trivial and useless result on Windows.
124265 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
124267         Update quickurl.el
124269         * lisp/net/quickurl.el (quickurl-format-function):
124270         (quickurl-sort-function): Use named function.
124271         (quickurl-list-mode-map): Remove lines that are extraneous now that the
124272         parent mode is special-mode.
124273         (quickurl-format-url, quickurl-sort-urls): New functions.
124274         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
124275         be used.
124276         (quickurl-list-mode): Derive from special-mode.  Nix setting
124277         buffer-read-only: special-mode does that.
124278         (quickurl-list-populate-buffer): Use dolist instead.
124279         (quickurl-list-quit): Use quit-window.  It looks like this was written
124280         before the quit-window rewrite.  quit-window is very useful now.
124282 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
124284         Refine multi-hop specs in Tramp
124286         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
124288         * test/lisp/net/tramp-tests.el
124289         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
124290         method.  "/h:" is allowed on non MS Windows.
124292 2016-11-08  Daniel Colascione  <dancol@dancol.org>
124294         Avoid infloop in python
124296         Fix bug#24905
124298         * lisp/progmodes/python.el (python-info-docstring-p): Improve
124299         infloop avoidance: replace (bobp) with generic test for
124300         forward progress.
124301         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
124302         test for bug#24905
124304 2016-11-08  Daniel Colascione  <dancol@dancol.org>
124306         Make gnus/message.el work correctly under lexical binding
124308         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
124309         `_' to shut up the byte compiler.
124310         (sha1-maximum-internal-length, smtpmail-smtp-server)
124311         (smtpmail-smtp-service): add missing defvars
124313 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
124315         Fix Bug#24889
124317         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
124318         defvar.  Fix docstring.
124319         (tramp-completion-file-name-handler-alist): Fix docstring.
124320         (tramp-register-file-name-handlers): Reassign
124321         `tramp-file-name-regexp' to the car of
124322         `tramp-file-name-structure'.  (Bug#24889)
124324 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
124326         Port to FreeBSD 11 AMD
124328         Problem reported by Ashish Shukla (Bug#24892).  I tested
124329         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
124330         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
124331         (sbrk): Check whether it exists.
124332         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
124333         Do not define, since this function is now used only on GNU/Linux,
124334         and sbrk might not exist on other platforms.
124335         (malloc_initialize_hook) [!GNU_LINUX]:
124336         Do not call my_heap_start, since its side effect will never be used.
124337         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
124338         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
124339         sbrk exists.
124341 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
124343         Port emacsclient to FreeBSD 11 etc.
124345         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
124346         platforms like FreeBSD 11 that use code involving strlen etc., and
124347         because <config.h> no longer includes string.h.
124349 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
124351         Prescribe history for read-regexp in query-replace
124353         In the fix for bug#24580, the history argument for read-regexp was
124354         removed erroneously; read-regexp's history argument defaults to
124355         regexp-history, not minibuffer-history.
124356         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
124357         minibuffer-history.  Fixes bug#24873.
124359 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
124361         Remove obsolete default-FOO variables
124363         * etc/NEWS: Indicate the removed variables.
124364         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
124365         * lisp/subr.el (default-mode-line-format, default-header-line-format):
124366         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
124367         (default-truncate-lines, default-left-margin, default-tab-width):
124368         (default-case-fold-search, default-left-margin-width):
124369         (default-right-margin-width, default-left-fringe-width):
124370         (default-right-fringe-width, default-fringes-outside-margins):
124371         (default-scroll-bar-width, default-vertical-scroll-bar):
124372         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
124373         (default-fringe-indicator-alist, default-fringe-cursor-alist):
124374         (default-scroll-up-aggressively, default-scroll-down-aggressively):
124375         (default-fill-column, default-cursor-type):
124376         (default-cursor-in-non-selected-windows):
124377         (default-buffer-file-coding-system, default-major-mode):
124378         (default-enable-multibyte-characters): Remove obsolete declarations.
124379         * src/buffer.c (default-mode-line-format, default-header-line-format):
124380         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
124381         (default-truncate-lines, default-left-margin, default-tab-width):
124382         (default-case-fold-search, default-left-margin-width):
124383         (default-right-margin-width, default-left-fringe-width):
124384         (default-right-fringe-width, default-fringes-outside-margins):
124385         (default-scroll-bar-width, default-vertical-scroll-bar):
124386         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
124387         (default-fringe-indicator-alist, default-fringe-cursor-alist):
124388         (default-scroll-up-aggressively, default-scroll-down-aggressively):
124389         (default-fill-column, default-cursor-type):
124390         (default-cursor-in-non-selected-windows):
124391         (default-buffer-file-coding-system, default-major-mode):
124392         (default-enable-multibyte-characters): Remove.
124393         * src/fileio.c (choose_write_coding_system): Fix comment.
124394         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
124396 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
124398         Improve the tutorial
124400         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
124401         * etc/tutorials/TUTORIAL.he: Follow suit.
124403 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
124405         Restore file descriptor limit in subprocesses
124407         Problem reported by Philipp Stephani (Bug#24869).
124408         * src/callproc.c (child_setup) [!DOS_NT]:
124409         Call restore_nofile_limit in the child.
124410         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
124411         (restore_nofile_limit): New function.
124412         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
124414 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
124416         Remove some subr.el functions obsoleted in 22.1
124418         * etc/NEWS: Document removed functions.  Also mention the "face"
124419         variables that have been removed recently.
124420         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
124421         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
124423 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
124425         Prefer comments /* like this */ in C code
124427 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
124429         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
124431 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
124433         Support zstd compressed files
124435         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
124436         zstd compression info: <https://facebook.github.io/zstd/>.
124437         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
124438         compressed tar archives.  (Bug#24853)
124440 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
124442         Enlarge DUMPED_HEAP_SIZE
124444         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
124445         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
124447 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
124449         Update from gnulib
124451         This incorporates:
124452         2016-11-03 intprops: port to older XL C
124453         * lib/intprops.h: Copy from gnulib.
124455 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
124457         Merge from origin/emacs-25
124459         acae275 ; Spelling fixes
124460         d8fac73 Update README for precompiled windows Emacs.
124461         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
124462         f708cb2 Clarify doc string of 'transpose-sexps'
124463         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
124464         bdc89eb Improve documentation of 'font-lock-remove-keywords'
124465         4a0c590 Fix documentation of the command summary key
124466         0221b7a Mark relocation workarounds with REL_ALLOC
124468 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
124470         Merge from origin/emacs-25
124472         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
124473         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
124474         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
124475         9c247d2 Update category-table for Chinese characters
124476         43986d1 Inhibit buffer relocation during regex searches
124477         fee4cef Revert fixes to allocation of regex matching
124479 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
124481         Fix references to long obsoleted functions/aliases
124483         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
124484         * doc/misc/cl.texi (Conditionals):
124485         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
124486         not string-to-int.
124487         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
124488         default-major-mode.
124489         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
124490         here is not a function call, but shorten the binding names anyways.
124491         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
124492         Bug#22244.
124493         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
124494         read-input.
124496 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
124498         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
124500 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
124502         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
124503         that gathers extra strings in an invalid html.  (bug#24831)
124504         (shr-tag-table): Use it.
124506 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
124508         Add 'x-ctrl-keysym' support on X window system
124510         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
124511         Support 'x-ctrl-keysym'.
124512         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
124513         property on it.
124514         <x-ctrl-keysym>: New DEFVAR_LISP.
124515         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
124516         fix.  (Bug#24822)
124518         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
124520         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
124522 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
124524         Improve autoload error reporting
124526         * src/eval.c (Fautoload_do_load): Include the absolute file name
124527         in the error message.
124529 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
124531         Stop force parameter of whitespace-report-region having global effect
124533         * lisp/whitespace.el (whitespace-report-region): Force parameter
124534         previously changed whitespace-style globally.  Fix this, and use
124535         whitespace-active-style, to take account of any changes the user may
124536         have made.  Simplify the documentation: the force parameter simply
124537         forces all classes of whitespace problem to be considered.
124538         (Bug#24745)
124540 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
124542         Document use of `tab-width'
124544         * lisp/whitespace.el: When talking about `8 or more spaces', mention
124545         `tab-width' instead of 8.  (Bug#24745)
124547 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
124549         Make whitespace-report-region respect current settings
124551         * lisp/whitespace.el (whitespace-report-region): Make it respect
124552         whitespace-style, including any additions made by the force parameter.
124553         This means that the function does not return t unless a whitespace
124554         problem that the user cares about is reported.  (Bug#24745)
124556 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
124558         Fix whitespace-space-after-tab-regexp
124560         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
124561         (whitespace-regexp): Match all the spaces after tabs for highlighting,
124562         not just the first tab-width.  Fix whitespace-space-after-tab::space
124563         version so that it requires at least tab-width spaces, not just 1.
124564         (Bug#24745)
124566 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
124568         Remove duplicate documentation
124570         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
124571           section which duplicate and in some places contradict (due to being
124572           out of date) the docstrings (Bug#24745).
124574 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
124576         Fix bob/eob checks
124578         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
124579         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
124580         work at beginning & end of buffer in whitespace-report-region, and only
124581         there (i.e. they will never match in regions that don't include the
124582         start or end of the buffer).  (Bug#24745)
124584 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
124586         (thing-at-point 'list) return nil if no list at point
124588         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
124589         Check first if we are at the beginning of a top-level sexp (Bug#24627).
124590         If point is inside a comment or string, look for a list out of the
124591         comment/string.
124592         Escape '[' in doc string.
124593         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
124594         expected test result as pass.
124596 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
124598         Remove antlr face aliases obsoleted in 22.1
124600         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
124601         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
124602         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
124603         (antlr-tokenref-face, antlr-literal-face):
124604         (antlr-literal-face): Remove.
124605         (antlr-font-lock-additional-keywords): Use face symbols instead.
124607 2016-11-02  Daniel Colascione  <dancol@dancol.org>
124609         Revert "Disable bracketed paste in a terminal in char mode"
124611         This change causes regressions, and besides, disabling BPM frame-wide
124612         for the sake of one buffer is the wrong solution.
124614         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
124616 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
124618         Revert change to eww-suggest-uris
124620         The introduced append is ugly and can yield '(nil); doing delq on it
124621         would be hacks on hacks.
124622         * lisp/net/eww.el: Require cl-lib at run time.
124623         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
124624         (eww): Remove erroneous append.
124625         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
124626         equal to eww-current-url, which is nil anyways if we are not in an EWW
124627         buffer.
124629 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
124631         Add eww-open-in-new-buffer to EWW
124633         * doc/misc/eww.texi (Basic): Document new command and key.
124634         * etc/NEWS: Mention new key and its purpose.
124635         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
124636         (eww): Append (eww-current-url) to the prompt defaults.
124637         (eww-open-in-new-buffer): New command.
124638         (eww-mode-map): Bind it and add a menu item.
124640 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
124642         Migrate auth-source to cl-lib
124644         * lisp/auth-source.el: Use cl-lib.
124645         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
124646         (auth-source-search): Replace cl calls with cl-lib ones.
124647         (auth-source-netrc-cache):
124648         (auth-source-forget+): Use cl-do-symbols instead.
124649         (auth-source-specmatchp, auth-source-netrc-parse):
124650         (auth-source-netrc-search, auth-source-netrc-create):
124651         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
124652         (auth-source-secrets-search, auth-source-secrets-create):
124653         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
124654         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
124655         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
124657 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
124659         Don't segfault on timed-out TLS connections
124661         * src/process.c (finish_after_tls_connection): Check that the
124662         file descriptor is still alive before proceeding (bug#24811).
124663         Also clean up the code slightly.
124665 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
124667         Support 'TARGETS' in clipboard selections on MS-Windows
124669         * src/w32select.c (Fw32_selection_targets): New function.
124671         * lisp/term/w32-win.el (w32--get-selection): Call
124672         'w32-selection-targets' to obtain the list of data formats
124673         available in the clipboard.
124675 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
124677         Fix documentation for 'eudc-options-file'
124679         * doc/misc/eudc.texi (The Server Hotlist): Update the default
124680         value of 'eudc-options-file'.
124682 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
124684         Fix documentation of 'eudc-inline-expansion-format'
124686         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
124687         'eudc-inline-expansion-format'. (Bug#24840)
124689 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
124691         Turn on lexical-binding in some more libs
124693         * lisp/calendar/icalendar.el:
124694         * lisp/emacs-lisp/regexp-opt.el:
124695         * lisp/emacs-lisp/timer.el:
124696         * lisp/gnus/message.el:
124697         * lisp/hex-util.el: Turn on lexical-binding.
124699 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
124701         Turn on lexical-binding in some net libs
124703         * lisp/net/dbus.el: Turn on lexical-binding.
124704         (dbus-list-hash-table, dbus-list-known-names):
124705         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
124706         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
124707         (dbus-introspect-get-property-names):
124708         (dbus-introspect-get-argument-names, dbus-get-all-properties):
124709         (dbus-property-handler, dbus-get-all-managed-objects):
124710         (dbus-managed-object-handler): Replace add-to-list with push. Add
124711         nreverse in some places where the APPEND argument of add-to-list was
124712         used.
124713         * lisp/net/network-stream.el: Turn on lexical-binding.
124714         * lisp/net/newsticker.el: Turn on lexical-binding.
124715         * lisp/net/shr.el: Turn on lexical-binding.
124716         (shr-make-placeholder-image): Remove unused variable binding.
124717         (shr-inspect-table): Replace ignored bindings with underscore.
124719 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
124721         Turn on lexical-binding in some url libs
124723         * lisp/url/url-auth.el:
124724         * lisp/url/url-expand.el:
124725         * lisp/url/url-future.el:
124726         * lisp/url/url-parse.el:
124727         * lisp/url/url-util.el: Turn on lexical-binding.
124729 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
124731         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
124733         (Bug#24733)
124735 2016-10-30  Alan Mackenzie  <acm@muc.de>
124737         Handle chars of syntax word which are also flagged as comment delimiters
124739         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
124740         as the start/end of two char comment delimiters, recognize a comment delimiter
124741         in preference to a portion of a word.  This fixes bug #24767.
124743 2016-10-29  Daniel Colascione  <dancol@dancol.org>
124745         Speed up initialization by preferring /dev/urandom to GnuTLS
124747         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
124749 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
124751         Quote file names in dired compression commands
124753         * lisp/dired-aux.el (dired-do-compress-to): Change the string
124754         used as shell command for compression by quoting the filenames
124755         used for input and output (Bug #24620).
124757 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
124759         Avoid errors in posn-at-point for large images
124761         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
124762         returns a 6-member list for a partially visible glyph, pass the
124763         sum of Y and RTOP to posn-at-x-y, since that's where the visible
124764         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
124765         (Bug#23809)
124767 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
124769         Unbreak MS-Windows build
124771         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
124772         name is "wignore".
124773         (x_set_cursor_gc, x_set_mouse_face_gc)
124774         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
124775         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
124776         use s->window, which doesn't exist anymore.
124778         * src/w32term.h (XCreateGC): Adjust prototype.
124780 2016-10-28  Daniel Colascione  <dancol@dancol.org>
124782         Add double-buffering support to reduce flicker
124784         * src/dispextern.h (struct glyph_string): Remove window member
124785         (block_buffer_flips, unblock_buffer_flips)
124786         (buffer_flipping_blocked_p): Declare.
124788         * src/xterm.h (struct x_display_info): New member supports_xdbe.
124789         (struct x_output): New members draw_desc and need_buffer_flip.
124790         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
124791         (FRAME_X_DOUBLE_BUFFERED_P)
124792         (FRAME_X_NEED_BUFFER_FLIP): New macros.
124793         (set_up_x_back_buffer, tear_down_x_back_buffer)
124794         (initial_set_up_x_back_buffer): Declare.
124796         * src/xterm.c: Include Xdbe.h.
124797         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
124798         (x_draw_vertical_window_border, x_update_end)
124799         (x_setup_relief_color, x_draw_relief_rect)
124800         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
124801         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
124802         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
124803         variables appropriately; substitute calls to XClearArea with
124804         x_clear_area, which DTRT for double buffering.
124805         (x_clear_window, x_clear_area): In double-buffering mode, use
124806         rect-drawing X functions instead of XClearWindow and
124807         XClearArea, which always operate on the front buffer.
124808         (show_back_buffer): New function.
124809         (XTframe_up_to_date): Call show_back_buffer when done.
124810         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
124811         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
124812         now independent X windows.
124813         (handle_one_xevent): Call font_drop_xrender_surfaces when
124814         XftDraw might need regenerating; perform buffer flip when
124815         responding to Expose events; issue front-buffer clearing
124816         commands as stopgap while we wait for redisplay.
124817         Call flush_dirty_back_buffers.
124818         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
124819         earlier in function.
124820         (x_free_frame_resources): Call tear_down_x_back_buffer when
124821         destroying frame.
124822         (x_term_init): Attempt to initialize double buffer extension.
124823         (x_flip_and_flush): New function.
124824         (x_redisplay_interface): Point to x_flip_and_flush instead of
124825         x_flip directly.
124826         (flush_dirty_back_buffers): New function.
124827         (x_create_terminal): Register buffer_flipping_unblocked_hook.
124829         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
124830         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
124831         (xftfont_draw): Call x_mark_frame_dirty.
124832         (xftfont_drop_xrender_surfaces): New function.
124833         (syms_of_xftfont): Register it.
124835         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
124836         FRAME_X_WINDOW.
124838         * src/xfns.c: Include Xdbe.h.
124839         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
124840         (Fx_double_buffered_p): New functions.
124841         (x_window): Call initial_set_up_x_back_buffer.
124842         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
124843         (Fx_create_frame): Configure `inhibit-double-buffering'
124844         frame parameter.
124845         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
124846         (x_frame_parm_handlers): Register
124847         x_set_inhibit_double_buffering.
124848         (syms_of_xfns): Register Sx_double_buffered_p.
124849         (x_mark_frame_dirty): Define.
124851         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
124852         FRAME_X_WINDOW.
124854         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
124855         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
124856         (redisplay_internal): Restart redisplay if a frame is garbaged
124857         during updating; explain why. Block buffer flips
124858         during redisplay.
124859         (redisplay_preserve_echo_area): Block buffer flip during call
124860         to redisplay_internal.
124861         (buffer_flip_blocked_depth): New variable.
124862         (block_buffer_flips, unblock_buffer_flips)
124863         (buffer_flipping_blocked_p): New functions.
124864         (init_glyph_string): Stop setting window member of struct
124865         glyph_string.
124867         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
124868         x_set_inhibit_double_buffering.
124870         * src/termhooks.h (struct terminal): Add
124871         buffer_flipping_unblocked_hook.
124873         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
124874         x_set_inhibit_double_buffering.
124876         * src/image.c (x_create_bitmap_from_data)
124877         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
124878         (Create_Pixmap_From_Bitmap_Data)
124879         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
124880         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
124881         variables appropriately.
124883         * src/gtkutil.c: Include Xdbe.h.
124884         (xg_get_widget_from_map): Forward declare.
124885         (xg_clear_under_internal_border): Remove obsolete calls to
124886         refresh scroll bars.
124887         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
124888         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
124889         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
124890         same reason.
124891         (xg_set_background_color): Set scroll bar background colors.
124892         (xg_finish_scroll_bar_creation): New function with common
124893         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
124894         scroll bars to be real X11 windows.
124895         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
124896         xg_finish_scroll_bar_creation.
124897         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
124898         Remove obsolete calls to refresh scroll bars; fix comments.
124900         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
124901         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
124902         FRAME_X_WINDOW.
124904         * src/frame.c (frame_parms): Add table entry for new
124905         `inhibit-double-buffering' frame parameter
124906         (syms_of_frame): Register Qinhibit_double_buffering.
124908         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
124909         (font_drop_xrender_surfaces): Declare.
124911         * src/font.c (font_drop_xrender_surfaces): New function.
124913         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
124915         * etc/NEWS: Mention use of double buffering
124917         * doc/lispref/frames.texi (Management Parameters): Document
124918         `inhibit-double-buffering' frame parameters.
124919         (Visibility of Frames): Document `x-double-buffered-p'.
124921         * configure.ac: Check for the X double buffer extension
124923 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
124925         Improve result of `auth-source-search' in Tramp
124927         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
124928         :user in result of `auth-source-search'.
124930 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
124932         Fix avl-tree alias docstrings
124934         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
124935         (avl-tree-stack-p, avl-tree-create):
124936         (avl-tree-compare-function): Add calling convention to docstrings.
124938 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
124940         Update from gnulib
124942         This incorporates:
124943         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
124944         2016-10-13 stdint: port SIZE_MAX to glibc s390
124945         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
124946         * lib/gnulib.mk: Regenerate.
124947         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
124948         * m4/utimes.m4: Copy from gnulib.
124950 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
124952         electric-quote-chars fixups
124954         * lisp/electric.el (electric-quote-chars): Check types and safety
124955         more carefully.
124956         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
124957         Omit no-longer-necessary runtime error diagnostic.
124959 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
124961         New user variable 'electric-quote-chars'
124963         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
124964         * lisp/electric.el (electric-quote-chars): New defcustom.
124965         (electric-quote-post-self-insert-function): Use it.
124967 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
124969         Add more tests for Bug#24627
124971         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
124972         Add tests for 'list-at-point'.
124974 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
124976         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
124978         * lisp/shell.el (shell--unquote&requote-argument): Fix
124979         off-by-one thinko.  Don't use match data after a failed string-match.
124981 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
124983         * src/xwidget.c (webkit_js_to_lisp): Now static.
124985 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
124987         xwidget: Map "previous-line" and "next-line" to scroll
124989         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
124990         procedures.
124992 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
124994         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
124996         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
124997         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
124998         respectively.
124999         (xwidget-webkit-scroll-top,
125000         xwidget-webkit-scroll-bottom): New procedures.
125002 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125004         Implement zoom for WebKit widget.
125006         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
125007         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
125008         (xwidget-webkit-zoom): Declare procedure.
125009         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
125011 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125013         Dynamically resize WebKit widget.
125015         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
125016         xwidget-webkit-adjust-size-in-frame): New procedures.
125017         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
125018         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
125019         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
125020         add widget and window as arguments.
125021         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
125023 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125025         Let initial WebKit view fill window
125027         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
125028         WebKit widget to window size.
125030 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125032         xwidget: Remove title hack.
125034         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
125035         * lisp/xwidget.el (xwidget-webkit-get-title,
125036         xwidget-webkit-execute-script-rv): Remove procedures.
125038 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125040         xwidget: Get URL asynchronously.
125042         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
125044 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125046         xwidget: Get selection with asynchronous JavaScript
125048         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
125049         process selection.
125050         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
125052 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125054         xwidget: Add function to find element by CSS selector
125056         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
125058 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125060         xwidget: Simplify functions to scroll to elements
125062         * lisp/xwidget.el (xwidget-webkit-show-named-element,
125063         xwidget-webkit-show-id-element,
125064         xwidget-webkit-show-id-or-named-element): Simplify functions by
125065         scrolling exclusively with JavaScript.
125067 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125069         xwidget: Get title via asynchronous JavaScript.
125071         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
125072         asynchronously.
125074 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125076         xwidget: Do not use `xwidget-execute-script-rv' to insert string
125078         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
125079         return value via callback instead of using
125080         `xwidget-webkit-execute-script-rv'.
125082 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125084         Remove scrolled window container around WebKit widget
125086         The WebKit widget can scroll on its own and does not need to wrapped
125087         with a scrolled window container.
125089         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
125090         * src/xwidget.c: Remove widgetscrolledwindow_osr.
125091         (xwidget-set-adjustment): Remove.
125092         (xwidget-resize): Resize Webkit widget last.
125093         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
125094         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
125095         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
125096         Implement scrolling via JavaScript.
125098 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125100         xwidget: Pass JavaScript return value to optional callback procedure
125102         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
125103         callback argument.
125104         (xwidget-webkit-callback): Handle "javascript-callback" event type.
125105         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
125106         argument FUN, a Lisp procedure to execute on the JavaScript return
125107         value.
125108         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
125109         webkit_js_to_lisp): New procedures.
125111 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
125113         xwidget: Use WebKit2 API
125115         * configure.ac: Check for webkit2gtk-4.0.
125116         * src/xwidget.c: Adjust to use WebKit2 API.
125117         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
125118         `xwidget-event-type'.
125120 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
125122         Merge from origin/emacs-25
125124         4c3f738 Comment for bug#24793
125126 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
125128         Merge from origin/emacs-25
125130         96ac0c3 Yet another fix for using pointers into buffer text
125131         1047496 Another fix for using pointer to buffer text
125132         3121992 Fix Bug#24478
125134 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
125136         Merge from origin/emacs-25
125138         ee04aed Fix handling of buffer relocation in regex.c functions
125139         71ca4f6 Avoid relocating buffers while libxml2 reads its text
125140         1b3fc8a ; Remove redundant code in gmalloc.c
125141         9afea93 Attempt to catch reads from a buffer that is relocated
125143 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
125145         Minor fix in the documentation of seq-random-elt
125147         * doc/lispref/sequences.texi (Sequence Functions): Remove false
125148           sentence.
125150 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
125152         Minor copyedits in documentation of 'seq-random-elt'
125154         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
125155         last change.  Use 2 spaces between sentences.
125157 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
125159         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
125161 2016-10-25  Damien Cassou  <damien@cassou.me>
125163         Add seq-random-elt to seq.el
125165         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
125166           random element from it's sequence parameter.
125168         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
125169           test-seq-random-elt-return-nil): Test the new function
125171         * doc/lispref/sequences.texi: Document the new function
125173 2016-10-24  Ken Brown  <kbrown@cornell.edu>
125175         * configure.ac: Stop using mmap for buffers on Cygwin.
125177 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
125179         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
125181 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
125183         Don't prompt user when killing Flymake processes
125185         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
125186         Don’t prompt the user when killing Flymake processes.
125188         * doc/misc/flymake.texi (Starting the syntax check process):
125189         Document new behavior.
125191 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
125193         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
125195         This finishes the merge of the recent emacs-25 regex changes into
125196         master.
125198 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
125200         Merge from origin/emacs-25
125202         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
125203         6f1325e electric-quote mode no longer worries about coding
125204         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
125205         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
125206         b2ba630 Explain how to debug emacsclient lisp errors
125207         9da53e2 Let describe-function work for lambda again
125208         5c2da93 Fix kill-line's docstring
125209         ad66b3f Fix handling of allocation in regex matching
125210         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
125211         3877c91 vc-region-history: Search just on lines intersecting the region
125212         8988327 Fix documentation of 'alist-get'
125213         b6998ea * src/regex.h (re_match_object): Improve commentary.
125215         # Conflicts:
125216         #       etc/NEWS
125217         #       lisp/help-fns.el
125219 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
125221         Merge from origin/emacs-25
125223         8ad0d7d ; Fix quoting in etc/NEWS
125224         6b9dee1 Change Tramp version to "2.2.13.25.2"
125225         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
125226         b2f32e4 Don't scan compiled module files for autoloads
125227         9a758b4 Fix Bug#24698
125228         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
125229         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
125230         12da149 Update URL of MS-Windows optional DLLs
125231         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
125232         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
125233         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
125234         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
125236         # Conflicts:
125237         #       doc/misc/trampver.texi
125238         #       etc/NEWS
125239         #       lisp/net/tramp-sh.el
125240         #       lisp/net/trampver.el
125242 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
125244         Merge from origin/emacs-25
125246         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
125247         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
125248         993acb5 ; Minor fix for last change in characters.el
125249         30c4bb5 More char-width fixes
125250         4eb4463 Fix char-width-table values for some Emoji
125251         528997d Keep point when switching from and to *terminal* buffer
125252         2130005 * INSTALL: Use correct Emacs release number 25.
125253         10835b1 Avoid crashes due to objects read with the #n=object form
125254         4de671d Improve doc string of 'completion-at-point-functions'
125255         ceb46f0 Fix crash in evaluating functions
125256         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
125258 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
125260         Merge from origin/emacs-25
125262         2deb20c Port last_marked change to full-program optimizers
125263         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
125264         dac64e3 Avoid optimizing out the last_marked[] array
125266 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
125268         Avoid infinite hscrolling in redisplay
125270         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
125271         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
125272         redisplay (Bug #24633).
125274 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
125276         Fix error codes in Tramp
125278         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
125279         taken from tramp.el.
125280         (tramp-file-missing): New defconst.
125282         * lisp/net/tramp.el (tramp-user-error): Remove it.
125283         (tramp-check-proper-method-and-host)
125284         (tramp-dissect-file-name, tramp-debug-message)
125285         (tramp-handle-shell-command):
125286         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
125287         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
125288         Use `tramp-compat-user-error'.
125290         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
125291         (tramp-handle-load):
125292         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
125293         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
125294         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
125295         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
125296         Use `tramp-file-missing'.  (Bug#24714)
125298         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
125299         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
125300         Use `file-already-exists'.
125302 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
125304         Autoload all commands from misc.el
125306         Only two of the commands there were autoloaded, one of which is an
125307         easter egg.
125308         * lisp/misc.el (copy-from-above-command):
125309         * lisp/misc.el (zap-up-to-char):
125310         * lisp/misc.el (mark-beginning-of-buffer):
125311         * lisp/misc.el (mark-end-of-buffer):
125312         * lisp/misc.el (upcase-char):
125313         * lisp/misc.el (forward-to-word):
125314         * lisp/misc.el (backward-to-word):
125315         Add autoload cookie.
125317 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
125319         On terminal frames ignore minibuffer frame parameter (Bug#24758)
125321         * src/frame.c (Fmake_terminal_frame): Don't complain when the
125322         caller asks for a deviant minibuffer setting (Bug#24758).
125324 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
125326         New error file-missing
125328         This fixes a recently-introduced bug in delete-directory,
125329         where the code assumes the C locale when determining
125330         whether a file-error corresponds to a missing file (Bug#24714).
125331         * doc/lispref/errors.texi (Standard Errors):
125332         * doc/lispref/files.texi (Changing Files):
125333         * etc/NEWS:
125334         Document this.
125335         * doc/lispref/loading.texi (How Programs Do Loading):
125336         Say "a file-error" rather than "the error file-error" since
125337         it might be a file-missing now.
125338         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
125339         * lisp/epa-file.el (epa-file--find-file-not-found-function):
125340         (epa-file-insert-file-contents, epa-file-write-region):
125341         * lisp/ffap.el (find-file-at-point, dired-at-point):
125342         * lisp/jka-compr.el (jka-compr-insert-file-contents)
125343         (jka-compr-insert-file-contents):
125344         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
125345         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
125346         * lisp/progmodes/etags.el (visit-tags-table):
125347         * lisp/url/url-handlers.el (url-copy-file):
125348         * src/fileio.c (report_file_errno):
125349         Signal file-missing if appropriate.
125350         * lisp/epa-file.el (epa-file-insert-file-contents):
125351         * lisp/jka-compr.el (jka-compr-insert-file-contents):
125352         Don't assume file-error is a leaf in the error hierarchy.
125353         * lisp/files.el (files--force):
125354         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
125355         * lisp/jka-compr.el (jka-compr-insert-file-contents):
125356         Use file-missing to detect whether the file is missing.
125357         * lisp/url/url-handlers.el (url-copy-file):
125358         Signal file-already-exists if appropriate.
125359         * src/fileio.c (syms_of_fileio): Define file-missing.
125361         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
125363 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
125365         Teach browse-url to open man page urls
125367         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
125368         (browse-url): Add a condition to catch links matching "^man:".
125369         (browse-url-man): New function.
125371 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
125373         Improve fontification of footnote references in Info buffers
125375         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
125376         in parentheses as if they were footnote references.  See
125377         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
125378         for the details.
125380 2016-10-20  Philipp Stephani  <phst@google.com>
125382         Minor fixes to cc-mode-tests.el
125384         See Bug#24747.
125386         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
125387         file-local variable; add comments to make checkdoc happy.
125389 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
125391         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
125393 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
125395         Document, how to suppress iTerm2 shell integration in Tramp
125397         * doc/misc/tramp.texi (Frequently Asked Questions):
125398         Suppress iTerm2 shell integration.
125400 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
125402         cl-seq: Remove max limit on input sequence length
125404         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
125405         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
125406         Remove limit on maximum length for the input sequence
125407         (#Bug24264).
125408         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
125410 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
125412         Derive dig-mode from special-mode
125414         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
125415         mode-class assignment.
125416         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
125417         (dig-mode): Derive from special-mode.
125418         (dig-exit): Use quit-window instead.
125419         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
125420         (query-dig): Use pop-to-buffer-same-window.
125422 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
125424         cl-defstruct: Fix debug spec and check of slot options
125426         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
125427         option syntax.  Fix debug spec.  (Bug#24700)
125429 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
125431         isearch: Fix bug in defstruct syntax
125433         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
125434         options.  (Bug#24685)
125436 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
125438         Add an option for eshell-input-filter
125440         * etc/NEWS: Document changes.
125441         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
125442         symbol.  Change type to a radio for choosing functions.  Refer to both
125443         new functions.
125444         (eshell-input-filter-default): New function.  Same body as the previous
125445         value of eshell-input-filter.
125446         (eshell-input-filter-initial-space): New function.
125448 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
125450         delete-directory no longer errors when racing
125452         Problem reported by Glenn Morris for package-test.el (Bug#24714).
125453         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
125454         * lisp/files.el (files--force): New function.
125455         (delete-directory): Use it to avoid error in this case.
125457 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
125459         Support Shift selection in nxml-mode commands
125461         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
125462         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
125463         (nxml-backward-down-element, nxml-forward-element)
125464         (nxml-backward-element, nxml-forward-paragraph)
125465         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
125466         support shift-selection.
125468 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
125470         Simplify some loops and cons
125472         * lisp/net/mailcap.el: Replace cl with cl-lib.
125473         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
125474         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
125475         (mailcap-possible-viewers): Use push and dolist where possible.
125476         (mailcap-viewer-passes-test): Remove unused binding.
125477         (mailcap-add-mailcap-entry): Use push.
125478         (mailcap-mime-info): Remove unused binding.  Use push.
125479         (mailcap-parse-mimetypes): Use dolist.
125481 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
125483         Turn on lexical-binding in auth-source
125485         * lisp/auth-source.el: Turn on lexical-binding.
125486         (auth-source-netrc-parse, auth-source-netrc-normalize):
125487         (auth-source-token-passphrase-callback-function):
125488         (auth-source-netrc-create, auth-source-secrets-search):
125489         (auth-source-macos-keychain-search-items):
125490         (auth-source-plstore-search): Use let instead of lexical-let.
125492 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
125494         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
125496         * src/frame.c (do_switch_frame): Redirect frame focus also when
125497         the frame switched to has its minibuffer window on the selected
125498         frame.
125499         * src/window.c (candidate_window_p): To qualify as candidate
125500         it's not sufficient for the window's frame to just share the
125501         minibuffer window - it must be active as well.
125503 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
125505         Fix time-related data types in 2 editfns.c functions
125507         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
125508         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
125509         instead of relying on struct timespec's 'tv_sec' member to be of
125510         compatible type.
125512 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
125514         Document atomic windows in Elisp manual (Bug#18170)
125516         * lisp/window.el (display-buffer-in-atom-window): If no `side'
125517         alist entry was specified, use `below' as the doc tells.
125518         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
125519         * doc/lispref/windows.texi (Atomic Windows): New section.
125520         (Window Parameters): Update reference.
125522 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
125524         New face homoglyph
125526         Suggested by Eli Zaretskii, from a feature request by
125527         Alan Mackenzie (Bug#24468).
125528         * doc/emacs/display.texi (Standard Faces, Text Display):
125529         * etc/NEWS: Document this.
125530         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
125531         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
125532         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
125533         * etc/themes/wombat-theme.el:
125534         Customize homoglyph to be the same as escape-glyph.
125535         * lisp/cus-theme.el (custom-theme--listed-faces):
125536         Add homoglyph.
125537         * lisp/faces.el (homoglyph): New face.
125538         * lisp/startup.el (startup--setup-quote-display): Use it.
125540 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
125542         Port to Ubuntu 16.10, which needs gcc -nopie
125544         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
125545         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
125546         preference to -nopie (Bug#24682).
125548 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
125550         Fix bug#24665 in Tramp
125552         * doc/misc/tramp.texi (External methods): Do not confuse
125553         method names.  (Bug#24665)
125555 2016-10-15  Sam Steingold  <sds@gnu.org>
125557         use full time objects (lists) instead of floats when possible
125559         * lisp/midnight.el (midnight-buffer-display-time): Remove
125560         (clean-buffer-list): Use float time only for time comparison
125562 2016-10-15  Sam Steingold  <sds@gnu.org>
125564         Save and restore buffer-display-time
125566         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
125567         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
125568         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
125570 2016-10-15  Philipp Stephani  <phst@google.com>
125572         Disable bracketed paste in a terminal in char mode
125574         In char mode, a terminal doesn't accept bracketed paste events,
125575         therefore we should disable them; see Bug#24639.  To decouple the XTerm
125576         management from term.el, introduce a per-buffer setting to disable
125577         bracketed paste for that buffer.  If bracketed paste is inhiited for at
125578         least one buffer in a terminal, it is disabled for the whole terminal.
125580         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
125581         inhibit XTerm bracketed paste per buffer.
125582         (xterm--buffer-terminals, xterm--update-bracketed-paste)
125583         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
125584         functions.
125585         (xterm--init-bracketed-paste-mode): Remove unused helper
125586         function.
125587         (terminal-init-xterm): Update bracketed paste status when
125588         initializing an XTerm and on window configuration change.
125590         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
125591         bracketed paste in char mode.
125593 2016-10-15  Dima Kogan  <dima@secretsauce.net>
125595         Undo the effect of CapsLock when other modifiers are present
125597         * src/keyboard.c (make_lispy_event): Effectively undo the effect
125598         of CapsLock if any modifiers other than Shift are present in a key.
125599         (Bug#24456)
125601 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
125603         Add tests for foreign completions in CSS mode
125605         * test/lisp/textmodes/css-mode-tests.el
125606         (css-test-foreign-completions): New test for
125607         `css--foreign-completions'.
125608         (css-test-complete-selector-tag): Rename test.
125609         (css-test-complete-selector-class): New test testing completion of
125610         class names in selectors.
125611         (css-test-complete-selector-id): New test testing completion of IDs in
125612         selectors.
125614 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
125616         Cosmetic change to last mm-url change
125618         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
125619         Tweak last change slightly for more readability.
125621 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
125623         Fix problem with submitting binary data via HTTP forms
125625         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
125626         Document the parameters, clean up the code, and make uploading
125627         binary data really work (which it didn't if the binary bits
125628         were in the last part of the data).
125630 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
125632         * lisp/time.el (display-time-string-forms): Fix custom type.
125634 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
125636         Derive Man and WoMan modes from special-mode
125638         * lisp/man.el (Man-mode-map): Set parent to map composed from both
125639         button-buffer-map and special-mode-map.  Remove redundant bindings.
125640         Fix menu to refer to the quit-window command.
125641         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
125642         buffer-read-only binding.
125643         (Man-quit): Remove.
125644         * lisp/woman.el (woman-really-find-file): Use setq-local.
125645         (woman-mode-map): Refer to woman-mode in docstring.
125646         (woman-mode): Derive from special-mode.  Document woman-mode-map in
125647         docstring.  Use setq-local where possible; imenu-generic-expression is
125648         already buffer-local.
125649         (woman-negative-vertical-space): Replace unused binding with _.
125651 2016-10-13  Philipp Stephani  <phst@google.com>
125653         Fix crash in evaluating functions
125655         See Bug#24673
125657         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
125658         as (closure).
125660         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
125662 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
125664         Add test for Bug#24627
125666         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
125668 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
125670         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
125672 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
125674         Work around Samba bug with ':' in symlink contents
125676         * src/filelock.c (current_lock_owner): When reading the contents
125677         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
125679 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
125681         If autoloads buffer is unchanged, mark it as such (bug#23692)
125683         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
125684         If autoloads buffer is unchanged, mark it as such (bug#23692).
125686 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
125688         Use "26.1" version string in Tramp, fix some comments
125690         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
125691         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
125692         Use "26.1" version string.
125694 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
125696         form-at-point work for all kind of THINGS
125698         * lisp/thingatpt.el (form-at-point):
125699         Use thing-at-point--read-from-whole-string only if thing-at-point
125700         returns a string (Bug#24605).
125702 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
125704         Fix compilation warnings on MS-Windows
125706         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
125707         definitions of these macros, which seem to be unneeded and cause
125708         compiler warnings.
125709         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
125710         macros.
125711         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
125712         make it external, to avoid compiler warning.
125714 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125716         Spelling and clarity fixes
125718 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125720         Merge from origin/emacs-25
125722         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
125723         44e402e Allow to disable compaction of font caches
125724         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
125725         c03d44b ; Fix last commit
125726         d4be4f3 ; Fix indexing in lispref manual
125727         ed399f2 ; Minor improvement in documentation of generators
125728         197a6bc Fix horizontal scrolling during Isearch
125729         3566644 Fix infloop in redisplay due to truncated lines and invisible...
125731         # Conflicts:
125732         #       etc/NEWS
125734 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125736         Merge from origin/emacs-25
125738         c4a5e7e Improve documentation of 'menu-bar-open'
125740 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125742         Merge from origin/emacs-25
125744         4b347fe Clarify that doc fixes are okay in feature freeze
125745         01669ad Avoid crashes when setting the cursor
125746         f2144ee Restore 'command-debug-status' functionality
125747         ec6e4b9 ; Minor addition to CONTRIBUTE
125749 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125751         Merge from origin/emacs-25
125753         74b4f13 Document nil args of compare-buffer-substrings
125754         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
125755         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
125757 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
125759         Merge from origin/emacs-25
125761         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
125762         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
125763         bbf1ffd Regexp Functions doc minor fixes
125765 2016-10-08  Philipp Stephani  <phst@google.com>
125767         Don’t consider nested let-alist forms
125769         See Bug#24641.
125771         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
125772         consider symbols in nested ‘let-alist’ forms.
125774         * test/lisp/emacs-lisp/let-alist-tests.el
125775         (let-alist--deep-dot-search--nested): Add a unit test.
125777 2016-10-08  Alain Schneble  <a.s@realize.ch>
125779         Support SIGTRAP in kill emulation on Windows
125781         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
125782         'DebugBreakProcess' to cause a breakpoint exception to occur in the
125783         specified process.  On Windows versions prior to Windows XP that do
125784         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
125785         (as opposed to EINVAL before this change).
125786         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
125787         and global variable to track state of run-time dynamic linking of this
125788         function.
125790         * etc/NEWS: Add entry to document that 'signal-process' now supports
125791         SIGTRAP.
125793 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
125795         Deprecate 'wp' group and introduce a new group 'text'
125797         * lisp/textmodes/tildify.el (tildify):
125798         * lisp/textmodes/text-mode.el (text-mode-hook):
125799         * lisp/textmodes/table.el (table):
125800         * lisp/textmodes/rst.el (rst):
125801         * lisp/textmodes/refer.el (refer):
125802         * lisp/textmodes/refbib.el (refbib):
125803         * lisp/textmodes/picture.el (picture):
125804         * lisp/textmodes/nroff-mode.el (nroff):
125805         * lisp/textmodes/enriched.el (enriched):
125806         * lisp/textmodes/bib-mode.el (bib):
125807         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
125808         * lisp/nxml/rng-valid.el (relax-ng):
125809         * lisp/view.el (view):
125810         * lisp/ps-print.el (ps-print):
125811         * lisp/printing.el (printing):
125812         * lisp/outline.el (outlines):
125813         * lisp/lpr.el (lpr):
125814         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
125815         * lisp/cus-edit.el (wp): Remove the "text" tag.
125816         (text): New defgroup, inherits from the deprecated 'wp'.
125817         (outlines): Remove, in favor of the definition in outline.el.
125818         (tex): Inherit from 'text'.
125819         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
125821 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
125823         Extend dictionary and library-directory handling for Ispell
125825         * lisp/textmodes/ispell.el (ispell-check-version): Allow
125826         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
125827         ISPELL_DICTDIR).
125828         (ispell-valid-dictionary-list): If the -d option to Ispell
125829         specifies an absolute file name, use that regardless of
125830         ispell-library-directory.  (Bug#24439)
125832 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
125834         Fix unescaped \begin{...} in docstring
125836         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
125837         \begin{...} in docstring.
125839 2016-10-06  Noah Friedman  <friedman@splode.com>
125841         Update comment.
125843 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
125845         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
125847         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
125848         defining to avoid redefinition warnings.
125850         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
125851         inclusion of sys/stat.h from the system headers, which could then
125852         lead to compilation errors due to redefinition of 'struct stat'
125853         etc.  This is needed because latest versions of MinGW runtime
125854         include sys/stat.h from wchar.h.
125856         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
125857         redefine to 4 to avoid conflict between 2 definitions of
125858         MemoryBarrier.  (Bug#24613)
125860 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
125862         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
125864 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
125866         Autoload entry point testcover-start
125868         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
125869         testcover-start.
125871 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
125873         Bump version of ntlm.el to 2.1.0
125875         * lisp/net/ntlm.el: Bump version to 2.1.0.
125877 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
125879         lisp/net/ntlm.el: Fix comment and docstring formatting
125881 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
125883         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
125885         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
125886         "negotiate domain supplied" bit when a domain is supplied.  Do
125887         not set "negotiate workstation supplied" bit.
125888         (ntlm-build-auth-response): Set domain to empty string by
125889         default.  Set workstation name to "WORKSTATION".  Set flags to
125890         logical and of Type 1 and Type 2 message flags.  Remove four
125891         trailing 0 bytes.  Always set LM response.  Hard-code domain
125892         offset.  Reorder buffer fields.
125894 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
125896         Document return value of `display-buffer-in-side-window'
125898         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
125899         * lisp/window.el (display-buffer-in-side-window): Describe
125900         return value of `display-buffer-in-side-window'.
125902 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
125904         Improve wording in side windows documentation
125906         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
125907         (Side Window Options and Functions)
125908         (Frame Layouts with Side Windows): Minor wording improvements.
125910 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
125912         Document and fix some bugs with side windows
125914         Add a documentation for side windows and fix some bugs
125915         found when testing their behavior.  Also add a new window
125916         parameter `no-delete-other-window', a new `display-buffer'
125917         alist member called `window-parameters', and functions to
125918         toggle and reverse side windows on a frame.  Add new function
125919         `window-swap-states' to exchange states of two live windows.
125921         * lisp/window.el (display-buffer-in-atom-window): Use
125922         `split-window-no-error'.
125923         (window-sides-vertical): Maybe change layouts when setting this
125924         variable.
125925         (window-sides-reversed): New option.
125926         (window-sides-slots): Rewrite doc-string and help echoes.
125927         (window-sides-shown): New buffer-local variable set when showing
125928         a buffer in a side window.
125929         (window--sides-inhibit-check): New variable.
125930         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
125931         (window--sides-reverse-all, window--sides-reverse-frame)
125932         (window--sides-reverse-side, window--sides-reverse)
125933         (window--sides-verticalize-frame, window--sides-verticalize)
125934         (window--sides-check-failed): New functions.
125935         (window--side-window-p): Remove function.
125936         (window--major-non-side-window): Rename to `window-main-window',
125937         adjust callers, rewrite doc-string.
125938         (window--major-side-window): Rename to
125939         `window--make-major-side-window-next-to', adjust caller, fix
125940         doc-string.
125941         (display-buffer-in-major-side-window): Rename to
125942         `window--make-major-side-window', adjust
125943         caller, rewrite doc-string.  Make `window-side' and
125944         `window-slot' parameters persistent (Bug#23858).  Don't set
125945         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
125946         (delete-side-window): Remove function.
125947         (display-buffer-in-side-window): Fix doc-string.  Don't set
125948         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
125949         (window--side-check): Rename to window--sides-check.  Rewrite
125950         completely.  Adjust caller.
125951         (window-resize-no-error): Don't describe PIXELWISE argument.
125952         (adjust-window-trailing-edge): Fix bug that disallowed
125953         re-enlarging windows that were too small.
125954         (window-deletable-p): Don't tell that a minibuffer window on a
125955         non-minibuffer-only frame can be deleted.  Fix doc-string.
125956         (delete-window): Handle deleting a side window here (the
125957         `delete-window' parameter is no more set for side windows).
125958         (delete-other-windows): Handle ‘no-delete-other-window'
125959         parameter. Don't treat side windows separately (see discussion
125960         of Bug#24368) but keep optimization that makes the main window
125961         the root window of its frame.
125962         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
125963         windows and buffers shown in side windows separately.
125964         (split-window-no-error): New function.
125965         (window--state-get-1): Use right buffer when storing window
125966         point and start positions and WRITABLE is nil (Bug#24368).
125967         (window--state-put-1): Fix handling of `window-combination-limit'.
125968         Use `split-window-no-error'.
125969         (window--state-put-2): Try to restore windows with preserved
125970         size to their original size.  Fix bug where a fixed window's width
125971         was not preserved.
125972         (window-state-put): When reducing an internal window to a live
125973         one, don't choose a side window.
125974         (window-swap-states): New function.
125975         (window-splittable-p): Don't call `window--side-window-p'.
125976         (window--display-buffer): Handle `window-parameters' ALIST entry.
125977         Minor rewrite.
125978         (display-buffer): Mention `window-parameters' entry in
125979         doc-string.
125980         (display-buffer-at-bottom): Call `split-window-no-error'.
125982         * doc/lispref/elisp.texi (Top): New section "Side Windows".
125983         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
125984         of `delete-window' and `delete-other-windows' wrt window
125985         parameters and side windows.
125986         (Display Action Functions): Mention `window-parameters' ALIST
125987         entry.
125988         (Side Windows): New section (Bug#18170).
125989         (Window Configurations): Describe new function `window-swap-states'.
125990         (Window Parameters): Say that functions may behave specially when
125991         their homonymous window parameter has been set.  Mention new
125992         parameter `no-delete-other-window'.  Add cross reference for
125993         `window-side' and `window-slot' parameters.
125995 2016-10-04  John Wiegley  <johnw@newartisans.com>
125997         Add documentation note from Alex
125999 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
126001         Avoid dynamic binding on a symbol
126003         Instead, bind history in the default minibuffer-history.
126004         Fixes bug#24580.
126005         * lisp/replace.el (query-replace-read-from): Let-bind
126006         minibuffer-history.  Change read-regexp and read-from-minibuffer's
126007         HISTORY arguments to nil so that they use minibuffer-history.
126009 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
126011         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
126013         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
126014         deleting the old buffer content.
126015         * src/lisp.h (del_range_byte):
126016         * src/insdel.c (del_range_byte): Drop the last argument.
126017         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
126019 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
126021         Ibuffer: 'w' and 'B' default to buffer at current line
126023         See discussion in:
126024         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
126025         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
126026         return buffers near current line.
126027         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
126028         Add argument ARG; if a non-zero integer, return next ARG buffers.
126029         Otherwise return the marked buffers.
126030         If there are not marked buffers, return buffer at current line
126031         without prompting the user.
126032         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
126033         Append to kill ring when last command was a kill-region.
126034         (ibuffer-copy-filename-as-kill): Idem.
126035         Simplify the code.
126036         Use ibuffer-buffer-file-name instead of buffer-file-name to
126037         include buffers in Dired mode.
126039 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
126041         dired-mark-extension: Unmark if called with C-u prefix
126043         See discussion in #Bug2518 and:
126044         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
126045         * lisp/dired-x.el (dired-mark-extension):
126046         Update interactive calls: a prefix arg C-u unmark files;
126047         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
126048         (dired-mark-sexp):
126049         Show in the prompt that we are unmarking if called with a prefix argument.
126050         * doc/misc/dired-x.texi (Advanced Mark Commands):
126051         Update documentation for 'dired-mark-extension'.
126053 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
126055         Document yank behavior in the right place
126057         * lisp/simple.el (yank): Document the handling of the
126058         `yank-handled-properties' and `yank-excluded-properties' variables,
126059         and the `yank-handler' text property.
126060         (yank-pop): Refer to `yank' now (bug#286)
126062         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
126063         (insert-for-yank-1): Refer to `insert-for-yank' now.
126065         See this thread for discussion:
126067           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
126068           From: Karl Fogel
126069           To: Emacs Devel
126070           Subject: Question about intended behavior of 'insert-for-yank-1'.
126071           Date: Mon, 12 Sep 2016 00:17:14 -0500
126072           Message-ID: <874m5lr92d.fsf@red-bean.com>
126074 2016-10-02  Philipp Stephani  <phst@google.com>
126076         Restart blink cursor timers on interval changes
126078         This prevents surprising behavior when timer interval customizations are
126079         only applied whenever the timers happen to be restarted (see Bug#24372).
126081         * lisp/frame.el (blink-cursor--start-idle-timer)
126082         (blink-cursor--start-timer): New functions.
126083         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
126084         the new helper functions.
126085         (blink-cursor-delay, blink-cursor-interval): Restart timers when
126086         the value is changed.
126088 2016-10-01  Philipp Stephani  <phst@google.com>
126090         Use a simple keyword for a non-nil argument
126092         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
126093         and non-nil values are distinguished.  Passing a number here is
126094         confusing.  Pass a descriptive symbol instead.
126096         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
126097         :repeat symbol instead of number for second argument of
126098         `run-with-idle-timer'
126100 2016-10-01  Philipp Stephani  <phst@google.com>
126102         Make querying to kill processes customizable
126104         Introduce a new customization option, `confirm-kill-processes', that
126105         users can set to nil if they don't want Emacs to nag them about killing
126106         processes.
126108         * lisp/files.el (confirm-kill-processes): New customization option.
126109         (save-buffers-kill-emacs): Use customization option.
126111         * test/lisp/files-tests.el
126112         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
126113         test for new customization option.
126115         * doc/emacs/entering.texi (Exiting): Document new user option.
126117         * doc/lispref/processes.texi (Query Before Exit): Document new
126118         user option.
126120         * etc/NEWS: Document new user option.
126122 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
126124         Set :version of 'debugger-stack-frame-as-list'
126126         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
126127         the ':version' attribute.
126129 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
126131         Bump Emacs version to 26.0.50
126133         * README:
126134         * configure.ac:
126135         * etc/NEWS:
126136         * etc/refcards/ru-refcard.tex:
126137         * msdos/sed2v2.inp:
126138         * src/msdos.c: Increment Emacs version to 26.0.50.
126139         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
126140         moved to etc/NEWS.
126142 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
126144         Avoid compilation warning on MinGW
126146         * src/w32.c: Include string.h, needed for the prototype of
126147         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
126148         warning about "no previous prototype".  The string.h header
126149         must be included after ms-w32.h, but before "#undef strerror".
126151 2016-09-30  Alan Third  <alan@idiocy.org>
126153         Fix compatibility with macOS 10.12 pmset (bug#24537)
126155         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
126156         present in output.
126158 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
126160         Limit <config.h>’s includes
126162         This follows up on recent problems with the fact that config.h
126163         includes stdlib.h etc.; some files need to include stdlib.h later.
126164         config.h generally should limit itself to includes that are
126165         universally safe; outside of MS-Windows, only stdbool.h makes
126166         the cut among the files currently included.  So, move the
126167         other includes to just the files that need them (Bug#24506).
126168         * configure.ac (config_opsysfile): Remove, as this generic hook
126169         is no longer needed.
126170         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
126171         * src/w32proc.c (_GNU_SOURCE):
126172         Remove, as it’s OK for config.h to do this now.
126173         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
126174         config_opsysfile, for simplicity as this old way of configuring is
126175         now done only for the MS-Windows port.  Do not include <ms-w32.h>
126176         if DEFER_MS_W32_H, for the benefit of the few files that want its
126177         effects later.  Do not include <alloca.h>, <string.h>, or
126178         <stdlib.h>.  Other files modified to include these headers as
126179         needed, or to not include headers that are no longer needed.
126180         * src/lisp.h: Include <alloca.h> and <string.h> here, since
126181         some of the inline functions need them.
126182         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
126183         we can rely on SAFE_ALLOCA.)  There is no longer any need to
126184         worry about HAVE_ALLOCA_H.
126185         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
126186         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
126187         Define before including <config.h> first, and include <ms-w32.h>
126188         after the troublesome headers.
126190 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
126192         New user option 'debugger-stack-frame-as-list'
126194         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
126195         variable.
126196         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
126197         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
126198         backtrace processing for the value of debugger-stack-frame-as-list.
126199         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
126200         processing for the value of debugger-stack-frame-as-list.
126201         * doc/lispref/debugging.texi (Internals of Debugger): Document
126202         debugger-stack-frame-as-list.
126203         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
126205 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
126207         * src/alloc.c: call only non-null finalizers
126209 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
126211         Avoid compiler warnings in image.c on MS-Windows
126213         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
126214         warning about unused macros.
126216 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
126218         * lisp/outline.el (outline-invisible-p): Only return `t' for
126219         the 'outline property.
126221 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
126223         Fix problems found by static checking --with-ns
126225         This is for Fedora 24 when configured with --enable-gcc-warnings.
126226         Although it does not fix all the problems, it fixes many of them.
126227         * src/frame.c (XParseGeometry):
126228         * src/nsterm.m (mouseDown:):
126229         Mark locals with UNINIT to pacify --enable-gcc-warnings.
126230         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
126231         Remove unused macros.
126232         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
126233         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
126234         (xpm_put_color_table_v, xpm_get_color_table_v)
126235         (xpm_make_color_table_h, xpm_put_color_table_h)
126236         (xpm_get_color_table_h, xpm_load_image, xpm_load)
126237         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
126238         (svg_load_image):
126239         * src/nsfns.m (x_get_string_resource):
126240         * src/nsimage.m (ns_image_from_XBM):
126241         Fix pointer signedness problems.
126242         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
126243         (imagemagick_load_image): Omit unused locals.
126244         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
126245         (Fx_open_connection):
126246         * src/nsfont.m (ns_antialias_threshold):
126247         Move extern decl to nsterm.h so it can be checked.
126248         * src/nsmenu.m (svcsMenu, dockMenu):
126249         Move to the only file that uses them, so they can be static.
126250         * src/nsterm.h (find_and_call_menu_selection):
126251         * src/nsterm.m (x_set_frame_alpha):
126252         Omit duplicate decls.
126253         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
126254         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
126255         (ns_set_name_as_filename, x_set_menu_bar_lines)
126256         (x_set_tool_bar_lines, x_set_internal_border_width):
126257         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
126258         Now static.
126259         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
126260         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
126261         Remove; unused.
126262         * src/nsfont.m (ns_dump_glyphstring):
126263         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
126264         (ns_clear_frame, keyDown:):
126265         Fix signedness problem with printf arg.
126266         * src/nsterm.h (ns_input_events, ns_finish_events):
126267         * src/nsterm.m (ns_finish_events, hide_bell):
126268         Prototype the decls.
126269         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
126270         Omit unnecessary decl.
126271         (dockMenu):
126272         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
126273         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
126274         (toggleFullScreen:): Use FACE_FROM_ID instead of
126275         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
126276         result to be non-null.
126277         (applicationShouldTerminate:): Fix misleading indentation.
126279 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
126281         Turn on more lexical-binding
126283         * lisp/dom.el:
126284         * lisp/faces.el:
126285         * lisp/htmlfontify.el: Turn on lexical-binding.
126286         (htmlfontify-string): Use pushnew instead of add-to-list.
126287         * lisp/info-xref.el:
126288         * lisp/isearch.el:
126289         * lisp/man.el:
126290         * lisp/ps-def.el:
126291         * lisp/ps-print.el:
126292         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
126293         time.
126294         (multi-occur): Use cl-pushnew instead of add-to-list.
126295         (replace-match-string-symbols): Remove unused lexical variable.
126296         (replace-search, replace-highlight): Fix argument shadowing.
126297         * lisp/sort.el:
126298         * lisp/xml.el: Turn on lexical-binding.
126299         (xml--parse-buffer): Use push instead of add-to-list.
126300         * lisp/xt-mouse.el: Turn on lexical-binding.
126302 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
126304         * admin/notes/bug-triage: Do not mention closed bugs
126306         * admin/notes/bug-triage: Do not mention closed bugs, they are
126307         suppressed by default in debbugs-{gnu,org}.
126309 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
126311         * etc/PROBLEMS: Remove problem Bug#22814, again.
126313 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
126315         Stick with debbugs-supported tags in triage
126317         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
126318         debbugs supports, rather than suggesting "doneunreproducible" or
126319         "unreproducable".
126321 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
126323         Merge from origin/emacs-25
126325         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
126326         c14a1d4 Minor copyedits of MS-Windows installation instructions
126327         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
126329         # Conflicts:
126330         #       lisp/minibuffer.el
126332 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
126334         Merge from origin/emacs-25
126336         0ae9a81 Document 'timerp'
126337         2c72c46 Improve documentation of overlay priorities
126338         f6fa160 Fix 'dired-compress-files'
126339         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
126341         # Conflicts:
126342         #       lisp/dired.el
126343         #       src/buffer.h
126344         #       src/character.h
126346 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
126348         Merge from origin/emacs-25
126350         cf9e174 Document the optional zlib library in MS-Windows builds
126351         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
126352         73c67dd Fix tagging of DEFUN by etags
126353         ea1960b Avoid resetting track-mouse by mouse clicks
126354         505fef3 Improve nt/README.W32 instructions
126355         1229cc4 Document that desktop file overrides frame parameters
126356         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
126358         # Conflicts:
126359         #       ChangeLog.2
126360         #       admin/notes/unicode
126361         #       lisp/ldefs-boot.el
126363 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
126365         Merge from origin/emacs-25
126367         0ffc9ce Update admin/authors.el
126368         0ad7410 Update Antinews in ELisp manual
126369         ea0f750 Fix comments on window height macros
126370         0bbdeed Fix 'url-http-create-request' when cookies are used
126371         0045998 Fix cross reference in frames.texi
126372         1392894 ; * etc/DEBUG: Minor copyedits.
126373         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
126374         56bf7d7 Fix regexp-opt documentation (bug #17862)
126375         803ad6f ; Fix documentation of seq-subseq
126376         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
126377         88ea396 ; Spelling fixes
126378         17197d0 Fix tags-query-replace docstring
126379         80a7f8b Clarify documentation of precision in format specs
126380         88a5052 Improve and clarify documentation of subprocesses
126381         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
126383         # Conflicts:
126384         #       etc/PROBLEMS
126385         #       src/process.c
126387 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
126389         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
126391 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
126393         Fix 'dired-mark-extension' with prefix argument
126395         * lisp/dired-x.el (dired-mark-extension): Allow to specify
126396         MARKER-CHAR interactively as a string, not as a character's
126397         codepoint.  (Bug#24518)
126399         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
126400         behavior when invoked with a prefix arg.
126402 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
126404         Support completion of classes and IDs in CSS mode
126406         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
126407         holding the function to call for retrieving completions of class
126408         names.
126409         (css-id-list-function): New variable holding the function to call for
126410         retrieving completions of IDs.
126411         (css--foreign-completions): New function for retrieving completions
126412         from other buffers.
126413         (css--complete-selector): Support completing HTML class names and IDs
126414         from other buffers in addition to completing HTML tags.
126416         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
126417         variable holding a cache for `html-current-buffer-classes'.
126418         (html--buffer-ids-cache): New variable holding a cache for
126419         `html-current-buffer-ids'.
126420         (html-current-buffer-classes): New function returning a list of class
126421         names used in the current buffer.
126422         (html-current-buffer-ids): New function returning a list of IDs used
126423         in the current buffer.
126424         (html-mode): Set `css-class-list-function' and `css-id-list-function'
126425         to `html-current-buffer-classes' and `html-current-buffer-ids'
126426         respectively.
126428 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
126430         Update test suite files due to removal of test/lisp/legacy
126432         * test/README: Reference file-organization.org.
126433         * test/file-organization.org: Remove the description of files in
126434         the lisp/legacy/ directory.
126436 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
126438         Incorporate syntax-tests in lisp-tests.
126440         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
126441         test/lisp/legacy/syntax-tests.el.
126442         * test/lisp/legacy/syntax-tests.el: File deleted.
126444 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
126446         Incorporate occur-tests in replace-tests
126448         * test/lisp/replace-tests.el: Add tests from
126449         test/lisp/legacy/occur-tests.el.
126450         * test/lisp/legacy/occur-tests.el: File deleted.
126452 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
126454         Incorporate lexbind-tests.el in bytecomp-test.el
126456         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
126457         test/lisp/legacy/lexbind-tests.el.
126458         * test/lisp/legacy/lexbind-tests.el: File deleted.
126460 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
126462         Improve integer overflow handling a bit
126464         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
126465         The machine code is the same on my platform.
126466         * src/doprnt.c (doprnt):
126467         * src/emacs-module.c (module_funcall):
126468         * src/font.c (font_intern_prop):
126469         * src/keyboard.c (Frecursion_depth):
126470         * src/lread.c (read1):
126471         Use WRAPV macros instead of checking overflow by hand.
126472         * src/editfns.c (hi_time, time_arith, decode_time_components):
126473         * src/emacs-module.c (Fmodule_load):
126474         Simplify by using FIXNUM_OVERFLOW_P.
126475         * src/emacs-module.c: Include intprops.h.
126476         * src/xdisp.c (percent99): New function.
126477         (decode_mode_spec): Use it to simplify overflow avoidance and
126478         formatting of %p and %P.
126480 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
126482         Incorporate core-elisp-tests in lisp-tests
126484         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
126485         test/lisp/legacy/core-elisp-tests.el.
126486         * test/lisp/legacy/core-elisp-tests.el: File removed.
126488 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
126490         Move coding-tests.el and decoder-test.el to their places
126492         * test/src/coding-tests.el: Added all the tests from
126493         test/lisp/legacy/decoder-tests.el.
126494         * test/lisp/legacy/decoder-tests.el: File deleted.
126496 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
126498         Use correct TYPE value for displaying error messages in (erc-display-message)
126500 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
126502         Bump the version to 25.2.50
126504         * README:
126505         * configure.ac:
126506         * etc/NEWS:
126507         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
126509 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
126511         ibuffer-do-view-other-frame: Display each buffer in a new frame
126513         * lisp/ibuffer.el (ibuffer-do-view-1):
126514         When TYPE equals 'other-frame, then display each buffer
126515         in a new frame (Bug#24086).
126517 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
126519         Update from gnulib
126521         This incorporates:
126522         2016-09-22 stdint: port to GCC 7
126523         2016-09-22 limits-h, stdint: don't assume extensions
126524         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
126526 2016-09-22  Alan Mackenzie  <acm@muc.de>
126528         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
126530 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
126532         Port recent flexmember changes to NetBSD
126534         The NetBSD library supports localtime_rz directly, and without
126535         this change 'configure' omitted the flexmember test that is marked
126536         as conditional on localtime_rz.  Emacs now needs to use
126537         flexmember.m4 even when localtime_rz works.
126538         Problem reported by Thomas Klausner.
126539         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
126540         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
126542 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
126544         * doc/misc/texinfo.tex: Copy from gnulib.
126546 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
126548         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
126550 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
126552         Use flexmembers on IBM XL C for AIX
126554         This removes a workaround where Emacs did not use flexible
126555         array members when compiled with IBM XL C.  Instead, avoid
126556         the problem by making the aliasing issues more obvious to
126557         this compiler.
126558         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
126559         * m4/flexmember.m4: Copy from gnulib.
126560         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
126561         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
126562         problem that would otherwise mess up code generated for flexible
126563         array members by IBM XL C for AIX, V12.1.
126564         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
126565         by gnulib code.
126567 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
126569         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
126571         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
126572         `tramp-drop-volume-letter' any longer, it causes collateral
126573         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
126575 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
126577         Port January __morecore changes to AIX 7.1
126579         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
126580         (__after_morecore_hook):
126581         * src/ralloc.c (__morecore):
126582         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
126583         not defined.  <malloc.h> does not declare these in AIX 7.1.
126585 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
126587         Define _GNU_SOURCE in files delaying config.h
126589         Problem reported by Richard Copley in:
126590         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
126591         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
126592         Define early.
126594 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
126596         Update the bidi test code and data
126598         * test/manual/BidiCharacterTest.txt: Import the version from
126599         Unicode Standard 9.0.0.
126600         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
126601         in the 4th field of the test data.
126603 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
126605         ibuffer-do-toggle-read-only: Fix unused argument
126607         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
126608         'read-only-mode' with ARG when its an integer.
126609         Clarify the meaning of ARG in doc string.
126611 2016-09-17  Alan Mackenzie  <acm@muc.de>
126613         Improve accuracy of line/column numbers in byte compiler's warning messages.
126615         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
126616         value of byte-compile-last-position is not lower than old value.
126617         (byte-compile-function-warn): call byte-compile-set-symbol-position.
126619 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
126621         Minor Tramp tweaks
126623         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
126624         property "process-buffer" if already existing.
126625         (tramp-connectable-p): Suppress debug messages.
126627 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
126629         Define _GNU_SOURCE in unexmacosx.c
126631         Problem reported by Bob Halley in:
126632         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
126633         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
126635 2016-09-16  Alan Mackenzie  <acm@muc.de>
126637         C Mode: Fix mis-fontification of macro invocation as function declaration
126639         This happened with a macro invocation which was followed by a statement block
126640         in braces.
126642         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
126643         between contexts nil and top, being less permissive in the former case.
126644         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
126646 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
126648         Improve the doc string of 'format'
126650         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
126651         of a literal period.  (Bug#24407)
126653 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
126655         Improve doc strings in whitespace.el
126657         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
126658         (global-whitespace-mode, global-whitespace-newline-mode): Improve
126659         the doc strings.  (Bug#24413)
126661 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
126663         Improve detectability of 'next-logical-line' and 'previous-logical-line'
126665         * lisp/simple.el (next-line, previous-line): Mention
126666         'next-logical-line' and 'previous-logical-line' in the doc
126667         strings.  (Bug#24443)
126669 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
126671         Update from gnulib
126673         This incorporates:
126674         2016-09-16 extensions: fix typo in comment
126675         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
126676         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
126678 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
126680         Prefer now-standard int width macros
126682         * src/data.c (ULL_WIDTH):
126683         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
126684         * src/lread.c (read_integer):
126685         * src/term.c (produce_glyphless_glyph):
126686         * src/xterm.c (x_send_scroll_bar_event):
126687         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
126688         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
126689         with the *_WIDTH standard macros.  All uses changed.
126690         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
126691         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
126692         for consistency with the *_WIDTH standard macros.  All uses changed.
126693         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
126694         be the same as CHAR_WIDTH and avoids confusion with Elisp
126695         char-width, which counts columns not bits.
126696         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
126697         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
126698         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
126699         used directly.
126701 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
126703         Update from gnulib
126705         This incorporates:
126706         2016-09-15 stdint: support new _WIDTH macros
126707         2016-09-15 limits-h: new module
126708         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
126709         2016-09-15 extensions: port to more ISO C TSes
126710         2016-09-13 intprops: new macro TYPE_WIDTH
126711         2016-09-13 extensions: port to recent ISO C TRs
126712         * .gitignore: Add lib/limits.h.
126713         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
126714         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
126715         * m4/sys_types_h.m4: Copy from gnulib.
126716         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
126717         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
126718         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
126720 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
126722         Rework fixing Bug#24432
126724         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
126725         "process-buffer" in order to mark connection as active.
126727         * lisp/net/tramp-cache.el (tramp-get-hash-table)
126728         (tramp-set-connection-property)
126729         (tramp-dump-connection-properties): Do not use "active" property.
126730         (tramp-list-connections): Use "process-buffer" property.
126732         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
126733         properties prior deletion of process.
126735 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
126737         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
126739         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
126741 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
126743         Avoid compiler warning on MS-Windows due to clone_file
126745         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
126746         call to it is not compiled in that build, and having it defined
126747         causes compiler warnings.
126749 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
126751         Avoid aborts in GC due to abort_on_gc
126753         * src/lisp.h:
126754         * src/print.c (Fprin1_to_string):
126755         * src/eval.c (signal_or_quit):
126756         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
126757         and testing the value of abort_on_gc.  It is no longer needed, and
126758         using it causes rare aborts in GC for no good reason.  (Bug#23912)
126760 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
126762         Fix Bug#24432
126764         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
126765         connection as inactive.
126766         (tramp-set-connection-property): Make the connection active.
126767         (tramp-dump-connection-properties): Don't save "active" property.
126768         (tramp-list-connections): List only active connections.  (Bug#24432)
126770 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
126772         Don't bug out on all-whitespace URLs
126774         * lisp/net/shr.el (shr-expand-url): Don't bug out on
126775         degenerate all-whitespace URLs.
126777 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
126779         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
126781         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
126782         Rename from sieve-manage-ignore-broken-tls.  If it is set,
126783         sieve-manage will never use STARTTLS even if the server says
126784         it is capable (but may be broken).
126786 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
126788         Port to ISO/IEC TS 18661-1:2014
126790         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
126791         All uses changed.
126793 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
126795         dired-jump: Expand file-name before dired-goto-file call
126797         Command dired-goto-file requires its argument to be an absolute
126798         file name.  Interactively FILE-NAME is read with read-file-name,
126799         which could return an abbreviated file name (Bug#24409).
126800         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
126801         Clarify in doc string the meaning of arg FILE-NAME.
126803 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
126805         Add test for Bug#21454
126807         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
126809 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
126811         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
126813 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
126815         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
126817         * lisp/net/sieve.el (sieve-edit-script):
126818         Make the buffer to edit be not modified-p initially (bug#24423).
126820 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
126822         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
126824         * lisp/net/sieve-manage.el
126825         (sieve-manage-ignore-broken-tls): New user option.
126826         (sieve-manage-open-server):
126827         Don't test STARTTLS capability if the option is set (bug#24422).
126829 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
126831         Fix compiler thinking width and height may be uninitialized in frame.c
126833         This fixes the following warning:
126835                 frame.c: In function ‘x_set_frame_parameters’:
126836                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
126837                         this function [-Werror=maybe-uninitialized]
126838                        adjust_frame_size (f, width_change ? width : -1,
126839                                  ^
126841         * src/frame.c (x_set_frame_parameters): Drop width_changed and
126842         height_changed variables in favor of storing that information in
126843         width and height variables.
126845 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
126847         Fix compiler thinking tmpdir may be uninitialized in emacsclient
126849         This fixes the following warning:
126851                 emacsclient.c: In function ‘set_local_socket’:
126852                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
126853                         ‘tmpdir’ may be used uninitialized in this function
126854                         [-Werror=maybe-uninitialized]
126855                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
126856                    ^
126857                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
126858                      const char *tmpdir;
126860         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
126861         variable and instead use tmpdir being non-NULL as sign that it should
126862         be used.
126864 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
126866         image-dired: Signal an error before calling a missing executable
126868         Reverts commit ca473907
126869         Add a defun to check if an executable exists, and call it
126870         on each function using an external program: when the executable
126871         is not available signal an error.
126872         See discussion on:
126873         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
126874         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
126875         Throw and error when the executable arg is missing.
126876         (image-dired-display-image, image-dired-rotate-thumbnail)
126877         (image-dired-rotate-original, image-dired-set-exif-data)
126878         (image-dired-get-exif-data):
126879         Use it.
126881 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
126883         Fix daemon shutdown when emacs-kill-hooks ask questions
126885         * lisp/server.el (server-start): Put the server's kill-emacs-hook
126886         last, to allow other hooks to have a frame to interact with the
126887         user.  (Bug#24326)
126889 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
126891         * src/casefiddle.c (casify_word): Simplify.
126893         * src/casefiddle.c (casify_word): Return Qnil.
126895 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
126897         Refactor common code in {upcase,downcase,capitalize}-word functions
126899         * src/casefiddle.c (operate_on_word): Removed in favor of…
126900         (casify_word) …new function which does what operate_on_word did plus
126901         what all of the common code from *-word functions.
126902         (upcase-word, downcase-word, capitalize-word): Move code common between
126903         those functions (pretty much the whole body of those functions) into
126904         casify_word and use that instead of now deleted operate_on_word.
126906 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
126908         * doc/lispref/files.texi: Remove @vindex.
126910 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
126912         Remove unnecessary ref to coreutils manual
126914         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
126916 2016-09-11  Alan Mackenzie  <acm@muc.de>
126918         Correctly fontify C++ direct initializations with parens inside functions
126920         Or, more clearly, when something looks like a function declaration and it's
126921         inside a function, fontify it as a direct initialization.
126923         For this purpose, introduce a "brace stack" for each buffer, where an entry on
126924         the brace stack states how deeply nested a particular position is inside
126925         braces inside a "top level", which includes classes and namespaces.
126927         Also introduce a new "context", "top", with which c-font-lock-declarations
126928         signals to c-forward-decl-or-cast-1 that point is at the top level.
126930         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
126931         c-truncate-bs-cache.
126932         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
126933         (c-type-decl-operator-prefix-key): new language constants/variables.
126935         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
126936         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
126937         stack cache.
126938         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
126939         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
126940         (c-find-decl-prefix-search): Keep track of whether we're at top level.
126941         (c-find-decl-spots): New local variable cfd-top-level which records what it
126942         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
126943         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
126944         to non-nil when a match for c-type-decl-operator-prefix-key is found.
126945         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
126946         Introduce "CASE 9.5", which recognizes direct initializations.
126948         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
126949         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
126950         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
126951         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
126952         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
126953         participate in the decision whether to fontify an identifier as a function or
126954         a variable.
126955         (c-font-lock-declarations): The internal lambda function takes an additional
126956         argument `toplev' from c-find-decl-spots, which it uses in determining the
126957         "context" of a declaration.  Add appropriate `not-top' argument to calls to
126958         c-font-lock-declarators.
126959         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
126960         like for c-font-lock-declarators.
126962         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
126963         cache.
126965 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
126967         Avoid signaling errors when computing "Stop" in GDB menu
126969         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
126970         'gdb-running-threads-count' must have a numeric value.
126971         (Bug#24414)
126973 2016-09-11  Philipp Stephani  <phst@google.com>
126975         Stop calling ‘byte-compile-log-warning’
126977         For errors, use ‘byte-compile-report-error’ instead so that the error
126978         is registered and causes compilation to fail (Bug#24359).
126980         For warnings, use ‘byte-compile-warn’ instead so that
126981         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
126983         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
126984         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
126985         ‘byte-compile-log-warning’.
126987         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
126988         (byte-compile-setq, byte-compile-funcall): Use
126989         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
126990         (byte-compile-log-warning): Convert comment to documentation
126991         string.  Explain that the function shouldn’t be called directly.
126992         (byte-compile-report-error): Add optional FILL argument.
126994         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
126995         (cconv--analyze-function, cconv-analyze-form): Use
126996         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
126998         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
126999         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
127001         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
127002         of ‘byte-compile-log-warning’.
127003         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
127004         ‘byte-compile-log-warning’.
127006 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
127008         * etc/NEWS: Remove comment lost in emacs-25 merge.
127010 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
127012         Document file synchronization issues
127014         * doc/lispref/files.texi (Files and Storage): New section.
127016 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
127018         copy-file now uses GNU/Linux file cloning
127020         From a suggestion by Kieran Colford (see Bug#23904).
127021         * configure.ac: Check for linux/fs.h.
127022         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
127023         (clone_file): New function.
127024         (Fcopy_file): Use it.
127026 2016-09-10  Alan Third  <alan@idiocy.org>
127028         Invert y coord of NS image files (bug#7847)
127030         * src/nsterm.m (ns_dumpglyphs_image): Invert y coordinate of the image
127031         when compositing.
127033 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
127035         Don't require isearch-update before isearch-done
127037         It is useful to be able to call `isearch-done' unconditionally to
127038         ensure a non-isearching state.
127040         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
127041         is a live buffer before using it (Bug #21091).
127042         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
127044 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
127046         * lisp/emacs-lisp/ring.el: Use lexical-binding
127048         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
127049         argument of `dotimes' when the iteration variable isn't referred by
127050         it.
127051         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
127052         since it's the default.
127054 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
127056         Split regex character class test into smaller chunks
127058         Having one test for all character classes it is not always trivial to
127059         determine which class is failing.  This happens when failure is caused
127060         by ‘(should (equal (point) (point-max)))’ not being met.
127062         With per-character class tests, it is immediately obvious which test
127063         causes issues plus tests for all classes are run even if some of them
127064         fail.
127066         * test/src/regex-tests.el (regex-character-classes): Delete and split
127067         into…
127068         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
127069         regex-tests-ascii-character-class, regex-tests-blank-character-class,
127070         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
127071         regex-tests-graph-character-class, regex-tests-lower-character-class,
127072         regex-tests-multibyte-character-class,
127073         regex-tests-nonascii-character-class,
127074         regex-tests-print-character-class, regex-tests-punct-character-class,
127075         regex-tests-space-character-class,
127076         regex-tests-unibyte-character-class,
127077         regex-tests-upper-character-class, regex-tests-word-character-class,
127078         regex-tests-xdigit-character-class): …new tests.
127080 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
127082         Don’t allocate char-table’s extra slots in regexp-out-charset
127084         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
127085         'case-table as charmap char-table’s property.  The function has nothing
127086         to do with casing and in addition using 'case-table causes unnecessary
127087         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
127089 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
127091         Remove dead loop iterations in regex.c
127093         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
127094         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
127095         for byte8 characters.  This means that
127097                 c = RE_CHAR_TO_MULTIBYTE (ch);
127098                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
127100         is equivalent to:
127102                 c = c;
127103                 if (! false && re_iswctype (c, cc))
127105         for 0 ⪬ c < 0x80, and
127107                 c = BYTE8_TO_CHAR (c);
127108                 if (! true && re_iswctype (c, cc))
127110         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
127111         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
127113         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
127114         dead iterations and unnecessary macro calls.
127116 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
127118         Replace decimalnump with alphanumericp
127120         decimalnump was used in regex.c only in ISALNUM macro which ored it with
127121         alphabeticp.  Because both of those functions require Unicode general
127122         category lookup, this resulted in unnecessary lookups (if alphabeticp
127123         return false decimalp had to perform another lookup).  Drop decimalnump
127124         in favor of alphanumericp which combines decimelnump with alphabeticp.
127126         * src/character.c (decimalnump): Remove in favor of…
127127         (alphanumericp): …new function.
127129         * src/regex.c (ISALNUM): Use alphanumericp.
127131 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
127133         Remove inaccurate comment in regex.c
127135         * src/regex.c (regex_compile): Remove comment indicating that wctype of
127136         some character classes may be negative.  All wctypes are in fact
127137         non-negative.
127139 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
127141         STRING_CHAR does not unify characters; update documentation
127143         * src/character.h (STRING_CHAR): Update doc.
127144         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
127145         the function to use BYTE_POS_ADDR instead of open-coding it.
127147 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
127149         Add tests for ring.el
127151         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
127153 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
127155         New file test/src/marker-tests.el
127157 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
127159         Port flexible array members to GCC + valgrind
127161         These changes are needed to conform to the C standard's rule for
127162         allocating structs containing flexible array members.  C11 says
127163         that malloc (offsetof (struct s, m) + n) does not suffice to
127164         allocate a struct with an n-byte tail; instead, malloc’s arg
127165         should be rounded up to the nearest multiple of alignof (struct s).
127166         Although this is arguably a defect in C11, gcc -O2 + valgrind
127167         sometimes complains when this rule is violated, and when debugging
127168         it’s better to keep valgrind happy.
127169         For details please see the thread containing the message at:
127170         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
127171         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
127172         Include flexmember.h.
127173         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
127174         (register_namespace_alias):
127175         * src/alloc.c (SDATA_SIZE, allocate_string_data):
127176         * src/image.c (xpm_cache_color, imagemagick_create_cache):
127177         * src/process.c (Fmake_network_process):
127178         Use FLEXSIZEOF instead of offsetof and addition.
127179         * src/alloc.c (SDATA_SIZE, vector_alignment):
127180         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
127181         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
127182         Remove, as alloc.c can now calculate this on its own.
127184 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
127186         Update from gnulib
127188         This incorporates:
127189         2016-09-07 flexmember: new macro FLEXALIGNOF
127190         2016-09-07 flexmember: port better to GCC + valgrind
127191         2016-08-18 Port modules to use getprogname explicitly
127192         2016-09-02 manywarnings: add -fno-common
127193         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
127194         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
127195         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
127196         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
127197         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
127198         * m4/manywarnings.m4: Copy from gnulib.
127199         * lib/flexmember.h: New file, from gnulib.
127200         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
127202 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
127204         Don't --load directories
127206         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
127207         of --load when it refers to a normal file, since `load' doesn't handle
127208         directories (Bug #16406).
127210 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
127212         Avoid error in icalendar--read-element
127214         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
127215         stack overflow by not using regex to extract values from calendar
127216         events. (Bug#24315)
127218 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
127220         Fix back-white <-> black-white typo
127222         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
127224 2016-09-07  Alan Third  <alan@idiocy.org>
127226         Fix cursor at bottom left of rectangle (bug#24364)
127228         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
127229         require rectangle--point-crutches to be set.
127231 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
127233         Fix documentation of convert-standard-filename on MS-Windows
127235         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
127237         * etc/NEWS: Suggest a way for mirroring slashes where previously
127238         'convert-standard-filename' was used.
127240 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
127242         Use DEV_TTY more consistently
127244         * src/conf_post.h (DEV_TTY): Move from here ...
127245         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
127246         to be visible everywhere.  Make it a constant.
127247         * src/keyboard.c (handle_interrupt, Fset_quit_char):
127248         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
127250 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
127252         Avoid assertion violations when using marker positions
127254         * src/intervals.c (set_point_from_marker): If MARKER comes from
127255         another buffer, recalculate its byte position before using it to
127256         set point.
127257         * src/marker.c (set_marker_internal): If POSITION is a marker from
127258         another buffer, recalculate its byte position before using it.
127259         (Bug#24368)
127261 2016-09-06  Alan Mackenzie  <acm@muc.de>
127263         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
127265 2016-09-06  Alan Mackenzie  <acm@muc.de>
127267         New options for handling of literals in c-syntactic-re-search-forward
127269         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
127270         be given the values `before-literal' and `after-literal', so that when a
127271         search fails, and the `bound' is inside a literal, point is left respectively
127272         before or after that literal.
127274 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
127276         Avoid assertion violations when scrolling narrowed buffer
127278         * src/window.c (window_scroll_pixel_based):
127279         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
127280         start outside the accessible portion of the buffer.  This avoids
127281         assertion violations when some Lisp narrows the buffer to less
127282         than the current window, and then attempts to scroll the buffer.
127284 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
127286         Treat SIGINT correctly in GUI sessions on MS-Windows
127288         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
127289         supported by MS runtime.
127290         * src/term.c (DEV_TTY): Move from here ...
127291         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
127292         for WINDOWSNT and for the rest.
127293         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
127294         a literal "/dev/tty".
127296         * etc/NEWS: Mention the behavior change.
127298 2016-09-04  Alan Third  <alan@idiocy.org>
127300         Fix synthetic bold on macOS retina displays
127302         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
127303         factor by the OS window backing scale factor.
127305 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
127307         image-dired: Report when a necessary executable is not found
127309         See discussion on:
127310         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
127311         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
127312         (image-dired-cmd-create-thumbnail-program)
127313         (image-dired-cmd-create-temp-image-program)
127314         (image-dired-cmd-rotate-thumbnail-program)
127315         (image-dired-cmd-write-exif-data-program)
127316         (image-dired-cmd-read-exif-data-program):
127317         Use executable-find to set the default value of this option.
127318         (image-dired-cmd-rotate-original-program): Idem.
127319         Search for program 'convert' if 'jpegtran' is not available.
127320         (image-dired-cmd-rotate-original-options):
127321         Set the default value consistent with the executable in
127322         image-dired-cmd-rotate-original-program.
127323         (image-dired-create-thumb, image-dired-display-image)
127324         (image-dired-rotate-thumbnail, image-dired-rotate-original)
127325         (image-dired-set-exif-data, image-dired-get-exif-data):
127326         Throw and error when the executable used in the function is missing.
127327         (image-dired-next-line, image-dired-previous-line):
127328         Use 'forward-line'.
127330 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
127332         image-type-from-file-name: Perform a case insensitive match
127334         Fix Bug#24317
127335         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
127336         to a non-nil value to force a case insensitive match.
127337         * lisp/image-dired.el (image-dired-rotate-original):
127338         Use image-type (Bug#24317).
127339         (image-dired-get-exif-file-name): Idem.
127340         Set 'no-exif-data-found' and 'data' in same setq call.
127341         Use file-attribute-modification-time.
127343 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
127345         image-increase-size: Fix non-interactive calls
127347         * lisp/image.el (image-increase-size, image-decrease-size):
127348         Compute a floating point division.
127349         Problem reported in:
127350         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
127352 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
127354         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
127356         Passing the prefix argument as the 3rd argument to 'call-interactively'
127357         causes the prefix argument to be interpreted as events, which is not
127358         only wrong, but also causes a type error, as 'current-prefix-arg' can
127359         never be a vector as 'call-interactively' expects.  'call-interactively'
127360         automatically passes its prefix argument to the called function, so just
127361         do that, eliminating faulty behavior.
127363         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
127364         (checkdoc-ispell-current-buffer):
127365         (checkdoc-ispell-interactive):
127366         (checkdoc-ispell-message-text):
127367         (checkdoc-ispell-start):
127368         (checkdoc-ispell-continue):
127369         (checkdoc-ispell-comments):
127370         (checkdoc-ispell-defun):
127371         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
127372         vector; merely allow it to propagate forward to the interactive call.
127374 2016-09-03  Richard Stallman  <rms@gnu.org>
127376         Fix mail-combine-fields
127378         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
127379         avoid losing our place in the search loop.
127381 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
127383         Check actual contents before promting about changed file
127385         * lisp/userlock.el (userlock--check-content-unchanged)
127386         (userlock--ask-user-about-supersession-threat): New functions.
127387         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
127388         * doc/lispref/buffers.texi (Modification Time): Update doc of
127389         ask-user-about-supersession-threat.
127391 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
127393         Make a reference to fakecygpty in the Tramp manual
127395         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
127396         fakecygpty on the Emacs Wiki.
127397         (Frequently Asked Questions): Fix url.
127399 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
127401         Don’t create fd >= FD_SETSIZE
127403         This avoids a potential crash if too many subprocesses (Bug#24325).
127404         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
127405         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
127406         set it to FD_SETSIZE.
127408 2016-09-01  Alan Mackenzie  <acm@muc.de>
127410         Fix c-declaration-limits to return correct limits in all cases.
127412         This function is the guts of c-indent-defun and c-mark-function.
127414         In particular, when c-defun-tactic is nil, return a correct value rather than
127415         always nil, and when it's 'go-outward, go through an intricate algorithm to
127416         determine the requisite narrowing before the "top-level" defuns go to work.
127418         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
127419         to take additional optional parameter LEVEL, saying how many enclosing levels
127420         of decl-block to narrow to.
127421         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
127422         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
127423         lower bound.
127425 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
127427         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
127429 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
127431         Avoid compiler warnings with MinGW64 GCC 6
127433         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
127434         the GCC 6 builtin, to avoid warnings.  For more details, see
127435         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
127437 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
127439         Fix over-substitution of quotes on error
127441         Problem reported by Tino Calancha in:
127442         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
127443         * src/print.c (print_error_message):
127444         Substitute quotes in errmsg only when gotten from a property.
127446 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
127448         Improve testing of etags
127450         * test/manual/etags/y-src/cccp.c:
127451         * test/manual/etags/y-src/parse.c: Correct #line directives to
127452         allow testing invalidate_nodes in etags.c.
127453         * test/manual/etags/ETAGS.good_1:
127454         * test/manual/etags/ETAGS.good_2:
127455         * test/manual/etags/ETAGS.good_3:
127456         * test/manual/etags/ETAGS.good_4:
127457         * test/manual/etags/ETAGS.good_5:
127458         * test/manual/etags/ETAGS.good_6:
127459         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
127461 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
127463         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
127465 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
127467         Fix etags problems found by static checking
127469         * lib-src/etags.c (invalidate_nodes, put_entry):
127470         Remove now-unnecessary tests for null pointers.  Simplify.
127471         (put_entries): Rewrite to avoid GCC 6.2 warning about
127472         dereferencing null pointer.
127474 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
127476         Fix a thinko in etags.c
127478         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
127479         a null pointer.
127481 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
127483         Avoid recursive calls in etags
127485         * lib-src/etags.c (stack_entry): New struct.
127486         (push_node, pop_node, put_entry): New functions.
127487         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
127488         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
127490 2016-08-31  Leo Liu  <sdl.web@gmail.com>
127492         Add 451 to url-http-codes
127494         * lisp/url/url-http.el (url-http-codes): Add 451.
127496 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
127498         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
127500 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
127502         Minor doc quoting fixes
127504         * doc/misc/htmlfontify.texi (Interactive):
127505         * lisp/htmlfontify.el (htmlfontify-buffer):
127506         Spell out character names, for clarity.  The old doc string
127507         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
127508         stands for a form feed character; this was confusing.
127509         * lisp/electric.el (electric-quote-mode):
127510         * src/doc.c (syms_of_doc):
127511         * src/editfns.c (Fformat_message):
127512         Remove no-longer-necessary ‘\=’s in doc strings.
127514 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
127516         Update from gnulib
127518         This incorporates:
127519         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
127520         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
127521         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
127522         2016-08-29 intprops.h: use __typeof__ with GCC 7
127523         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
127524         2016-08-24 intprops: fix paren typo on old platforms
127525         2016-08-24 intprops: port to OpenVMS
127526         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
127528 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
127530         Fix rules for \phi and \varphi which were reversed
127532         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
127533           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
127534           were reversed which is not true (anymore?).
127536 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
127538         Fix prettification of \phi, \varphi, and \varsigma
127540         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
127541           prettification of \phi, \varphi, and \varsigma.
127543         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
127544         \varsigma was commented out with a FIXME that it was reversed with
127545         \sigma which it was not.
127547 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
127549         Use normal double quotes in TeX / LaTeX comments
127551         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
127552           default to inserting a normal double quote (") instead of TeX-style
127553           open (``) or close ('') quote marks.
127555         * etc/NEWS (TeX mode): Note the change.
127557         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
127559         See this thread for discussion:
127561           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
127562           From: Karl Fogel <kfogel {_AT_} red-bean.com>
127563           To: Emacs Development <emacs-devel {_AT_} gnu.org>
127564           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
127565           Date: Mon, 29 Aug 2016 14:44:12 -0500
127566           Message-ID: <87twe3icmr.fsf@red-bean.com>
127568 2016-08-30  Alan Mackenzie  <acm@muc.de>
127570         Correctly analyze C++ list initialization in member init areas.
127572         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
127573         superfluous call to c-backward-syntactic-ws.
127574         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
127575         reports encountering the Java "new" keyword.  Add, as an alternative, a check
127576         that we can move back over member initializations, and handle this as finding
127577         a brace block.
127578         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
127579         new calling convention of c-looking-at-or-maybe-in-bracelist.
127580         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
127581         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
127582         using the extra info from the value of that function to generate a
127583         topmost-into-cont element where needed (in Java).
127585         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
127586         calling convention of c-looking-at-or-maybe-in-bracelist.
127588         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
127589         convention of c-looking-at-or-maybe-in-bracelist.
127591 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
127593         Use `file-attribute-*' in Tramp
127595         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
127596         (tramp-compat-file-attribute-link-number)
127597         (tramp-compat-file-attribute-user-id)
127598         (tramp-compat-file-attribute-group-id)
127599         (tramp-compat-file-attribute-modification-time)
127600         (tramp-compat-file-attribute-size)
127601         (tramp-compat-file-attribute-modes): New defaliases.
127603         * lisp/net/tramp.el (tramp-handle-file-modes)
127604         (tramp-handle-file-newer-than-file-p)
127605         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
127606         (tramp-handle-set-visited-file-modtime)
127607         (tramp-handle-verify-visited-file-modtime)
127608         (tramp-get-local-gid, tramp-check-cached-permissions):
127609         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
127610         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
127611         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
127612         (tramp-gvfs-handle-file-directory-p)
127613         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
127614         (tramp-gvfs-get-remote-gid):
127615         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
127616         (tramp-sh-handle-set-visited-file-modtime)
127617         (tramp-sh-handle-verify-visited-file-modtime)
127618         (tramp-sh-handle-file-newer-than-file-p)
127619         (tramp-sh-handle-file-ownership-preserved-p)
127620         (tramp-do-copy-or-rename-file)
127621         (tramp-do-copy-or-rename-file-via-buffer)
127622         (tramp-do-copy-or-rename-file-directly)
127623         (tramp-do-copy-or-rename-file-out-of-band)
127624         (tramp-sh-handle-file-local-copy)
127625         (tramp-sh-handle-write-region):
127626         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
127627         (tramp-smb-handle-copy-file)
127628         (tramp-smb-handle-file-directory-p)
127629         (tramp-smb-handle-file-writable-p)
127630         (tramp-smb-handle-insert-directory): Use them.
127632 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
127634         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
127636         * lisp/window.el (pop-to-buffer): Don't assume that
127637         `display-buffer' has supplied a window (Bug#24332).
127638         Rename BUFFER argument to BUFFER-OR-NAME.
127639         * doc/lispref/windows.texi (Switching Buffers): Fix
127640         `pop-to-buffer' documentation.
127642 2016-08-29  Alan Third  <alan@idiocy.org>
127644         Clarify docstrings
127646         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
127648 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
127650         Use `process-live-p' in Tramp
127652         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
127654         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
127655         (tramp-handle-file-notify-valid-p)
127656         (tramp-action-process-alive, tramp-action-out-of-band)
127657         (tramp-wait-for-regexp):
127658         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
127659         (tramp-adb-maybe-open-connection):
127660         * lisp/net/tramp-cache.el (tramp-get-connection-property):
127661         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
127662         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
127663         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
127664         * lisp/net/tramp-sh.el (tramp-process-sentinel)
127665         (tramp-sh-handle-file-notify-add-watch)
127666         (tramp-maybe-open-connection):
127667         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
127668         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
127669         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
127670         (tramp-smb-get-cifs-capabilities)
127671         (tramp-smb-get-stat-capability)
127672         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
127673         (tramp-smb-kill-winexe-function): Use it.
127675 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
127677         Avoid crashes for invalid value of key modifiers
127679         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
127680         is not a symbol, don't try to recognize it.  See
127681         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
127682         for the details.
127684         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
127685         test, for testing the above fix.
127687 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
127689         Make dired-do-compress understand files with spaces in them
127691         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
127692           and `literal' flag to `replace-regexp-in-string'.
127694 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
127696         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
127698 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
127700         Add tests for dom.el
127702         * test/lisp/dom-tests.el: New file with tests for dom.el.
127704 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
127706         Memory allocator alignment fixes
127708         These changes remove some assumptions about heap allocator
127709         alignment that may not be true on unusual platforms.
127710         * src/alloc.c (POWER_OF_2): New macro.
127711         (ROUNDUP): Use it.
127712         (BLOCK_ALIGN): Verify that it is a power of 2.
127713         (aligned_alloc): Check that alignment passed to posix_memalign
127714         satisfies POSIX restrictions.
127715         (lisp_align_malloc): Check that size passed to aligned_alloc
127716         satisfies C11 restrictions.
127717         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
127718         code has not been verified to work with other GCALIGNMENT values
127719         and the ice is thin here.  On GNU/Linux, malloc can return a value
127720         that is a multiple of 8 but not 16, even though __alignof__
127721         (max_align_t) is 16.  See:
127722         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
127723         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
127724         is a multiple of alignment, since C11 says the behavior is
127725         undefined otherwise.
127726         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
127727         general this macro is restricted to signed types.  Remove
127728         assertion that the result is a multiple of GCALIGNMENT, as that
127729         need not be true.
127731 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
127733         Pacify --enable-gcc-warnings for lib-src/pop.c
127735         * lib-src/pop.c: Include c-ctype.h.
127736         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
127737         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
127738         of the (undeclared) isupper and tolower.  Fix pointer constness
127739         problem.
127741 2016-08-27  Alan Mackenzie  <acm@muc.de>
127743         Handle the C++ "identifiers" "final" and "override" correctly.
127745         This fixes bug #24319, allowing destructors affixed with these identifiers to
127746         be correctly fontified.
127748         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
127749         After reaching the "end" of a type expression, skip over any occurrences of
127750         c-type-decl-suffix-ws-ids-key.
127752         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
127753         "final" from the C++ value.
127754         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
127755         constants/variables for "final" and "override".
127757 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
127759         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
127761 2016-08-27  Alan Mackenzie  <acm@muc.de>
127763         Handle template delimiters in C++ member init constructs.
127765         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
127766         handling for "<....>"s.
127768 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
127770         Fix etags test suite messed up by merges from emacs-25
127772         * test/manual/etags/go-src/test.go:
127773         * test/manual/etags/go-src/test1.go: Move from test/etags/.
127774         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
127775         * test/etags/: Directory deleted.
127777 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
127779         Add "supports" to list of CSS at-rules
127781         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
127783 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
127785         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
127787         (Bug#22478)
127789 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
127791         Rename option to shell-command-dont-erase-buffer
127793         Suggested by Clément Pit--Claudel in:
127794         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
127795         * lisp/simple.el (shell-command-dont-erase-buffer):
127796         (shell-command--save-pos-or-erase):
127797         (shell-command--set-point-after-cmd):
127798         (shell-command-on-region):
127799         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
127800         * etc/NEWS (Changes in Emacs 25.2):
127801         Rename from shell-command-not-erase-buffer.
127803 2016-08-25  Alan Mackenzie  <acm@muc.de>
127805         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
127807         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
127808         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
127809         the loop won't hang at a "terminating" paren of a different type (due to the
127810         c-syntactic-re-search-forward at the end of the loop stopping at such
127811         characters).
127813 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
127815         call-shell-region: New defun
127817         Suggested by Stefan Monnier in Bug#22679.
127818         * lisp/subr.el (call-shell-region): New defun; execute a command
127819         in an inferior shell with the buffer region as input.
127820         * lisp/simple.el (shell-command-on-region): Use it.
127821         * lisp/gnus/message.el (message-do-fcc): Idem.
127822         * doc/lispref/processes.texi: Document call-shell-region in the manual.
127823         ;* etc/NEWS: Add entry for this new function.
127825 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
127827         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
127829         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
127830         argument in `pop-to-buffer' call (Bug#24306).
127832 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
127834         Some fixes around `delete-other-frames' and `next-frame'
127836         * src/frame.c (Fdelete_frame): Clarify doc-string.
127837         * lisp/frame.el (delete-other-frames): Delete other frames on
127838         FRAME's terminal instead of the current terminal.  Delete
127839         non-minibuffer-only surrogate frames too.  See
127840         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
127841         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
127842         docs of `delete-frame' and `frame-live-p'.  Add entry for
127843         `delete-other-frames'.
127844         (Finding All Frames): Fix doc of `next-frame'.
127846 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
127848         Find message.el thumbnail toggling
127850         * lisp/gnus/message.el (message-toggle-image-thumbnails):
127851         Don't infloop when toggling thumbnails.
127853 2016-08-24  Alan Third  <alan@idiocy.org>
127855         Fix macOS 12 deprecation notices
127857         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
127858         new constant names.
127859         * src/nsmenu.m: Replace old constant names with
127860         new.
127861         (fillWithWidgetValue): Remove calls to deprecated
127862         setMenuChangedMessagesEnabled.
127863         * src/nsterm.m: Replace old constant names with new.
127864         * src/nsfns.m: Replace old constant names with new.
127866 2016-08-23  Alan Mackenzie  <acm@muc.de>
127868         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
127870         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
127871         directly preceding the colon, and handle it.
127873 2016-08-23  Noah Friedman  <friedman@splode.com>
127875         * src/xfns.c (Fx_change_window_property): Modify previous change.
127876         Instead of forcing format to 8 for strings, check that the length of
127877         the string is appropriate for whatever format given.
127878         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
127879         try its outer window.  This mimics the behavior of Fx_window_property.
127881 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
127883         Fix invalid image rotations
127885         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
127887 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
127889         call-process instead of call-process-region with empty region
127891         * lisp/calc/calc-graph.el (calc-graph-show-tty):
127892         Use call-process and shell-command-switch.
127894 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
127896         Merge from origin/emacs-25
127898         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
127899         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
127900         73cbb81 ; ChangeLog spelling fixes
127901         9b99772 Some assorted documentation clarifications
127902         37d4723 Improve commentary in src/character.h
127903         5ccd593 ; Fix typo in /etc/NEWS
127904         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
127905         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
127906         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
127907         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
127909         # Conflicts:
127910         #       ChangeLog.2
127911         #       lisp/ldefs-boot.el
127913 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
127915         Merge from origin/emacs-25
127917         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
127919 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
127921         Merge from origin/emacs-25
127923         8c2946e In NEWS describe new handling of window margins (Bug#24193)
127924         0cee66c Facultatively ignore margins when splitting and resizing wind...
127925         8d68147 Document CATEGORY arg to modify-category-entry
127926         8342e74 Document char-script-table's effect on word motion
127927         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
127928         0695235 Fix docstring of eval-expression
127929         98b01dd Clarify when 'cursor' property is in effect
127930         75f1882 Convert the remaining strings to unibyte before concatenating
127931         d2db5dd Fix bug with handling the bidi cache
127932         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
127933         f785ff4 Clarify documentation of before/after-change-functions
127934         3c9cb57 Document use of vectors in keymaps
127936         # Conflicts:
127937         #       src/xdisp.c
127939 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
127941         Handle remote file names in gdb-mi.el
127943         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
127944         If `default-directory' is remote, full file names are adapted
127945         accordingly.  (Bug#23608)
127947 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
127949         Display mini-window resized even when there are several frames
127951         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
127952         t to avoid resizing back the mini-window as result of considering
127953         the title of other frames.  (Bug#24285)
127954         (redisplay_window): No need to bind inhibit-redisplay here.
127956 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
127958         Explain gdb warning on remote hosts
127960         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
127961         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
127963 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
127965         Fix (next-frame nil t) crash (Bug#24281)
127967         * src/frame.c (candidate_frame): Check minibuf argument before
127968         comparing it to zero (Bug#24281).
127970 2016-08-21  Noah Friedman  <friedman@splode.com>
127972         Fix interpretation of signed vs unsigned values when retrieving X
127973         Window properties, and make sure the full value is returned when not
127974         parsed.
127976         New subr to export type and format information about X Window
127977         properties to lisp.
127979         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
127980         unsigned unless its actual type is INTEGER.
127981         CARDINALs, in particular, are unsigned.
127983         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
127984         any provided format and force to 8.
127985         (x_window_property_intern): If returning value as a string, the length
127986         is actual_size times the actual format of each element, which is not
127987         necessarily bytes.
127988         (Fx_window_property_attributes): New subr.
127989         (syms_of_xfns): Declare it.
127991 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
127993         Improve error when installing non-package dirs
127995         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
127996         when no file with package info is found (Bug #19851).
127998 2016-08-21  Alan Mackenzie  <acm@muc.de>
128000         Adapt CC Mode for C++11 uniform initialization.
128002         For fontification, introduce a new "context", 'non-decl, to be used for
128003         brace
128004         lists; also a new value for the property 'c-type, called 'c-not-decl.
128006         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
128007         an ostensible symbol we're going to move over isn't a keyword.
128008         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
128009         (hence a declaration), and an unmatched open paren, perform
128010         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
128011         Whilst checking a type decl expression, check for and handle C++11's "copy
128012         initialization", where we have <type>(<constant>).  Recognize
128013         <id><id>(... (where the paren is unclosed) as a declaration.
128014         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
128015         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
128016         valid tokens other than "=".  Recognize a bracelist when preceded by a
128017         template declaration.
128018         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
128019         much inline code.
128020         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
128021         initialization starting "({" as an in-expression block, by checking for
128022         semicolons, as opposed to commas, separating elements inside it.
128023         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
128024         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
128025         preceding "=".  (CASE B-5): New code to recognize new construct "return {
128026         ...}".
128027         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
128028         "return", or "{" preceded by <type><identifier> as a bracelist.
128030         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
128031         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
128032         search for "," rather than calling c-forward-decl-or-cast-1.
128034         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
128035         constants/variables to recognize "return".
128036         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
128037         which, when preceding an identifier followed by a brace, signify the brace as
128038         a bracelist.
128040         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
128041         the start of a "local" declaration, move out from an enclosing brace when
128042         that is the start of a brace list.
128044 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
128046         Update from gnulib
128048         This incorporates:
128049         2016-08-17 maint: preprocessor changes to support z/OS
128050         2016-08-17 string: rename to avoid '__string'
128051         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
128052         Copy from gnulib.
128054 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
128056         Minor text-quoting-style fixes
128058         * src/charset.c (check_iso_charset_parameter):
128059         * src/frame.c (store_frame_param):
128060         * src/xselect.c (x_fill_property_data):
128061         Use grave accent for left single quote in ‘error’ format strings.
128063 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
128065         Fix semantics of 'minibuffer' frame parameter
128067         The 'minibuffer' frame parameter is now t for a normal frame
128068         (a frame with a root window plus a minibuffer window) and the
128069         frame's minibuffer window for a minibuffer-less frame (a frame
128070         whose minibuffer window is on another frame).  See also:
128071         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
128073         * src/frame.c (make_frame, make_frame_without_minibuffer)
128074         (make_minibuffer_frame): When assigning the frame's minibuffer
128075         window also store corresponding 'minibuffer' frame parameter.
128076         (store_frame_param): Move the 'minibuffer' parameter checks to
128077         the beginning so we can silently override the value before it
128078         gets stored in the parameter alist.  Fix error handling.
128079         (Fframe_parameters): Return value of 'minibuffer' parameter
128080         unmodified.
128082         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
128083         the parameter is a minibuffer window, save (minibuffer . nil)
128084         instead of (minibuffer . t).
128085         (frameset--reuse-frame): To find a non-minibuffer-only frame
128086         look out for a frame whose 'minibuffer' parameter is t instead
128087         of that frame's minibuffer window.
128088         (frameset-minibufferless-first-p): To find a minibuffer-less
128089         frame look out for a frame whose 'minibuffer' parameter is a
128090         window instead of nil.
128092 2016-08-20  Alan Mackenzie  <acm@muc.de>
128094         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
128096 2016-08-20  Alan Mackenzie  <acm@muc.de>
128098         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
128100         Check the limit both at macro expansion time (for a hard coded nil) and at run
128101         time in the generated code.  Tidy up these macros generally.
128103         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
128104         not identically nil before generating a narrow-to-region call.  Generate code
128105         to check `limit' is not nil at run time.
128106         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
128107         narrow-to-region, instead calling c-safe-scan-lists directly.
128108         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
128109         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
128110         to determine the destination position instead of generating a redundant
128111         narrow-to-region.
128113 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
128115         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
128117         The docstring referenced a non-existent parameter, as well as a
128118         parameter that has been renamed since the docstring was written. Fix
128119         both errors, fixing (Bug#24182).
128121 2016-08-19  Alan Mackenzie  <acm@muc.de>
128123         Amend hack-local-variables-prop-line not always to return any mode on line 1.
128125         This fixes bug #24266.
128127         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
128128         parameter mode-only to handle-mode.  Change its meaning, such that it being
128129         set to a value non-nil and not t removes any mode parameter from the result
128130         list.  Leave its values nil and t with the same meanings they had.
128131         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
128133 2016-08-19  Daiki Ueno  <ueno@gnu.org>
128135         Improve doc string of epg-*-program
128137         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
128138         Suggest to use Customize when setting.  (Bug#24229)
128140 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
128142         Add tests for Bug#24264
128144         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
128145         Add test for Bug#24264.
128146         (cl-seq-fill-test, cl-seq-replace-test)
128147         (cl-seq-remove-test ,cl-seq-delete-test)
128148         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
128149         (cl-seq-nsubstitute-test, cl-seq-position-test)
128150         (cl-seq-count-test, cl-seq-mismatch-test)
128151         (cl-seq-search-test, cl-seq-test-bug24264):
128152         Add tests for all functions in the file; test all keywords.
128154 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
128156         Fix bug in --eval reply message from server
128158         * lisp/server.el (server-reply-print): Fix check for truncated quote
128159         sequence at end of message. Problem reported in:
128160         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
128162 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
128164         Add tests for 'substitute-command-keys'
128166         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
128167         tests.
128169 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
128171         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
128173         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
128174         `completing-read'.
128176 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
128178         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
128180         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
128181         without any files being extracted.
128183 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
128185         Don't let window start override window point in `window-state-put' (Bug#24240)
128187         * lisp/window.el (window--state-put-2): Set 'noforce argument
128188         when restoring a window's start position.  This avoids that the
128189         effect of `set-window-point' gets overridden by that of
128190         `set-window-start' (Bug#24240).
128192 2016-08-17  Alan Mackenzie  <acm@muc.de>
128194         Fontify constructs following "::" in C++ argument lists correctly - part 2.
128196         This fixes bug #24246.
128198         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
128199         `save-match-data' around the new `looking-at' introduced by the previous CC
128200         Mode patch this evening.
128202 2016-08-17  Alan Mackenzie  <acm@muc.de>
128204         Fontify constructs following "::" in C++ argument lists correctly.
128206         This fixes bug #24246.
128208         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
128209         match" loop, test a found string for a match with c-opt-identifier-concat-key
128210         (e.g. with "::").
128212 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
128214         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
128216 2016-08-17  K. Handa  <handa@gnu.org>
128218         Fix hz encoding and decoding (bug#23814)
128220         * lisp/language/china-util.el (decode-hz-region): Pay
128221         attention to "~~}" sequence at the end of Chinese character
128222         range.
128223         (hz-category-table): New variable.
128224         (encode-hz-region): Convert non-encodable characters to
128225         \u... and \U...  Preserve ESC on ecoding.  Put
128226         `chinese-gb2312' `charset' text property in advance to force
128227         iso-2022-encoding to select chinese-gb2312 designation.
128229 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
128231         file-attribute-collect: New defun
128233         * lisp/files.el (file-attribute-collect):
128234         Return a sublist of the attributes returned by 'file-attributes'.
128235         Suggested by Ted Zlatanov in:
128237         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
128239 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
128241         Fix Bug#24203
128243         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
128245 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
128247         Improve doc string.
128249         * src/fileio.c (Ffile_name_as_directory): Be precise about the
128250         conditions under which a slash is appended.
128252 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
128254         Omit substitute-command-keys code no longer needed
128256         * src/doc.c (Fsubstitute_command_keys):
128257         Remove duplicate initializations.
128259 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
128261         Allow not erase output buffer in shell commands
128263         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
128264         not erasing the output buffer between shell commands.  Defaults to nil.
128265         (shell-command-on-region): Use it.
128266         (shell-command--save-pos-or-erase): New defun; store a buffer position
128267         if 'shell-command-not-erase-buffer' is non-nil; otherwise
128268         erase the output buffer of the shell command.
128269         (shell-command, shell-command-on-region): Use it.
128270         (shell-command--set-point-after-cmd): New defun;
128271         if 'shell-command-not-erase-buffer' is non-nil, set point
128272         in the output buffer to the position in 'shell-command-saved-pos'.
128273         (shell-command-sentinel, shell-command-on-region): Use it.
128274         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
128275         Document this feature in the manual.
128276         See discussion on:
128277         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
128279 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
128281         Rearrange Tramp manual title page
128283         * doc/misc/tramp.texi: Move @insertcopying out of the title
128284         page.  Do not use @ifnottex anymore.
128286 2016-08-15  Glenn Morris  <rgm@gnu.org>
128288         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
128290 2016-08-15  Alan Mackenzie  <acm@muc.de>
128292         Fix minor bug in c-syntactic-re-search-forward.
128294         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
128295         non-nil, and the first internal search attempt fails, point wrongly ends up at
128296         BOUND, rather than just before the next closing paren.
128298         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
128299         the above situation.
128301 2016-08-15  Alan Mackenzie  <acm@muc.de>
128303         Handle C++11 lambda functions.
128305         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
128306         handle C++ lambda functions.
128307         (c-looking-at-c++-lambda-capture-list): New function.
128309         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
128310         parameter list of a lambda function and set `context' and
128311         `c-restricted-<>-arglists' suitably for it.
128312         (c-font-lock-c++-lambda-captures): New function.
128313         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
128315         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
128316         New language constants/variables.
128317         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
128319         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
128320         function capture list.
128322 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
128324         Fix stale cache problem in Tramp
128326         * lisp/net/tramp-cache.el (tramp-get-connection-property):
128327         Check, that a process as key is still running.  (Bug#22478)
128329 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
128331         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
128333 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
128335         Another fix for scroll-conservatively and overlay strings
128337         * src/xdisp.c (redisplay_window): Handle also the case where the
128338         calculated window-start point has an overlay string touching it.
128339         (Bug#24179)
128341 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
128343         Improve handling of defcustoms in tramp
128345         * doc/misc/tramp.texi: Protect all multi-line examples by
128346         @group ... @end group.  Use proper `custom-set-variables'
128347         examples.  Use consequently @option for user options.  Remove
128348         superfluous @cindex and @vindex entries.
128349         (Top): Remove reference to outdated mail archives.
128350         (Configuration): Tune references.
128351         (Default Method): Make `tramp-default-method' and
128352         `tramp-default-method-alist' a @defopt.
128353         (Default User): Make `tramp-default-user' and
128354         `tramp-default-user-alist' a @defopt.
128355         (Default Host): Make `tramp-default-host' and
128356         `tramp-default-host-alist' a @defopt.
128358         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
128359         (tramp-backup-directory-alist, tramp-auto-save-directory)
128360         (tramp-encoding-shell, tramp-encoding-command-switch)
128361         (tramp-encoding-command-interactive, tramp-default-method)
128362         (tramp-default-method-alist, tramp-default-user)
128363         (tramp-default-user-alist, tramp-default-host)
128364         (tramp-default-host-alist, tramp-default-proxies-alist)
128365         (tramp-save-ad-hoc-proxies)
128366         (tramp-restricted-shell-hosts-alist)
128367         (tramp-local-end-of-line, tramp-rsh-end-of-line)
128368         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
128369         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
128370         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
128371         (tramp-terminal-prompt-regexp)
128372         (tramp-operation-not-permitted-regexp)
128373         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
128374         (tramp-syntax, tramp-chunksize)
128375         (tramp-process-connection-type, tramp-connection-timeout)
128376         (tramp-connection-min-time-diff)
128377         (tramp-completion-reread-directory-timeout):
128378         * lisp/net/tramp-adb.el (tramp-adb-program)
128379         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
128380         * lisp/net/tramp-cache.el (tramp-connection-properties)
128381         (tramp-persistency-file-name):
128382         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
128383         (tramp-gvfs-zeroconf-domain)
128384         (tramp-bluez-discover-devices-timeout):
128385         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
128386         (tramp-copy-size-limit, tramp-terminal-type)
128387         (tramp-histfile-override)
128388         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
128389         (tramp-remote-process-environment, tramp-sh-extra-args):
128390         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
128391         (tramp-smb-conf, tramp-smb-winexe-program)
128392         (tramp-smb-winexe-shell-command)
128393         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
128395 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
128397         Minor text-quoting-style fixes
128399         * lisp/cus-edit.el (custom-buffer-create-internal):
128400         * lisp/recentf.el (recentf-edit-list):
128401         Follow text-quoting-style preference when quoting in UI strings.
128402         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
128403         quotes are substituted for, as this is no longer true.
128405 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
128407         Fix substitute-command-keys unibyte, alloc bugs
128409         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
128410         unibyte strings and with buffer allocation.  Make strings
128411         multibyte, to avoid problems with unibyte strings that are not
128412         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
128413         O(N), not O(N**2).  Avoid going past the end of the input string
128414         when given invalid input.  Avoid some unlikely problems in
128415         accessing the wrong storage after a GC.
128417 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
128419         Fix "C-u" when an input method is active
128421         * lisp/international/quail.el (quail-input-method): Defer to the
128422         input method iff 'overriding-terminal-local-map' is
128423         'universal-argument-map' and the given key has no binding there.
128424         (Bug#22958)
128426 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
128428         Fix docs on `display-buffer-below-selected' (Bug#24213)
128430         * lisp/window.el (display-buffer-below-selected): Fix
128431         doc-string (Bug#24213).
128432         * doc/lispref/windows.texi (Display Action Functions): Fix
128433         documentation of `display-buffer-below-selected'.
128435 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
128437         cl-fill: Rename arguments to cl-seq and cl-item
128439         * lisp/emacs-lisp/cl-seq.el (cl-fill):
128440         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
128442 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
128444         Fix display.texi typo
128446         * doc/lispref/display.texi (Faces): Fix typo.
128448 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
128450         Fix process leak with make-network-process
128452         This problem was introduced by the recent async changes (Bug#23808).
128453         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
128454         so that it follows the start_process_unwind unwind-protect.
128455         Set pid to -1 while the process is being created.
128456         (start_process_unwind): Omit unnecessary emacs_abort test.
128457         (connect_network_socket): Simplify use of counts.  Unwind
128458         bind_polling_period a bit earlier, so that a remove_process
128459         unwind-protect can be added when needed; this is the heart of
128460         the fix.  Undo the unwind-protect just before returning.
128462 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
128464         Avoid annoying re-scroll when buffer has many overlay strings
128466         * src/xdisp.c (redisplay_window): Add better recovery from a
128467         situation where window-start is on buffer position which has a
128468         before-string that includes newlines, with the result that point
128469         is not visible in the window, because the display engine starts
128470         displaying with the before-string.  (Bug#24179)
128472 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
128474         Omit unnecessary process initialization
128476         * src/process.c (make_process, Fmake_process)
128477         (Fmake_pipe_process, Fmake_serial_process)
128478         (Fmake_network_process, server_accept_connection):
128479         Omit unnecessary initialization of already-cleared storage.
128481 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
128483         cl-delete-duplicates: Parse :if to have cl-if bound
128485         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
128486         We need also to parse keyword :if, otherwise cl-if
128487         is unbound.
128488         This reverts commit:
128489         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
128491 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
128493         cl-delete-duplicates: do not parse :if keyword
128495         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
128496         Parse only the supported keywords.
128498 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
128500         Add compatibility layer for `temporary-file-directory-function'
128502         * lisp/net/tramp-compat.el
128503         (tramp-compat-temporary-file-directory-function): New defalias.
128505         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
128507         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
128508         Skip for older Emacs versions.
128510 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
128512         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
128514         (Bug#24059)
128516 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
128518         Handle nil cell value in compiled printer functions.
128520         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
128521         ses-range `!' modifier.
128522         (More on cell printing): Fix this that the fallback printer is
128523         `ses-prin1', not "%S".  That makes a difference for any cell value for
128524         which "%S" would insert a backslash characters.
128526         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
128527         --- contrary to emacs-25 branches ses-call-printer does not handle
128528         prior to calling a function printer.  Not doing this would still work
128529         because the compiled function would throw and error and SES would in
128530         the end resort to the ses-prin1 fallback, however this way would not
128531         be in line with the raison d'être of compiling printer which is speed.
128533 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
128535         Turn on lexical-binding in json.el
128537         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
128538         showed 12-31% reduction in execution time.
128539         * lisp/json.el: Turn on lexical-binding.
128541 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
128543         Nudge WoMan toward lexical-binding
128545         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
128546         Use cl-pushnew instead of add-to-list.
128547         (woman-justify-list): Rename to woman-justify-styles.
128548         (woman-justify-styles): New array.
128549         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
128550         (woman-cached-data): Use cl-pushnew instead of add-to-list.
128552 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
128554         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
128556         Here follows the logs from the two commits which I apply to master.
128558         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
128559         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
128560         Date:   Fri Jul 29 13:44:14 2016 +0200
128562         Fix ses-delete-blanks to delete only blanks + documentation.
128564         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
128565         'ses-range' modifier as an alternative to 'ses+'.
128566         (Advanced Features): Add a reference to node 'Nonrelocatable
128567         references' concerning function 'ses-rename-cell'.
128568         (Standard formula functions): Mention the '!' 'ses-range'
128569         modifier as an alternative to 'ses-delete-blanks'.
128570         (More on cell printing): Fix fallback printer
128571         definition.  Minor editorial formatting changes.
128572         (Nonrelocatable references): Document the use of
128573         'ses-rename-cell' as a better way to make cell reference
128574         non-relocatable.
128575         (The data area): Document the presence of local printer
128576         definitions in the data area.
128578         * lisp/ses.el (ses-delete-blanks): Do not remove
128579         *error*.  Any error in an argument should propagate into the
128580         using formula rather than being silently hidden !
128582         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
128583         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
128584         Date:   Thu Jul 28 19:49:37 2016 +0200
128586         Fix local printer set to left aligned string formatter.
128588         * lisp/ses.el (ses-local-printer-compile): Add missing case
128589         for left-aligned string formatter.
128591 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
128593         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
128595 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
128597         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
128599         Change the code which detects and circumvents the case where one of the
128600         variables used in λ-lifting is shadowed, so that it also works when the
128601         shadowing comes before the λ-lifted function (bug#24171).
128603         (cconv--remap-llv): New function, extracted from cconv-convert.
128604         (cconv-convert): Use it, but differently for `let' and `let*'.
128606 2016-08-09  Alan Mackenzie  <acm@muc.de>
128608         CC Mode: check for and fix missing call to before_change_functions.
128610         Fixes bug #24094 and bug #24074.
128612         This can happen with `revert-buffer' or sometimes `find-file', when the file
128613         is already in a buffer, but the file has been changed outside of Emacs.
128615         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
128616         invocation of c-before-change-functions, we assume the changed region is the
128617         entire buffer, and call c-before-change explicitly before proceding.
128619 2016-08-09  Alan Mackenzie  <acm@muc.de>
128621         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
128623         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
128625 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
128627         Support $ENV in Tramp
128629         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
128631         * etc/NEWS: Explain the "ENV" environment variable in
128632         `tramp-remote-process-environment'.
128634         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
128635         (tramp-open-shell): Read $ENV value from
128636         `tramp-remote-process-environment'.
128637         (tramp-open-connection-setup-interactive-shell): Set values in
128638         proper order.
128640 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
128642         Simplify exec_byte_code via moving decls etc.
128644         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
128645         initializers into decls, and by omitting some unnecessary
128646         changes to ‘top’.  This improves performance a bit on x86-64,
128647         as it happens.
128649 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
128651         Remove interpreter’s byte stack
128653         This improves performance overall on my benchmark on x86-64,
128654         since the interpreted program-counter resides in a machine
128655         register rather than in RAM.
128656         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
128657         is no longer a byte stack to decode.
128658         * src/bytecode.c (struct byte_stack, byte_stack_list)
128659         (relocate_byte_stack): Remove.  All uses removed.
128660         (FETCH): Simplify now that pc is now local (typically, in a
128661         register) and no longer needs to be relocated.
128662         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
128663         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
128664         (exec_byte_code): Allocate a copy of the function’s bytecode,
128665         so that there is no problem if GC moves it.
128666         * src/lisp.h (struct handler): Remove byte_stack member.
128667         All uses removed.
128668         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
128669         SAFE_ALLOCA_LISP.
128670         (SAFE_ALLOCA_LISP): Use it.
128672 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
128674         Remove arbitrary limit on bytecode maxdepth
128676         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
128677         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
128679 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
128681         Tune bytecode quitting
128683         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
128684         check only once every 256 times.  This should be good enough, and
128685         improves performance significantly on x86-64 as branch-prediction
128686         typically assumes checking will not be done so the instruction
128687         pipeline stays fuller.
128688         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
128689         directly, as BYTE_CODE_QUIT does that now.
128691 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
128693         Simplify BYTE_CODE_SAFE checking
128695         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
128696         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
128697         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
128698         expressions instead of #if expressions when this is easy.
128699         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
128700         as it is no longer needed.
128701         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
128702         Simplify stack-overflow checking when BYTE_CODE_SAFE.
128704 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
128706         Get BYTE_CODE_METER working again
128708         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
128709         noticed.  Perhaps we should remove it?
128710         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
128711         Use *aref_addr instead of AREF, since it needs to be an lvalue.
128713 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
128715         Fix cursor position under scroll-conservatively and overlay strings
128717         * src/xdisp.c (try_scrolling): Handle the case where the last
128718         visible screen line of a window displays a before- or after-string
128719         that takes up the whole screen line, and therefore there's no
128720         place to display the cursor, even though the window does seem to
128721         include the position of point.  (Bug#24179)
128723 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
128725         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
128727 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
128729         Tune interpretation of integer arglist descriptor
128731         * src/bytecode.c (exec_byte_code):
128732         Simplify and tune when INTEGERP (args_template).
128734 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
128736         Fix debugging of string-match-p errors
128738         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
128739         that debugger code that needs to do regexp match won't break
128740         (Bug #23949, Bug #24166, Bug#16294).
128742 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
128744         Add `make-nearby-temp-file' and `temporary-file-directory'
128746         * doc/lispref/files.texi (Unique File Names):
128747         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
128748         (Magic File Names): Mention `make-nearby-temp-file' and
128749         `temporary-file-directory'.
128751         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
128752         `temporary-file-directory'.
128754         * lisp/files.el (mounted-file-systems): New defcustom.
128755         (temporary-file-directory, make-nearby-temp-file): New defuns.
128756         (normal-backup-enable-predicate): Fix docstring.
128758         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
128759         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
128760         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
128761         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
128762         <make-nearby-temp-file, temporary-file-directory>: Add handler.
128764         * lisp/net/tramp.el (tramp-file-name-for-operation):
128765         Add `make-nearby-temp-file' and `temporary-file-directory'.
128766         (tramp-get-remote-tmpdir): Remove compatibility code.
128767         (tramp-handle-temporary-file-directory)
128768         (tramp-handle-make-nearby-temp-file): New defuns.
128770         * lisp/org/ob-core.el (org-babel-local-file-name):
128771         * lisp/progmodes/gud.el (gud-common-init):
128772         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
128774         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
128776         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
128777         Check `tramp--test-enabled'.
128778         (tramp-test18-file-attributes): Add tests for
128779         `file-ownership-preserved-p'.
128780         (tramp-test27-start-file-process, tramp-test28-shell-command):
128781         Reduce timeouts in `accept-process-output'.
128782         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
128783         (tramp-test29-environment-variables): Remove additional sleep calls.
128784         (tramp-test32-make-nearby-temp-file): New test.
128785         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
128786         (tramp-test33-special-characters)
128787         (tramp-test33-special-characters-with-stat)
128788         (tramp-test33-special-characters-with-perl)
128789         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
128790         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
128791         (tramp-test34-utf8-with-ls)
128792         (tramp-test35-asynchronous-requests)
128793         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
128794         (tramp--test-ftp-p): Simplify check.
128795         (tramp--test-sh-p): New defun.
128796         (tramp-test20-file-modes, tramp-test22-file-times)
128797         (tramp-test26-process-file, tramp-test27-start-file-process)
128798         (tramp-test28-shell-command)
128799         (tramp-test29-environment-variables)
128800         (tramp-test30-vc-registered)
128801         (tramp-test33-special-characters-with-stat)
128802         (tramp-test33-special-characters-with-perl)
128803         (tramp-test33-special-characters-with-ls)
128804         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
128805         (tramp-test34-utf8-with-ls)
128806         (tramp-test35-asynchronous-requests): Use it.
128808 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
128810         Add missing dcstrings in Tramp, remove check for obsolee methods
128812         * lisp/net/tramp.el (tramp-progress-reporter-update)
128813         (tramp-unload-file-name-handlers, tramp-get-local-uid)
128814         (tramp-get-local-gid, tramp-get-local-locale):
128815         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
128816         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
128817         * lisp/net/tramp-compat.el (tramp-compat-funcall):
128818         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
128819         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
128820         * lisp/net/tramp-sh.el (tramp-get-remote-path)
128821         (tramp-get-remote-locale, tramp-get-ls-command)
128822         (tramp-get-ls-command-with-dired)
128823         (tramp-get-ls-command-with-quoting-style)
128824         (tramp-get-ls-command-with-w-option)
128825         (tramp-get-test-nt-command, tramp-get-file-exists-command)
128826         (tramp-get-remote-ln, tramp-get-remote-perl)
128827         (tramp-get-remote-stat, tramp-get-remote-readlink)
128828         (tramp-get-remote-trash, tramp-get-remote-touch)
128829         (tramp-get-remote-gvfs-monitor-dir)
128830         (tramp-get-remote-inotifywait, tramp-get-remote-id)
128831         (tramp-get-remote-uid-with-id)
128832         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
128833         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
128834         (tramp-get-remote-gid-with-id)
128835         (tramp-get-remote-gid-with-perl)
128836         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
128837         (tramp-get-env-with-u-option): Add missing docstrings.
128839         * lisp/net/tramp.el (tramp-obsolete-methods)
128840         (tramp-warned-obsolete-methods): Remove.
128841         (tramp-find-method): Do not check for obsolete methods any longer.
128843 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
128845         Make sh-mode always use p-s-lookup-properties
128847         This lets functions which rely on syntax-propertize for parsing
128848         work correctly even before font lock has a chance to run.
128850         * lisp/progmodes/sh-script.el (sh-set-shell): Set
128851         parse-sexp-lookup-properties unconditionally (Bug #4920).
128853 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
128855         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
128857         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
128858         list when showing its (non-existent) arguments (Bug #18587).
128860 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
128862         Don't delete selection after indent-rigidly
128864         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
128865         function to `set-transient-map', this prevents `delete-selection-mode'
128866         from deleting the text that was just indented (Bug #20408).
128868 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
128870         Fix byte-compile of interactive closures
128872         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
128873         bindings after docstring and `interactive' form, if any (Bug #24122).
128875 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
128877         Error if --eval arg has text beyond 1 expression
128879         * lisp/startup.el (command-line-1): If --eval argument has more data
128880         than constitutes a single Lisp expression, signal an error (Bug #23159).
128882 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
128884         Fix quoted lambda warning from lexical-let
128886         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
128887         with `function', not `quote' (Bug #11357).
128889 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
128891         Make emerge always use shell-quote-argument
128893         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
128894         (emerge-protect-metachars): Delete.
128895         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
128896         `emerge-protect-metachars' with `shell-quote-argument' so that shell
128897         quoting is done the same on all system types (Bug #6136).  Also shell
128898         quote `emerge-diff-program' and `emerge-diff3-program'.
128900 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
128902         Fix 'dired-diff' when backup file is in another directory
128904         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
128905         the default for FILE is computed, especially when backup files
128906         are involved.  Support backup files in another directory.
128907         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
128909 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
128911         Fix the 'T' command in Dired with non_ASCII file names
128913         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
128914         to correctly encode file names passed to the invoked PROGRAM.
128915         (Bug#24162)
128917 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
128919         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
128921 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
128923         Merge from origin/emacs-25
128925         d841a03 ; Spelling fix
128926         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
128927         d35d398 Update to the AUTHORS file for Bob Weiner
128928         4d2f4df Revert "Fix local printer set to left aligned string formatter."
128929         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
128930         f7ceb8e Revert "Fix English."
128931         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
128932         aa4271a Fix doc string of 'minibuffer-message-timeout'
128933         b275cc7 Fix English.
128934         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
128935         272391f profiler: document prefix arg for tree expansion
128936         442cc39 Clarify usage of eshell-visual-options
128937         b443c3c Fix comment in files-in-below-directory
128938         8a38e94 Fix local printer set to left aligned string formatter.
128939         0f0b191 ; Fix typos in NEWS
128940         6bdf687 ; * etc/NEWS: Remove temporary marks
128942 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
128944         Merge from origin/emacs-25
128946         d08afa1 * etc/AUTHORS: Update the AUTHORS file
128947         2668500 ;; * ChangeLog.2: ChangeLog update.
128948         7acfaea ; ChangeLog fixes
128949         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
128950         9ab52f6 * admin/authors.el: Additions.
128951         0e646c7 Warn about Cairo-related problems
128952         bc4c07f Don't let completion break `declare' handling
128953         66f95e0 Adjust match data before calling after-change-funs
128954         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
128955         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
128957         # Conflicts:
128958         #       ChangeLog.2
128959         #       src/lisp.h
128961 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
128963         Merge from origin/emacs-25
128965         9a41cd1 ; Fix typo
128966         9356fe2 Expand FIXME near definition of fboundp
128967         219b39f kill-rectangle should mention killed-rectangle
128968         59fa4c3 Avoid assertion violations in nhexl-mode
128970 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
128972         Merge from origin/emacs-25
128974         9ba51ed Document buffer-swap-text+save-excursion interaction
128975         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
128976         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
128977         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
128978         05ba7a0 Add test for handling environment variables in Tramp
128979         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
128980         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
128981         90f2169 ; Spelling fixes
128982         069fc05 Improve documentation of search functions
128983         0a0144a Delete environment variables in Tramp when needed
128984         f624671 Add "New in Emacs 25" section to the FAQ
128985         658daf9 Fix 'vertical-motion' in non-interactive sessions
128986         686b520 Fix memory leak in imagemagick-types
128987         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
128988         1b2d6a6 Clarify docstring of find-feature-regexp
128989         aac62a6 Add details to cl-lib defining macros' docstrings
128990         d6aa4da Clarify doc string of 'save-buffer'
128991         03bcf11 Un-confuse doc string of 'string-collate-equalp'
128992         c53135b Clarify documentation of 'mouse-on-link-p'
128994         # Conflicts:
128995         #       lisp/emacs-lisp/eieio-core.el
128997 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
128999         Merge from origin/emacs-25
129001         6f285d9 Amend last addition to etc/PROBLEMS
129002         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
129004 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
129006         Merge from origin/emacs-25
129008         d4c6774 Fix missing point information in undo
129009         3a9d629 Avoid crashes when buffer modification hooks clobber match data
129010         178b2f5 Note combine-and-quote-strings doesn't shell quote
129011         dec7567 Explain when package-initialize isn't called
129012         113d1e2 Fix escaping in sh-indent-after-continuation docstr
129013         80e2044 ; * etc/NEWS: Improve previous change.
129014         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
129015         38f4b8e Clarify the documentation of back-references in replacements
129017 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
129019         Merge from origin/emacs-25
129021         850ba44 Clarify lexical binding with symbol args behavior
129022         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
129023         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
129024         21110af Avoid assertion violations when rendering some fonts
129025         6192b6c Document more details of package activation
129026         272ddc6 Fixup warning message regarding HOME a bit more
129027         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
129028         d41f7ff Fix input method "probhat" for Bengali
129029         c150a64 ; Fix typo in commit before last
129030         ebf0472 Add to elisp-completion-at-point's docstring
129031         fd9fad0 Give more helpful warning about setting HOME
129032         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
129034         # Conflicts:
129035         #       lisp/term.el
129037 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
129039         Merge from origin/emacs-25
129041         26d4da0 New input method "probhat" for Bengali
129042         4f445bf ; Spelling fix
129043         f403f03 ; Fix typo
129045 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
129047         Spelling and minor grammar fixes
129049         * test/file-organization.org: Rename from test/file-organisation.org.
129051 2016-08-04  Alan Mackenzie  <acm@muc.de>
129053         Widen in certain low level CC Mode functions.  This fixes bug #24148.
129055         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
129056         (c-state-full-pp-to-literal): Widen around the functionality.
129057         (c-parse-ps-state-below): Correct the order of save-excursion and
129058         save-restriction.
129060 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
129062         Fix Bug#24149
129064         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
129065         overriding-terminal-local-map.  (Bug#24149)
129067 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
129069         Update from gnulib
129071         This incorporates:
129072         2016-07-03 mktime: call tzset as per POSIX
129073         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
129074         Copy from gnulib.
129076 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
129078         Fix GnuTLS includes
129080         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
129081         a second time; although it doesn’t hurt, it’s not needed.
129082         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
129083         as it may not be available.  Problem reported by Glenn Morris in:
129084         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
129086 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
129088         Fix accessing regex-resources in out-of-tree test runs in regex-tests
129090         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
129091         fix regex-tests failing when run from the source tree (i.e. via make)
129092         by hard-coding path to regex-resources directory relative to the test
129093         directory.
129095         This fixed runs from the tree but broke the test when run using other
129096         methods.
129098         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
129100         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
129101         storing path to the regex-resources directory.
129102         (regex-tests-generic-line): Use aforementioned variable.
129104 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
129106         Simplify by assuming GnuTLS 2.12.2 or later
129108         * src/gnutls.c (gnutls_certificate_details):
129109         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
129111 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
129113         Port to systems lacking GNUTLS_NONBLOCK
129115         Problem reported by Colin Baxter in:
129116         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
129117         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
129119 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
129121         Fix non-blocking GnuTLS with slow connection
129123         Although the problem is reported for OS X (Bug#23982), it seems to
129124         be possible on other POSIXish platforms.
129125         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
129126         New function.
129127         (emacs_gnutls_handshake) [!WINDOWSNT]:
129128         Use it as the errno function, if non-blocking.
129129         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
129131 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
129133         Require GnuTLS 2.12.2 or later
129135         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
129136         instead of merely 2.6.6 or later (Bug#23982#20).
129137         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
129138         [WINDOWSNT]: Don’t bother with gnutls_check_version or
129139         gnutls_transport_set_lowat, as they are no longer needed now that
129140         we require gnutls 2.12.2 or later.
129142 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
129144         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
129146         * src/window.h (sanitize_window_sizes): Adjust prototype.
129147         * src/frame.c (adjust_frame_size): Adjust calls.
129149 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
129151         Fix (mapcar F S) crash when F alters S’s length
129153         * src/fns.c (mapcar1): Return number of elements computed,
129154         which can be less than LENI if the function alters the list.
129155         All callers changed.  (Bug#24118)
129157 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
129159         Port window changes to --enable-gcc-warnings
129161         * src/window.c (sanitize_window_sizes): Return void.
129162         This pacifies GCC, and no caller uses the return value anyway.
129164 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
129166         * src/window.c: Fix bootstrap failure due to window.el changes
129168         (sanitize_window_sizes): Adjust to new calling convention of
129169         window--sanitize-window-sizes and only call it if defined.
129170         (Fwindow__sanitize_window_sizes): Remove.
129171         (syms_of_window): Don't defsubr it.
129173 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
129175         Fix Bug#23883
129177         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
129178         Call `process-actions' with adapted position.  The connection
129179         buffer might have been cleaned up already.  (Bug#23883)
129181 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
129183         Port regex changes to strict ISO C
129185         * src/regex.c (regex_compile): Redo casts.
129187 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
129189         * lisp/window.el: Use lexical-binding
129191         (window--min-size-ignore-p): Remove unused arg `horizontal'.
129192         (window--sanitize-window-sizes): Remove unused arg `frame'.
129193         (window-edges): Remove unused vars left-off and right-off.
129194         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
129195         Avoid extraneous setq and do a bit of CSE.
129196         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
129197         and `toolbar-extra-height'.
129198         (window-adjust-process-window-size): Remove unused arg `process'.
129200 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129202         Fix unused lexical variable
129204         This fixes the following warning:
129206             In toplevel form:
129207             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
129209         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
129210         variable.
129212 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129214         Remove unused STREQ macro
129216         This fixes the following compilation warning:
129218             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
129219              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
129220              ^
129222         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
129223         in a [4538a5e: Refactor regex character class parsing in [:name:]]
129224         commit but was mistakenly left out.
129226 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
129228         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
129229         load-history format
129231         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
129232         (cl-generic-define-method, cl--generic-describe): Use it.
129233         (cl--generic-search-method): Adjust for new format.
129235         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
129236         * test/lisp/progmodes/elisp-mode-tests.el:
129237         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
129238         internal format.
129240 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129242         Hardcode regex syntax to remove dead code handling different syntax
129244         Emacs only ever uses its own regex syntax so support for other syntaxes
129245         is never used.  Hardcode the syntax so that the compilar can detect such
129246         dead code and remove it from compiled code.
129248         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
129249         specified.  Handle this separatelly with a function argument (replacing
129250         now unnecessary syntax argument).
129252         With this patchset, size of Emacs binary on x86_64 machine is reduced by
129253         around 60 kB:
129255                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
129256                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
129258         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
129259         (re_compile_pattern): Replace syntax with posix_backtracking argument.
129261         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
129262         (regex_compile): #ifdef emacs, replace syntax argument with
129263         posix_backtracking which is now used instead of testing for
129264         RE_NO_POSIX_BACKTRACKING syntax.
129265         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
129266         (re_compile_pattern): Replace syntax with posix_backtracking argument.
129268         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
129269         instead of syntax to re_compile_pattern.
129271 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129273         Get rid of re_set_whitespace_regexp
129275         * src/regex.h (re_set_whitespace_regexp): Delete.
129276         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
129278         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
129279         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
129280         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
129281         unless building Emacs.
129282         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
129284         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
129285         pass the regex as argument to re_compile_pattern instead.
129287 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129289         Get rid of re_set_syntax
129291         Instead of using a global variable for storing regex syntax, pass it
129292         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
129293         ‘#ifdef emacs’).
129295         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
129296         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
129298         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
129299         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
129301         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
129302         instead pass syntax to re_compile_pattern directly.
129304 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129306         Remove dead opcodes in regex bytecode
129308         There is no way to specify before_dot and after_dot opcodes in a regex
129309         so code handling those ends up being dead.  Remove it.
129311         * src/regex.c (print_partial_compiled_pattern, regex_compile,
129312         analyze_first, re_match_2_internal): Remove handling and references to
129313         before_dot and after_dot opcodes.
129315 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129317         Refactor regex character class parsing in [:name:]
129319         re_wctype function is used in three separate places and in all of
129320         those places almost exact code extracting the name from [:name:]
129321         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
129322         string, so the name of the character class is copied to a temporary
129323         buffer.
129325         The code duplication and unnecessary memory copying can be avoided by
129326         pushing the responsibility of parsing the whole [:name:] sequence to
129327         the function.
129329         Furthermore, since now the function has access to the length of the
129330         character class name (since it’s doing the parsing), it can take
129331         advantage of that information in skipping some string comparisons and
129332         using a constant-length memcmp instead of strcmp which needs to take
129333         care of NUL bytes.
129335         * src/regex.c (re_wctype): Delete function.  Replace it with:
129336         (re_wctype_parse): New function which parses a whole [:name:] string
129337         and returns a RECC_* constant or -1 if the string is not of [:name:]
129338         format.
129339         (regex_compile): Use re_wctype_parse.
129340         * src/syntax.c (skip_chars): Use re_wctype_parse.
129342 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129344         Split regex glibc test cases into separet tests
129346         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
129347         tests cases.
129348         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
129349         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
129350         from ‘regex-tests’.
129352 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129354         Don’t (require 'cl)
129356         * test/src/regex-tests.el: Don’t (require 'cl).
129357         (regex-tests-PCRE): s/loop/cl-loop/
129359 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
129361         Fix reading of regex-resources in regex-tests
129363         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
129364         ‘buffer-file-name’ does not work when running the test from command
129365         line, i.e. via make, which results in (wrong-type-argument stringp nil)
129366         failures.  Replace it with hard-coded path.
129367         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
129368         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
129369         the ‘regex-resources’ path component so the tests don’t need to specify
129370         it explicitly.
129372 2016-08-02  Dima Kogan  <dima@secretsauce.net>
129374         Added driver for the regex tests
129376         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
129377         cases.
129379         [mina86@mina86.com: merged test with existing file]
129381 2016-08-02  Dima Kogan  <dima@secretsauce.net>
129383         New regex tests imported from glibc 2.21
129385         * test/src/regex-resources/BOOST.tests:
129386         * test/src/regex-resources/PCRE.tests:
129387         * test/src/regex-resources/PTESTS:
129388         * test/src/regex-resources/TESTS:
129389         New test data files
129391         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
129393 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
129395         Fix use-after-close in connect_network_socket
129397         * src/process.c (connect_network_socket):
129398         Reverse sense of previous fix.  Problem reported by Ken Brown in:
129399         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
129401 2016-08-01  Glenn Morris  <rgm@gnu.org>
129403         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
129404         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
129406 2016-07-31  Stefan Merten  <stefan@merten-home.de>
129408         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
129410         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
129411         representing reStructuredText section header concepts.
129412         (rst-mode-map, rst-new-preferred-hdr)
129413         (rst-update-section, rst-classify-adornment)
129414         (rst-ttl-at-point, rst-all-ttls-cache)
129415         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
129416         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
129417         (rst-all-ttls-with-level, rst-get-previous-hdr)
129418         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
129419         (rst-adjust-section, rst-promote-region)
129420         (rst-display-hdr-hierarchy, rst-straighten-sections)
129421         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
129422         (rst-toc-insert-node, rst-toc-node, rst-toc)
129423         (rst-forward-section, rst-adornment-level)
129424         (rst-font-lock-handle-adornment-pre-match-form)
129425         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
129426         using classes.
129427         (rst-compare-adornments, rst-get-adornment-match): Remove
129428         functions now in classes.
129429         (rst-re-alist-def, rst-toc-mode)
129430         (rst-font-lock-extend-region-extend): Minor improvements.
129431         (rst-mode, rst-compile): Use `setq-local'.
129432         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
129433         (rst-official-version, rst-official-cvs-rev)
129434         (rst-package-emacs-version-alist): Maintain version tags.
129436 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
129438         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
129440         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
129441         bar width (Bug#24107).  Reindent.
129442         * src/xfns.c (frame_geometry): Fix calculation of tool bar
129443         width on non-GTK builds.
129445 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
129447         Fix region display while dragging mouse
129449         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
129450         buffer of the drag event, to allow mark to be set and the region
129451         be shown as we drag the mouse.  (Bug#24030)
129453 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
129455         Copy just non-empty strings to kill-ring
129457         * lisp/dired.el (dired-copy-filename-as-kill):
129458         Do not change the kill ring when the string is empty (Bug#24103).
129460 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
129462         Avoid warnings about undo list while decoding
129464         * src/coding.c (coding_restore_undo_list): New function.
129465         (decode_coding_gap, decode_coding_object): Temporarily set the
129466         buffer's undo list to t, to avoid warnings when decoding changes
129467         the buffer many times, e.g. due to post-read-conversion.  Use
129468         coding_restore_undo_list to make sure the undo list is restored.
129469         (Bug#23813)
129471 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
129473         profiler: Add mouse-1 binding for tree expansion
129475         (profiler-report-mode-map): Add mouse-1 binding for
129476         profiler-report-toggle-entry (Bug #13455).
129478 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
129480         Enable addition of local printers from a mode hook.
129482         * doc/misc/ses.texi (Printer functions): Split the node into 5
129483         sub-nodes + add some extra documentation.
129484         (Various kinds of printer functions): Make an itemization to
129485         disintguish better the 3 types of printers, give an example of
129486         lambda printer definition.
129487         (Standard printer functions): Add documentation for ses-prin1
129488         printer function.
129489         (Local printer functions): Add documentation for creating
129490         local printers programmatically from a hook.
129491         (Writing a lambda printer function): Add documentation about
129492         anti-stackoverflow precautions to take when you call the
129493         standard printer functions from inside a local printer.
129495         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
129496         among standard printer function, and update docstring
129497         accordingly.
129498         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
129499         of prin1-to-string.
129500         (ses-define-local-printer): Add definition to arguments so
129501         that a local printer can be defined programmatically from a
129502         mode hook.  Make docstring more substantial.  Use completing
129503         read for local printer name input.  Plus some minor
129504         optimization.
129505         (ses-define-if-new-local-printer): New defsubst.
129506         (ses-center, ses-center-span, ses-dashfill)
129507         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
129508         as an optional argument to superseed column printer/default
129509         spreadsheet printer.
129510         (ses-prin1): New defun.
129512 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
129514         Prompt to save gnus-cloud-method.
129516         Since `gnus-cloud-method' is a defcustom, when it's set, we should
129517         prompt the user to save it, so the customization is not lost on
129518         restart.
129520         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
129521         Prompt to save the customization of `gnus-cloud-method'.
129523 2016-07-27  Ken Brown  <kbrown@cornell.edu>
129525         Fix dired-test-bug22694
129527         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
129528         "bug22694" directory, if it exists, before running the test.  It
129529         might be left over from a previous aborted run of the test.
129531 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
129533         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
129535         * src/regex.c (mutually_exclusive_p): Fix how whether character is
129536         unibyte is tested when calling execute_charset function.  This bug has
129537         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
129538         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
129539         Reinstitute it.
129541 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
129543         Remove hook when disabling ibuffer-auto-mode
129545         * lisp/ibuf-ext.el (ibuffer-auto-mode):
129546         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
129548 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
129550         * lisp/subr.el (cancel-change-group): Reset cell in case of error
129552         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
129553         to make sure we properly undo the temporary change even in case of error.
129555 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
129557         Avoid segfaults in compute_motion
129559         * src/indent.c (compute_motion): Don't turn on and don't use the
129560         width cache unless the buffer's width-table is non-nil.  This
129561         avoids segfaults because code that uses the width cache assumes
129562         the width-table exists.  (Bug#24064)
129564 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
129566         Do not sharp-quote lambdas
129568         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
129570 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
129572         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
129573         'base64-gzip encoding.
129575 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
129577         Add warning to format-alist docs.
129579         */doc/lispref/files.texi (format-alist) Change documentation for
129580         format-alist to warn against file modifications when formatting, which
129581         leads to incorrect results.  (Bug#5440)
129583         Changes suggested by Eli.
129585 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
129587         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
129588         Preserve key bindings that shr adds (bug#23964).
129590 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
129592         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
129594         The regex engine tries to optimize Kleene star by avoiding backtracking
129595         when it can detect that star’s operand cannot match what follows it in
129596         the pattern.
129598         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
129599         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
129600         the entire string.  Literal digit one still present in the pattern will
129601         however not match the remaining empty string.
129603         Normally, backtracking would be performed trying a shorter match for the
129604         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
129605         engine knows whatever would be put back into the string cannot possibly
129606         match literal digit one so no backtracking will be attempted.
129608         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
129609         if the character class CC does not match character X.  In the above
129610         example, this holds because digit one is not in alpha character class.
129612         This test is performed by mutually_exclusive_p function but it did not
129613         check class bits of a charset opcode.  This resulted in an assumption
129614         that character classes do not match multibyte characters.  For example,
129615         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
129617         This, in turn, led to the aforementioned Kleene star optimization being
129618         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
129619         match ‘☠’ but doesn’t as can be tested by executing
129620             (string-match-p "[[:graph:]]*☠" "☠")
129621         which should return 0 but instead yields nil.
129623         This issue affects any class witch matches multibyte characters, i.e.
129624         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
129625         fail to match ‘X’.
129627         * src/regex.c (executing_charset): A new function for executing the
129628         charset and charset_not opcodes.  It performs check on the character
129629         taking into consideration existing bitmap, range table and class bits.
129630         It also advances the pointer in the regex bytecode past the parsed
129631         opcode.
129632         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
129633         Code now included in executing_charset.
129634         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
129635         of executing_charset function.
129637         * test/src/regex-tests.el: New file with tests for the character class
129638         matching.
129640 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
129642         Fix auto-reverting image-mode buffer (bug#21598)
129644         When auto-reverting an image buffer, `image-mode' is not called since
129645         `revert-buffer' is called with `preserve-modes' set to non-nil.
129647         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
129648         image display property for the current buffer before updating it.
129650 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
129652         ‘signal’ no longer returns
129654         Although for decades ‘signal’ has been documented to not return,
129655         a corner case in the Lisp debugger causes ‘signal’ to return.
129656         Remove the corner case and adjust Emacs internals accordingly.
129657         An alternative would be to document the corner case, but this
129658         would complicate the Lisp API unnecessarily.  (Bug#24047)
129659         * src/eval.c (signal_or_quit): New function, with most of the
129660         old contents of Fsignal.
129661         (quit): New function, which uses signal_or_quit and which
129662         might return.  All keyboard-based callers of Fsignal (Qquit,
129663         Qnil) changed to use this new function instead.
129664         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
129665         changed.
129666         (xsignal): Move to lisp.h.
129667         * src/lisp.h (xsignal): Now an inline function, as it's now
129668         just an alias for Fsignal.
129670 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
129672         Require libgnutls unless --with-gnutls=no
129674         * configure.ac: Report an error if the gnutls library is missing,
129675         unless --with-gnutls=no is specified.
129677 2016-07-23  Alan Mackenzie  <acm@muc.de>
129679         Fontify C++ parameter packs.
129681         This fixes debbugs #23610.
129683         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
129684         c-lang-defconsts/defvars.
129685         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
129687         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
129689 2016-07-23  Alan Mackenzie  <acm@muc.de>
129691         Java Mode: Handle strings as case labels correctly.
129693         This fixes debbugs #23901.
129695         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
129696         Java value.
129698 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
129700         Avoid repeated warnings while restoring desktop
129702         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
129703         when files are being opened during desktop restore.
129705 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
129707         Fix compilation warning in the MinGW build
129709         * nt/inc/ms-w32.h: Include stdint.h.
129710         (_execvp, execve): Provide prototypes.
129712         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
129713         it is now in nt/inc/ms-w32.h.
129714         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
129715         mismatch.
129716         (sys_ctime): Remove, not used.
129718 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
129720         Move read-multiple-choice to subr-x.el
129722         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
129724         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
129725         from subr.el.
129727         * lisp/gnus/message.el (subr-x): Ditto.
129729         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
129731         read-multiple-choice doesn't need to be in the dumped Emacs, so move
129732         it to a less central file.
129734 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
129736         Update define-ibuffer-op doc string
129738         * lisp/ibuf-macs.el (define-ibuffer-op):
129739         Mention that BODY is evaluated with 'buf' bound to the actual
129740         marked buffer being processed.
129742 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
129744         Update define-ibuffer-op doc string
129746         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
129747         instead of refer the reader to the source code.
129748         Document arg BODY.
129750 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
129752         Fix shell-command[-on-region] doc strings
129754         * lisp/simple.el (shell-command, shell-command-on-region):
129755         Drop the sentence saying that the command may delete the buffer
129756         '*Shell Command Output*': the command never delete such
129757         buffer (Bug#23936).
129759 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
129761         ;Revert ";Partially revert 2649105a"
129763         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
129765 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
129767         ;Partially revert 2649105a
129769         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
129770         setq-local to modify prettify-symbols-compose-predicate.
129772 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
129774         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
129776         (struct byte_stack): Re-add `bottom'.
129777         (exec_byte_code): Initialize it.
129779 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
129781         Ibuffer: Use default output buffer for shell commands
129783         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
129784         '*Shell Command Output*', as command 'shell-command-file'.
129786 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
129788         Fix failing test
129790         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
129791         Enable Font Lock mode in order to initialize
129792         'char-property-alias-alist' (Bug#23954).
129794 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
129796         Fix use-after-close in connect_network_socket
129798         * src/process.c (connect_network_socket): Don’t use
129799         external_sock_fd after closing it.  Problem found by Coverity Scan.
129801 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
129803         * lisp/net/shr.el (shr-fill-line):
129804         Preserve text properties in folded lines (bug#24034).
129806 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
129808         Fix lifetime bug in tzlookup
129810         * src/editfns.c (tzlookup): Fix storage lifetime bug when
129811         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
129813 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
129815         Fix shr.el/image build problem
129817         (Bug#24035)
129819         * lisp/net/shr.el: Require image, since some builds seem to
129820         break without it (bug#24035).
129822 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
129824         Bring the Gnus Cloud package into working order.
129826         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
129828         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
129829         simplify non-file data.
129830         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
129831         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
129832         EPG if that's available, Base64+gzip otherwise.
129833         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
129834         interactive, defaults to enabled.
129835         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
129836         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
129837         "Version".
129838         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
129839         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
129840         storage methods as per gnus-cloud-storage-method.
129841         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
129842         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
129843         entries.
129844         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
129845         file and data handlers.
129846         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
129847         entries.
129848         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
129849         be more careful.
129850         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
129851         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
129852         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
129853         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
129854         (gnus-cloud-prune-old-chunks): Fix indentation.
129855         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
129856         timestamp.
129857         (gnus-cloud-file-new-p): Use it.
129858         (gnus-cloud-upload-all-data): Add interactive convenience function to
129859         upload all data.
129860         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
129861         data separately; refresh Gnus Cloud group after insert.
129862         (gnus-cloud-download-all-data): Add interactive convenience function to
129863         download all data.
129864         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
129865         marker and different storage methods.
129866         (gnus-cloud-host-server-p): New function to check if a server is the
129867         Gnus Cloud host.
129868         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
129869         (gnus-cloud-host-acceptable-method-p): New function so
129870         other code can check if a server method can host the Gnus cloud.
129871         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
129872         (gnus-cloud-method): Make this a defcustom and note how to set it.
129874         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
129875         keybindings under the `~' prefix.
129877         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
129878         (gnus-server-cloud, gnus-server-cloud-host)
129879         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
129880         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
129881         synchronized servers and synchronization host server toggling (`i' and
129882         `I') and visual display.
129883         (gnus-server-toggle-cloud-method-server): Use
129884         gnus-cloud-host-acceptable-method-p.
129885         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
129886         set the gnus-cloud-method. Ask the user if it's OK to upload the data
129887         right now.
129889         * doc/misc/gnus.texi: Document Gnus Cloud package.
129891 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
129893         Remove CHECK_FRAME_FONT cruft from bytecode.c
129895         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
129896         Remove some old ‘#if 0’ code.
129898 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
129900         Work around GCC bug 54561 in a better way
129902         The new approach is less selective, but also less intrusive on C code.
129903         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
129904         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
129906 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
129908         Fix port to glibc 2.24 (pre-release) + ppc64
129910         * src/callproc.c (child_setup): Use emacs_exec_file
129911         so that ASLR is enabled in the child process.
129912         * src/emacs.c: Move some personality details into sys/sysdep.c.
129913         Do not include <sys/personality.h>.
129914         (main): Disable ASLR earlier, so that we don’t chdir twice.
129915         * src/lisp.h (disable_address_randomization): New decl.
129916         * src/sysdep.c (disable_address_randomization)
129917         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
129918         here from emacs.c.
129919         (emacs_exec_file): New function.
129921 2016-07-19  Alan Third  <alan@idiocy.org>
129923         Prevent bar cursor overwriting next glyph (bug#16856)
129925         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
129926         before setting final size.
129928 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
129930         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
129932         * src/insdel.c (adjust_markers_bytepos): New function.
129933         * src/lisp.h (adjust_markers_bytepos): Add prototype.
129934         * src/insdel.c (replace_range, replace_range_2):
129935         * src/editfns.c (Ftranspose_regions): Call
129936         adjust_markers_bytepos.  (Bug#5131)
129938         * test/src/editfns-tests.el (transpose-test-reverse-word)
129939         (transpose-test-get-byte-positions): New functions.
129940         (transpose-ascii-regions-test)
129941         (transpose-nonascii-regions-test-1)
129942         (transpose-nonascii-regions-test-2): New tests.
129944 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
129946         Make gif animation work (bug#24004)
129948         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
129949         an animation is too big (bug#24004).
129951 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
129953         * lisp/simple.el (undo-amalgamate-change-group): New function
129955         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
129956         (viper-set-complex-command-for-undo): Save current state with
129957         prepare-change-group.
129958         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
129959         (viper-buffer-undo-list-mark): Remove.
129961 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
129963         Keep w32 environment settings internal only
129965         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
129966         set_initial_environment call.  This prevents Emacs' modifications to the
129967         environment from contaminating Vprocess_environment and
129968         Vinitial_environment (Bug #10980).
129969         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
129970         environment in as a fallback to Vprocess_environment.
129971         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
129973 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
129975         Better documentation for cl-reduce (bug#24014)
129977         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
129979 2016-07-17  Alan Third  <alan@idiocy.org>
129981         Remove separate pool for popup dialogs (bug#23856)
129983         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
129984         autorelease pool and Popdown_data struct.
129986 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
129988         Use eldoc-documentation-functions
129990         * lisp/hexl.el (hexl-mode):
129991         * lisp/ielm.el (inferior-emacs-lisp-mode):
129992         * lisp/progmodes/cfengine.el (cfengine3-mode):
129993         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
129994         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
129995         * lisp/progmodes/python.el (python-mode):
129996         * lisp/simple.el (read--expression): Add buffer-locally to hook
129997         eldoc-documentation-functions.
129999 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
130001         Optimize ucs-normalize.el compilation
130003         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
130004         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
130005         regexp-opt.
130006         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
130007         temp buffer for the whole loop.
130009 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
130011         Add tests for ucs-normalize.el
130013         Some tests are marked as expected to fail.
130015         * test/lisp/international/ucs-normalize-tests.el: New tests.
130016         * admin/unidata/NormalizationTest.txt: Add data for tests.
130017         * admin/unidata/README: Add URL for NormalizationTest.txt.
130018         * admin/notes/unicode: Add note about running (and updating the data
130019         for) the new tests.  Remove note about normalization being unsupported.
130021 2016-07-16  Alan Third  <alan@idiocy.org>
130023         Fix cursor display (bug#23993)
130025         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
130027 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
130029         Stop worrying about Alliant in bytecode.c
130031         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
130033 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
130035         Remove BYTE_MAINTAIN_TOP
130037         It is no longer needed now that we assume GC_MARK_STACK ==
130038         GC_MAKE_GCPROS_NOOPS.
130039         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
130040         All uses removed, and code simplified accordingly.
130041         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
130042         are always no-ops now.  All uses removed.
130043         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
130044         since it is now equivalent.
130046 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
130048         Remove now-inaccurate bytecode comments
130050         * src/bytecode.c: Remove comments that are no longer accurate.
130051         Most of these are actually old ChangeLog entries.
130053 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
130055         Port to glibc 2.24 (pre-release) + ppc64
130057         Inspired by a suggestion by Florian Weimer in:
130058         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
130059         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
130060         Rename from HAVE_PERSONALITY_LINUX32, and check for
130061         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
130062         All uses changed.
130063         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
130064         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
130065         flag ourselves.  Just set that flag, rather than also setting the
130066         persona.  When doing it, avoid functions like putenv that may
130067         allocate memory.
130069 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
130071         Revert "Add a couple cells to lisp-prettify-symbols-alist"
130073         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
130075 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
130077         * lisp/simple.el (shell-command): Add save-match-data comment
130079 2016-07-14  Alan Mackenzie  <acm@muc.de>
130081         CC Mode: correct incorrect invocation of parse-partial-sexp.
130083         Fixes bug #23944.
130085         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
130086         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
130088 2016-07-14  Andreas Schwab  <schwab@suse.de>
130090         Fix configure summary for hybrid malloc configurations
130092         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
130093         parenthesize value of GNU_MALLOC_reason.
130095 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
130097         Fix delete-duplicate-lines
130099         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
130100         first line when operating backward (bug#23863).
130102 2016-07-14  Andreas Schwab  <schwab@suse.de>
130104         Remove unused SHEAP_OBJ
130106         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
130108 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
130110         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
130111         Use shr-image-map instead of shr-map (bug#23964).
130113 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
130115         * lisp/mouse.el (mouse): Consolidate group definition here
130117         * lisp/cus-edit.el (mouse): Remove both group definitions.
130119 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
130121         Include versioned preloaded libraries in `package--builtin-versions'
130123         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
130124         exclude preloaded libraries or remove entries generated for them.
130125         (autoload-generate-file-autoloads): Do not generate autoload
130126         statements for preloaded libraries.
130128 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
130130         Omit unnecessary #includes from xwidget.c
130132         * src/xwidget.c: Remove #include directives that are not needed.
130133         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
130134         file is compiled only if the X interface is available.
130136 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
130138         Port xwidget.c to GCC 6 with --enable-gcc-warnings
130140         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
130141         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
130142         possible bugs found by GCC.
130144 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
130146         Escape meta chars in commands processed by shell
130148         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
130149         in all commands to be passed to a shell (Bug#23959).
130151 2016-07-12  John Wiegley  <johnw@newartisans.com>
130153         Revert "Cleanup tooltips"
130155         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
130157         I am reverting this change because it was applied without prior discussion
130158         on emacs-devel, and has been found to break the NS port.  It needs more
130159         testing and review before it should be applied here.
130161 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
130163         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
130165         (cl-prog, cl-prog*): New macros.
130167 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
130169         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
130171         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
130172         (cl--generic-make-defmethod-docstring): New function for that.
130173         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
130174         (cl-generic-define-method, cl--generic-describe): Change `load-history'
130175         format of cl-defmethods, so as not to confused methods with equal
130176         specializers but different qualifiers.
130177         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
130179 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
130181         Don't install keyboard hook when debugged on MS-Windows
130183         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
130184         hook if we are being debugged.  This avoids hosing the debugger,
130185         because the hook is global, and is called in the context of the
130186         thread which installed it, and that thread is stopped when GDB has
130187         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
130189 2016-07-12  Alan Mackenzie  <acm@muc.de>
130191         Amend CC Mode to handle big C++ raw strings correctly.
130193         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
130194         in the +-500 bytes boundaries imposed for macros.
130196         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
130197         macro boundaries here.
130198         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
130199         lower boundary.  Fix the check on the upper boundary.
130201         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
130202         point already being within a raw string.
130204         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
130205         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
130206         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
130207         with other Emacsen.
130209 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
130211         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
130213 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
130215         Cleanup tooltips
130217         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
130218         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
130219         (FRAME_TOOLTIP_P): New macro.
130220         * src/frame.c (make_frame): Mark new frame as regular frame by default.
130221         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
130222         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
130223         and 'Qtooltip_parameters' instead.
130224         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
130225         * src/gtkutil.c (xg_hide_tip): New function.
130226         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
130227         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
130228         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
130229         * src/w32fns.c (unwind_create_tip_frame): Remove.
130230         (w32_display_monitor_attributes_list)
130231         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
130232         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
130233         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
130234         as a tooltip frame and record it using appropriate display info.
130235         (x_hide_tooltip): Add frame arg.
130236         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
130237         base frame parameters, store tooltip hide timer among tooltip frame
130238         parameters.
130239         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
130240         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
130241         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
130242         * src/w32term.c (w32_read_socket): Extract tooltip window id from
130243         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
130244         (x_new_font): Use FRAME_TOOLTIP_P.
130245         (x_free_frame_resources): Reset pointer to tooltip frame.
130246         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
130247         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
130248         Use FRAME_TOOLTIP_P.
130249         * src/xfns.c (x_make_monitor_attribute_list)
130250         (Fx_display_monitor_attributes_list): Likewise.
130251         (unwind_create_tip_frame): Remove.
130252         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
130253         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
130254         as a tooltip frame and record it using appropriate display info.
130255         (x_hide_tooltip): Add frame arg.
130256         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
130257         base frame parameters, store tooltip hide timer among tooltip frame
130258         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
130259         event loop.
130260         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
130261         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
130262         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
130263         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
130264         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
130265         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
130266         (x_free_frame_resources): Reset pointer to tooltip frame.
130267         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
130268         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
130270 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
130272         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
130274 2016-07-11  Mario Lang  <mlang@delysid.org>
130276         Test mapcan
130278         * test/src/fns-tests.el (fns-tests-mapcan): New test.
130280 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
130282         Prevent to apply funcall on t
130284         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
130285         'ediff-after-quit-hook-internal' hook (Bug#23933).
130287 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
130289         Ignore angle mode while simplifying units
130291         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
130292         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
130293         is non-nil (Bug#23889).
130294         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
130295         (math-from-radians-2, math-to-radians-2): Idem.
130297 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
130299         Fix display of composed characters
130301         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
130302         iteration through composition glyphs.  (Bug#23938)
130304 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
130306         Fix composition bug caused by off-by-1 typo
130308         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
130309         computing composition glyph (Bug#23938).
130311 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
130313         Dired always read file system
130315         * lisp/dired.el (dired-always-read-filesystem): Add new option.
130316         (dired-mark-files-containing-regexp): Use it (Bug#22694).
130317         * doc/emacs/dired.texi: Mention it in the manual.
130318         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
130319         ;* etc/NEWS: Add entry for this change.
130321 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
130323         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
130325 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
130327         Avoid 'unused var' 'not left unused var' warnings
130329         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
130330         Rename used var '_buffer' to 'cbuffer'.
130332         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
130333         to cmark'.
130335 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
130337         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
130339 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
130341         Add a note how to use `tramp-own-remote-path'
130343         * doc/misc/tramp.texi (Inline methods, External methods)
130344         (Remote shell setup, Android shell setup)
130345         (Frequently Asked Questions, Frequently Asked Questions):
130346         Use @command and @samp consequently.
130347         (Remote programs): The remote shell must support the -l
130348         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
130350 2016-07-10  Alan Third  <alan@idiocy.org>
130352         Remove App Nap setting from Info.plist (bug#22993)
130354         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
130355         it doesn't actually disable app nap.
130357 2016-07-09  Mario Lang  <mlang@delysid.org>
130359         An efficient built-in mapcan
130361         A built-in version of `mapcan' avoids consing up (and GC'ing) the
130362         intermediate list.
130364         * src/fns.c (Fmapcan): New built-in.
130365         (syms_of_fns): Define.
130367         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
130369         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
130370         if only one sequence is provided.
130372         * lisp/progmodes/hideif.el (hif-delimit):
130373         * lisp/dired-aux.el (dired-do-find-regexp):
130374         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
130375         `cl-mapcan'.
130377         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
130378         compiling.
130380         * lisp/mouse.el (mouse-buffer-menu-map):
130381         * lisp/net/pop3.el (pop3-uidl-dele):
130382         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
130383         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
130384         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
130385         * lisp/gnus/nnmail.el (nnmail-split-it):
130386         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
130387         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
130388         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
130390 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
130392         Detect aliases to built-in functions
130394         * lisp/help-fns.el (describe-function-1): Check for aliases
130395         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
130397         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
130398         failing this test.
130400 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
130402         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
130404         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
130405         New variable.
130406         (tramp-gvfs-maybe-open-connection): Use it.
130408         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
130409         Reorder test.
130411 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
130413         Wrap around error in coreutil's ls
130415         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
130416         "--quoting-style=literal" if remote host supports quoting style.
130417         Recent versions of coreutils changed default quoting style to
130418         "--quoting=shell-escape".
130420 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
130422         Minor tweaks of copying text properties when padding strings
130424         * src/editfns.c (styled_format): Don't include padding on the left
130425         in the properties at the beginning of the string.  (Bug#23897)
130427         * test/src/editfns-tests.el (format-properties): Add tests for
130428         faces when the string is padded on the left or on the right.
130430 2016-07-08  Mario Lang  <mlang@delysid.org>
130432         No need to require the same feature twice.
130434         * lisp/dired-aux.el (require 'cl-lib): Remove.
130436 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
130438         Turn on lexical binding
130440         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
130441         (secrets-search-items, secrets-create-item): Use append.
130442         (secrets-show-secrets): Remove unused binding.
130443         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
130444         Ignore unused arguments.
130446 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
130448         Derive secrets-mode from special-mode
130450         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
130451         (secrets-mode-map): New variable.  Add key bindings to n and p for
130452         navigating lines.
130453         (secrets-mode): Derive from special-mode.  Remove keymap code and
130454         initialization code.  Do not record undo information.  Make
130455         secrets-show-collections the local revert-buffer-function.
130456         (secrets-show-collections): Change signature to satisfy revert-buffer.
130458 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
130460         Add a couple cells to lisp-prettify-symbols-alist
130462         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
130463         "sqrt" and "not".
130465 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
130467         Detect remote uid and gid in tramp-gvfs.el
130469         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
130470         (tramp-gvfs-handler-mounted-unmounted)
130471         (tramp-gvfs-connection-mounted-p):
130472         Make "default-location" a connection property.
130473         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
130474         (tramp-gvfs-maybe-open-connection): Use them.
130476 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
130478         Yet another fix for copying properties by 'format'
130480         * src/textprop.c (extend_property_ranges): Accept an additional
130481         argument OLD_END, and only extend the end of a property range if
130482         its original end is at OLD_END; all the other ranges are left
130483         intact.  (Bug#23897)
130484         * src/editfns.c (styled_format): Pass the original length of the
130485         string to 'extend_property_ranges'.
130486         * src/intervals.h (extend_property_ranges): Adjust prototype.
130488         * test/src/editfns-tests.el (format-properties): Add tests for
130489         bug#23897.
130491 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
130493         Allow selecting region with mouse to move point to beginning
130495         * etc/NEWS: Mention new user option
130496         `mouse-select-region-move-to-beginning'.
130498         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
130499         to the following.
130500         (Word and Line Mouse): Describe how double-clicking mouse-1 to
130501         activate region and `mouse-select-region-move-to-beginning'
130502         affect point.
130504         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
130505         (mouse-set-point): Use it.  (Bug#23478)
130507 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
130509         Fix menu bar breakage
130511         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
130512         to prevent void variable errors, and fix typo (bug#23918).
130514 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
130516         Copy buffer names to kill ring
130518         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
130519         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
130520         ;* etc/NEWS: Add entry for this new feature.
130522 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
130524         Remove just input mark
130526         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
130527         just MARK.
130529 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
130531         Ibuffer change marks
130533         * lisp/ibuffer.el (ibuffer-change-marks): New command.
130534         (ibuffer-mode-map): Bind it to '* c'.
130535         (ibuffer-mode-groups-popup): Update menus.
130536         (ibuffer-mode): Update mode doc.
130538 2016-07-07  Alan Third  <alan@idiocy.org>
130540         Prevent NS event loop being re-entered (bug#11049)
130542         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
130543         in event loop instead of aborting.
130545 2016-07-07  Alan Third  <alan@idiocy.org>
130547         Fix some deprecated functions
130549         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
130550         convertBaseToScreen with convertRectToScreen.
130551         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
130552         OS X 10.2, and always seems to return nil.
130554 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
130556         Disable App Nap (bug#22993)
130558         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
130560 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
130562         Fix an error in Tramp for rsync
130564         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
130565         Make it work for "rsync".
130566         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
130568 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
130570         Ibuffer: Mark locked buffers
130572         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
130573         (ibuffer-mark-by-locked): New command.
130574         (ibuffer-mode-map): Bind it to '% L'; update menus.
130575         (ibuffer-mode): Update mode doc.
130576         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
130578 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
130580         * lisp/ibuffer.el: Add face for locked buffers
130582         * lisp/ibuffer.el: Add mark for locked buffers
130584         ;* etc/NEWS (Ibuffer): Update entry according with last commit
130586 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
130588         Remove duplicate binding
130590         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
130591         just bound to '% g'.
130592         As suggested in:
130593         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
130595 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
130597         Ibuffer: Drop needless binding
130599         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
130600         already bound to 't' inside 'ibuffer-set-mark'.
130602 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
130604         Run tests from non-byte compiled files
130606         * test/Makefile.in: Eval non-byte-compiled files for tests.
130608 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
130610         Replace eldoc-documentation-function with a hook
130612         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
130613         (eldoc-documentation-function): Make into obsolete alias.
130614         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
130615         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
130616         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
130617         on eldoc-documentation-functions.
130618         (eldoc-supported-p): New function.
130619         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
130620         * etc/NEWS: Mention eldoc-documentation-functions.
130621         * doc/lispref/modes.texi: Update reference.
130623 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
130625         Complete "initial" and "unset" in CSS mode
130627         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
130628         "initial" and "unset" completion candidates for all CSS properties,
130629         just like "inherit".
130631         * test/lisp/textmodes/css-mode-tests.el
130632         (css-test-complete-property-value): Update test to reflect the above
130633         change.
130635 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
130637         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
130639 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
130641         Simplify rfc1345.el a bit
130643         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
130644         that would no longer parse.  Replace control characters with
130645         escapes in character constants.  Omit unnecessary \ after ?.
130646         This does not change behavior.
130648 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
130650         Prefer 'frame-parameter' where it is expected to be a bit faster
130652         * lisp/international/mule-diag.el (mule-diag):
130653         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
130654         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
130655         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
130656         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
130658 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
130660         Reduce consing caused by vertical motion commands
130662         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
130663         parameters frequently requested by calls to 'next-line' and 'previous-line'.
130665 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
130667         Make all Tramp tests pass for "gdrive" method
130669         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
130670         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
130671         (tramp-compat-delete-directory):
130672         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
130673         Use `directory-files-no-dot-files-regexp'.
130675         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
130676         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
130677         case of problems.
130679         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
130680         Adapt docstring.
130681         (tramp-test14-delete-directory): Make further tests.
130683 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
130685         Fix redisplay with window-start on continuation lines
130687         * src/xdisp.c (pos_visible_p): Return false if the window starts
130688         after CHARPOS.
130689         (compute_window_start_on_continuation_line): Don't return
130690         window-start position that is after point in the buffer, as the
130691         callers don't expect this to happen, and will generally display an
130692         empty window with the cursor in its middle.  (Bug#23871)
130694 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
130696         Add :expected-result :failed for unfixed bug test
130698         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
130700 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
130702         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
130704 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
130706         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
130708         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
130709         there is no need for the end-marker to be created.
130711 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
130713         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
130715         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
130716         syntax to non-whitespace so that ‘\s-’ regular expression does not match
130717         it.
130719         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
130720         as a consequence ‘line-beginning-position’ function does not need to be
130721         called any longer.
130723         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
130724         expression ends up matching empty lins since ‘\s-’ matches newline
130725         characetr of proceeding line.  This leads to needless loop iterations.
130727         Since previous change to ‘delete-trailing-whitespace’ already introduced
130728         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
130729         character syntax.
130731 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
130733         Make ‘delete-trailing-whitespace’ delete spaces after form feed
130735         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
130736         a non-whitespace character (regradless of whether it’s character syntax
130737         is whitespace) and delete any whitespace following it instead of leaving
130738         lines with form feeds completely unchanged.  I.e. a line like "\f " will
130739         now became "\f".
130741 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
130743         Cleanup XEditRes hack
130745         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
130746         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
130747         linked with -lXmu.  This should work with any non-ancient Xmu library.
130748         * src/xfns.c (toplevel): Remove old cruft.
130749         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
130750         * src/xterm.c (toplevel): Remove old cruft.
130751         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
130752         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
130754 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
130756         Add Google Drive support to Tramp
130758         * doc/misc/tramp.texi: Add `gdrive' method.
130760         * doc/misc/trampver.texi:
130761         * lisp/net/trampver.el: Change version to "2.3.1-pre".
130763         * etc/NEWS: Add Tramp connection method "gdrive".
130765         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
130766         (tramp-default-user-alist, tramp-default-host-alist): Add rule
130767         for "gdrive".
130768         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
130769         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
130770         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
130771         "standard::display-name" as file name, if available.
130772         (tramp-gvfs-handle-file-name-all-completions): Simplify.
130773         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
130774         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
130775         Map between "gdrive" and "google-drive".
130777         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
130779         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
130780         Do not enable `tramp-message-show-message'.
130781         (tramp-test13-make-directory, tramp-test14-delete-directory):
130782         Do not specify error type.
130784 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
130786         Calc: Update mode line after change mode
130788         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
130790 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
130792         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
130794 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
130796         Re-fix open-network-stream responsiveness
130798         Problem reported by Christer Ekholm (Bug#23864).
130799         * src/process.c (wait_reading_process_output): Further fix for
130800         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
130801         wait == INFINITY and got_output_end_time is invalid.  See:
130802         https://bugs.gnu.org/23864#20
130804 2016-07-03  Alan Mackenzie  <acm@muc.de>
130806         Remove redundant forms from CC Mode for faster fontification
130808         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
130809         the "main" cond form in the function, which have been redundant since the
130810         extraction of c-font-lock-cut-off-declarators from the function on
130811         2016-06-15/16.
130813 2016-07-03  Alan Mackenzie  <acm@muc.de>
130815         Speed up CC Mode fontification with less accurate functions extending region
130817         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
130818         (c-font-lock-enclosing-decls)
130819         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
130820         c-beginning-of-decl-1 with less accurate invocations of
130821         c-syntactic-skip-backwards to speed up fontification.
130823 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
130825         Ibuffer: unmark all buffers without confirmation
130827         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
130828         (ibuffer-mouse-popup-menu): Use it.
130829         (ibuffer-mode): Update mode doc.
130830         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
130831         Rebind 'ibuffer-do-replace-regexp' to 'r'.
130833 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
130835         Fix open-network-stream responsiveness
130837         Problem reported by Constantin Kulikov (Bug#23684).
130838         * src/process.c (wait_reading_process_output):
130839         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
130840         when wait == INFINITY and got_output_end_time is invalid.
130841         In this case the code should break, not continue.
130843 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
130845         Ibuffer: Mark buffers by content
130847         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
130848         (ibuffer-never-search-content-name): New option.
130849         (ibuffer-never-search-content-mode): Idem.
130850         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
130852         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
130853         (ibuffer-mode): Update mode documentation.
130855 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
130857         ibuffer-copy-filename-as-kill verbosity increase
130859         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
130860         Use shorter name, result, for a local bound var.
130861         Show the string result in the echo area.
130863 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
130865         Fix cursor positioning on TTY frames after stretch glyph
130867         * src/term.c (append_glyph, append_composite_glyph)
130868         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
130869         members of the produced 'struct glyph'.  Fixes cursor positioning
130870         on the first character after a stretch glyph produced from
130871         line-prefix, wrap-prefix, etc. on TTY frames.
130873 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
130875         Fix vertical-movement in buffers with wrap-prefix
130877         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
130878         whenever we zero the vpos vertical position of the iterator.
130879         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
130880         wrap-prefix regardless of whether the current Y coordinate is
130881         inside the window dimensions.  (Bug#23879)
130883 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
130885         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
130887         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
130888         FACE_OPT_FROM_ID; all callers changed.
130889         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
130890         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
130891         dereferenced.
130892         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
130893         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
130894         when the glyph string is drawn.
130895         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
130896         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
130897         in fill_composite_glyph_string.
130898         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
130899         FACE_FROM_ID, since the function and its caller can cope with that
130900         situation.  Conflate 3 tests of missing face or font into just
130901         one.
130902         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
130903         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
130904         functions can cope with that situation.
130905         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
130906         not be used.
130907         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
130909 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
130911         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
130913 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
130915         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
130917         i.e. rename from auto-source--symbol-keyword.
130919 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
130921         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
130923         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
130924         get_widget_info.
130926 2016-06-30  Alan Mackenzie  <acm@muc.de>
130928         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
130930         This applies to applying or removing syntax-table text properties in raw
130931         strings which affect the stringiness of a piece of text.  This fixes the
130932         bug
130933         reported in
130934         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
130936         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
130937         defsubst.
130938         (c-invalidate-state-cache-1): Call new function in place of inline
130939         manipulation.
130940         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
130941         semi-nonlit cache when pertinent syntax-table text properties get applied to
130942         the text.
130944 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
130946         Minor tweaks to openp
130948         * src/lread.c (openp): Move invariant code out of the loop
130949         and thus avoid redundant calls to memcpy.  Adjust comments.
130951 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
130953         Simplify handling of frame parameters
130955         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
130956         foreground color, background color and font parameters.  Adjust
130957         comments.
130959 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
130961         Cleanup around mature character manipulation functions
130963         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
130965         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
130967         * lisp/subr.el (toplevel): Do not advertise calling conventions
130968         for 'decode-char' and 'encode-char'.
130970         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
130972 2016-06-29  Alan Mackenzie  <acm@muc.de>
130974         Fix C-M-a in a C function finding the start of a macro preceding it.
130976         Also amend some pertinent documentation.  This fixes bug #23818.
130978         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
130979         virtual semicolon at a place where we check for other types of statement ends.
130981         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
130982         doc string the bit saying that the variable is a prototype and liable to
130983         change.
130985         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
130986         macros with semicolon can prevent C-M-a missing the beginning of defun.
130988 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
130990         Avoid possible NULL pointer dereference found by GCC 6.1.1
130992         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
130993         the value returned by XRRGetOutputInfo.
130995 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
130997         Dired recognize dirs when file size in human units
130999         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
131000         to match when Dired displays the allocated file size column
131001         in human readable units (Bug#22255).
131003 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
131005         Fix breakage from previous change
131007         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
131008         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
131010 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
131012         Fix breakage from previous change.
131014         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
131016 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
131018         Add tests for copying properties by 'format'
131020         * test/src/editfns-tests.el (format-properties): New test.
131022 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
131024         Fix copying properties in 'format' when it produces padding
131026         * src/textprop.c (extend_property_ranges): Correct range extension
131027         when the new end is beyond the old end.  (Bug#23859)
131029 2016-06-27  Alan Third  <alan@idiocy.org>
131031         Enable dividers in NS (bug#22973)
131033         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
131034         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
131035         attempt to set the color.
131036         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
131037         above, although I didn't see any errors.
131039 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
131041         Fix the prefix action of shr-copy-url
131043         * lisp/net/shr.el (shr-copy-url): Make the command really copy
131044         the image url if given a prefix.
131046 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
131048         New functions svg-text and svg-remove
131050         * doc/lispref/display.texi (SVG Images): Document svg-remove.
131052         * doc/lispref/display.texi (SVG Images): Document svg-text.
131054         * lisp/svg.el (svg-remove): New function.
131055         (svg-text): New function.
131057 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
131059         Add new function dom-remove-node
131061         * doc/lispref/text.texi (Document Object Model): Document
131062         dom-remove-node.
131064         * lisp/dom.el (dom-remove-node): New function.
131066 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
131068         Add a new function `svg-embed'
131070         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
131072         * lisp/svg.el (svg-embed): New function.
131073         (svg--image-data): Ditto.
131075 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
131077         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
131079 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
131081         Fix 'move-to-window-line' when EOB is on last screen line
131083         * src/window.c (displayed_window_lines): Fix an off-by-one error
131084         when the bottom of the last display line is exactly at window's
131085         last pixel.  Remove kludgey fix for TTY frames that is no longer
131086         needed.  (Bug#15760)
131087         (Fmove_to_window_line): Doc fix.
131089         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
131090         accurate the documentation of 'move-to-window-line'.
131092 2016-06-27  Alan Mackenzie  <acm@muc.de>
131094         Amend a cache so that typing into C++ raw strings has no undue delay.
131096         Also amend the code so that low-level searches to the end of literals are done
131097         only when these positions get used.
131099         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
131100         c-literal-start instead of c-literal-limit.
131101         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
131102         it stores details of the literal at a point, rather than merely points outside
131103         of literals.
131104         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
131105         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
131106         (c-parse-ps-state-below, c-literal-start): New functions.
131107         (c-state-semi-safe-place): Removed.
131108         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
131109         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
131110         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
131111         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
131113         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
131114         to end of literals.
131116         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
131117         literals.
131119         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
131120         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
131122 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
131124         Also handle escaping when string begins with a quote
131126         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
131127         Handle quoting of the first character in the string.
131129         * test/lisp/progmodes/ruby-mode-tests.el
131130         (ruby-toggle-string-quotes-quotes-correctly): Update.
131132 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
131134         Fix quote escaping in ruby-toggle-string-quotes
131136         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
131137         Change logic to quote based on the current quote of the string.
131139         * test/lisp/progmodes/ruby-mode-tests.el
131140         (ruby-toggle-string-quotes-quotes-correctly): Add test.
131142 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
131144         Fix test-completion with completion-regexp-list
131146         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
131147         completion-regexp-list (Bug #23533).
131149 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
131151         Try other addresses when connecting to multihomed
131153         Problem reported by Juliusz Chroboczek (Bug#17976)
131154         and by Artur Malabarba (Bug#23620).
131155         Patch from a suggestion by Andreas Schwab in:
131156         https://bugs.gnu.org/17976#39
131157         This patch is for non-MS-Windows platforms.
131158         I don't know the situation on MS-Windows.
131159         * src/process.c (connecting_status):
131160         New function, for (connect . ADDRINFOS).
131161         (connect_network_socket, check_for_dns, wait_for_socket_fds)
131162         (wait_while_connecting, wait_reading_process_output, status_notify):
131163         Use it.
131164         (decode_status, Fmake_network_process):
131165         Support (connect . ADDRINFOS) status.
131166         (connect_network_socket) [!WINDOWSNT]:
131167         If the connection failed and there are other addresses to try, do not
131168         signal an error; instead, loop around to try the next address.
131169         (wait_reading_process_output): Advance to the next address
131170         if there are multiple addresses and the first remaining address
131171         failed.
131172         * src/process.h (struct Lisp_Process.status): Adjust comment
131173         to describe (connect . ADDRINFOS).
131175 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
131177         Fix GNUC_PREREQ for GCC 2.8.1 etc.
131179         Problem reported by Eli Zaretskii in:
131180         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
131181         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
131182         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
131183         patchlevel numbers.
131185 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
131187         Don't set 'bidi-paragraph-direction' in 'ansi-term'
131189         * lisp/term.el (ansi-term): Remove unnecessary setting of
131190         'bidi-paragraph-direction'.  The underlying problem is solved in
131191         bidi.c by changing the regexps that define the paragraph beginning
131192         and end.  (Bug#20611)
131194 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
131196         Sync with Tramp 2.3.0
131198         * doc/misc/trampver.texi:
131199         * lisp/net/trampver.el: Change version to "2.3.0".
131201 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
131203         Fix GNUC_PREREQ off-by-1 typo
131205         Problem reported by Martin Rudalics in:
131206         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
131207         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
131208         Fix < vs <= typo.
131210 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
131212         Fix some oddities in Tramp's rsync and smb methods
131214         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
131215         "-s" arguments.
131216         (tramp-do-copy-or-rename-file-out-of-band):
131217         Call `file-name-directory' also for remote NEWNAME.
131219         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
131220         Do not skip for tramp-smb.el.  Test also COPY-CONTENTS case.
131221         (tramp-test24-file-name-completion): Improve check for
131222         hostname completion.
131223         (tramp--test-rsync-p): New defun.
131224         (tramp-test31-special-characters)
131225         (tramp-test31-special-characters-with-stat)
131226         (tramp-test31-special-characters-with-perl)
131227         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
131228         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
131229         (tramp-test32-utf8-with-ls): Skip for "rsync".
131231         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
131232         Check also for CIFS capabilities.
131234 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
131236         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
131238         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
131239         FRAME_INTERNAL_BORDER_WIDTH.
131241 2016-06-25  Leo Liu  <sdl.web@gmail.com>
131243         Deprecations (bug#23850)
131245         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
131246         string-to-multibyte, string-as-multibyte): Make obsolete.
131248 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
131250         Do not prompt twice to save a buffer
131252         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
131254 2016-06-25  Alan Third  <alan@idiocy.org>
131256         Move text line right when in box (bug#23755)
131258         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
131259         CHAR_GLYPH specific code and move glyphs right if within a box.
131260         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
131261         function.
131263 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
131265         Merge from origin/emacs-25
131267         0377fe2 ; Spelling fixes
131268         f253695 Update docs for `customize-mode'
131269         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
131270         ab0ebb9 ; Only load .elc file in tests.
131271         a98aa02 Error on multibyte characters in HTTP request
131272         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
131273         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
131274         dc5e65b Unset GIT_DIR when calling Git commands
131275         6cdd8f7 Ensure undo-boundary after insert-file-contents.
131276         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
131277         5f37572 Fix removal of variables from process-environment
131278         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
131279         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
131281         # Conflicts:
131282         #       doc/lispref/modes.texi
131283         #       lisp/gnus/mm-decode.el
131285 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
131287         Teach net-utils more iproute2 and nl80211 tools
131289         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
131290         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
131291         option is "phy"; beyond that one needs to know the interface name.
131292         (netstat-program): Add ss(8).
131293         (route-program): Add ip(8).
131294         (route-program-options): Add "route" argument for ip.
131296 2016-06-24  Leo Liu  <sdl.web@gmail.com>
131298         Use use-region-p in prolog.el
131300         * lisp/progmodes/prolog.el (region-exists-p): Remove.
131301         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
131302         prolog-edit-menu-insert-move): Use use-region-p.
131304 2016-06-24  Leo Liu  <sdl.web@gmail.com>
131306         Remove compatibility with Emacs 24.3 in octave-mode
131308         * lisp/progmodes/octave.el: Clean up and remove compatibility with
131309         Emacs 24.3.
131311 2016-06-24  Alan Mackenzie  <acm@muc.de>
131313         Ensure hack-local-variables is run in a fundamental mode buffer.
131315         This fixes bug #23827.
131317         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
131318         gets set to that mode, so that `run-mode-hooks', and thus
131319         `hack-local-variables' get run.
131321 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
131323         Fix caller to ediff-setup
131325         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
131327 2016-06-24  Alan Mackenzie  <acm@muc.de>
131329         Implement ' separators in C++ integer literals.
131331         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
131332         c-before-after-change-digit-quote into the C++ value.
131333         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
131334         for all languages.  Insert c-before-after-change-digit-quote into the C++
131335         value.
131337         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
131338         c-save-buffer-state.
131339         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
131341 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
131343         Update from gnulib
131345         This incorporates:
131346         2016-06-24 intprops: port better to GCC 7
131347         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
131348         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
131349         Copy from gnulib.
131351 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
131353         Remove two uses of 'min' in Fwindow_text_pixel_size
131355         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
131356         it calls move_it_to twice.  Suggested by Eli Zaretskii.
131358 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
131360         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
131362         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
131363         since it is intended to be used only when it returns a non-null
131364         pointer, and here the pointer might be null.
131365         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
131367 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
131369         Remove some more face aliases obsoleted in 22.1
131371         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
131372         eshell-ls-executable-face, eshell-ls-readonly-face,
131373         eshell-ls-unreadable-face, eshell-ls-special-face,
131374         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
131375         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
131376         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
131377         (isearch-lazy-highlight-update): Use face symbol.
131378         * lisp/net/sieve-mode.el (sieve-control-commands-face,
131379         sieve-action-commands-face, sieve-test-commands-face,
131380         sieve-tagged-arguments-face): Remove.
131381         (sieve-font-lock-keywords): Use non-obsolete faces.
131382         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
131383         (sh-get-indent-info, sh-prev-line): Use face symbol.
131384         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
131385         Use non-obsolete face.
131386         (tex-math-face, tex-verbatim-face): Remove.
131387         (tex-font-lock-syntactic-face-function): Use face symbols.
131389 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
131391         Remove some face aliases obsoleted in 22.1
131393         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
131394         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
131395         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
131396         Info-title-4-face, info-menu-5):
131397         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
131398         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
131399         * lisp/progmodes/make-mode.el (makefile-space-face):
131400         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
131401         (texinfo-font-lock-keywords): Use texinfo-heading face.
131402         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
131403         change-log-email-face, change-log-file-face, change-log-list-face,
131404         change-log-conditionals-face, change-log-function-face,
131405         change-log-acknowledgement-face):
131406         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
131407         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
131408         diff-changed-face, diff-function-face, diff-context-face,
131409         diff-nonexistent-face): Remove.
131410         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
131411         symbols.
131412         (diff-hunk-file-names): Fix comment.
131413         (diff-refine-change): Remove.
131414         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
131415         non-obsolete face.
131416         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
131417         (log-view-font-lock-keywords): Use non-obsolete face names.
131418         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
131419         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
131420         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
131421         widget-field-face, widget-single-line-field-face, widget-inactive-face,
131422         widget-button-pressed-face):
131423         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
131424         woman-addition-face): Remove.
131426 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
131428         * lisp/international/characters.el (standard-case-table): Improve last change.
131430 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
131432         Improve results of 'upcase' for characters with title-case
131434         * lisp/international/characters.el (standard-case-table): Swap the
131435         order of some lines, to have 'upcase' return the upper-case
131436         variant, not the title-case, for some characters whose lower-case
131437         map to the same codepoints.  (Bug#23833)
131439 2016-06-23  Alan Mackenzie  <acm@muc.de>
131441         Make typing into incomplete C++ raw strings work, and make it work fast enough
131443         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
131444         Put `save-match-data' around calls to `looking-at' to enable the use of the
131445         match data in higher level functions.
131447         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
131448         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
131449         limit to speed up handling of C++ raw strings.
131451 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
131453         Fix handling of LWINDOW key on MS-Windows
131455         * src/w32fns.c (funhook): Correct a typo which broke handling of
131456         the LWINDOW key.  (Bug#23830)
131458 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
131460         Update Unicode data files from Unicode 9.0.0
131462         * admin/unidata/copyright.html:
131463         * admin/unidata/BidiBrackets.txt:
131464         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
131465         released.
131467 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
131469         Fix test for whether the '.el' file is newer than '.elc'
131471         * src/lread.c (Fload): Don't overwrite the last character of the
131472         file name in FOUND with 'c', unless the file name ended in ".elc"
131473         to begin with.  Don't treat empty files as byte-compiled.  See
131474         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
131475         for more details of the problem this caused.
131477 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
131479         Fix 'insert-file-contents' when REPLACE is non-nil
131481         * src/fileio.c (maybe_move_gap): New function to move the gap to
131482         the end of a buffer, if it isn't there already.
131483         (Finsert_file_contents): Call 'maybe_move_gap' before using
131484         conversion_buffer's text as a C 'char' array.  (Bug#23659)
131485         * src/coding.c (decode_eol): Compute the byte increment before
131486         calling del_range_2, because the latter can invalidate the pointer
131487         to buffer text.
131489 2016-06-22  Ken Brown  <kbrown@cornell.edu>
131491         Avoid compiler warning
131493         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
131495 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
131497         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
131499 2016-06-22  Ken Brown  <kbrown@cornell.edu>
131501         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
131503         * src/w32fns.c (x_set_internal_border_width): Don’t use
131504         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
131505         lvalue.
131507 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
131509         Improve --without-x GCC pacification
131511         * src/composite.c (autocmp_chars):
131512         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
131513         Use simpler ((void) 0) for no-op expression returning void.
131514         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
131515         Include fontset.h, for face_for_char.
131516         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
131517         Now inline functions instead of macros.  This avoids the need for
131518         all those casts to void.
131519         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
131520         All uses changed.
131521         * src/frame.c (Ficonify_frame, Fset_frame_position):
131522         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
131523         * src/xdisp.c (note_mode_line_or_margin_highlight)
131524         (note_mouse_highlight):
131525         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
131526         now work either way without generating warnings.
131527         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
131528         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
131529         (decode_window_system_frame): Use check_window_system instead of
131530         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
131531         (decode_window_system_frame, check_window_system):
131532         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
131533         * src/frame.c (Ficonify_frame, Fset_frame_position):
131534         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
131535         (note_mouse_highlight):
131536         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
131537         this is a better way to pacify GCC.
131538         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
131539         (x_set_right_divider_width, x_set_bottom_divider_width):
131540         * src/xfns.c (x_set_internal_border_width):
131541         Don’t use what are now function calls as lvalues.
131542         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
131543         (decode_window_system_frame, check_window_system):
131544         Use it, to avoid the need for duplicate declarations.
131545         (window_system_available): Now an inline function.
131546         (display_available): New decl.
131547         (frame_dimension): New inline function.
131548         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
131549         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
131550         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
131551         (FRAME_BOTTOM_DIVIDER_WIDTH):
131552         Use it, to avoid the need for duplicate definitions.
131553         Now inline functions instead of macros.
131554         * src/gnutls.c (gnutls_log_function2i): Remove.
131555         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
131556         This avoids complaints about gnutls_log_function2i being defined
131557         and not used on older platforms that do not need to call GNUTLS_LOG2i.
131558         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
131559         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
131560         expr’ to ‘type id; id = expr’, as this would suppress valid
131561         jump-misses-init diagnostics.  Let’s find a better way to address
131562         the problem.
131563         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
131564         Define only if needed.
131565         * src/xdisp.c (handle_single_display_spec):
131566         Simplify fringe_bitmap computation.
131567         (define_frame_cursor1): Do nothing unless in a window system.
131568         All callers changed and simplified.
131569         * src/xfaces.c (realize_default_face):
131570         Use a simpler way to pacify GCC when a return value is not used
131571         on some platforms.
131573 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
131575         Ensure undo-boundary after all commands
131577         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
131578           every command whether it (apparently) changes the buffer or not.
131580         See Bug#23785 for discussion.
131582 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
131584         Fix vertical layout calculations when newline has line-height property
131586         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
131587         'constrain_row_ascent_descent_p' flag after processing the
131588         newline, similar to what 'display_line' does.  Without this, the
131589         flag remains set once set by x_produce_glyphs, and causes the
131590         vertical layout calculations to go awry, because Emacs thinks the
131591         screen lines have zero height.  (Bug#23850)
131593 2016-06-20  Ken Brown  <kbrown@cornell.edu>
131595         Fix compiler warnings in Cygwin-w32 build
131597         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
131598         loop to avoid compiler warnings about empty body of 'if'
131599         statement.
131601         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
131602         macro.
131603         (x_create_bitmap_from_data): Declare 'frame'.
131604         (x_create_bitmap_from_file): Don't declare unused variable
131605         'dpyinfo'.
131607         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
131608         prevent "jump-misses-init" compiler warnings.
131610         * src/w32fns.c (check_w32_winkey_state): Define and use only if
131611         WINDOWSNT.
131612         (Fx_show_tip): Declare 'f'.
131613         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
131614         (w32_strerror): Use format specifier %d for sprintf argument of
131615         type int.
131616         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
131617         int, and use format specifier %x, for compatibility with Cygwin.
131618         (unicode_append_menu) [NTGUI_UNICODE]:
131619         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
131620         (set_menu_item_info, unicode_append_menu)
131621         (unicode_message_box):
131622         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
131623         functions rather than macros to avoid "address will always
131624         evaluate as true" compiler warnings.
131626         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
131627         sprintf argument of type int.
131629         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
131630         sprintf argument of type int to unsigned int to match %X format
131631         specifier.
131632         (w32_scroll_bar_handle_click):
131633         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
131635         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
131636         argument.
131638 2016-06-20  Ken Brown  <kbrown@cornell.edu>
131640         Fix compiler warnings in no-window-system-build
131642         * src/composite.c (autocmp_chars): Declare and set 'f' only if
131643         HAVE_WINDOW_SYSTEM.
131645         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
131646         (FACE_FOR_CHAR): Explicitly discard unused arguments.
131648         * src/font.c (font_open_entity): Declare 'min_width' where it is
131649         first set, and only if HAVE_WINDOW_SYSTEM.
131651         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
131652         Define _Noreturn version to avoid "suggest attribute noreturn"
131653         compiler warning.
131654         (check_window_system): Declare as _Noreturn.
131655         (Ficonify_frame):
131656         (Fset_frame_position): Don’t declare and set 'f'.
131658         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
131659         (check_window_system):  Add _Noreturn prototypes.
131660         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
131661         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
131662         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
131663         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
131665         * src/xdisp.c (handle_single_display_spec): Declare
131666         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
131667         (append_space_for_newline): Declare 'g' where it is first set.
131668         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
131669         HAVE_WINDOW_SYSTEM.
131670         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
131671         if HAVE_WINDOW_SYSTEM.
131672         (note_mode_line_or_margin_highlight):
131673         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
131674         only if HAVE_WINDOW_SYSTEM.
131676         * src/xfaces.c (realize_default_face): Declare and set 'face' only
131677         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
131679 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
131681         Weaken test conditions in filenotify-tests.el
131683         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
131684         Fix thinko in test.
131685         (file-notify-test02-events, file-notify-test04-file-validity)
131686         (file-notify-test07-backup)
131687         (file-notify-test08-watched-file-in-watched-dir): Make test
131688         conditions more weak.  (Bug#23618)
131690 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
131692         Minor ABLOCKS_BUSY cleanups in alloc.c
131694         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
131695         with member ‘abase’ in definiens.
131696         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
131697         Avoid compiler warning with fewer casts.
131698         (lisp_align_free): Check busy-field values; this can help the
131699         compiler a bit when optimizing, too.
131701 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
131703         ASCII-fy coding-system-for-read used for Git commands
131705         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
131706         New function.
131707         (vc-git-diff, vc-git-annotate-command): Use it.
131709 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
131711         Prohibit multibyte characters in url-http-data
131713         It didn't work anyway, but this makes any such errors more obvious
131714         by catching them earlier.
131716         * lisp/url/url-http.el (url-http-create-request):
131717         Use string-to-unibyte (bug#23750).
131719 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
131721         Fix setting a range of char-table slots in a singular case
131723         * src/chartab.c (char_table_set_range): Start the loop from the
131724         first character of the block to which FROM belongs.  (Bug#23797)
131726         * test/src/chartab-tests.el: New test file.
131728 2016-06-19  Alan Mackenzie  <acm@muc.de>
131730         Fix CC Mode fontification problem apparent in test file decls-6.cc.
131732         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
131733         "bar (gnu);" as a declarator only when the construct is directly inside a
131734         class (etc.) called "bar".
131735         (c-directly-in-class-called-p): New function.
131737 2016-06-19  Alan Mackenzie  <acm@muc.de>
131739         c-renarrow-state-cache: take care when new point is inside old brace pair.
131741         Also add display of point-min to the c-parse-state debugging output.
131743         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
131744         point is inside an old recorded brace pair, clear the cache.
131745         (c-debug-parse-state): Output the value of point-min.
131747 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
131749         Rename ALIGN to pointer_align
131751         * src/alloc.c (pointer_align): Rename from ALIGN.
131752         This fixes Bug#23764 in a simpler way.
131754 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
131756         Merge from origin/emacs-25
131758         d1efbaf Fix documentation of completion functions
131759         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
131760         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
131761         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
131763 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
131765         Merge from origin/emacs-25
131767         2317c61 Fix last todo-mode change
131768         5d4d8a3 Improve last todo-mode fix
131769         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
131770         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
131771         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
131772         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
131773         d308aa1 Minor grammar fix (bug#23746)
131774         20de667 Doc fixes for grammar and typos (bug#23746)
131775         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
131776         27f440e Add cross-reference to ELisp manual
131777         10802d8 ; make change-history-commit
131778         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
131779         12e009e Restore initial undo boundary with viper
131780         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
131781         6921f4a Fix dbus crash on 32-bit Cygwin
131783 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
131785         Merge from origin/emacs-25
131787         9ae514a * etc/AUTHORS: Update the AUTHORS file
131788         3ca428e add entries to authors.el
131789         66d556b Fix eldoc-related freezes in python mode
131790         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
131791         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
131792         a813487 Fix undo boundary in recursive edit (Bug#23632)
131793         1f85b7c Doc fixes re alist-get.  (Bug#23548)
131794         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
131795         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
131796         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
131797         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
131798         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
131800 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
131802         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
131804 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
131806         Fix seq-contains
131808         Make sure seq-contains return the element of the sequence instead of t.
131810         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
131811         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
131813 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
131815         Add new function map-do
131817         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
131818           functions.
131819         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
131821 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
131823         Add seq-do-indexed
131825         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
131826         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
131828 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
131830         map.el (map-merge*): Use `map-into' at beginning rather than end
131832         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
131833         and don't use of an intermediate alist.
131834         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
131835         3 lookups per inner iteration.
131837 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
131839         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
131841 2016-06-15  Alan Mackenzie  <acm@muc.de>
131843         Speed up CC Mode's font locking by taking some code out of a hot loop.
131845         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
131846         tests for bare declarators.
131847         (c-font-lock-cut-off-declarators): New function.
131848         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
131850 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
131852         Automatically find vars and functions via definition-prefixes
131854         * lisp/help-fns.el (help-definition-prefixes): New var and function.
131855         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
131856         New functions.
131857         (describe-function, describe-variable): Use them.
131859         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
131860         (radix-tree-prefixes, radix-tree-from-map): New functions.
131862 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
131864         Automatically detect whether .h file is C or C++
131866         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
131867         analyzes contents of the buffer to determine whether it looks like C++
131868         source code and based on that enables c-mode or c++-mode.
131869         (c-or-c++-mode--regexp): Regular expression which, when matches
131870         a buffer, signals file is C++.
131872 2016-06-15  Alan Mackenzie  <acm@muc.de>
131874         Parse compound identifiers in C++ member initialization lists.
131876         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
131877         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
131878         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
131879         than c-simple-skip-symbol-backward.
131881 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
131883         Advertize set-keymap-parent as replacement for copy-keymap
131885         * doc/lispref/keymaps.texi (Creating Keymaps):
131886         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
131888 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
131890         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
131891         value is missing
131893 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
131895         Add new ansible-inventory-generic-mode (Bug#23762)
131897         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
131899 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
131901         Fix ifdef-vs-if typo with RANDR13_LIBRARY
131903         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
131904         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
131905         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
131907 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
131909         Port to platforms where char * has top bit set
131911         This fixes a five-year-old FIXME comment.  Although I don’t know
131912         of a platform where this is a problem in practice, better safe
131913         than sorry.
131914         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
131915         as it is now an integer, not char *.
131916         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
131917         this is a file offset and EMACS_INT is better if --with-wide-int.
131918         If SUBRP, simply store the offset rather than negating it and
131919         converting it to char *.
131920         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
131922 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
131924         Remove recursion from store_function_docstring
131926         * src/doc.c (store_function_docstring):
131927         Refactor to avoid the need for C-level recursion.
131929 2016-06-14  Ken Brown  <kbrown@cornell.edu>
131931         Remove system-specific -I switch from Cygwin-w32 build
131933         Suggested by Eli Zaretskii in discussion of bug#18302.
131935         * src/image.c [HAVE_NTGUI]: Remove the unused macro
131936         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
131937         "X11/xpm.h".
131939         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
131940         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
131942 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
131944         Make python.el work in Emacs 24
131946         * lisp/progmodes/python.el: Bump version.
131947         (python-define-auxiliary-skeleton): Only use format-message if
131948         fbound (Bug#23126).
131950 2016-06-13  Ken Brown  <kbrown@cornell.edu>
131952         Avoid compiler warning
131954         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
131955         'type_CtrlAlt'.
131957 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
131959         Call tzset after setting TZ
131961         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
131962         the setting change propagates into Emacs local time (Bug#23600).
131963         (emacs_setenv_TZ): Clarify comments.
131965 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
131967         Update texinfo.tex
131969         * doc/misc/texinfo.tex: Update from gnulib.
131971 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
131973         New macro GNUC_PREREQ for GCC version
131975         * src/conf_post.h (GNUC_PREREQ): New macro.
131976         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
131977         macro instead, for clarity and consistency.
131978         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
131979         if glibc, since non-GNU platforms don’t necessarily support GNU
131980         printf formats.
131981         (ATTRIBUTE_FORMAT_PRINTF): Use it.
131983 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
131985         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
131987 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
131989         Fix printf-related compilation warnings on MinGW
131991         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
131992         '__ms_printf__', not '__gnu_printf__', as the latter is not what
131993         MS 'printf' supports, and causes bogus compilation warnings.
131994         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
131995         doesn't support the "ll" modifier.
131997 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
131999         emacs_strerror cleanups
132001         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
132002         no longer needed, now that emacs_strerror is declared by lisp.h.
132003         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
132004         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
132005         to lisp.h.
132006         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
132007         convert result string; this is now the caller’s responsibility,
132008         as some need conversion and others don’t.
132009         * src/fileio.c (report_file_errno, report_file_notify_error):
132010         Use emacs_strerror rather than rolling it ourselves.
132011         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
132012         * src/lread.c (dir_warning): Just call emacs_strerror rather than
132013         both strerror and emacs_strerror.  Convert its result from
132014         locale-coding-system, since it no longer does that conversion.
132015         * src/sound.c (sound_perror):
132016         * src/sysdep.c (emacs_perror, str_collate):
132017         Use emacs_strerror, not strerror.
132019 2016-06-10  David Reitter  <david.reitter@gmail.com>
132021         Prevent compiler warning for unused arguments
132023         * lisp/international/ucs-normalize.el
132024         (ucs-normalize-hfs-nfd-pre-write-conversion):
132025         Prevent compiler warning for unused arguments, add comment.
132027 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
132029         Catch malloc_get_state, malloc_set_state failure
132031         This should help insulate Emacs better from configuration screwups.
132032         Future versions of the GNU C library are planned to deprecate
132033         these functions, but will continue to support them in
132034         already-built-and-dumped Emacs executables.
132035         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
132036         Abort if malloc_set_state fails.
132037         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
132038         Report malloc_get_state failure, and exit.
132040 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
132042         Show returned value after gdb-mi "finish" command
132044         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
132045         "Value returned" message in response to "finish", when not
132046         produced by GDB/MI.  (Bug#23720)
132048 2016-06-10  David Reitter  <david.reitter@gmail.com>
132050         Simplify pre-write-conversion for utf-8-hfs coding system
132052         * lisp/international/ucs-normalize.el
132053         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
132055         May address an issue where Emacs consumed large amounts of CPU
132056         because of neverending toolbar updating (which was caused
132057         by, but also called this function).
132059 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
132061         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
132063         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
132064         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
132065         Monnier.  (Bug#19185, Bug#20398)
132067         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
132069         That commit did more harm than good (Bug#23571).
132071 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
132073         Port __builtin_assume_aligned to Sun C 5.13
132075         * src/conf_post.h (__builtin_assume_aligned):
132076         Fix typo: the extra arg did not conform to C99.
132078 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
132080         Prefer getsockopt to getpeername on non-MS-Windows
132082         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
132083         * configure.ac: Don’t check for getpeername.
132084         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
132085         Use getsockopt even if not GNU/Linux, as the platforms where
132086         getsockopt used to hang are no doubt long dead.
132088 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
132090         Fix XFASTINT of non-fixnum in process status
132092         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
132093         not int *, and is not decoded.  All uses changed.
132094         (status_message): Do not assume ‘failed’ code is an integer.
132095         * src/process.h: Document codes better.
132097 2016-06-09  Glenn Morris  <rgm@gnu.org>
132099         Make messcompat.el obsolete.
132101         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
132102         * doc/misc/message.texi (Compatibility): Remove section.
132104 2016-06-09  Glenn Morris  <rgm@gnu.org>
132106         Leading "*" in the doc of defvars is long obsolete.
132108         * lisp/plstore.el (plstore-encrypt-to):
132109         * lisp/cedet/semantic/lex-spp.el
132110         (semantic-lex-spp-macro-max-length-to-save):
132111         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
132112         * lisp/cedet/semantic/bovine/el.el
132113         (semantic-elisp-store-documentation-in-tag):
132114         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
132115         (wisent-expected-conflicts):
132116         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
132117         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
132118         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
132119         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
132120         (gnus-browse-menu-hook):
132121         * lisp/gnus/message.el (message-shoot-gnksa-feet):
132122         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
132123         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
132124         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
132125         * lisp/gnus/mml.el (mml-generate-multipart-alist):
132126         * lisp/gnus/nndraft.el (nndraft-required-headers):
132127         * lisp/gnus/nnheader.el (nnheader-max-head-length)
132128         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
132129         (nnheader-directory-separator-character)
132130         (nnheader-pathname-coding-system):
132131         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
132132         (nnmail-active-file-coding-system):
132133         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
132134         * lisp/gnus/nntp.el (nntp-record-commands):
132135         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
132136         (gnus-score-mode-hook, gnus-score-menu-hook):
132137         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
132138         (rfc2047-allow-irregular-q-encoded-words)
132139         (rfc2047-allow-incomplete-encoded-text):
132140         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
132141         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
132142         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
132143         * lisp/net/pop3.el (pop3-password):
132144         * lisp/play/animate.el (animate-n-steps):
132145         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
132146         Convert from defvar with leading * to defcustom.
132149         * lisp/emulation/viper-init.el (viper-heading-end):
132150         * lisp/gnus/mm-url.el (mm-url-html-entities):
132151         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
132152         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
132153         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
132155         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
132156         (message-from-style, message-interactive, message-indentation-spaces)
132157         (message-signature, message-signature-file):
132158         Remove settings that match the defaults.
132159         (message-setup-hook, message-mode-hook, message-default-headers)
132160         (message-send-hook, message-send-mail-function):
132161         Just use setq rather than redefining.
132163         * lisp/gnus/nnrss.el (nnrss):
132164         * lisp/mail/rfc2047.el (rfc2047):
132165         * lisp/play/animate.el (animate): New custom groups.
132167 2016-06-09  Glenn Morris  <rgm@gnu.org>
132169         Remove obsolete leading * from defcustom, defface doc strings.
132171         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
132172         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
132173         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
132174         * lisp/cedet/semantic/decorate/include.el:
132175         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
132176         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
132177         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
132178         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
132179         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
132180         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
132181         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
132182         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
132183         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
132184         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
132185         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
132186         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
132187         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
132188         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
132189         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
132190         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
132191         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
132192         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
132193         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
132194         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
132195         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
132196         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
132197         Remove obsolete leading * from defcustom, defface doc strings.
132199 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
132201         Fix copying text properties by 'format'
132203         * src/editfns.c (styled_format): Fix copying text properties from
132204         the format specification to the produced string representation.
132205         (Bug#23730)
132206         (Fformat) Doc fix.
132208         * doc/lispref/strings.texi (Formatting Strings): Document that
132209         text properties from the format specifiers are also copied to the
132210         produced string.
132212 2016-06-09  Alan Mackenzie  <acm@muc.de>
132214         Handle C++ raw strings.
132216         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
132217         (c-depropertize-raw-strings-in-region,
132218         c-before-change-check-raw-strings)
132219         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
132220         functions.
132222         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
132223         c-font-lock-raw-strings.
132224         (c-font-lock-raw-strings): New function.
132226         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
132227         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
132228         into the values for C, C++, and Objective C.
132229         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
132230         the C++ value.
132232         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
132233         (c-depropertize-CPP): New function, extracted from
132234         c-neutralize-syntax-in-and-mark-CPP.
132235         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
132236         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
132237         of the function.
132238         (c-after-change): Set c-old-BEG and c-old-END to the current values of
132239         c-new-BEG and c-new-END.
132241 2016-06-09  Daiki Ueno  <ueno@gnu.org>
132243         epg: don't use obsolete function
132245         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
132246         redundant configuration check, which is now done in
132247         `epg-make-context'.
132249 2016-06-09  Daiki Ueno  <ueno@gnu.org>
132251         epg: don't start pinentry if it is useless
132253         * lisp/epg.el (epg--start): Don't start pinentry server if the
132254         session is non-interactive or pinentry-mode is set.
132256 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
132258         Replace IF_LINT by NONVOLATILE and UNINIT
132260         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
132261         * .dir-locals.el (c-mode): Adjust to macro changes.
132262         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
132263         (IF_LINT): Remove.  All uses replaced by the new macros.
132265 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
132267         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
132269         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
132270         in favor of ‘cl-letf’ macro which is more generic.  All existing
132271         uses are migrated accordingly.  The macro has not been included in
132272         an official release yet so it should be fine to delete it.
132274 2016-06-08  Glenn Morris  <rgm@gnu.org>
132276         * test/lisp/emacs-lisp/package-tests.el
132277         (package-test-update-archives-async): Try re-enabling on hydra.
132279 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
132281         * src/fileio.c (auto_save_error): Omit unused local.
132283 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
132285         Simplify overflow check via INT_SUBTRACT_WRAPV
132287         * src/editfns.c (check_tm_member): Simplify integer overflow check.
132289 2016-06-07  Glenn Morris  <rgm@gnu.org>
132291         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
132293         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
132294         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
132295         Ensure gnutls-serv process gets killed.
132296         (echo-server-nowait, connect-to-tls-ipv4-nowait):
132297         Limit the amount of time we might wait.
132299 2016-06-07  Glenn Morris  <rgm@gnu.org>
132301         Reduce allout.el's pollution of the namespace.
132303         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
132304         Keep old name as obsolete alias.
132305         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
132306         (allout-solicit-char-in-string)
132307         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
132308         Rename to add an "allout-" prefix.
132310 2016-06-07  Glenn Morris  <rgm@gnu.org>
132312         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
132314 2016-06-07  Glenn Morris  <rgm@gnu.org>
132316         Misc small webjump updates.
132318         * lisp/net/webjump.el (webjump): Add custom group.
132319         (webjump-sample-sites): Make it a constant.
132320         Remove explicit, old list of GNU ftp mirrors.
132321         (webjump-state-to-postal-alist): Make it a constant.
132322         (webjump-sites): Make it a defcustom.
132323         (webjump-to-iwin): Update for changed remote service.
132325 2016-06-07  Glenn Morris  <rgm@gnu.org>
132327         Do not hard-code port for package test server.  (Bug#23708)
132329         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
132330         Do not hard-code port.
132331         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
132332         Update for the above change.
132334 2016-06-07  Tino Calancha  <f92capac@gmail.com>
132336         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
132338 2016-06-07  Glenn Morris  <rgm@gnu.org>
132340         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
132342 2016-06-07  Tino Calancha  <f92capac@gmail.com>
132344         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
132345         Fix non-file-visiting-buffer case.  (Bug#22678)
132347 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
132349         Port --enable-gcc-warnings to clang 3.7.0
132351         * configure.ac: Add -Wno-tautological-compare to avoid bogus
132352         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
132353         seem to be needed, at least in Fedora 23 x86-64.
132355 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
132357         Use __builtin_assume_aligned on untagged Lisp vals
132359         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
132360         New macros, for compilers not already defining them.
132361         (__has_builtin___builtin_assume_aligned): New macro.
132362         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
132363         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
132365 2016-06-07  Glenn Morris  <rgm@gnu.org>
132367         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
132368         aliases as the type of their targets.
132370 2016-06-07  Tino Calancha  <f92capac@gmail.com>
132372         * lisp/simple.el (process-menu-mode, list-processes--refresh):
132373         Include PID.  (Bug#21725)
132375 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
132377         Merge from origin/emacs-25
132379         6e3adf8 Fix crash in syntax.c after GC
132380         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
132381         9d5cceb Fix doc string quoting
132382         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
132383         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
132385 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
132387         Merge from origin/emacs-25
132389         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
132390         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
132391         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
132392         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
132394 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
132396         Use standard Unicode names for Thai, Lao
132398         * lisp/language/lao-util.el, lisp/language/thai-util.el:
132399         Don’t override standard Unicode character name (Bug#23698).
132401 2016-06-06  Glenn Morris  <rgm@gnu.org>
132403         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
132404         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
132406 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
132408         Some fixes in filenotify-tests.el for cygwin
132410         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
132411         Reintroduce value for cygwin, it's needed on slow systems.
132412         (file-notify--wait-for-events): Move up definition.
132413         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
132414         (file-notify--test-with-events-check, file-notify--test-with-events)
132415         (file-notify-test08-watched-file-in-watched-dir):
132416         Use :random rather than `random.
132417         (file-notify-test06-many-events): Do not skip for cygwin.
132419 2016-06-05  Juri Linkov  <juri@linkov.net>
132421         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
132423         If non-nil, operate on multiple chunks.  (Bug#23655)
132425         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
132427 2016-06-05  Juri Linkov  <juri@linkov.net>
132429         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
132431         to interactive spec to handle shift-selection.  (Bug#23642)
132433 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
132435         Improve robustness of filenotify-tests.el (Bug#23618)
132437         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
132438         (file-notify--test-no-descriptors-explainer)
132439         (file-notify--test-cleanup-p): New defuns.
132440         (file-notify--test-cleanup): Don't check for
132441         `file-notify--test-event' anymore, that's done in
132442         `file-notify--test-no-descriptors'.
132443         (file-notify--test-with-events-check)
132444         (file-notify--test-with-events): Handle the `random' marker.
132445         (file-notify--test-with-events-explainer): Improve readability.
132446         (file-notify-test00-availability)
132447         (file-notify-test01-add-watch, file-notify-test02-events)
132448         (file-notify-test03-autorevert)
132449         (file-notify-test04-file-validity)
132450         (file-notify-test05-dir-validity)
132451         (file-notify-test06-many-events, file-notify-test07-backup)
132452         (file-notify-test08-watched-file-in-watched-dir)
132453         (file-notify-test09-sufficient-resources): Check also
132454         `file-notify--test-cleanup-p'.
132455         (file-notify-test04-file-validity)
132456         (file-notify-test05-dir-validity): Use `ignore' as handler.
132457         (file-notify-test05-dir-validity)
132458         (file-notify-test06-many-events): Delete directory finally.
132459         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
132461 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
132463         man.el: Fix links on hyphenated words (bug#23647)
132465         * lisp/man.el (Man-bgproc-sentinel): Make links work on
132466         hyphenated words.
132468 2016-06-05  K. Handa  <handa@gnu.org>
132470         Add category 'j' to more characters.
132472         * lisp/international/characters.el: Add category 'j' (Japanese)
132473         to characters in japanese-jisx0213.2004-1.
132475 2016-06-04  Tino Calancha  <f92capac@gmail.com>
132477         isearch-edit-string resumes multi isearches
132479         * lisp/isearch.el (with-isearch-suspended): Remember and restore
132480         multi-isearch variables.  (Bug#21663)
132482 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
132484         Fix Eshell display when RTL characters are involved
132486         * lisp/eshell/esh-mode.el (eshell-mode): Set
132487         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
132489 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
132491         Make ses-jump with completing input.
132493         * lisp/ses.el (ses-jump): Make symbol input completing against list of
132494           named cells.
132496 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
132498         Port angle-bracket TZ settings to MS-Windows
132500         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
132501         lack of support for numeric time zone abbreviations.
132502         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
132503         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
132504         Problem reported by Kazuhiro Ito (Bug#23600).
132506 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
132508         Avoid delving into Git internals for version
132510         * lisp/loadup.el (exec-path): Set it to nil later, so that
132511         emacs-repository-get-version can invoke git commands in the PATH.
132512         * lisp/version.el (emacs-repository--version-git-1): Remove.
132513         (emacs-repository-get-version): Let Git do it rather than
132514         delving into Git internals.
132516 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
132518         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
132520 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
132522         Fix emacs-repository-get-version with packed .git
132524         * lisp/version.el (emacs-repository-get-version):
132525         Parse .git/packed-refs if it exists.
132526         Problem reported by Martin Rudalics in:
132527         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
132529 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
132531         Minor change in tramp.texi
132533         * doc/misc/tramp.texi (Password handling): Do not discuss
132534         anymore how to get password-cache.el.  It is bundled with
132535         Emacs.
132537 2016-06-01  Alan Mackenzie  <acm@muc.de>
132539         Correct fontification and indentation of C++'s "constexpr" expressions
132541         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
132542         (c-modifier-kwds): Add "constexpr".
132544 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
132546         Cosmetic change to kinsoku-eol.  (tiny change)
132548         * lisp/international/kinsoku.el (kinsoku-eol): Make the
132549         order of characters match with the comments.
132551 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
132553         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
132555         * lisp/language/japan-util.el (japanese-kana-table): Add an
132556         entry for HIRAGANA ITERATION MARK (U+309D).
132557         (japanese-alpha-numeric-table): Fix docstring.
132559 2016-05-31  K. Handa  <handa@gnu.org>
132561         Fix incomplete handling of translation table in a coding system.
132563         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
132564         is an alist, return a character or a vector of character.
132565         (produce_chars): Adjust for the above change.
132566         (consume_chars): Likewise.
132568 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
132570         Improve robustness for out-of-band copy in Tramp
132572         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
132573         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
132574         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
132575         Cosmetic changes.
132577         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
132578         Use local `default-directory'.  Simplify command to send.
132579         Don't check return code, this was already done in
132580         `tramp-process-actions'.
132581         (tramp-get-inline-coding): Don't set `default-directory'.
132583         * lisp/net/tramp.el (tramp-action-out-of-band):
132584         Throw `out-of-band-failed'.
132585         (tramp-process-actions): Handle `out-of-band-failed'.
132586         (tramp-call-process, tramp-call-process-region):
132587         Use local `default-directory'.
132589 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
132591         Merge from origin/emacs-25
132593         788c9b6 ; Spelling fix
132594         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
132595         0992ec3 Correct cl-flet usage (Bug#22317)
132596         50caae3 Release MH-E manual version 8.6
132597         602bb40 Update MH-E's documentation about HTML renderers
132598         89018f0 Fx the we->the typo
132599         845ee57 Restore frames into the current display by default
132600         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
132601         01c3cd1 etc/TODO: Remove out-of-place issue
132602         5e18486 Clarify doc string of 'file-name-sans-extension'
132603         bffda22 Fix the MSDOS build
132604         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
132605         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
132606         f7ffc4b Fix infloop in 'number-sequence'
132607         4ab2673 ; Spelling and punctuation fixes in comments
132608         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
132610 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
132612         * lisp/emacs-lisp/autoload.el: Use radix-tree.
132614          (autoload--make-defs-autoload): Rewrite.
132615         (autoload--split-prefixes-1): Remove.
132616         (autoload-def-prefixes-max-entries): Rename from
132617         autoload-defs-autoload-max-size.
132618         (autoload-popular-prefixes): Remove.
132619         (autoload-def-prefixes-max-length): New const.
132621         * lisp/emacs-lisp/radix-tree.el: New file.
132623 2016-05-30  Ken Brown  <kbrown@cornell.edu>
132625         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
132627 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
132629         Omit IF_LINT code that no longer seems needed
132631         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
132632         and now is as good a time as any to remove uses of IF_LINT that
132633         now seem to be unnecessary.
132634         * lib-src/emacsclient.c (set_local_socket):
132635         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
132636         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
132637         * src/casefiddle.c (casify_region):
132638         * src/charset.c (load_charset_map):
132639         * src/coding.c (decode_coding_object, encode_coding_object):
132640         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
132641         (cons_to_unsigned, cons_to_signed):
132642         * src/frame.c (make_frame, x_set_frame_parameters):
132643         * src/keyboard.c (read_event_from_main_queue):
132644         * src/regex.c (regex_compile):
132645         * src/syntax.c (back_comment):
132646         * src/window.c (Frecenter):
132647         * src/xfaces.c (Fx_list_fonts):
132648         Remove IF_LINT that no longer seems necessary.
132649         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
132650         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
132651         a pragma dance to pacify GCC -Wclobbered.
132652         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
132654         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
132655         mean we do not need IF_LINT any more.
132656         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
132657         at the end, to forestall warnings from older compilers.
132659 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
132661         Port --enable-gcc-warnings to Cygwin, FreeBSD
132663         These platforms have a bug where _Noreturn is empty when 'lint' is
132664         defined.  Problem reported by Ken Brown (Bug#23640).
132665         * configure.ac (GCC_LINT): Rename from 'lint'.
132666         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
132668 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
132670         Update from gnulib
132672         This incorporates:
132673         2016-05-30 Use GCC_LINT, not lint
132674         2016-05-29 secure_getenv: Port to many more platforms.
132675         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
132676         * m4/secure_getenv.m4: Copy from gnulib.
132678 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
132680         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
132682         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
132684 2016-05-30  Ken Brown  <kbrown@cornell.edu>
132686         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
132688 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
132690         Fix Bug#23631 for Tramp
132692         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
132693         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
132694         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
132695         Fix caching problems.
132697         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
132699         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
132700         Move duplicate deletion ...
132701         (tramp-smb-handle-file-name-all-completions): ... here.
132703         * lisp/net/tramp.el (tramp-handle-file-name-completion):
132704         Handle `completion-ignored-extensions'.  (Bug#23631)
132706         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
132707         Test also `completion-regexp-list' and `completion-ignored-extensions'.
132709 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
132711         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
132713         * lisp/recentf.el (recentf-dialog-mode-map): Remove unnecessary mapping.
132715 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
132717         Fix up remainder of the mml property change
132719         * lisp/gnus/message.el (message-send-mail): Use the renamed
132720         mml-buffer-substring-no-properties-except-some function.
132721         (message-send-news): Ditto.
132723 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
132725         Allow preserving EXIF rotations when sending HTML messages
132727         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
132728         rotation if you have exiftool installed and the image format
132729         supports it.
132730         (mml-expand-html-into-multipart-related): Use it.
132731         (mml-buffer-substring-no-properties-except-some): Renamed and
132732         copy display properties, too.
132734 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
132736         Make message-toggle-image-thumbnails work better
132738         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
132739         `insert-image' instead of `put-image' to make it possible to
132740         edit the resulting text in a sensible manner.
132742 2016-05-29  Alan Mackenzie  <acm@muc.de>
132744         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
132746         Remove the now redundant c-old-BOM and c-old-EOM.
132748         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
132749         meaning.
132750         (c-macro-cache-no-comment): New variable.
132751         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
132752         the new c-macro-cache-no-comment.
132753         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
132754         (c-no-comment-end-of-macro): New function.
132756         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
132757         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
132759         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
132760         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
132761         c-old-BOM/EOM.
132762         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
132763         a cons for the new region, since the function is now called as an after-change
132764         function.  No longer adjust c-new-END for the length of inserted/deleted
132765         text.  Move the size restrictions on macros to here from
132766         c-neutralize-syntax-in-and-mark-CPP.
132767         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
132768         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
132769         upper boundary to "neutralize" syntactically obtrusive characters.
132770         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
132771         one.
132773 2016-05-28  Ken Brown  <kbrown@cornell.edu>
132775         Avoid compiler warnings
132777         * src/cygw32.c (chdir_to_default_directory): Use "void" as
132778         argument list.  Use SSDATA instead of SDATA.
132780         * src/unexcw.c (fixup_executable): Use %td as format specifier for
132781         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
132783 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
132785         Fix 'next-line' and 'previous-line' during keyboard macro
132787         * lisp/simple.el (line-move-visual): Handle the case when point
132788         moves outside of the visible portion of the buffer while executing
132789         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
132791 2016-05-28  Alan Mackenzie  <acm@muc.de>
132793         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
132795         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
132796         back over noise clauses and attribute clauses.
132798         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
132800 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
132802         Prevent locked-file errors in Rmail
132804         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
132805         calling 'rmail-insert-inbox-text'.  Unlock if
132806         'rmail-insert-inbox-text' doesn't modify buffer.
132807         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
132809 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
132811         Sync with Tramp repository.
132813         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
132814         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
132815         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
132816         Create BUFFER if it doesn't exist.  Reported by Nikolay
132817         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
132819         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
132820         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
132821         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
132822         (tramp-gvfs-get-directory-attributes)
132823         (tramp-gvfs-get-root-attributes)
132824         (tramp-gvfs-get-file-attributes): New defun.
132825         (tramp-gvfs-handle-file-attributes)
132826         (tramp-gvfs-handle-file-name-all-completions): Use them.
132827         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
132828         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
132829         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
132830         (top): Suppress D-Bus error messages during zeroconf initialization.
132832         * lisp/net/tramp.el (tramp-unknown-id-string)
132833         (tramp-unknown-id-integer): New defconst.
132834         (tramp-check-cached-permissions)
132835         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
132836         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
132837         (tramp-convert-file-attributes, tramp-get-remote-uid)
132838         (tramp-get-remote-gid): Use them.
132840         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
132841         Rename from `tramp-color-escape-sequence-regexp'.
132842         (tramp-sh-handle-insert-directory)
132843         (tramp-convert-file-attributes): Adapt callees.
132844         (tramp-device-escape-sequence-regexp): New defconst.
132845         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
132846         Gissurarson <icetritlo@gmail.com>.
132848         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
132849         Simplify.
132851         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
132852         (tramp-test28-shell-command):
132853         Use `tramp-display-escape-sequence-regexp'.
132855 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
132857         Don’t document declare-function internals
132859         Suggested by Stefan Monnier in:
132860         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
132861         * doc/lispref/functions.texi (Declaring Functions):
132862         * lisp/subr.el (declare-function):
132863         * lisp/emacs-lisp/bytecomp.el:
132864         (byte-compile-macroexpand-declare-function):
132865         Document as (fn file &optional arglist fileonly)
132866         even though it is really (fn file &rest args).
132868 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
132870         * src/puresize.h (BASE_PURESIZE): Increase it some more.
132872 2016-05-27  Glenn Morris  <rgm@gnu.org>
132874         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
132876         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
132877         avoid build failure.
132879 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
132881         Port to platforms where rlim_max < 0
132883         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
132884         this can happen if a special value like RLIM_INFINITY is negative.
132886 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
132888         Robustify stack-size calculation
132890         * src/emacs.c: Include getpagesize.h.
132891         (main): Check for integer overflow when computing stack size.
132892         Round new rlim_cur to pagesize boundary on all platforms, as this
132893         is easy and would have prevented Bug#23622.  If setrlimit
132894         fails, use current limit to determine re_max_failures.
132896 2016-05-27  Ken Brown  <kbrown@cornell.edu>
132898         Adjust filenotify-tests on Cygwin
132900         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
132901         Remove special case for Cygwin.
132902         (file-notify-test07-backup): Update expected results on Cygwin.
132904 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
132906         Improve define-function omitted-arg documentation
132908         * doc/lispref/functions.texi (Declaring Functions):
132909         * lisp/subr.el (declare-function):
132910         Be clearer when documenting omitted args for define-function.
132912 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
132914         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
132916 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
132918         * lisp/subr.el (definition-prefixes): Expand docstring
132920         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
132921         Remove unused function.
132923 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
132925         Fix broken viper deactivation
132927         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
132928           args to advice-remove.
132929           (viper--advice-add): Use cons not list.
132931         Addresses bug#23625
132933 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
132935         Preserve buffer point in windows by default (Bug#4041).
132937         * doc/lispref/windows.texi: Mention new default.
132938         * etc/NEWS: Mention new default.
132939         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
132941 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
132943         Fix byte-compiler pacification for declare-function
132945         Problem reported by Michael Heerdegen in:
132946         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
132947         * lisp/emacs-lisp/bytecomp.el:
132948         (byte-compile-macroexpand-declare-function):
132949         Revert signature to previous value.
132950         * lisp/subr.el (declare-function): Change signature to
132951         match the reverted signature used in the byte compiler.
132953 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
132955         Update texinfo.tex
132957         This fixes Bug#23611 in a different (and presumably better) way.
132958         * doc/misc/texinfo.tex: Update from gnulib.
132960 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
132962         Pacify 'make check-declare'
132964 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
132966         Repair damage from emacs-25 merge
132968         * test/lisp/character-fold-tests.el:
132969         Remove, as it was renamed to test/lisp/char-fold-tests.el.
132970         * test/lisp/emulation/viper-tests.el:
132971         Rename from test/automated/viper-tests.el.
132973 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
132975         Merge from origin/emacs-25
132977         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
132978         a4d882c Correct old cell name unbinding when renaming cell.
132979         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
132980         0be6725 Document problem: slow screen refresh on missing font.
132981         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
132982         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
132983         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
132984         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
132985         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
132986         897fb6f ; 'Changes from the pre-25.1 API' copyedits
132987         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
132988         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
132989         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
132990         2e589c0 Fix cross-references between manuals
132991         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
132992         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
132993         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
132994         503e752 ; * CONTRIBUTE: Fix a typo.
132995         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
132996         bdfbe6d ; * admin/release-process: Copyedits.
132997         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
132998         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
132999         df4a14b Add automated test for viper-tests.el
133000         c0139e3 Fix viper undo breakage from undo-boundary changes
133001         920d76c Fix reference to obsolete fn ps-eval-switch
133002         18a9bc1 Do not trash symlinks to init file
133003         2671179 Don't print the "decomposition" line for control chars in wha...
133004         869092c Bring back xterm pasting with middle mouse
133005         5ab0830 Provide workaround for xftfont rendering problem
133006         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
133007         30989a0 Mention GTK+ problems in etc/PROBLEMS
133008         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
133009         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
133010         e41a5cb Avoid errors with Czech and Slovak input methods
133011         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
133012         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
133013         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
133014         c45d9f6 Improve documentation of 'server-name'
133015         3b5e38c Modernize ASLR advice in etc/PROBLEMS
133016         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
133018 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
133020         Avoid byte-compiler warnings due to 'declare-function'
133022         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
133023         (w32-get-valid-locale-ids):
133024         * lisp/progmodes/js.el (ido-mode): Specify arglist in
133025         'declare-function' forms, to avoid byte-compiler warnings.
133027 2016-05-26  Glenn Morris  <rgm@gnu.org>
133029         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
133031         No-one puts info pages there.  If /share does exist, it's likely to
133032         contain remote file systems where access could be slow.
133034 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
133036         Merge from origin/emacs-25
133038         2d76405 etc/AUTHORS: Update the AUTHORS file
133040 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
133042         Merge from origin/emacs-25
133044         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
133046 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
133048         Merge from origin/emacs-25
133050         939eb75 Fix bug in default setting of 'ps-paper-type'
133052 2016-05-26  Glenn Morris  <rgm@gnu.org>
133054         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
133056 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
133058         Fix Bug#23614.
133060         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
133061         Let-bind `process-coding-system-alist' in order to suppress
133062         the value for "cmdproxy".
133064         * lisp/net/tramp.el (tramp-encoding-shell):
133065         `w32-shell-name' is a function.
133066         (tramp-encoding-command-switch)
133067         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
133069         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
133070         Suppress some tests on MS Windows.  (Bug#23614)
133072 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
133074         hl-line.el: Fix flickering of highlighted line (bug#23510)
133076         * lisp/hl-line.el (hl-line-maybe-unhighlight)
133077         (global-hl-line-highlight-all)
133078         (global-hl-line-maybe-unhighlight): New functions.
133079         (hl-line-overlay-buffer): New variable.
133080         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
133081         pre-command-hook by hl-line-maybe-unhighlight on
133082         post-command-hook, to prevent hl-line from flickering.
133083         Adjust document string.
133084         (global-hl-line-mode): Use global-hl-line-highlight-all to
133085         simultaneously highlight the current line in all live windows.
133086         Replace global-hl-line-unhighlight on pre-command-hook by
133087         global-hl-line-maybe-unhighlight on post-command-hook, to
133088         prevent global-hl-line from flickering.  Remove
133089         global-hl-line-unhighlight from change-major-mode-hook on
133090         disabling the mode.  Adjust document string.
133092 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
133094         Make autoloads populate a new definition-prefixes table
133096         * lisp/subr.el (definition-prefixes): New hash table.
133097         (register-definition-prefixes): New function.
133099         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
133100         (autoload--split-prefixes-1, autoload--split-prefixes)
133101         (autoload--make-defs-autoload): New functions.
133102         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
133103         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
133104         (update-directory-autoloads): Don't touch loaddefs.el if the set of
133105         autoloads hasn't changed (i.e. if only the timestamp would change).
133107         * lisp/loadup.el: Purify definition-prefixes.
133109         * lisp/w32-fns.el: Keep name space clean.
133110         (w32-set-default-process-coding-system): Rename from
133111         set-default-process-coding-system.
133112         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
133114 2016-05-24  Ken Brown  <kbrown@cornell.edu>
133116         Allow network-stream-tests to work for out-of-tree builds
133118         * test/lisp/net/network-stream-tests.el
133119         (network-stream-tests--datadir): New defconst.
133120         (make-tls-server): Use it.
133122 2016-05-24  Ken Brown  <kbrown@cornell.edu>
133124         Fix failing echo-server-nowait test
133126         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
133127         Specify IPv4 for the client, to match the family of the server.
133128         (Bug#23606)
133130 2016-05-24  Ken Brown  <kbrown@cornell.edu>
133132         Allow shr-tests to work for out-of-tree builds
133134         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
133135         (shr-test, rendering): Use it.
133137 2016-05-24  Ken Brown  <kbrown@cornell.edu>
133139         Update allowable arguments for open-network-stream
133141         * src/coding.c (Ffind_operation_coding_system): Allow t as a
133142         target for open-network-stream.  (Bug #23540)
133144 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
133146         Make js-mode's syntax highlighting work again
133148         * lisp/progmodes/js.el (js-mode): Fix the assigned
133149         font-lock-defaults value (bug#23603).
133151 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
133153         * lisp/progmodes/cc-mode.el: Add minor comments
133155         (c-change-expand-fl-region): Mark args as unused.
133157 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
133159         * lisp/url/url-http.el: Use lexical-binding
133161         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
133162         (url-http-wait-for-headers-change-function): Remove unused var
133163         `content-length'.
133164         (url-http): Remove unused vars `host' and `port'.
133166 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
133168         * lisp/widget.el (define-widget): Use `declare' (which does work now).
133170         (widget-plist-member): Mark as obsolete.
133172 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
133174         * lisp/image.el: Use lexical-binding
133176         (image-scaling-factor, imagemagick-types-inhibit)
133177         (imagemagick-enabled-types): Remove redundant :group.
133178         (image--get-image): Apply de-Morgan and use car-safe.
133179         (image-compute-scaling-factor): Use the argument.
133181 2016-05-23  Glenn Morris  <rgm@gnu.org>
133183         * lisp/image.el (image--get-image): Remove nonsensical code.
133185         * lisp/image.el (image--get-image): Avoid requiring a library for
133186         one trivial operation.
133188 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
133190         Don’t use only last protocol from getaddrinfo
133192         Problem reported by Ken Brown in:
133193         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
133194         * src/process.c (conv_addrinfo_to_lisp): New function.
133195         (connect_network_socket): Arg is now a list of addrinfos, not
133196         merely IP addresses.  All uses changed.  Use protocol from
133197         each addrinfo.
133198         (Fmake_network_process): Accumulate protocols into addrinfos
133199         rather than just using the last one found.
133200         (check_for_dns): Accumulate protocols here, too.
133201         * src/process.h (struct Lisp_Process): Remove ai_protocol;
133202         no longer needed.
133204 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
133206         Fix seq requirement that broke bootstrap
133208         * lisp/image.el (image--get-image): Require seq here, not at the
133209         top level, to avoid ‘(require seq) while preparing to dump’ while
133210         bootstrapping.  Suggested by Tino Calancha in:
133211         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
133213 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
133215         Add missing dependencies to seq.el
133217         * lisp/emacs-lisp/find-func.el:
133218         * lisp/ibuffer.el:
133219         * lisp/image.el: Require seq.
133221 2016-05-22  Alp Aker  <alp@food52.com>
133223         * src/process.c (SOCK_NONBLOCK): Fix typo.
133225 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
133227         Add completion of colors in CSS mode
133229         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
133230         from "CSS Color Module Level 3".
133232         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
133233         Update test.
133235 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
133237         Prefer SOCK_NONBLOCK to O_NONBLOCK
133239         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
133240         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
133241         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
133242         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
133243         the order does not matter here.
133245 2016-05-21  Alan Third  <alan@idiocy.org>
133247         Fix bug#16856, cursor leaves garbage in fringe on OS X.
133249         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
133250         being drawn outside the text area.
133252 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
133254         Fix compiler warnings in the MinGW build
133256         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
133257         -Wno-pointer-sign, to keep the noise level down.
133259         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
133260         -Wredundant-decls, as that produces a lot of noise due to
133261         redeclaration of time-related functions by gnulib.
133262         * nt/runemacs.c (set_user_model_id): Fix argument type of
133263         'SetCurrentProcessExplicitAppUserModelID'.
133265         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
133266         declare 'dpyinfo', as it is unused.
133267         (xpm_load): Fix warnings about pointer signedness.
133268         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
133269         prototypes.
133270         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
133271         (sys_select): Provide prototype.
133272         (g_b_init_compare_string_w): Move declaration to file scope.
133273         * src/w32heap.c (dumped_data_commit): Now static.
133274         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
133275         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
133276         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
133277         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
133278         Provide prototypes.
133279         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
133280         redundant prototypes.
133281         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
133282         (init_environment, sys_ctime): Avoid warnings about discarding
133283         'const' qualifier.
133284         Include utimens.h.
133285         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
133286         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
133287         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
133288         prototypes.
133289         (sys_rename_replace): Use %d to avoid compiler warnings.
133290         (_wsa_errlist): Make the message text 'const char *', to avoid
133291         compilation warnings.
133292         (dynlib_reset_last_error): Move prototype to file scope.
133293         (w32_get_resource): First argument is now 'const char *'.
133294         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
133295         (otf_features): Second argument is no 'const char *'.
133296         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
133297         (x_set_window_size): Remove redundant prototypes.
133298         (XChangeGC, XGetGCValues, w32_draw_underwave)
133299         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
133300         (x_calc_absolute_position, x_destroy_window): Now static.
133301         (menubar_selection_callback): Move prototype to file scope.
133302         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
133303         declaration.
133304         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
133305         (w32font_full_name): Fix warnings about implicit conversion of
133306         'float' to 'double'.
133307         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
133308         discarding 'const' qualifier.
133309         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
133310         (set_frame_menubar): Remove redundant prototypes.
133311         (menubar_selection_callback, w32_menu_display_help): Provide
133312         prototypes.
133313         (simple_dialog_show): Avoid warnings about discarding 'const'
133314         qualifier.
133315         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
133316         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
133317         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
133318         redundant prototypes.
133319         (current_popup_menu): Remove redundant declaration.
133320         (colormap_t): Member 'name' is now 'const char *'.
133321         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
133322         (x_decode_color, x_set_border_pixel)
133323         (x_clear_under_internal_border, x_set_name, hook_w32_key)
133324         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
133325         static.
133326         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
133327         (w32_msg_worker, w32_last_error): Provide prototypes.
133328         (funhook, lookup_vk_code): Avoid warnings about missing
133329         parentheses.
133330         (x_default_font_parameter, Fw32_notification_notify): Avoid
133331         warnings about discarding 'const' qualifier.
133332         (Fx_create_frame): Avoid warnings about empty body of 'else'.
133333         (x_screen_planes): Ifdef away unused function.
133334         (Fx_show_tip): Remove unused variables.
133335         (Fw32_battery_status): Avoid warnings about implicit promotion
133336         from float to double.
133337         (Fw32_notification_notify): Initialize 'timeout'.
133338         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
133339         define the TIMER_SETTIME_RUNNING value if it will be used.
133340         * src/w32notify.c (send_notifications): Ifdef away an empty if
133341         clause.  Remove unused variable.
133342         (watch_end, watch_completion): Provide prototypes.
133343         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
133344         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
133345         warning with pointer signedness.
133346         * src/gnutls.c (gnutls_x509_crt_get_signature)
133347         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
133348         don't load them from the GnuTLS library, as they are no longer
133349         used.
133350         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
133351         define, as it's unused.
133352         * src/unexw32.c (open_input_file, open_output_file)
133353         (close_file_data): Remove redundant prototypes.
133354         (_start): provide prototype.
133355         (mainCRTStartup): Move prototype to file level.
133356         (find_section): Use type-cast to shut up compiler warnings.
133357         (offset_to_section, relocate_offset): Now static.
133358         (find_section): First argument is now a 'const char *'.
133359         (offset_to_section): Ifdef away, as it's unused.
133360         * src/w32heap.h (find_section): Adjust prototype.
133361         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
133362         * src/dired.c (directory_files_internal_w32_unwind): Avoid
133363         warnings about missing prototypes.
133364         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
133365         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
133366         signedness.
133367         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
133368         Fix warnings about pointer signedness.
133369         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
133370         unused.
133371         * src/sysdep.c (_getpid): Remove redundant prototype.
133372         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
133373         [!MSDOS]: Don't define 'st', it's unused.
133374         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
133375         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
133376         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
133377         n_to_read, as it is not used.
133378         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
133379         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
133380         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
133381         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
133382         not used by DOS_NT builds, to avoid compiler warnings.
133383         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
133384         declaration.
133385         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
133386         up compiler warnings.
133387         * src/w32term.h (x_set_window_size, x_get_focus_frame)
133388         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
133389         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
133390         (x_free_frame_resources, x_real_positions)
133391         (display_x_get_resource): Remove redundant prototypes.
133393         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
133394         (sys_rename, gettimeofday): Provide prototypes.
133395         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
133396         declarations.
133397         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
133398         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
133399         (close_winsock, initialize_sockets, w32_set_user_model_id)
133400         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
133401         prototypes.
133402         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
133403         difference.
133404         (w32_set_user_model_id): Update prototype of
133405         SetCurrentProcessExplicitAppUserModelID to avoid compiler
133406         warnings.
133407         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
133408         shut up compiler warnings.
133409         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
133411 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
133413         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
133415         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
133416         wrap on a whitespace character if it's followed by another
133417         whitespace character.  When returning under WORD_WRAP for a screen
133418         line that is continued, restore to wrap point when atpos/atx
133419         position would be displayed on the next screen line due to
133420         line-wrap.  (Bug#23570)
133422 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
133424         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
133426 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
133428         Added tests for dos unibyte decoding.
133430         The underlying bug was previously fixed by Eli Zaretskii in commit
133431         c8109d9c4057d8cac79e2c139758cadd410e7446.
133433 2016-05-20  Philipp Stephani  <phst@google.com>
133435         Fix handling of ‘mouse-on-link-p’.
133437         If ‘mouse-on-link-p’ returns a string or vector, the first element
133438         is to be used as new event.  Translation to ‘mouse-2’ should only
133439         happen if the return value is not a string or vector.  See
133440         docstring of ‘mouse-on-link-p’ and Bug#23288.
133442         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
133443         value of ‘mouse-on-link-p’ according to documentation.
133445         * test/lisp/mouse-tests.el (bug23288-use-return-value)
133446         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
133448 2016-05-20  Daiki Ueno  <ueno@gnu.org>
133450         epg: Add a way to detect gpg1 executable for tests
133452         Fixes bug#23561.
133454         * test/automated/epg-tests.el
133455         (epg-tests-program-alist-for-passphrase-callback): New
133456         constant.
133457         (epg-tests-find-usable-gpg-configuration): New function,
133458         renamed from `epg-tests-gpg-usable'.  All callers changed.
133459         (epg-tests-gpg-usable): Remove.
133461         * lisp/epg-config.el (epg-config--program-alist): Factor out
133462         constructor element to...
133463         (epg-config--configuration-constructor-alist): ...here.
133464         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
133465         and add PROGRAM-ALIST argument.
133467 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
133469         Put point at beginning of display-time-world buffer.
133471         If display-time-world decides to popup vertically from the bottom of the
133472         frame and scroll-margin is nonzero, the top of the buffer contents are
133473         hidden due to scroll.
133474         * lisp/time.el (display-time-world-display): Move point to point-min
133475         after inserting contents.
133477 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
133479         Allow null entries in face and image cache
133481         Problem reported by Tino Calancha (Bug#23580).
133482         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
133483         Don’t assume that the result is non-null.
133484         * src/xdisp.c (fill_image_glyph_string):
133485         Restore check that image pointer is non-null.
133487 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
133489         Fix flyspell highlighting
133491         Problem reported by Jim Meyering (Bug#23575).
133492         * src/xdisp.c (extend_face_to_end_of_line):
133493         Fix typo in previous change.
133495 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
133497         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
133499 2016-05-18  Sam Steingold  <sds@gnu.org>
133501         python-describe-at-point: add and bind
133503 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
133505         ‘make check-declare’ now chatters less
133507         * etc/NEWS: Document this.
133508         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
133509         Return relative names, not absolute.
133510         (check-declare-scan, check-declare-verify, check-declare-warn)
133511         (check-declare-file, check-declare-directory):
133512         Generate less chatter.  Use relative file names rather than
133513         absolute.  Don’t give up on computing a good file name for a
133514         diagnostic merely because the function name was bad.  Make
133515         malformed declarations more noticeable.  Don’t warn about
133516         "ext:..." declarations if check-declare-ext-errors is nil.
133517         (check-declare-errmsg): Remove.
133518         (check-declare-warn): New optional arg LINE.
133519         (check-declare-files): Put status into mode line rather than
133520         chattering.
133522 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
133524         Pacify byte-compiler for byte-compile-macroexpand-declare-function
133526         * lisp/emacs-lisp/bytecomp.el: Change signature of
133527         byte-compile-macroexpand-declare-function to match that of
133528         declare-function.
133530 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
133532         Pacify byte-compiler for with-wrapper-hook
133534         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
133535         New macro, split out from with-wrapper-hook.
133536         * lisp/abbrev.el (abbrev--default-expand):
133537         * lisp/minibuffer.el (completion--in-region):
133538         * lisp/simple.el (buffer-substring--filter):
133539         * lisp/subr.el (with-wrapper-hook):
133540         Use it.
133542 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
133544         Pacify byte-compiler in lisp/url
133546         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
133547         Add decl.
133549 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
133551         Port --enable-gcc-warnings to GCC 6.1
133553         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
133554         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
133555         Omit test whether pointer plus a constant equals a null pointer.
133556         * src/alloc.c (compact_small_strings):
133557         Avoid pointer arithmetic on null pointers.
133558         * src/alloc.c (mark_face_cache):
133559         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
133560         * src/fringe.c (draw_fringe_bitmap_1)
133561         (Fset_fringe_bitmap_face):
133562         * src/macfont.m (macfont_draw):
133563         * src/msdos.c (IT_set_face, IT_clear_screen):
133564         * src/nsfont.m (nsfont_draw):
133565         * src/nsterm.h (FRAME_DEFAULT_FACE):
133566         * src/nsterm.m (ns_draw_window_cursor)
133567         (ns_draw_vertical_window_border, ns_draw_window_divider)
133568         (ns_dumpglyphs_box_or_relief)
133569         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
133570         (ns_dumpglyphs_stretch):
133571         * src/w32term.c (w32_draw_vertical_window_border)
133572         (w32_draw_window_divider, x_set_mouse_face_gc):
133573         * src/xdisp.c (estimate_mode_line_height, init_iterator)
133574         (handle_face_prop, handle_single_display_spec, pop_it)
133575         (CHAR_COMPOSED_P, get_next_display_element)
133576         (next_element_from_display_vector, extend_face_to_end_of_line)
133577         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
133578         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
133579         (lookup_named_face):
133580         * src/xterm.c (x_draw_vertical_window_border)
133581         (x_draw_window_divider, x_set_mouse_face_gc):
133582         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
133583         * src/xterm.c (try_window_id):
133584         Redo loop to convince GCC 6.1 that it is null pointer safe.
133585         (x_color_cells):
133586         Use eassume as necessary to pacify GCC 6.1.
133587         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
133588         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
133589         behavior of the non-_OPT macro, to be used when the result
133590         might be a null pointer.
133591         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
133592         [HAVE_WINDOW_SYSTEM]:
133593         * src/intervals.h (INTERVAL_WRITABLE_P):
133594         * src/term.c (turn_off_face):
133595         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
133596         (produce_image_glyph, produce_xwidget_glyph):
133597         * src/xfaces.c (lookup_named_face):
133598         Remove unnecessary test for null pointer.
133599         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
133600         * src/process.c (would_block): New function.
133601         (server_accept_connection, wait_reading_process_output, send_process):
133602         Use it.
133603         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
133604         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
133605         might be null.
133607 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
133609         Sync from gnulib
133611         This incorporates:
133612         2016-05-17 manywarnings: update for GCC 6.1
133613         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
133614         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
133616 2016-05-16  Glenn Morris  <rgm@gnu.org>
133618         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
133619         Include more details on hydra.
133621 2016-05-16  Alan Mackenzie  <acm@muc.de>
133623         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
133625 2016-05-16  Alan Mackenzie  <acm@muc.de>
133627         Fix spurious fontification of "for (; a * b;)" in CC Mode.
133629         This fixes bug #7918 (again).
133631         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
133632         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
133633         cons cell - additionally, return a flag indicating whether the declaration
133634         parsed might have been an expression, and the position of the type identifier
133635         in the said declaration.
133637         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
133638         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
133639         check for it being a spurious declaration in a "for" statement.
133641 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
133643         Pacify ‘make check-declare’
133645         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
133646         (data-debug-insert-stuff-list, data-debug-insert-thing):
133647         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
133648         (viper-change-state-to-emacs):
133649         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
133650         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
133651         * lisp/org/ob-awk.el (orgtbl-to-generic):
133652         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
133653         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
133654         * lisp/org/ob-exp.el (org-element-context):
133655         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
133656         (orgtbl-to-generic):
133657         * lisp/org/ob-haskell.el (org-export-to-file):
133658         * lisp/org/ob-latex.el (org-create-formula-image)
133659         (org-latex-compile):
133660         * lisp/org/ob-python.el (run-python):
133661         * lisp/org/ob-sh.el (orgtbl-to-generic):
133662         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
133663         * lisp/org/org-colview.el (org-agenda-redo):
133664         * lisp/org/org-feed.el (url-retrieve-synchronously):
133665         * lisp/org/org-info.el (Info-find-node):
133666         * lisp/org/org-list.el (org-previous-line-empty-p):
133667         * lisp/org/org-macs.el (org-string-match-p):
133668         * lisp/org/org.el (org-beamer-mode):
133669         Fix prototype to match current definition.
133670         * lisp/emacs-lisp/advice.el (function-called-at-point):
133671         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
133672         Fix typo: extra '.
133673         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
133674         Insert ,' to pacify check-declare.
133675         * lisp/org/ob-comint.el (tramp-flush-directory-property):
133676         * lisp/org/ob-tangle.el (org-babel-update-block-body):
133677         * lisp/org/org-bibtex.el (org-babel-trim):
133678         * lisp/org/org-pcomplete.el (org-export-backend-options):
133679         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
133680         Fix file name in declare-function.
133681         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
133682         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
133683         * lisp/org/org.el (org-beamer-mode):
133684         * lisp/url/url-http.el (gnutls-negotiate):
133685         Append ‘t’ to declare-function, since the declaration isn’t a defun.
133686         * lisp/org/ob-core.el (show-all):
133687         Declare outline-show-all instead, since it is the
133688         non-obsolete version of this function.
133689         (org-save-outline-visibility): Remove; not needed.
133690         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
133691         (geiser-eval-region, geiser-repl-exit):
133692         * lisp/org/ox-org.el (htmlize-buffer):
133693         Prepend "ext:" to file name, since it is not part of Emacs.
133694         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
133695         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
133696         Remove decl, since function was removed.
133697         * lisp/org/ob-sh.el (org-babel-comint-with-output):
133698         * lisp/org/org-macro.el (org-with-wide-buffer):
133699         Omit unnecessary (and mismatching) decl.
133700         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
133701         * lisp/org/org-clock.el (calendar-iso-to-absolute):
133702         Declare calendar-iso-to-absolute instead, since it is the
133703         non-obsolete version of this function.
133704         * lisp/org/org-compat.el (w32-focus-frame):
133705         Remove decl, since function is now obsolete.
133707 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
133709         :max-width/height fixes for shr after the scaling changes
133711         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
133712         max-width and max-height even after the scaling changes done
133713         earlier this year.
133715 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
133717         Fix reading minibuffer input in viper-mode
133719         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
133720         Restore an assignment to viper-initial that got lost when
133721         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
133723 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
133725         Port autogen.sh to Git 2.4
133727         Problem reported by Michael Brand in:
133728         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
133729         * autogen.sh (git_config): Don't assume that git rev-parse
133730         groks --git-common-dir.
133732 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
133734         Merge from origin/emacs-25
133736         6de0715 Properly reject malformed or empty package sigs
133737         edae7d9 Remove buggy non-native image scrolling
133739 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
133741         Improve display of tex-verbatim and Info quoted
133743         Problem reported by Glenn Morris (Bug#19889).
133744         * doc/emacs/display.texi (Standard Faces):
133745         * doc/lispref/display.texi (Basic Faces):
133746         * etc/NEWS: Mention fixed-pitch-serif.
133747         * lisp/faces.el (face-font-family-alternatives):
133748         New family alias Monospace Serif.
133749         (fixed-pitch-serif): New face, which uses the new family.
133750         * lisp/info.el (Info-quoted):
133751         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
133752         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
133753         Add test case for Monospace Serif.
133755 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
133757         * lisp/net/sieve-mode.el: Handle the text:... notation
133759         Get rid of redundant :group keywords.
133760         (sieve-mode-syntax-table): Move initialization into declaration.
133761         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
133762         (sieve-mode): Use them.
133764 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
133766         Tweak check-declare-directory performance
133768         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
133769         Use ‘find ... -exec ... +’ for speed.
133771 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
133773         Sync from gnulib
133775         This incorporates a spelling fix, plus:
133776         2016-05-09 Fix undefined behavior in gettext.h
133777         * lib/gettext.h, lib/mktime.c:
133778         Copy from gnulib.
133780 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
133782         Merge from origin/emacs-25
133784         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
133785         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
133786         1a5a05c Do not mistake colon at the end of regexp for slash symbol
133787         4c5a00b Make package-install-from-buffer not move point
133788         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
133789         f79c352 Redo the fix for bug#21839
133790         8d2f78c Don't treat JS spread as continuation method call
133792 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
133794         Correct server/client address
133796         * src/process.c (Fmake_network_process): :local is for servers and :remote
133797         is for clients.
133799 2016-05-12  Ken Brown  <kbrown@cornell.edu>
133801         Autosave buffers on logout if HAVE_NTGUI
133803         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
133804         w32_read_socket.
133806         * src/w32term.c (w32_read_socket): Create an event of type
133807         END_SESSION_EVENT if a WM_ENDSESSION message is received.
133809         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
133811         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
133812         `end-session'.
133813         (kbd_buffer_get_event): Return an end-session event if an event of
133814         type END_SESSION_EVENT is read.
133815         (keys_of_keyboard): Bind the end-session event to kill-emacs in
133816         special-event-map.  (Bug#23483)
133818 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
133820         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
133822         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
133823         (object-print): Use cl-call-next-method instead of call-next-method.
133824         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
133826 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
133828         * lisp/cedet/semantic: Silence some warnings
133830         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
133831         (semanticdb-get-database-tables): Use make-instance to silence warnings.
133833         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
133834         some macros from there.  Silence compilation warnings:
133835         Replace initargs with slot names in oref/oset.
133836         Move `SYMREF TOOLS' section earlier so definitions precede their use.
133838 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
133840         Support srcset in <img>
133842         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
133843         with srcset specifiers (bug#23459).
133845 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
133847         Do not autoload some functions of tramp.el
133849         * lisp/net/tramp.el (tramp-completion-file-name-handler):
133850         Autoload a shortened version of this function, avoid recursive load.
133851         (tramp-completion-file-name-handler-alist)
133852         (tramp-completion-mode-p)
133853         (tramp-completion-handle-expand-file-name)
133854         (tramp-completion-handle-file-name-all-completions)
133855         (tramp-completion-handle-file-name-completion): Do not autoload.
133857 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
133859         Avoid recursive load of tramp.el
133861         * lisp/net/tramp.el (tramp-completion-file-name-handler):
133862         Autoload a shortened version of this function, avoid recursive load.
133864 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
133866         Fix a problem of tramp-tests on hydra.
133868         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
133869         Nullify `tramp-default-method' due to hydra.
133871 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
133873         Pacify byte-compiler in lisp/vc
133875         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
133876         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
133877         Declare functions defined elsewhere, to forestall “might not
133878         be defined at runtime” warnings.
133880 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
133882         Merge from origin/emacs-25
133884         d0d9f55 Allow newlines inside cl function arglists
133885         963541a Publicize cl--generic-all-functions
133886         3c581d5 ; Fix typo
133887         e58f900 Add some "safe-local-variable" declarations for compatibility...
133889 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
133891         'text-quoting-style' now affects only ` and '
133893         Change 'text-quoting-style' so that it no longer affects
133894         formatting of curved quotes in format arguments to functions like
133895         'message'.  In particular, when this variable's value is 'grave',
133896         all quotes in formats are output as-is.
133897         * doc/lispref/help.texi (Keys in Documentation):
133898         * doc/lispref/strings.texi (Formatting Strings):
133899         * doc/lispref/tips.texi (Documentation Tips):
133900         * etc/NEWS:
133901         * src/doc.c (syms_of_doc): Document this.
133902         * lisp/help-fns.el (describe-function-1):
133903         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
133904         (syms_of_doc):
133905         * src/editfns.c (styled_format): Omit now-unnecessary code.
133906         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
133908 2016-05-10  Alan Mackenzie  <acm@muc.de>
133910         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
133912         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
133913         being reverted because it slowed down CC Mode's fontification too much
133914         (factor ~3).  It was the fix to bug #7918.
133916 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
133918         Move "Recent messages" earlier in report-emacs-bug
133920         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
133921         messages" part earlier so that users can see it and remove it
133922         if they want.
133924 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
133926         Pacify byte compiler in tramp.el
133928         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
133930 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
133932         Merge from origin/emacs-25
133934         3b47898 Fix doc string in `insert'
133935         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
133936         cd27f73 Say 'All results processed' at the end
133937         4ffec91 Document automatic adjustment of process' logical window dime...
133938         dc66271 ; Fix typos and stylistic glitches in NEWS
133940 2016-05-09  Alan Mackenzie  <acm@muc.de>
133942         CC Mode now uses the new :after-hook feature of define-derived-mode
133944         It now runs internal variable setting functions after the mode hooks, no
133945         longer runs the mode hooks twice, and declares the configuration variables for
133946         noise macros and macros with semicolons as safe variables (when given suitable
133947         arguments).
133949         Fixes bug #16759 and bug #23476.
133951         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
133952         back into the C Mode value.
133954         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
133955         c-make-macro-with-semi-re.
133956         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
133957         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
133958         and c-update-modeline into the :after-hook form.  Remove the explicit settings
133959         of the syntax table, the abbreviation table and the local key map, since they
133960         duplicate forms generated by define-derived-mode.  Remove the explicit
133961         invocation of each mode's mode hook, since they duplicate ones generated by
133962         define-derived-mode.
133964         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
133965         functions.
133966         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
133967         save-local-variable property c-string-list-p.
133968         (c-macro-names-with-semicolon): give the save-local-variable property
133969         c-string-or-string-list-p.
133971         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
133972         necessary to call the regexp generating functions after setting the pertinent
133973         configuration values in a mode hook.
133975 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
133977         Fix the jit-lock-fontify-now test names
133979         * test/lisp/jit-lock-tests.el
133980         (jit-lock-fontify-now-mends-the-gaps)
133981         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
133982         Fix the test names.
133984 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
133986         Extend completion candidates in tramp.el
133988         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
133989         (tramp-get-completion-function): Use it.
133991 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
133993         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
133995         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
133996         compatibility.
133998 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
134000         Emulate interactive mode
134002         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
134003         (jit-lock-does-not-refontify-unnecessarily):
134004         Bind noninteractive to nil (bug#23278).
134006 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
134008         Simplify now that float-time etc. are built-in
134010         This was prompted by warnings about calls to now-obsolete functions.
134011         * lisp/calendar/time-date.el (encode-time-value):
134012         Use setq rather than a recursive call, to avoid a warning
134013         about calling this obsolete function.
134014         * lisp/calendar/time-date.el (encode-time-value)
134015         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
134016         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
134017         * lisp/net/rcirc.el (rcirc-float-time):
134018         * lisp/org/org-compat.el (org-float-time):
134019         Simplify now that time-add and float-time are now built-in.
134020         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
134021         * lisp/net/newst-backend.el (time-add):
134022         * lisp/org/org.el (time-subtract):
134023         Remove backward-compatibility definitions; they are now built-in.
134024         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
134025         (timeclock-seconds-to-time):
134026         * lisp/net/rcirc.el (rcirc-float-time):
134027         * lisp/org/org-compat.el (org-float-time):
134028         Now obsolete, since callers can just use float-time and
134029         seconds-to-time.  All uses changed.
134030         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
134031         * lisp/gnus/gnus-art.el (article-lapsed-string):
134032         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
134033         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
134034         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
134035         * lisp/net/tramp.el (tramp-time-diff):
134036         * lisp/org/org-clock.el (org-clock-timestamps-change):
134037         Prefer the time-subtract builtin to the subtract-time alias.
134038         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
134039         * test/lisp/character-fold-tests.el (character-fold--speed-test):
134040         Prefer the float-time builtin to the time-to-seconds alias.
134041         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
134042         * lisp/org/org-timer.el, lisp/org/org.el:
134043         Adjust to org-float-time deprecation.
134045 2016-05-08  Alan Mackenzie  <acm@muc.de>
134047         Add :after-hook facility to define-derived-mode.
134049         This allow a form to be evaluated _after_ a major mode's hooks have been run.
134050         It is needed to solve some problems in CC Mode, including bug #16759 and
134051         bug #23476.
134053         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
134054         `:after-hook', and generate the requisite code for it.
134055         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
134057         * lisp/subr.el (delayed-after-hook-forms): New variable.
134058         (run-mode-hooks): As the last thing evaluate the forms in
134059         delayed-after-hook-forms.
134061         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
134062         (Mode Hooks): Document the new feature in run-mode-hooks.
134064         * etc/NEWS: Note the new feature.
134066 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
134068         Fix recursive load of tramp.elc
134070         * lisp/net/tramp.el (tramp-completion-file-name-handler):
134071         Check also for `tramp-completion-mode-p'.
134072         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
134074 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
134076         Prefer grep -E/-F to egrep/fgrep
134078         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
134079         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
134080         are probably more portable.
134081         * lib-src/etags.c (main):
134082         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
134083         (eshell/fgrep):
134084         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
134085         * lisp/eshell/esh-var.el (eshell-apply-indices):
134086         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
134087         (ada-find-in-src-path):
134088         * lisp/textmodes/ispell.el (ispell-grep-command):
134089         (ispell-lookup-words):
134090         Use or document grep -E and grep -F instead of egrep and fgrep.
134091         * lisp/textmodes/ispell.el (ispell-grep-options):
134092         Use -Ei on all platforms, not just MS-Windows.
134094 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
134096         Avoid unnecessary work if a chunk is empty
134098         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
134099         if a chunk is empty (bug#23278).
134101 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
134103         * test/lisp/jit-lock-tests.el: New file.
134105 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
134107         Continue to fix Bug#10085
134109         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
134110         <expand-file-name>: Add handler.
134111         (tramp-completion-handle-expand-file-name): New defun.
134112         (tramp-handle-file-name-as-directory): Handle completion mode case.
134114         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
134115         Fix test.
134116         (tramp-test24-file-name-completion): Extend test.
134118 2016-05-07  Alan Mackenzie  <acm@muc.de>
134120         Revert change 8e4595a... due to annoyance it causes the development team.
134122         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
134123         +0000 was an enhancement to .dir-locals to allow correct fontification
134124         of certain macro constructs.
134126         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
134128 2016-05-07  Alan Mackenzie  <acm@muc.de>
134130         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
134132 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
134134         Add tests for CSS mode completion
134136         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
134137         (css-test-property-values-no-duplicates)
134138         (css-test-value-class-lookup): Use `seq-sort'.
134139         (css-mode-tests--completions): New helper function for retrieving CSS
134140         completions.
134141         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
134142         (css-test-complete-property-value, css-test-complete-pseudo-class)
134143         (css-test-complete-pseudo-element, css-test-complete-at-rule)
134144         (scss-test-complete-at-rule, css-test-complete-property)
134145         (css-test-complete-selector, css-test-complete-nested-selector)
134146         (scss-test-complete-nested-selector): New tests.
134148 2016-05-06  Alan Mackenzie  <acm@muc.de>
134150         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
134152         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
134153         variables which was missing.
134155         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
134156         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
134158         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
134159         (Edebug Options): Document the new option.  Also add documentation for
134160         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
134161         edebug-print-circle, edebug-sit-for-seconds.
134163         * etc/NEWS: Note the new feature.
134165 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
134167         scheme.el: Turn literal tabs into \t
134169         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
134170         also caught some literal tabs in character classes. Fix this by
134171         adding \t to those classes.
134173 2016-05-07  Tino Calancha  <f92capac@gmail.com>
134175         Make 'backtab' work in table-mode on text terminals
134177         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
134178         explicitly.  (Bug#23456)
134180 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
134182         Try to speed-up display of many all-blank lines
134184         * src/bidi.c (bidi_initialize): Use anchored regexps for
134185         paragraph start and paragraph separator sequences.  (Bug#23457)
134187 2016-05-06  Alan Mackenzie  <acm@muc.de>
134189         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
134191         Prevent hack-local-variables being called from the fundamental-mode mode call
134192         early in normal-mode.  This fixes bug #23460 and bug #23463.
134194         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
134195         the things it calls, with the exception of hack-local-variables.
134197         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
134198         major mode initialization.
134200 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
134202         Port xref-tests to master branch
134204         Also, add a test to make this problem less likely in the future.
134205         * test/Makefile.in (check-no-automated-subdir): New rule.
134206         (check, check-expensive, check-maybe): Depend on it.
134207         * test/automated/data/xref/file1.txt: Rename to ...
134208         * test/data/xref/file1.txt: ... here.
134209         * test/automated/data/xref/file2.txt: Rename to ...
134210         * test/data/xref/file2.txt: ... here.
134211         * test/automated/xref-tests.el: Rename to ...
134212         * test/lisp/progmodes/xref-tests.el: ... here.
134213         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
134215 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
134217         Merge from origin/emacs-25
134219         50650cb Doc fixes for fclist and grep
134220         5e814e0 Minor doc fixes for quoting
134221         3347a73 `nreverse' the marker pairs list
134222         1a4127d Use save-excursion in xref-location-marker more
134223         ab3ba91 shell-quote-argument DIR when appropriate
134224         922c7a3 Rework xref-query-replace-in-results
134225         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
134226         0932b94 Fix todo-mode bug involving archived items (bug#23447)
134227         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
134228         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
134229         4d8fd9c Handle "empty line" regexp in xref searches
134230         f559b37 Add tests for xref-collect-matches
134231         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
134232         6f82d8e Clear buffer-undo-list when showing xrefs
134233         c68a091 Note the quote translation in `message' in section "incompati...
134234         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
134235         93703c5 (Common Keywords): Correct what missing :group means
134236         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
134237         2ea2a2f Doc fixes for quoting
134238         8544b98 posnp doc clarification
134239         805204f Mention what a missing :group does
134240         ec554d7 Fix documentation of dired-aux search/replace commands
134242 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
134244         Support completion of HTML tags in CSS selectors
134246         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
134247         list of HTML tags for completion.
134248         (css--nested-selectors-allowed): New variable for determining whether
134249         nested selectors are allowed in the current mode.
134250         (css--complete-selector): New function for completing part of a CSS
134251         selector.
134252         (css-completion-at-point): Support completion of selectors.
134253         (scss-mode): Allow nested selectors.
134255 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
134257         Make `R' in eww work more reliably
134259         * lisp/net/eww.el (eww-score-readability): Protect against
134260         null children.
134262 2016-05-05  Alan Mackenzie  <acm@muc.de>
134264         Call hack-local-variables from major modes rather than from file visiting
134266         This prevents file/directory local variables from being lost when the major
134267         mode is set or changed.
134269         This fixes bug #15577 and bug #23407.
134271         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
134272         function hasn't already done so.
134273         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
134274         its previous non-nil setting be t, and introduce the following action for a
134275         non-nil non-t value: apply all settings apart from `mode'.
134277         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
134278         which are visiting files.
134280         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
134281         sets file variables.
134282         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
134283         dir local variables, but `coding' can't.
134285         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
134286         also calls `hack-local-variables'.
134287         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
134288         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
134289         saying that the mode IS SET, not merely "selected" or "chosen".
134290         (Mode Hooks): Document change to `run-mode-hooks'.
134292         * doc/lispref/variables.texi (File Local Variables): Document change to
134293         `hack-local-variables'.
134295 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
134297         tramp-sh.el: Work around a stat bug
134299         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
134300         stat versions which produce shell quoted output.  See also
134301         coreutils Bug#23422.
134303 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
134305         Fix autogen.sh for separate worktrees
134307         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
134308         of assuming .git/hooks is a directory.
134310 2016-05-04  Alan Mackenzie  <acm@muc.de>
134312         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
134314         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
134315         when text-quoting-style is `leave'.
134317         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
134319         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
134320         `text_quoting_style'.
134321         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
134322         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
134323         LEAVE_QUOTING_STYLE.
134325         * src/editfns.c (styled_format): Set quoting_style to -1 when
134326         text-quoting-style is `leave'.
134328 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
134330         * lisp/emulation/viper.el:
134331         * lisp/emulation/viper-cmd.el: Use lexical-binding.
134332         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
134333         args, for use in advice-add.
134334         (viper--init-message): Rename from init-message.
134335         (viper-minibuffer-standard-hook): Adjust accordingly.
134336         (viper-undo): Remove unused var `modified'.
134337         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
134338         Don't use dynamic vars as args.
134339         (viper-submit-report): Clarify use of dynamic vars.
134341         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
134342         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
134343         Use add-function rather than a `(lambda ...).
134344         (viper--advice-list): New var.
134345         (viper--advice-add, viper--deactivate-advice-list): New funs.
134346         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
134347         (viper-non-hook-settings): Don't hook into find-file any more.
134349 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
134351         * lisp/vc/ediff-util.el: Use lexical-binding.
134353         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
134355 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
134357         Add an animation sanity check
134359         * lisp/image.el (image-multi-frame-p): Give up on animations
134360         if it seems like they are too slow (bug#23431).
134362 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
134364         abbrev-tests.el fix
134366         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
134367         internal implementation detail.
134369 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
134371         (shr-rescale-image): Clarify logic slightly
134373         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
134375 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
134377         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
134379         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
134380         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
134381         Monnier.  (Bug#19185, Bug#20398)
134383 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
134385         Add more abbrev tests
134387         * test/lisp/abbrev-tests.el
134388         (clear-abbrev-table-test): Use `abbrev-expansion'
134389         (abbrev-table-empty-p-test, list-abbrevs-test)
134390         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
134391         (edit-abbrevs-test, define-abbrevs-test)
134392         (read-write-abbrev-file-test)
134393         (abbrev-edit-save-to-file-test): New tests (bug#23139).
134395 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
134397         Allow eval-ing named character literals
134399         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
134400         named character literals.
134401         * test/lisp/progmodes/elisp-mode-tests.el
134402         (elisp--preceding-sexp--char-name): Add test for skipping over
134403         named character literals (bug#23354).
134405 2016-05-02  Aaron Conole  <aconole@redhat.com>
134407         Call va_end in boot_error
134409         * src/gnutls.c (boot_error): A recent change added a function
134410         to signal an error or return an error code. That function uses
134411         a variadic argument list to populate an error message
134412         string. However, it missed calling va_end after using the
134413         variadic argument list.
134415           Copyright-paperwork-exempt: yes
134417 2016-05-02  Aaron Conole  <aconole@bytheb.org>
134419         Fix the call to set_network_coding_system
134421         * src/process.c (Fmake_network_process): A recent commit
134422         modified the set_network_socket_coding_system function to take
134423         arguments host, service, and name. However, those arguments
134424         appear to be swapped.
134426           Copyright-paperwork-exempt: yes
134428 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
134430         Revert "alas, a map can have only one parent"
134432         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
134434         This had already been fixed by using `make-composed-map'.  And
134435         we don't want image-map to inherit from special-mode-map, anyway.
134437 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
134439         Merge from origin/emacs-25
134441         bf21c84 Fix quoting problem in cc-engine debug message
134442         8f36614 Add electric-quote-string unit test
134443         6280531 Don’t electrically quote ‘'’ in Python
134444         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
134446 2016-05-02  Sam Steingold  <sds@gnu.org>
134448         alas, a map can have only one parent
134450         * lisp/image-mode.el (image-model-map): Cannot have two parents.
134451         * lisp/image.el (image-map): Inherit from `special-mode-map'.
134453 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
134455         Fix Bug#10085
134457         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
134458         Add optional arguments OPERATION and COMPETION.  Handle
134459         `file-name-as-directory', `file-name-directory' and
134460         `file-name-nondirectory' also in completion mode.
134461         (tramp-file-name-handler): Use it.  (Bug#10085)
134463         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
134464         Extend test.
134466 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
134468         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
134470 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
134472         Tweak .gitignore
134474         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
134475         as these files are no longer created.  Add gmon.out, for
134476         -pg profiling.  Sort.
134478 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
134480         Sync from gnulib
134482         This incorporates:
134483         2016-05-01 mktime: port to stricter signed overflow checking
134484         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
134485         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
134486         2016-05-01 mktime: simplify DEBUG_MKTIME
134487         2016-05-01 Port mktime_internal offset to unsigned time_t
134488         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
134489         2016-04-13 mktime: improve integer overflow checking
134490         2016-04-13 intprops: check two's complement assumption
134491         2016-04-13 intprops, mktime, strtol: assume two's complement
134492         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
134493         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
134494         Copy from gnulib.
134496 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
134498         Merge from origin/emacs-25
134500         c695fb3 ; Spelling fixes
134501         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
134502         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
134504 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
134506         Merge from origin/emacs-25
134508         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
134509         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
134510         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
134512         # Conflicts:
134513         #       doc/misc/url.texi
134514         #       lisp/url/url.el
134516 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
134518         Merge from origin/emacs-25
134520         16e5e8e Fix last change to isearch-update (bug#23406)
134521         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
134522         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
134523         86aa409 Followup for last commit in the user manual
134524         7004459 Improve doc string of 'set-goal-column'
134525         ccdaf04 Fix the MSDOS build
134526         ffe701c Remove \= from format string (bug#18190)
134527         1c58fa1 Fix variable-pitch font on MS-Windows
134528         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
134529         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
134530         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
134531         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
134532         734fb3a Port dumping to NetBSD with PaX
134533         0255a70 Don't mistake `for' inside a function for a part of array com...
134535         # Conflicts:
134536         #       src/Makefile.in
134538 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
134540         Merge from origin/emacs-25
134542         71fb0e0 Improve last change to vc-git-mode-line-string
134543         6858e77 Todo mode doc bug fix
134544         e55d0db Fix revision calculation in vc-git-mode-line-string
134545         ca87b34 ; Fix errant revert ccb75d7
134546         40bfebe Add Python 3.5 keyword "await"
134547         fa7886a Add new keywords of Python 3.5
134548         ccb75d7 Partially revert previous change.
134549         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
134550         b09ca27 Say why text-quoting-style is not a user option
134552 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
134554         Merge from origin/emacs-25
134556         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
134557         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
134558         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
134560 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
134562         Mention the `find-library-name' changes
134564 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
134566         Fix text in menu in minor-mode-menu-from-indicator
134568         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
134569         capitalize "Off" in "Turn Off" (bug#11028).
134571 2016-05-01  David Engster  <deng@randomsample.de>
134573         gitmerge: Add cherry pick to gitmerge-skip-regexp
134575         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
134576         from commit", which is the string appended by 'git cherry-pick
134577         -x'.
134579 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
134581         Allow `global-set-key' to bind keys under the `M-o' map
134583         * lisp/subr.el (global-set-key): Allow binding keys under the
134584         `M-o' map (bug#9730).
134586 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
134588         Add `size-indication-mode' to the menu on `mouse-1' "Top"
134590         * lisp/bindings.el (mode-line-column-line-number-mode-map):
134591         Add `size-indication-mode' to the menu (bug#5727).
134593 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
134595         Allow finding libraries loaded manually outside the load-path
134597         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
134598         New function to find a library from a load path (bug#5661).
134599         (find-library-name): Use it.
134601         There are so many combinations of inputs and possibly entries in
134602         `load-history' that the code looks like an entry in a code obfuscation
134603         contest.  If anybody has a better implementation, please substitute.
134605         But remember that the input given may be foo, foo.el, foo.elc, and the
134606         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
134607         want to return only foo.el and foo.el.gz.  *phew*
134609 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
134611         Allow minibuffer prompts to use faces
134613         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
134614         `minibuffer-prompt-properties' and explain how faces work in
134615         the minibuffer prompt.
134617         * src/minibuf.c (read_minibuf): If `face' is in
134618         `minibuffer-prompt-properties', apply it to the end of the
134619         face list to allow users to have their own faces on the
134620         prompts (bug#16136).
134622 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
134624         Add R7RS syntax forms to scheme.el
134626         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
134627         a number of special forms introduced in R7RS-small.
134628         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
134630 2016-05-01  Alan Third  <alan@idiocy.org>
134632         Implement horizontal scroll bars on NS
134634         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
134635         check.
134636         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
134637         scroll-bar mouse clicks to standard handlers.
134638         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
134639         pixel_height to pixel_length.
134640         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
134641         caused scroll-bars to be over-drawn and the best working solution
134642         appears to be complete removal.
134643         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
134644         correctly.
134645         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
134646         (setFrame): Handle horizontal case.
134647         (dealloc): Handle horizontal case.
134648         (judge): Handle horizontal case.
134649         (setPosition): Rename pixel_height to pixel_length.
134650         (sendScrollEventAtLoc): Handle horizontal case.
134651         (mouseDown): Handle horizontal case and general tidy up of code.
134652         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
134653         absolute pixel size instead of ratio.
134654         * src/window.h: Remove NS check.
134656 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
134658         tramp.texi: Revert last change due to backward compatibility
134660 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
134662         Fix the buffer-count patch (Bug#23394)
134664         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
134665         once each time through the loop.  Reported by Lars Ingebrigtsen in:
134666         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
134668 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134670         cua-prefix-override-inhibit-delay doc fix
134672         * lisp/emulation/cua-base.el
134673         (cua-prefix-override-inhibit-delay): Typo fix in doc string
134674         (bug#23401).
134676 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
134678         Fix generate-new-buffer-name increment typo
134680         Problem reported by Chaitanya Koparkar (Bug#23394).
134681         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
134682         generating a new buffer.  This fixes a typo I introduced in
134683         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
134685 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134687         global-eldoc-mode doc fix
134689         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
134690         specific about what "applicable" means (bug#23071).
134692 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134694         Make the legend in describe-categories a link
134696         * lisp/help-fns.el (describe-categories): Make the "see
134697         bottom" text a link (bug#22227).
134699 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134701         normal-top-level-add-subdirs-to-load-path doc fix
134703         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
134704         Doc fix (bug#21962).
134706 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134708         isearch-search-fun-function doc tweak
134710         * lisp/isearch.el (isearch-search-fun-function): Mention what
134711         the STRING parameter is (bug#21552).
134713 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134715         Fill some imenu--index-alist doc lines
134717         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
134719 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134721         Make describe-variable look up the variable in the current buffer
134723         * lisp/help-fns.el (describe-variable): Get the variable
134724         definition in the buffer we were called from (in case it only
134725         exists there) (bug#21252).
134727 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134729         Fmarker_position doc string clarification
134731         * src/marker.c (Fmarker_position): Clarify the doc string
134732         (bug#21231).
134734 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134736         Further define-obsolete-* doc fixups
134738         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
134739         Fix up last change.
134740         (define-obsolete-variable-alias): Ditto.
134742 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134744         Describe WHEN in all the define-obsolete- macros
134746         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
134747         Say more verbosely what WHEN is (bug#21225).
134748         (define-obsolete-function-alias): Describe the WHEN parameter.
134749         (define-obsolete-variable-alias): Ditto.
134751 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134753         Mention with-silent-modifications in the lispref manual
134755         * doc/lispref/text.texi (Changing Properties): Document
134756         with-silent-modifications (bug#21171).
134758 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134760         with-silent-modifications doc clarification
134762         * lisp/subr.el (with-silent-modifications): Rearrange the doc
134763         string a bit so that the most pertinent information is at the
134764         top (bug#21171).
134766 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134768         clear-visited-file-modtime doc string fix
134770         * lisp/files.el (clear-visited-file-modtime): Fix possibly
134771         confusing doc string wording (bug#21169).
134773 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134775         Document mode mode line variables
134777         * doc/lispref/modes.texi (Mode Line Variables): Document
134778         `mode-line-front-space, `mode-line-misc-info',
134779         `mode-line-end-spaces' (bug#21014).
134781 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134783         Add a cross ref to Optional Mode Line
134785         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
134786         reference to the Emacs mode line node that explains things
134787         like `display-time-string' (bug#21002).
134789 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134791         Add a doc string to display-time-string
134793         * lisp/time.el: Add a doc string to `display-time-string',
134794         because it's referred to in the manual, and is too mysterious
134795         otherwise (bug#21002).
134797 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134799         custom-buffer-style doc fix
134801         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
134802         value (bug#20724).
134804 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134806         Document how to check for ImageMagick support
134808         * doc/lispref/display.texi (ImageMagick Images): Say how to
134809         check for ImageMagick support, which isn't quite obvious
134810         (bug#20702).
134812 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134814         Minor doc fix for ImageMagick/SVG builds
134816         * doc/lispref/display.texi (SVG Images): Don't imply that you
134817         have to build Emacs yourself (bug#20702).
134818         (ImageMagick Images): Ditto.
134820 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134822         Rearrange the doc of query-replace slightly
134824         * lisp/replace.el (query-replace): Move the mention of the
134825         interactive prefix arg earlier so that users can find it
134826         (bug#20654).
134828 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134830         apropos-print doc fix
134832         * lisp/apropos.el (apropos-print): Document the undocumented
134833         parameters (bug#20520).
134835 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134837         completion-table-with-predicate doc string fix
134839         * lisp/minibuffer.el (completion-table-with-predicate): t ->
134840         non-nil in the doc string (bug#20460).
134842 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134844         Fill the completion-table-with-predicate doc string
134846         * lisp/minibuffer.el (completion-table-with-predicate): Fill
134847         the doc string (bug#20460).
134849 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134851         replace-match-maybe-edit doc clarification
134853         * lisp/replace.el (replace-match-maybe-edit): Say what
134854         MATCH-DATA is (bug#20304).
134856 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134858         add-timeout doc fix
134860         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
134861         value (bug#20181).
134863 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134865         Extremely minor doc fix in Choosing Window
134867         * doc/lispref/windows.texi (Choosing Window): There's only one
134868         action alist, I think (bug#20158).
134870 2016-04-30  Alan Mackenzie  <acm@muc.de>
134872         * .dir-locals.el: Amend for correct fontification of *.[ch]
134873         containing "IF_LINT"
134875 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134877         Transform mentions of `eval-after-load' to `with-eval-after-load'
134879         * doc/lispref/loading.texi (Hooks for Loading): Update text to
134880         not mention `eval-after-load' (bug#20038).
134882 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134884         cursor-type doc fix
134886         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
134887         WIDTH/HEIGHT can't exceed the frame char size (bug#19215).
134889 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134891         Add a link from Tool Bar to Images
134893         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
134894         Images node (bug#19722).
134896 2016-04-30  Alan Mackenzie  <acm@muc.de>
134898         CC Mode: Recognize a noise macro with parens after a declarator's identifier
134900         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
134901         following comment "Skip over type decl suffix operators." insert code also
134902         to check for noise macros with parentheses.
134904 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134906         (default-mode-line-format): More explicit obsolete info
134908         * lisp/subr.el (default-mode-line-format): Be more explicit in
134909         how default values are now handled (bug#19424).
134911 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134913         Fcompare_buffer_substrings doc string clarification
134915         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
134916         doc string clarification (bug#19255).
134918 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134920         insert-file-contents-literally doc fix
134922         * lisp/files.el (insert-file-contents-literally): Say that the
134923         parameters are explained in the other function (bug#18317).
134925 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134927         Fix custom types for cursor-in-non-selected-windows
134929         * lisp/cus-start.el (standard): Use the same custom types for
134930         cursor-in-non-selected-windows as for cursor-type (bug#19214).
134932 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134934         Doc clarification to mwheel-scroll
134936         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
134937         does not apply to Windows (bug#19209).
134939 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134941         Clarify the doc of eval-expression-print-format
134943         * lisp/simple.el (eval-expression-print-format): Doc
134944         clarification (bug#19114).
134946 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134948         (extended-command-suggest-shorter): Add a version string
134950         * lisp/simple.el (extended-command-suggest-shorter): Add a
134951         version string.
134953 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134955         Document extended-command-suggest-shorter
134957         * doc/emacs/m-x.texi (M-x): Mention
134958         extended-command-suggest-shorter (bug#19152).
134960 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
134962         Add a variable to control "shorter command" suggestions
134964         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
134965         (execute-extended-command): Use it.
134967 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134969         Explicitly explain that package-initialize loads the packages
134971         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
134972         in saying that `package-initialize' obviates adjusting the
134973         path or requiring the packages, as this is a question that
134974         apparently comes up now and then (bug#18829).
134976 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134978         Have the doc strings of `load-path' and `require' mention each other
134980         * src/fns.c (Frequire): Mention `load-path' and fill the doc
134981         string (bug#18829).
134983         * src/lread.c (syms_of_lread): Mention that `require' uses
134984         `load-path'.
134986 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134988         Doc fix for insert-pair-alist
134990         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
134991         COMMAND-CHAR is (bug#18809).
134993 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
134995         Move doc of backup-directory-alist to the Backup node
134997         * doc/emacs/files.texi (Backup): Move the documentation of
134998         `backup-directory-alist' here from the "Single or Numbered
134999         Backups" node, because it doesn't seem to have much to do with
135000         numbering (bug#18692).
135002 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
135004         Tiny doc clarification for create-fontset-from-fontset-spec
135006         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
135007         Clarify what the optional part is (bug#18686).
135009 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
135011         Fill the doc string of font-lock-keywords
135013         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
135014         reorganize some explanations (bug#21427).
135016 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
135018         Doc fix for font-lock-remove-keywords
135020         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
135021         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
135023 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
135025         Clarify whitespace-style doc string
135027         * lisp/whitespace.el (whitespace-style): Doc clarification
135028         (bug#18296).
135030 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135032         No need to test for jka-compr
135034         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
135035         is always available; no need to test (bug#18204).
135037 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135039         Doc fixed for next-error-buffer-p
135041         * lisp/simple.el (next-error-buffer-p): Clarify doc string
135042         (bug#18202).
135044 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135046         Tiny doc fix
135048         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
135049         (and fill) (bug#18201).
135051 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135053         Doc fix
135055         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
135056         slightly (bug#18092).
135058 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135060         delsel doc touch ups
135062         * lisp/delsel.el (delete-selection-helper): Use non-nil
135063         instead of t and clarify function return values (bug#18089).
135065 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135067         Doc fixes for menu-bar.el
135069         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
135070         REGION parameter (bug#18028).
135071         (clipboard-kill-region): Ditto.
135073 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135075         Doc fix
135077         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
135079 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135081         Minor doc clarification
135083         * lisp/subr.el (y-or-n-p): Document the return value from "n"
135084         (bug#18024).
135086 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135088         Fill font-lock-mode doc string
135090         * lisp/font-core.el (font-lock-mode): Fill the text to make it
135091         narrower (bug#18008).
135093 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135095         Wrap the auto-generated doc string
135097         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
135098         string to make it less likely that we get overlong lines
135099         (bug#17999).
135101 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135103         Clarify hi-lock-find-patterns
135105         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
135106         (bug#17989).
135108 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135110         Warning fix in jit-lock-mode
135112         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
135113         turning the mode on in an indirect buffer, if this somehow has
135114         happened (bug#17738).
135116 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135118         Add a doc string to `winner-mode'
135120         * lisp/winner.el (winner-mode): Add a doc string based on the
135121         comments in the file (bug#17716).
135123 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135125         Doc fix for align-newline-and-indent
135127         * lisp/align.el (align-newline-and-indent): Mention that
135128         alignment is done by `align' (bug#17707).
135130 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135132         Cancel the eldoc timer when switching off eldoc mode
135134         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
135135         timer when switching off eldoc mode.  It will be restarted
135136         again if needed (bug#17582).
135138 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135140         Doc fix for `kbd'
135142         * lisp/subr.el (kbd): Describe more fully the format of the
135143         parameter (bug#17039).
135145 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135147         Add a sanity check to apropos-documentation-internal
135149         * lisp/apropos.el (apropos-documentation-internal): Add a
135150         sanity check to be less fragile in the presence of invalid
135151         data (bug#16725).
135153 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135155         Doc tweak
135157         * lisp/simple.el (use-empty-active-region): Doc tweak.
135158         There's only one region (bug#16513).
135160 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135162         Clarify `read-face-name' doc and tweak the code
135164         * lisp/faces.el (read-face-name): Clarify the documentation
135165         and allow a mix of faces and faces names in all cases
135166         (bug#16483).
135168 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135170         Remove ": ?" from the read-face-name prompt
135172         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
135173         to be more backwards compatible (bug#15909).
135175 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135177         Link from (emacs)Exiting to (lisp)Killing Emacs
135179         * doc/emacs/entering.texi (Exiting): Link to the lispref
135180         manual for further customizations (bug#15445).
135182 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135184         find-lisp doc touchups
135186         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
135187         string (bug#15047).
135188         (find-lisp-find-files): Clarify doc.
135190 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135192         Don't have the manual claim that it lists all CL incompatibilities
135194         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
135195         incompatibilities isn't exhaustive, so don't say that it is
135196         (bug#15171).
135198 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135200         Fix call of `kmacro-display'
135202         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
135203         `kmacro-display' (bug#15020).
135205 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
135207         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
135209         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
135210         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
135211         (bug#14554).
135213 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135215         Rename "Directory Search" menu to "Servers"
135217         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
135218         Search" to "Directory Servers".  Suggested by Eli
135219         Zaretskii. (bug#14919).
135221         * lisp/net/eudc.el: Rename ditto throughout.
135223 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135225         Remove uses of the unused to-end parameter from simple.el
135227         * lisp/simple.el (line-move-partial): Remove usages of the
135228         unused to-end parameter, and make it optional (bug#14844).
135229         (line-move): Remove use of the unused to-end parameter.
135231 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135233         Doc fix: _ chars are automatically removed.
135235         * lisp/cus-edit.el (custom-buffer-create): _ chars are
135236         automatically removed when displaying help, so fix the last
135237         doc change.
135238         (custom-buffer-create-other-window): Ditto.
135240 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135242         Doc string change to enable-recursive-minibuffers
135244         * src/minibuf.c (syms_of_minibuf): Mention
135245         minibuffer-depth-indicator-mode in the doc string to
135246         enable-recursive-minibuffers (bug#14147).
135248 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135250         Fix definition of nobreak-space
135252         * lisp/faces.el (nobreak-space): The definition to
135253         nobreak-space was inadvertently changed by the previous checkin.
135255 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135257         Clarify the `interactive' doc string slightly
135259         * src/callint.c (Finteractive): Clarify the doc string slightly
135260           (bug#14577).
135262 2016-04-28  Drew Adams  <drew.adams@oracle.com>
135264         Make icomplete respect `completion-ignored-extensions'
135266         * lisp/icomplete.el (icomplete-completions): Heed
135267         `completion-ignored-extensions' (bug#12939).
135269 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135271         Make ibuffer not break on newline-embedded buffer names
135273         * lisp/ibuffer.el (name): When buffer names contain newlines,
135274         quote those newlines before displaying (bug#12378).
135276 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135278         Add a new face for non-breaking hyphen characters
135280         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
135281         (Text Display): Ditto.
135283         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
135285         * src/xdisp.c (get_next_display_element): Use it instead of
135286         the escape-glyph face.
135288         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
135290 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135292         Make a menu less ambiguous
135294         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
135295         is about using modifier keys, not binding them (bug#10942).
135297 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135299         Make kill-emacs-query-functions into defcustom
135301         * lisp/files.el (save-buffers-kill-terminal): Mention
135302         `save-buffers-kill-emacs' (bug#10794).
135303         (kill-emacs-query-functions): Made into a defcustom.
135305 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135307         Have describe-variable output multi-line values better
135309         * lisp/help-fns.el (describe-variable): When printing
135310         multi-line expressions, display them prettier (bug#10723).
135312 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135314         Clean up custom-buffer-create code slightly
135316         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
135317         pass the unused description value on (for clarity) (bug#10540).
135318         (custom-buffer-create): Ditto
135320 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135322         Clarify some doc strings
135324         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
135325         Clarify doc string (bug#8693).
135326         (syntax-propertize): Clarify doc string.
135328 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
135330         Fix number-at-point in lisp buffers
135332         * lisp/thingatpt.el (number-at-point): Don't say that things
135333         like ?a are numbers in lisp mode buffers (bug#8634).
135335 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
135337         Don't consider colons to be paragraphs starting chars in strings
135339         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
135340         consider colons to start paragraphs in (doc) strings
135341         (bug#7751).
135343 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
135345         Make `undo' of `C-x r t' put point where it should be
135347         * lisp/rect.el (string-rectangle): Make `undo' of a this
135348         command put point back where it was (bug#7522).
135350 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
135352         Add some concept index entries for custom types
135354         * doc/lispref/customize.texi (Composite Types): Add concept
135355         index entries for restricted-sexp, radio and choice (bug#7385).
135357 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
135359         Mention `lisp-indent-function' in the lispref manual
135361         * doc/lispref/macros.texi (Indenting Macros): Mention
135362         `lisp-indent-function' (bug#3393).
135364 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
135366         Clarify doc string of internal compilation function
135368         * lisp/progmodes/compile.el (compilation-get-file-structure):
135369         Clarify doc string (bug#3137).
135371 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
135373         Avoid having `C-x h' mark the prompt part of the minibuffer
135375         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
135376         part of the minibuffer (bug#2589).
135378 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
135380         Allow a prefix argument to find-library to pop to a different window
135382         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
135383         argument to pop to a different window (bug#2270).
135385 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
135387         Move the diff command to "Operate" in ibuffer
135389         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
135390         command to the "Operate" menu, and remove the customization
135391         entry to make the "View" menu more logical (bug#1150).
135393 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
135395         Make the minor modes in help buffers into buttons
135397         * lisp/help.el (describe-mode): Make the minor modes into
135398         buttons to enable easier documentation traversal (bug#1149).
135400 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
135402         Add a number of Python 3 exceptions
135404         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
135405         the exception list, adding a number of new Python 3 exceptions and
135406         moving some exceptions to the Python 2 and 3 list as Python 2.7
135407         includes them.
135409 2016-04-26  Anders Lindgren  <andlind@gmail.com>
135411         Fix bug#22891: wrong terminal width when a fringe width is zero.
135413         When either fringe width is zero, Emacs reserved one column for a
135414         continuation glyph. Terminal windows does not take this into
135415         account when the frame is resized.
135417         * lisp/window.el (window-adjust-process-window-size): Use
135418         `window-max-chars-per-line' instead of `window-body-width'.
135419         * lisp/term.el (term-window-width): Remove function. (It does the
135420         same as `window-max-chars-per-line' but without recent bug fixes.)
135421         (term-mode): Use `window-max-chars-per-line' instead of
135422         `term-window-width'.
135424 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
135426         Add completion of `calc()' in CSS mode
135428         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
135429         a completion candidate for several value classes.
135430         (css--value-class-lookup): Return only unique results.
135432         * test/lisp/textmodes/css-mode-tests.el
135433         (css-test-property-values-no-duplicates)
135434         (css-test-value-class-lookup): Update to reflect the above changes.
135436 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
135438         Fix socketd fd startup bug that I introduced
135440         Problem reported by Matthew Leach in:
135441         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
135442         * src/emacs.c (main): Indicate more clearly the coupling between
135443         the --daemon option and init_process_emacs.
135444         * src/lisp.h: Adjust to API changes.
135445         * src/process.c (set_external_socket_descriptor):
135446         Remove, replacing by ...
135447         (init_process_emacs): ... passing the socket FD here instead.
135448         All uses changed.
135450 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
135452         Fix: (void-variable url-http-response-status)
135454         * lisp/url/url-http.el
135455         (url-https-proxy-after-change-function): Display the error
135456         message before doing the callback to avoid a void variable
135457         situation (bug#23290).
135459 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135461         smtpmail would say it's done before it is
135463         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
135464         of the data end marker from here... (bug#23020).
135465         (smtpmail-send-data): ... to here, so that we don't get a
135466         "Sending done" before we've sent the final "." (which can make
135467         the SMPT server reject the email.
135469 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135471         `url-retrieve-synchronously' now takes an optional timeout parameter
135473         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
135475         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
135476         in a timeout parameter (bug#22940).
135478 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135480         Include "Retype" as a comint password prompt
135482         * lisp/comint.el (comint-password-prompt-regexp): Include
135483         "Retype" to catch "Retype password for [account]:" from the
135484         "pass" utility (bug#22942).
135486 2016-04-25  Alan Mackenzie  <acm@muc.de>
135488         Fix spurious fontification of "for (; a * b;)" in CC Mode.
135490         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
135491         inside the parens of a for statement and after a semicolon near the beginning
135492         of the lambda form.
135494 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
135496         New function ‘char-from-name’
135498         This also fixes the mishandling of "\N{CJK COMPATIBILITY
135499         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
135500         Problem reported by Eli Zaretskii in:
135501         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
135502         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
135503         * lisp/international/mule-cmds.el (char-from-name): New function.
135504         (read-char-by-name): Use it.  Document that "BED" is treated as
135505         a name, not as a hexadecimal number.  Reject out-of-range integers,
135506         floating-point numbers, and strings with trailing junk.
135507         * src/lread.c (character_name_to_code): Call char-from-name
135508         instead of inspecting ucs-names directly, so that we handle
135509         computed names like "VARIATION SELECTOR-1".  Do not use an auto
135510         string, since char-from-name might GC.
135511         * test/src/lread-tests.el: Add tests for new behavior, and
135512         fix some old tests that were wrong.
135514 2016-04-25  Alan Mackenzie  <acm@muc.de>
135516         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
135518         This allows the calling of c-restore-<>-properties from c-common-init without
135519         the test suite giving spurious errors.
135521         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
135522         sets face properties.
135523         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
135524         template brackets using c-inside-<>-type-key.  Don't bind
135525         c-record-type-identifiers or c-record-found-types around the recursive call,
135526         allowing positions of found types to flow back to the caller.
135528         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
135529         new lang consts/var.
135531         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
135532         c-restore-<>-properties from the list of functions called at mode
135533         initialization.
135535 2016-04-25  Jun Hao  <jun_hao@aol.com>
135537         Pass in port only if provided by caller in the OS X keychain
135539         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
135540         port only if provided (bug#23374).
135542 2016-04-25  Alan Mackenzie  <acm@muc.de>
135544         Add fontification for a C declaration which looks like a function call.
135546         For example, "t1 *fn (t2 *b);".
135548         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
135549         at-decl-start, setting it to whether the putative decl starts immediately
135550         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
135551         non-nil.
135553         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
135555 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
135557         Don't mirror slashes in convert-standard-filename on MS-Windows
135559         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
135560         slashes into backslashes.  This avoids producing ugly file names,
135561         and is deemed no longer necessary, and should certainly be
135562         unrelated to which shell is in use.
135564 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
135566         Revert the disputed VC change and update the tests
135568         * lisp/vc/vc-hooks.el (vc-working-revision):
135569         Remove the previous change.
135570         (vc-state): Same.  And update the old, incorrect comment about
135571         unregistered files
135572         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
135574         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
135575         calling `vc-state' on default-directory (VC state is undefined
135576         for directories).  Check that `vc-state' returns nil where it
135577         returned `unregistered' before.  Remove all checks comparing
135578         invocations with the backend passed in explicitly and without.
135579         (vc-test--working-revision): Remove all checks comparing
135580         invocations with the backend passed in explicitly and without.
135581         Update comments, and add a new one.
135583 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
135585         * etc/NEWS: Grammar and punctuation improvements.
135587 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
135589         Merge from origin/emacs-25
135591         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
135592         0cd2e92 Don't kill ~/ if it's the top level directory
135593         4f40f5f describe-char: fix insert char documentation
135594         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
135596 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
135598         Merge from origin/emacs-25
135600         960f90d * etc/AUTHORS: Update the AUTHORS file
135601         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
135603 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
135605         Merge from origin/emacs-25
135607         78f9af7 ; ChangeLog fixes
135608         162e549 * admin/authors.el (authors-ignored-files): Additions.
135609         2b31a0c In x_set_window_size restore do_pending_window_change calls
135610         401857e Fix Alt-modified keys on some European MS-Windows keyboards
135611         a77cf24 Document 'help-go-forward'
135612         1ba947f Revert "Allow to customize names of executables used by grep.el"
135613         570e0fa Revert "Don't use 'find-program'"
135614         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
135615         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
135616         ce0d8c7 Make tmm-menubar work in correct order again
135617         b8d5a8f Remove the Meta-CVS VC backend
135619 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
135621         Don't let `css--property-values' return duplicates
135623         * lisp/textmodes/css-mode.el (css--property-values): Don't return
135624         duplicate values.
135626         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
135627         Take the above into account.
135628         (css-test-property-values-no-duplicates): Test that duplicates aren't
135629         returned by `css--property-values'.
135631 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135633         Call `make-composed-keymap' correctly
135635         * lisp/image-mode.el (image-mode-map): Call
135636         `make-composed-keymap' correctly.
135638 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135640         Use `make-composed-keymap' instead of copying the keymap
135642         * lisp/image-mode.el (image-mode-map): Use
135643         `make-composed-keymap' instead of copying the keymap.
135645 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135647         Make `q' etc work in image mode again
135649         * lisp/image-mode.el (image-mode-map): Restore
135650         special-mode-map as the parent keymap of image-mode-map (bug#23167).
135652 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135654         Fix typo in last url.texi checkin
135656 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135658         Make STARTTLS error messages better
135660         * lisp/net/network-stream.el (network-stream-open-starttls):
135661         Output a better error message when TLS negotiation fails while
135662         doing STARTTLS (bug#23027).
135664 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135666         Encode the shr tests files with trailing white space
135668 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
135670         Cache results of `css--property-values'
135672         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
135673         values.
135675         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
135676         New regression test for the above.
135678 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
135680         Some improvements in vc
135682         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
135683         Check, whether FILE is registered.
135685         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
135686         for nonexistent files.
135688         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
135689         (vc-test--revision-granularity-function)
135690         (vc-test--unregister-function): Use `vc-call-backend'.
135691         (vc-test--run-maybe-unsupported-function): New defmacro.
135692         (vc-test--register, vc-test--state, vc-test--working-revision)
135693         (vc-test--checkout-model): Use it.  Fix also expected results.
135694         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
135696 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135698         Document the nil/default values of url-user-agent
135700         * doc/misc/url.texi (Customization): Document the nil/default
135701         values of url-user-agent.
135703 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
135705         Compute User-Agent dynamically in url-http
135707         * lisp/url/url-http.el (url-http-user-agent-string): Compute
135708         User-Agent string dynamically.
135709         (url-http--user-agent-default-string): New function.
135711         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
135712         of information not to send.
135713         (url-user-agent): Add nil and `default' options; do not
135714         pre-compute value.
135716 2016-04-24  Jun Hao  <jun_hao@aol.com>
135718         Handle auth-source items with special characters on OS X
135720         * lisp/auth-source.el
135721         (auth-source-macos-keychain-search-items): Handle keychain
135722         output correctly when has special chararcters (bug#22824).
135724 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
135726         Implement process-attributes for Darwin
135728         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
135729         (system_process_attributes): Implement process-attributes
135730         for Darwin (bug#16579).
135732 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
135734         Use Unicode literals instead of hex values
135736         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
135737         of hex values for greater readability.
135738         (shr-tag-bdi): Ditto.
135740 2016-04-24  Steve Purcell  <steve@sanityinc.com>
135742         Allow _ characters in SQL prompts
135744         * lisp/progmodes/sql.el (sql-product-alist): Allow _
135745         characters in SQL prompts (bug#22596).
135747         Fixes issue 22596, whereby "_" is now not considered a word constituent
135748         character in sql-interactive-mode, so prompts like "foo_dev# " are not
135749         correctly detected. Rather than piggy-back on the symbol table, we
135750         explicitly match against alphanumeric chars or "_".
135752 2016-04-23  Glenn Morris  <rgm@gnu.org>
135754         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
135756         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
135757         (autoload-generate-file-autoloads, autoload-find-destination)
135758         (update-directory-autoloads): Use autoload--non-timestamp.
135760 2016-04-23  Glenn Morris  <rgm@gnu.org>
135762         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
135764 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
135766         Regexps for matching CMake output
135768         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
135769         regexps for matching CMake output.
135770         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
135771         CMake test cases.
135772         * etc/compilation.txt (CMake): Add CMake examples.
135774 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
135776         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
135778         Fix docstring quotes.
135780 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
135782         Improve character name escapes
135784         * doc/lispref/nonascii.texi (Character Properties):
135785         Avoid duplication of Unicode names.  Reformat examples to fit in
135786         narrow pages.
135787         * doc/lispref/objects.texi (General Escape Syntax):
135788         Simplify and better-organize explanation of \N{...} escapes.
135789         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
135790         (char_surrogate_p): New inline function.
135791         * src/lread.c: Do not include string.h; no longer needed.
135792         (invalid_character_name, check_scalar_value): Remove; the ideas
135793         behind these functions are now bundled into character_name_to_code.
135794         (character_name_to_code): Remove undocumented support for "CJK
135795         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
135796         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
135797         point in \N escapes instead of returning garbage.  Use
135798         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
135799         * test/src/lread-tests.el (lread-char-number, lread-char-name)
135800         (lread-string-char-number, lread-string-char-name):
135801         Test runtime behavior, not compile-time, as the test framework
135802         is not set up to test compile-time.
135803         (lread-char-surrogate-1, lread-char-surrogate-2)
135804         (lread-char-surrogate-3, lread-char-surrogate-4)
135805         (lread-string-char-number-2, lread-string-char-number-3):
135806         New tests.
135807         (lread-string-char-number-1): Rename from lread-string-char-number.
135809 2016-04-21  Philipp Stephani  <phst@google.com>
135811         Use 'ucs-names' for character name escapes
135813         * src/lread.c (invalid_character_name, check_scalar_value)
135814         (parse_code_after_prefix, character_name_to_code): New helper
135815         functions that use 'ucs-names' and parsing for CJK ideographs.
135816         (read_escape): Use helper functions.
135817         (syms_of_lread): New symbol 'ucs-names'.
135818         * test/src/lread-tests.el: New tests; fix a couple of bugs in
135819         existing tests.
135821 2016-04-21  Philipp Stephani  <phst@google.com>
135823         Minor cleanups for character name escapes
135825         * src/lread.c (init_character_names): Add missing 'void'.
135826         Remove top-level 'const'.
135827         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
135829 2016-04-21  Philipp Stephani  <phst@google.com>
135831         Add documentation for character name escapes
135833 2016-04-21  Philipp Stephani  <phst@google.com>
135835         Implement named character escapes, similar to Perl
135837         * src/lread.c (init_character_names): New function.
135838         (read_escape): Read Perl-style named character escape sequences.
135839         (syms_of_lread): Initialize new variable 'character_names'.
135840         * test/src/lread-tests.el (lread-char-empty-name): Add test file
135841         for src/lread.c.
135843 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
135845         Avoid run-time dependency on libwinpthread DLL on MS-Windows
135847         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
135848         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
135849         present, so that MinGW64 builds don't depend on libwinpthread.
135850         (Bug#22959)
135852 2016-04-21  Matthew Leach  <matthew@mattleach.net>
135854         Add LIBSYSTEMD to the list of supported features
135856         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
135857         message at the end of configure stating whether Emacs will be build
135858         with libsystemd support.
135860 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
135862         Support absolute column movement in 'ansi-term'
135864         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
135865         for absolute column movement.  (Bug#23303)
135867 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
135869         Add Python 3.5 keyword "await"
135871         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
135872         keyword.
135874 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
135876         Add "keyframes" to list of CSS at-rules
135878         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
135880 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
135882         Prevent bootstrap autoload backup files
135884         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
135885         backups in newly created file.
135887         (autoload-ensure-default-file): Function split into two.
135888         (autoload-ensure-file-writeable): New function from split.
135890         (Bug#23203)
135892 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
135894         Fix org-timestamp-change typo
135896         Problem reported by Peter Münster (Bug#23299).
135897         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
135898         on undocumented behavior in ‘encode-time’.  In practice the
135899         old code used local time, so use that.
135901 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
135903         Avoid AC_PREPROC_IFELSE glitch in configure.ac
135905         Problem reported by Angelo Graziosi in:
135906         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
135907         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
135908         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
135910 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
135912         autorevert: Resume with polling if file is deleted
135914         * lisp/autorevert.el: Use consistent wording in comments and
135915         docstrings.
135916         (auto-revert-mode): Add local function to `kill-buffer-hook'.
135917         (auto-revert-notify-handler): Improve handling of `stopped' event.
135919         * test/lisp/autorevert-tests.el
135920         (auto-revert-test02-auto-revert-deleted-file): New test.
135921         (auto-revert-test03-auto-revert-tail-mode)
135922         (auto-revert-test04-auto-revert-mode-dired): Rename them.
135924 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
135926         Merge from origin/emacs-25
135928         5a0cbe5 Fix Bug#23276
135929         2007e32 Sync with upstream vhdl mode v3.38.1.
135930         b6d2552 Tweak configure.ac syntax in recent module patch
135932 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
135934         Merge from origin/emacs-25
135936         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
135937         3287f48 ; Add entry to MAINTAINERS
135938         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
135939         0f33284 Make use of rectangle-preview custom variable.
135940         aa0d83a Make use of rectangle-preview face.
135941         33bef6e Use 'grep-find-program' in check-declare.el
135942         a8560e5 Improve "C-h S" for cl-lib symbols
135943         52e798b Fix minor issues with removing left or right fringes
135944         d6ffd64 Speed up redisplay in ansi-term mode
135945         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
135946         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
135947         ab849b7 Fix w32 memory-management problem when extending buffer text
135949 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
135951         Merge from origin/emacs-25
135953         32364bb substitute-command-keys keeps quotes’ text props
135954         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
135955         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
135956         cc0b713 Perform xref searches without visiting unopened files
135957         5045575 Revert "Prevent bootstrap autoload backup files"
135959 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
135961         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
135963         so that it matches the actual implementation.
135964         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
135966 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
135968         * lisp/textmodes/ispell.el: Compile with lexical-binding
135970         (declare-function): Don't define any more.
135971         (ispell-check-minver, ispell-looking-back): Tweak definition so that
135972         the compiler can obviously know that it's always defined.
135973         (ispell-debug-buffer): Declare var.
135974         (ispell-hunspell-fill-dictionary-entry)
135975         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
135976         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
135977         (ispell-command-loop): Avoid add-to-list on local variables.
135979 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
135981         Minor fixups for external socket launching
135983         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
135984         * doc/emacs/misc.texi (Emacs Server):
135985         * etc/NEWS: Spelling and doc fixes.
135986         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
135987         Check for sd_is_socket returning positive, not zero.
135988         * src/process.c (external_sock_fd): Instead of initializing here ...
135989         (init_process_emacs): ... initialize it here, so that it does the
135990         right thing after dump/restore.
135991         (connect_network_socket): Simplify socket_to_use test.
135993 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
135995         Add HTML5 tags to HTML mode
135997         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
135998         (html-tag-help): Add short descriptions of those tags.
136000 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136002         Finish idna->puny changes in last Message patch
136004         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
136005         instead of idna functions.
136007 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136009         Use puny.el instead of idna.el functions in Gnus
136011         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
136012         Emacs comes with IDNA support built in).
136013         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
136014         `idna-to-unicode'.
136016         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
136018 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136020         Mention `message-use-idna' in NEWS
136022 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136024         Default `message-use-idna' to t
136026         * lisp/gnus/message.el (message-use-idna): Default to t (since
136027         Emacs comes with puny.el now).
136029 2016-04-16  Matthew Leach  <matthew@mattleach.net>
136031         Extend battery.el to exotic power supply types
136033         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
136034         'battery--linux-sysfs-regexp' and make a defcustom. All users
136035         changed.  (Bug#23216)
136037 2016-04-16  Matthew Leach  <matthew@mattleach.net>
136039         Add external socket launching support
136041         * src/process.c (connect_network_socket): Allow a pre-allocated socket
136042         descriptor to be used if passed to Emacs, avoiding the call to
136043         'socket' and 'bind'.
136044         (Fmake_network_process): Allow users to pass ':use-external-socket' in
136045         the parameter plist to use any sockets that have been passed to Emacs.
136046         (wait_reading_process_output): Call 'socket' and 'bind' every time.
136047         (syms_of_process): New symbol ':use-external-socket'.
136048         (set_external_socket_descriptor): New function.
136049         (external_sock_fd): New variable.
136050         * src/lisp.h: (set_external_socket_descriptor): New declaration.
136051         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
136052         passed and call 'set_external_socket_descriptor' to set the external
136053         socket.
136054         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
136055         compilation options.
136057         * configure.ac: Add new default-on option "systemd" and check for
136058         libsystemd at configure time.
136060         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
136061         calling 'make-network-process'.
136063         * etc/NEWS: Document new socket-passing functionality and the configure
136064         option to disable systemd interaction.
136066         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
136067         functionality and provide systemd unit examples.
136068         * doc/lispref/processes.texi (Network Processes): Document new
136069         'make-network-process' option ':use-external-socket'.
136071 2016-04-16  Matthew Leach  <matthew@mattleach.net>
136073         Don't spell-check argument of 'cref' TeX macro
136075         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
136076         macro to skip spell-checking the cref macro argument.
136078 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
136080         Simplify use of O_BINARY
136082         * src/callproc.c (call_process):
136083         * src/fileio.c (write_region):
136084         * src/filelock.c (read_lock_data):
136085         * src/image.c (x_find_image_fd):
136086         * src/lread.c (openp):
136087         * src/sysdep.c (init_random, emacs_fopen):
136088         * src/unexcw.c (unexec):
136089         Omit unnecessary use of O_BINARY, since emacs_open now arranges
136090         that for us.
136092 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
136094         * src/indent.c (Fvertical_motion): Pacify GCC
136096         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
136098 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
136100         Port ‘./autogen.sh git’ to non-clones
136102         Problem reported by Angelo Graziosi in:
136103         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
136104         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
136105         there is no ‘.git’.
136106         (git_common_dir, hooks): New vars.
136107         (git_config, tailored_hooks, sample_hooks): Use them.
136109 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
136111         Do not require that .git be a directory
136113         Problem reportyed by Phillip Lord.
136114         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
136115         * configure.ac, make-dist:
136116         Do not require that .git be a directory, as 'git worktree' makes
136117         it a file and not a directory.
136119 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
136121         Avoid now-obsolete function gmm-format-time-string
136123         * lisp/gnus/message.el (message-insert-formatted-citation-line):
136124         Use format-time-string instead of obsolete function
136125         gmm-format-time-string.
136127 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
136129         Support OFFSET and (OFFSET ABBR) time zone rules
136131         This simplifies Gnus and VC time zone support, by letting them
136132         feed the output of ‘current-time-zone’ and ‘decode time’ to
136133         primitives that accept time zone arguments.
136134         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
136135         * etc/NEWS:
136136         * lisp/gnus/message.el (message-insert-formatted-citation-line):
136137         * lisp/org/org.el (org-timestamp-format):
136138         * src/editfns.c (Fformat_time_string, Fdecode_time):
136139         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
136140         Document new behavior.
136141         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
136142         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
136143         Mark as obsolete, as it is now just an alias or narrow wrapper
136144         around format-time-string.
136145         * src/editfns.c (tzlookup): Also support integer OFFSET and
136146         list (OFFSET ABBR) as time zone rules.
136147         (Fencode_time): No longer need a special case for a cons ZONE.
136148         (Fcurrent_time_zone): If the time zone string is missing, compute
136149         it the same way the other new code does.
136151 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
136153         Merge from origin/emacs-25
136155         ca50981 Improve time zone documentation
136156         c23c965 Prevent bootstrap autoload backup files
136157         9344612 Disable multicolor fonts on OS X since they are not supported...
136158         c41ce1c Capitalize “Universal Time” in documentation
136159         10597c9 Don't use 'find-program'
136161 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
136163         Merge from origin/emacs-25
136165         b134c20 Sync with gnulib
136166         bb30fa9 Fix last change on 2016-01-02
136167         488a72f ; Spelling fixes
136168         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
136169         0e7bcec Avoid crashes due to unreasonably large or small text scaling
136170         85f257c Improve documentation of 'with-eval-after-load'
136171         668c7bc Improve handling of non-ASCII characters in Git log messages
136172         b570769 Remove undefined behavior in OS X dumper.
136173         97211f3 Fix clipping of xwidgets
136174         e87fbc0 Improve Lisp-level documentation of tooltips
136175         9f1786e Faces names should not end in "-face".
136176         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
136177         a1f221b Comint and compile no longer set EMACS
136178         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
136179         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
136180         c93ae7a Allow to customize names of executables used by grep.el
136181         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
136182         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
136183         a3f1ac2 Avoid infinite loop in 'studlify-word'
136184         f36df4b Don’t recommend obsolete EMACS env var
136185         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
136187 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
136189         Merge from origin/emacs-25
136191         96d9e78 Fix "Beginning of buffer" error in forward-page
136192         20686f7 Add a `transient' project type
136194 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
136196         Merge from origin/emacs-25
136198         80128a7 Fix stability confusion in sort-tests
136199         1e4aa42 Avoid describe-key error with lambdas
136200         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
136201         f501116 Sync with gnulib
136202         c4963f9 Fix doc for Universal Time
136204 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
136206         Fix alignment rule for CSS
136208         * lisp/align.el (align-rules-list): Support CSS properties that have
136209         multiple words.
136211 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
136213         New custom option for overriding mailcap choices
136215         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
136216         (mailcap--set-user-mime-data): New function.
136217         (mailcap-user-mime-data): New customization option.
136218         (mailcap-select-preferred-viewer): New function.
136219         (mailcap-mime-info): Use it.
136221         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
136223 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
136225         Fix Bug#23207
136227         * src/keyboard.c (read_char): Resume idle timers in case of
136228         dbus-event, file-notify-event and config-changed-event.
136229         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
136231 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
136233         Add vc-backend and vc-responsible-backend tests
136235         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
136236         (vc-file-clearprops): Use properties on absolute files.
136238         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
136239         Clear file properties.
136240         (vc-test--register): Add tests for `vc-backend' and
136241         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
136242         (vc-test--state, vc-test--checkout-model): Catch other errors
136243         but `vc-not-supported'.
136244         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
136245         other errors but `vc-not-supported'.
136246         (vc-test-src02-state): Mark as an expected failure.
136248 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
136250         Minor improvements for hash function primitives
136252         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
136253         hashfn_eq rather than reaching inside them.
136254         (hashtest_eq, hashtest_eql, hashtest_equal):
136255         Now constants with initializers.
136256         (syms_of_fns): Omit no-longer-needed initialization.
136257         * src/lisp.h (LISPSYM_INITIALLY): New macro.
136258         (DEFINE_LISP_SYMBOL): Use it.
136260 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
136262         New primitives sxhash-eq, sxhash-eql
136264         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
136265         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
136266         Add sxhash-equal, sxhash-eq, sxhash-eql.
136267         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
136268         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
136270 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
136272         Teach Dired support parallel execution of commands on MS-Windows
136274         * lisp/dired-aux.el (dired-shell-stuff-it): Support
136275         parallel-in-background execution of commands on MS-Windows.
136276         Test 'w32-shell-dos-semantics' instead of the underlying OS
136277         when determining whether addition of 'wait' is needed.
136279 2016-04-08  Tino Calancha  <f92capac@gmail.com>
136281         Make 'dired-do-shell-command' wait for all background jobs
136283         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
136284         wait until all background jobs exit.  (Bug#23206).
136286 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
136288         Prefer 'font-lock-face to 'face in erc where appropriate
136290         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
136291         'font-lock-face to 'face where appropriate.
136292         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
136293         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
136294         * lisp/erc/erc-goodies.el (erc-controls-propertize)
136295         * lisp/erc/erc-stamp.el (erc-format-timestamp)
136296         * lisp/erc/erc-track.el (erc-faces-in)
136297         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
136298         (erc-display-command, erc-make-notice, erc-highlight-notice)
136299         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
136300         (erc-display-prompt, erc-display-message-highlight)
136301         (erc-log-irc-protocol): Ditto.
136303         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
136304         tests.
136306 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
136308         Add new keywords of Python 3.5
136310         Python 3.5, released in mid September 2015, introduced a few new
136311         keywords to better support asynchronous code, "async" and "await"
136312         in particular. See https://www.python.org/dev/peps/pep-0492/ for
136313         details. (Bug#21783)
136314         * lisp/progmodes/python.el (python-rx-constituents): Add async
136315         def/for/with as block-start and async def as defun.
136316         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
136317         def/for/with as keyword.
136318         * test/automated/python-tests.el (python-indent-after-async-block-1,
136319         python-indent-after-async-block-2, python-indent-after-async-block-3,
136320         python-nav-beginning-of-defun-3): New tests to test indentation and
136321         navigation for the async keyword.
136323 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
136325         Support completion of at-rules in SCSS mode
136327         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
136328         SCSS-specific at-rules.
136329         (css--at-ids): New buffer-local variable holding the list of at-rules
136330         for the current mode.
136331         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
136332         (scss-mode): Set `css--at-ids'.
136334 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
136336         Enable GCC warnings in developer builds
136338         However, do not fail; just issue the warnings.  Add an option
136339         --enable-gcc-warnings=warn-only to configure, to implement this.
136340         * INSTALL, etc/NEWS: Document this.
136341         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
136342         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
136343         Don’t treat --with-x-toolkit=no as a special case when configuring
136344         warnings.
136346 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136348         Inhibit querying for the encoding of the headers when resending
136350         * lisp/gnus/message.el (message-resend): Inhibit querying for
136351         the encoding of the headers when resending.
136353 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
136355         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
136357         * src/buffer.c (Fgenerate_new_buffer_name):
136358         * src/filelock.c (get_boot_time):
136359         * src/minibuf.c (get_minibuffer):
136360         * src/process.c (make_process):
136361         * src/xdisp.c (ensure_echo_area_buffers):
136362         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
136363         when either will do.
136365 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
136367         Allow URL using HTTPS proxies using CONNECT
136369         * lisp/url/url-http.el (url-http-find-free-connection): Allow
136370         using proxies (bug#11788).
136371         (url-http-end-of-document-sentinel): Ditto.
136372         (url-http): The protocol may change from http to https and
136373         vice versa.
136374         (url-https-proxy-connect): Allow using CONNECT proxies for https.
136376 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
136378         New C macro AUTO_STRING_WITH_LEN
136380         Put a bit less pressure on the garbage collector by defining a
136381         macro that is like AUTO_STRING but also allows null bytes in strings,
136382         and by extending AUTO_STRING to work with any unibyte string.
136383         * src/alloc.c (verify_ascii): Remove; all uses removed.
136384         AUTO_STRING can now be used on non-ASCII unibyte strings.
136385         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
136386         (AUTO_STRING_WITH_LEN): New macro.
136387         * src/coding.c (from_unicode_buffer):
136388         * src/editfns.c (format_time_string):
136389         * src/emacs-module.c (module_make_string, module_format_fun_env):
136390         * src/fileio.c (Fexpand_file_name):
136391         * src/font.c (font_parse_family_registry):
136392         * src/ftfont.c (ftfont_get_charset):
136393         * src/keymap.c (silly_event_symbol_error):
136394         * src/menu.c (single_menu_item):
136395         * src/sysdep.c (system_process_attributes):
136396         Use AUTO_STRING_WITH_LEN if possible.
136397         * src/emacs-module.c (module_make_function):
136398         * src/fileio.c (report_file_errno, report_file_notify_error):
136399         * src/fns.c (Flocale_info):
136400         * src/sysdep.c (system_process_attributes):
136401         Use AUTO_STRING if possible.  This is doable more often now
136402         that AUTO_STRING works on any unibyte string.
136404 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
136406         Port redirect-debugging-output to MS-Windows
136408         Suggested by Eli Zaretskii in:
136409         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
136410         * src/print.c [WINDOWSNT]: Include sys/socket.h.
136411         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
136413 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
136415         Port redirect-debugging-output to non-GNU/Linux
136417         Problem reported by Kylie McClain for musl in:
136418         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
136419         * etc/DEBUG, etc/NEWS: Mention this.
136420         * src/callproc.c (child_setup) [!MSDOS]:
136421         * src/dispnew.c (init_display):
136422         * src/emacs.c (main, Fdaemon_initialized):
136423         * src/minibuf.c (read_minibuf_noninteractive):
136424         * src/regex.c (xmalloc, xrealloc):
136425         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
136426         to make file-descriptor manipulation easier to follow.
136427         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
136428         now that we make sure stdin, stdout and stderr are open.  All uses
136429         removed.
136430         (main): Make sure standard FDs are OK.  Prefer symbolic names like
136431         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
136432         * src/lisp.h (init_standard_fds): New decl.
136433         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
136434         Remove; no longer needed.
136435         (Fredirect_debugging_output): Define on all platforms, not just
136436         GNU/Linux.  Redirect file descriptor, not stream, so that the code
136437         works even if stderr is not an lvalue.  Report an error if the
136438         file arg is neither a string nor nil.
136439         (syms_of_print): Always define redirect-debugging-output.
136440         * src/sysdep.c (force_open, init_standard_fds): New functions.
136442 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
136444         Spelling fixes
136446 2016-04-03  John Wiegley  <johnw@newartisans.com>
136448         Revert "Add `r'/`l' grep command history commands"
136450         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
136452 2016-04-03  John Wiegley  <johnw@newartisans.com>
136454         Revert "Restore the point in grep buffers when traversing the history"
136456         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
136458 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
136460         Merge from origin/emacs-25
136462         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
136464 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
136466         Merge from origin/emacs-25
136468         b787d55 More format-time-string change fixups
136469         13c8f29 make-xwidget unused arg cleanup
136470         36e05f0 Remove unused arguments from make-xwidget
136471         1042217 Document incompatible changes in 'format-time-string'
136472         7228eb8 Improve documentation of byte-code objects
136473         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
136474         17b5152 Improve vc-diff with Git backend
136475         c28f87a (js--continued-expression-p): Special-case unary plus and minus
136476         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
136477         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
136478         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
136479         a3daa34 Teach M-x disassemble a default argument.
136480         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
136481         df441b3 Fix OS X specific settings in tramp-tests
136482         2244331 Finish fixing a caching bug in CC Mode (see 2016-03-09)
136484         # Conflicts:
136485         #       lisp/net/tramp-sh.el
136486         #       lisp/progmodes/cc-engine.el
136488 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136490         Restore the point in grep buffers when traversing the history
136492         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
136493         point to a specific place after finishing the grep command.
136494         (grep-mode): Use it to restore point after traversing the history.
136495         (grep--history-point): New internal variable.
136496         (grep--save-history, grep-forward-history): Use it to restore
136497         the point.
136499 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136501         Add `r'/`l' grep command history commands
136503         * doc/emacs/building.texi (Grep Searching): Mention the
136504         `r'/`l' commands.
136506         * lisp/progmodes/grep.el (grep-forward-history): New command.
136507         (grep-backward-history): Ditto.
136508         (grep--save-buffers): New function.
136509         (grep): Use it to record the history.
136510         (grep--command-history, grep--history-inhibit)
136511         (grep--history-place): New internal variables for the grep
136512         history (bug#22627).
136514 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
136516         Fix Bug#23186, again
136518         * lisp/net/tramp.el (tramp-encoding-shell)
136519         (tramp-encoding-command-switch)
136520         (tramp-encoding-command-interactive): Check for
136521         `w32-shell-name'.  (Bug#23186)
136523 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
136525         Fix Bug#23186
136527         * lisp/net/tramp.el (tramp-encoding-command-switch)
136528         (tramp-encoding-command-interactive):
136529         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
136530         `tramp-encoding-shell' could be nil.  (Bug#23186)
136532 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
136534         Fix Bug#22145
136536         * lisp/net/tramp-cache.el (tramp-get-connection-property)
136537         (tramp-set-connection-property, tramp-connection-property-p)
136538         (tramp-flush-connection-property): Improve docstring.
136540         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
136542         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
136544         * test/automated/tramp-tests.el (tramp--test-utf8):
136545         Improve settings of coding systems.  (Bug#22145)
136547 2016-04-02  John Wiegley  <johnw@newartisans.com>
136549         Merge from origin/emacs-25
136551         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
136552         9034c50 * doc/man/emacsclient.1: Document +line:column option.
136553         06495c9 Fix rare problems with echo-area display and multiple frames
136554         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
136556 2016-04-02  John Wiegley  <johnw@newartisans.com>
136558         Merge from origin/emacs-25
136560         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
136561         c8b868b Don't start the 'midnight' timer twice
136562         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
136563         e5c17f4 Fix todo-mode category movement
136564         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
136565         cf40f38 Ignore non-nil. non-cons values of unread-command-events
136566         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
136567         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
136568         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
136569         3a13472 Fix map-put and map-delete for alists (Bug#23105)
136570         422c3da Minor copyedits of documentation for temporary displays
136571         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
136572         f14d463 Minor doc string fixes in replace.el
136573         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
136574         44782de Fix display of Indic scripts
136575         326c64f Fix splash screen display at startup
136576         7ab2a97 ; In NEWS mention new display of minibuffer completions window
136577         a1cd84c Describe temporary displays in Emacs manual
136578         5ec1056 Avoid stray As next to IDLW icons
136579         45577d5 Avoid GTK 3 crash with icons and masks
136580         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
136581         077b78c Define make_save_ptr_ptr unconditionally
136582         20a1003 Preserve current buffer when popping up TTY menus
136583         7eba90c Improve font selection by family on MS-Windows
136584         73d213f Comint, term, and compile now set EMACS
136585         9524ec5 Ignore more merges when generating ChangeLog
136586         ad250f2 Sync with gnulib
136587         c0165ea Resurrect GNUS-NEWS autogeneration
136588         1e5327c ; Backport ChangeLog.2 fixes from master
136589         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
136590         38a43f1 Fix bug in displaying header line with a box face
136591         91e6676 Fix an Isearch var to be a string (Bug#23038)
136592         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
136593         8a35f83 Render empty <ul><li><ul> correctly
136594         d8b2ce5 Ignore invalid base64 encoded embedded images
136595         52ba24b Fix <p> and <div> newlines with or without <li> in shr
136596         b8ea08b Avoid errors in 'newline'
136597         fc3cd53 Fix Bug#23032
136598         dd2737b Adjudicate review comments in abbrevs.texi
136599         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
136600         413e73b ; Small theme additions
136601         cd950da Honor prefix arg in doc-view-next-line-or-next-page
136602         ed909c0 ; Spelling fixes
136603         6da3a6d Port to strict C99 offsetof
136604         de7601f Port to GTK with strict C11 compiler
136605         658aa2d Port to GTK with strict C99 compiler
136606         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
136607         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
136608         dca240a Suppress some Tramp tests for OSX, do not merge with master
136609         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
136610         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
136611         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
136612         9ab03f2 ; Auto-commit of loaddefs files.
136613         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
136614         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
136615         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
136616         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
136617         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
136618         d6d164f Avoid segfaults due to frame image cache being absent
136619         bc7f6f6 Improve documentation of glyphless-character display
136620         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
136621         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
136622         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
136623         2036be4 Fix Ruby's operator precedence
136624         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
136625         7950e1d Port to clang 3.7.0 on x86-64
136626         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
136627         ba33b7c Sync with gnulib
136628         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
136629         dbfbedd Do not tokenize a comment before continuation as ';'
136630         0403620 Don't misindent arguments of a method call inside continuation
136631         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
136632         8475f3d ASCII-only etc/NEWS etc.
136633         5cc6919 Fix a caching bug, which led to inordinately slow c-beginnin...
136634         0ce37ea Fix Isearch prompt when invoked with an argument
136635         f3033d4 Fix a typo in the Emacs manual
136636         4235d2d Curved quotes in etc/NEWS etc.
136637         26b56dc Fix some single quotes in documentation
136638         80ec484 Make lisp-completion-at-point's argument optional
136639         9d463ae Tweak the left precedence of '=>'
136640         5b705bc Indent '.' relative to the first sibling expression
136641         04f5525 Make '.' associative, for easier sexp navigation
136642         ba24c99 Revert "Simplify "Visit New File" to "New File""
136644 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
136646         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
136648         Use #' to quote functions.
136649         (erc-server-delayed-reconnect): Remove unused arg `event'.
136650         (erc-process-sentinel-2): Adjust accordingly.
136651         Don't pass `err' to condition-case if we don't use it.
136652         (define-erc-response-handler): Use add-hook rather than add-to-list.
136653         (NICK): Use cl-pushnew rather than add-to-list.
136654         (331): Remove unused var `topic'.
136655         (352): Remove unused var `hopcount'.
136657 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
136659         Support macros in 'func-arity'
136661         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
136663 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
136665         Fix compilation of Cygwin w32 port
136667         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
136668         initialize and free the notification set if compiling with
136669         w32notify feature.
136671 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
136673         Fix resize incompatibility with GTK+ master
136675         Problem reported by Matthias Clasen (Bug#23144).
136676         * src/xterm.c (handle_one_xevent) [USE_GTK]:
136677         Do not call xg_frame_resized.
136679 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
136681         Fix check for subscript errors in module calls
136683         * src/emacs-module.c (check_vec_index): New function.
136684         (module_vec_set, module_vec_get): Use it instead of a
136685         not-strict-enough check.
136687 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
136689         Support completion of bang-rules in CSS mode
136691         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
136692         holding the list of bang-rules for the current mode.
136693         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
136694         instead of computing them.
136695         (css--complete-bang-rule): New function for completing a bang-rule.
136696         (css-completion-at-point): Add support for completing bang-rules.
136697         (scss-font-lock-keywords): Change from a variable to a function in
136698         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
136699         changed.
136700         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
136702 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
136704         Add HTML4 tags to HTML mode
136706         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
136707         (html-tag-help): Add short descriptions of those tags.
136709 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
136711         Pacify --enable-gcc-warnings for buffer-hash etc.
136713         * src/fns.c (make_digest_string): Now static.
136714         (secure_hash): Omit unused local.
136716 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
136718         Add support for 7z archives
136720         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
136721           also work with 7z archives.
136723         The shell command should produce a single extracted directory named
136724         after the archive's name.
136726         In case the extracted directory exists, all files will be overwritten
136727         without a prompt. This matches the expected behavior with the "tar.gz"
136728         archives.
136730 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
136732         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
136734 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
136736         Fix typo in network-stream-tests.el
136738         * test/lisp/net/network-stream-tests.el
136739         (connect-to-tls-ipv6-nowait): Fix typo.
136741 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
136743         New function seq-sort-by in seq.el
136745         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
136746         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
136747         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
136749 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136751         Mention the `M-q' changes
136753 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136755         Have `M-q' not mark buffers are changed when they haven't
136757         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
136758         to avoid marking buffers as changed when they haven't.
136760 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136762         Add a new function `buffer-hash'
136764         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
136766         * src/fns.c (Fbuffer_hash): New function.
136767         (make_digest_string): Refactored out into its own function.
136768         (secure_hash): Use it.
136770         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
136772 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
136774         Rename C names to match Lisp symbols better
136776         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
136777         which fixed a bug where the C name for a symbol disagreed with the
136778         symbol name itself.  Fix other instances of disagreements that I found.
136779         Although this doesn’t fix a bug, it should make code easier to follow.
136780         The remaining disagreements are idiosyncratic: Qminus, Qplus,
136781         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
136782         All uses changed.
136783         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
136784         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
136785         (QCsession): Rename from QCdbus_session_bus.
136786         (QCtimeout): Rename from QCdbus_timeout.
136787         (QCbyte): Rename from QCdbus_type_byte.
136788         (QCboolean): Rename from QCdbus_type_boolean.
136789         (QCint16): Rename from QCdbus_type_int16.
136790         (QCuint16): Rename from QCdbus_type_uint16.
136791         (QCint32): Rename from QCdbus_type_int32.
136792         (QCuint32): Rename from QCdbus_type_uint32.
136793         (QCint64): Rename from QCdbus_type_int64.
136794         (QCuint64): Rename from QCdbus_type_uint64.
136795         (QCdouble): Rename from QCdbus_type_double.
136796         (QCstring): Rename from QCdbus_type_string.
136797         (QCobject_path): Rename from QCdbus_type_object_path.
136798         (QCsignature): Rename from QCdbus_type_signature.
136799         (QCunix_fd): Rename from QCdbus_type_unix_fd.
136800         (QCarray): Rename from QCdbus_type_array.
136801         (QCvariant): Rename from QCdbus_type_variant.
136802         (QCstruct): Rename from QCdbus_type_struct.
136803         (QCdict_entry): Rename from QCdbus_type_dict_entry.
136804         (QCserial): Rename from QCdbus_registered_serial.
136805         (QCmethod): Rename from QCdbus_registered_method.
136806         (QCsignal): Rename from QCdbus_registered_signal.
136807         * src/emacs-module.c (Qinternal__module_call):
136808         Rename from Qinternal_module_call.
136809         * src/frame.c (Qwindow__pixel_to_total):
136810         Rename from Qwindow_pixel_to_total.
136811         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
136812         (QCpriority): Rename from QCgnutls_bootprop_priority.
136813         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
136814         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
136815         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
136816         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
136817         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
136818         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
136819         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
136820         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
136821         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
136822         (Qgnutls): Rename from Qgnutls_dll.
136823         (Qlibxml2): Rename from Qlibxml2_dll.
136824         (Qzlib): Rename from Qzlib_dll.
136825         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
136826         * src/window.c (Qwindow__resize_root_window):
136827         Rename from Qwindow_resize_root_window.
136828         (Qwindow__resize_root_window_vertically):
136829         Rename from Qwindow_resize_root_window_vertically.
136830         (Qwindow__sanitize_window_sizes):
136831         Rename from Qwindow_sanitize_window_sizes.
136832         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
136833         * src/xdisp.c (Qredisplay_internal_xC_functionx):
136834         Rename from Qredisplay_internal.
136835         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
136836         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
136838 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
136840         func-arity minor improvements
136842         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
136843         runtime test for integer argument, unless debugging.
136844         Use EMACS_INT for Emacs integers.
136845         * src/eval.c (Ffunc_arity): Omit unused locals.
136846         Avoid side effects in ‘if’ expr.
136847         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
136849 2016-03-26  John Wiegley  <johnw@newartisans.com>
136851         Restore the fix to bug#18527 from commit d6868025
136853 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
136855         Safely run window size change functions
136857         * src/window.c (run_window_size_change_functions): Use
136858         safe_call1 when running a size change function.
136859         (grow_mini_window, shrink_mini_window): Report error when
136860         minibuffer window cannot be resized.
136862 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
136864         Implement 'func-arity'
136866         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
136867         * src/bytecode.c (get_byte_code_arity): New function.
136868         * src/lisp.h (get_byte_code_arity): Add prototype.
136870         * doc/lispref/functions.texi (What Is a Function): Document
136871         'func-arity'.
136873         * etc/NEWS: Mention 'func-arity'.
136875         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
136877 2016-03-25  Alan Mackenzie  <acm@muc.de>
136879         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
136881         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
136882         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
136883         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
136884         c-noise-macro-with-parens-name-re.
136886         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
136887         cc-engine.el.
136889         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
136890         `c-make-noise-macro-regexps'.
136891         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
136893         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
136894         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
136896 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136898         (shr-insert): Respect non-breaking space in non-<pre> text
136900         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
136901         non-<pre> text.
136903 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
136905         parse-times-string doc string clarification
136907         * lisp/calendar/parse-time.el (parse-time-string): Note that
136908         we accept RFC2822 strings.
136910 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
136912         Doc string fix
136914         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
136915         doc string and clean up code.
136917 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
136919         Cleanup file notification code in Tramp
136921         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
136922         Make `events' a list of symbols for "inotifywait".
136923         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
136924         Call `file-notify-handle-event' for better traces.
136925         (tramp-sh-inotifywait-process-filter): Check for expected events.
136926         Call `file-notify-handle-event' for better traces.
136928 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
136930         Adapt filenotify-tests.el according latest tests
136932         * test/lisp/filenotify-tests.el (file-notify-test02-events)
136933         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
136934         Remove superfluous `read-event' calls.
136935         (file-notify-test02-events): Expect different events under MS
136936         Windows 7 and 10.
136937         (file-notify-test04-file-validity): Move `file-notify-valid-p'
136938         check up.
136940 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
136942         Merge from origin/emacs-25
136944         ad250f2 Sync with gnulib
136945         c0165ea Resurrect GNUS-NEWS autogeneration
136947         # Conflicts:
136948         #       etc/GNUS-NEWS
136949         #       lisp/Makefile.in
136951 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
136953         Merge from origin/emacs-25
136955         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
136956         38a43f1 Fix bug in displaying header line with a box face
136958 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
136960         * etc/NEWS: Use straight quotes.
136962 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
136964         Support completion of attribute values in CSS mode
136966         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
136967         holding CSS identifiers and the values they can have.
136968         (css-property-ids): Compute dynamically from `css-property-alist'.
136969         (css-value-class-alist): New defconst holding property value classes
136970         and their values.
136971         (css--property-value-cache): New variable providing a cache for
136972         `css--property-values'.
136973         (css--value-class-lookup): New function for computing a list of values
136974         in a value class.
136975         (css--property-values): New function for computing a list of possible
136976         values for a CSS property.
136977         (css--complete-property-value): New function for completing a property
136978         value.
136979         (css-completion-at-point): Add support for completing property values.
136980         * test/lisp/textmodes/css-mode-tests.el: New file.
136982 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
136984         Sync with verilog-mode development tree.
136986         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
136987         verilog-speedbar-initialize): Automatically add verilog-mode
136988         extensions when in speedbar mode, bug1045, bug1046.  Reported by
136989         David Shleifman.
136990         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
136991         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
136992         (verilog-read-always-signals-recurse): Fix :: notation for
136993         auto-reset signals.  Reported by Andrew Jones.
136994         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
136995         grouping keywords, bug1002. Reported by Paul Sargent.
136996         (verilog-save-font-no-change-functions): Commentary and fix
136997         pre-Emacs 21 behavior.
136999 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
137001         Compute a better commit message for merges
137003         Problem reported by David Engster in:
137004         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
137005         * admin/gitmerge.el (gitmerge-commit-message):
137006         Truncate the computed commit message to at most 72 characters per line.
137007         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
137008         merges; use the computed commit message instead.
137010 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
137012         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
137014 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
137016         Change do-not-merge pattern to "do not merge"
137018         This should avoid the problem we recently had with
137019         automatically-generated merge messages, while still letting people
137020         specify commits not to merge.
137021         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
137022         (gitmerge-highlight-skip-regexp): Fold case when searching
137023         for gitmerge-skip-regexp.
137025 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
137027         Merge from origin/emacs-25
137029         91e6676 Fix an Isearch var to be a string (Bug#23038)
137030         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
137032 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
137034         -
137036         -
137038 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
137040         Keep "merge" commits by default in gitmerge
137042         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
137043         causes false positives.  See:
137044         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
137046 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
137048         Assume NON_BLOCKING_CONNECT (Bug#22946)
137050         * lisp/proced.el (proced-signal-list): Omit comment about
137051         obsolete systems that do not support POSIX 1003.1-2001 signals.
137052         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
137053         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
137054         (connect_network_socket): Assume EINPROGRESS is defined,
137055         as that’s portable too now.
137056         (Fmake_network_process): Use bool for boolean.
137058 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
137060         Fix problems caused by new implementation of sub-word mode
137062         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
137063         New functions.
137064         (word-move-empty-char-table): New variable.
137066         * etc/NEWS: Mention 'forward-word-strictly' and
137067         'backward-word-strictly'.
137069         * doc/lispref/positions.texi (Word Motion): Document
137070         'find-word-boundary-function-table', 'forward-word-strictly', and
137071         'backward-word-strictly'.  (Bug#22560)
137073         * src/syntax.c (syms_of_syntax)
137074         <find-word-boundary-function-table>: Doc fix.
137076         * lisp/wdired.el (wdired-xcase-word):
137077         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
137078         (texinfo-copy-section-title, texinfo-start-menu-description)
137079         (texinfo-copy-menu-title, texinfo-specific-section-type)
137080         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
137081         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
137082         (texinfo-insert-@end):
137083         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
137084         (texinfo-anchor, texinfo-multitable-widths)
137085         (texinfo-multitable-item):
137086         * lisp/textmodes/tex-mode.el (latex-env-before-change):
137087         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
137088         * lisp/skeleton.el (skeleton-insert):
137089         * lisp/simple.el (count-words):
137090         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
137091         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
137092         (vhdl-update-sensitivity-list, vhdl-template-block)
137093         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
137094         (vhdl-template-default-indent, vhdl-template-for-loop)
137095         (vhdl-template-if-then-use, vhdl-template-bare-loop)
137096         (vhdl-template-nature, vhdl-template-procedural)
137097         (vhdl-template-process, vhdl-template-selected-signal-asst)
137098         (vhdl-template-type, vhdl-template-variable)
137099         (vhdl-template-while-loop, vhdl-beginning-of-block)
137100         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
137101         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
137102         (verilog-forward-sexp, verilog-beg-of-statement)
137103         (verilog-set-auto-endcomments, verilog-backward-token)
137104         (verilog-do-indent):
137105         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
137106         (vera-indent-block-closing):
137107         * lisp/progmodes/simula.el (simula-context)
137108         (simula-backward-up-level, simula-forward-down-level)
137109         (simula-previous-statement, simula-next-statement)
137110         (simula-skip-comment-backward, simula-calculate-indent)
137111         (simula-find-if, simula-electric-keyword):
137112         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
137113         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
137114         (ruby-smie--forward-token, ruby-smie--backward-token)
137115         (ruby-singleton-class-p, ruby-calculate-indent)
137116         (ruby-forward-sexp, ruby-backward-sexp):
137117         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
137118         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
137119         (perl-syntax-propertize-special-constructs)
137120         (perl-backward-to-start-of-continued-exp):
137121         * lisp/progmodes/pascal.el (pascal-indent-declaration):
137122         * lisp/progmodes/octave.el (octave-function-file-p):
137123         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
137124         * lisp/progmodes/js.el (js--forward-function-decl):
137125         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
137126         (idlwave-beginning-of-block, idlwave-end-of-block)
137127         (idlwave-block-jump-out, idlwave-determine-class):
137128         * lisp/progmodes/icon.el (icon-is-continuation-line)
137129         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
137130         * lisp/progmodes/hideif.el (hide-ifdef-define):
137131         * lisp/progmodes/f90.el (f90-change-keywords):
137132         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
137133         (cperl-linefeed, cperl-electric-terminator)
137134         (cperl-find-pods-heres, cperl-fix-line-spacing)
137135         (cperl-invert-if-unless):
137136         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
137137         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
137138         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
137139         (ada-adjust-case-skeleton, ada-create-case-exception)
137140         (ada-create-case-exception-substring)
137141         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
137142         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
137143         (ada-get-indent-if, ada-get-indent-block-start)
137144         (ada-get-indent-loop, ada-get-indent-type)
137145         (ada-search-prev-end-stmt, ada-check-defun-name)
137146         (ada-goto-decl-start, ada-goto-matching-start)
137147         (ada-goto-matching-end, ada-looking-at-semi-or)
137148         (ada-looking-at-semi-private, ada-in-paramlist-p)
137149         (ada-search-ignore-complex-boolean, ada-move-to-start)
137150         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
137151         * lisp/net/quickurl.el (quickurl-grab-url):
137152         * lisp/mail/sendmail.el (mail-do-fcc):
137153         * lisp/mail/rmail.el (rmail-resend):
137154         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
137155         * lisp/mail/mail-extr.el (mail-extract-address-components):
137156         * lisp/json.el (json-read-keyword):
137157         * lisp/files.el (insert-directory):
137158         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
137159         * lisp/completion.el (symbol-under-point, symbol-before-point)
137160         (symbol-before-point-for-complete, next-cdabbrev)
137161         (add-completions-from-c-buffer):
137162         * lisp/cedet/semantic/texi.el (semantic-up-context)
137163         (semantic-beginning-of-context):
137164         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
137165         use 'forward-word-strictly' and 'backward-word-strictly' instead
137166         of 'forward-word' and 'backward-word'.
137168         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
137169         which was inadvertently lost by merge commit
137170         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
137172 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
137174         * etc/TODO: Minor quoting and grammar fixes.
137176         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
137177         which was inadvertently lost by merge commit
137178         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
137180 2016-03-21  Alan Mackenzie  <acm@muc.de>
137182         Don't confuse "::" with ":" when trying to parse member initializers.
137184         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
137185         more robustly for ":" token when searching backwards for it.
137187         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
137188         language variable.
137190         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
137191         which was inadvertently lost by merge commit
137192         7823745acbe9b87eea2db4ef434e379fc903ec35.]
137194 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
137196         Ensure positive number of glyphs for margins of positive width
137198         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
137199         positive value when a non-zero width of the marginal area was
137200         requested.  (Bug#22356)
137202         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
137203         which was inadvertently lost by merge commit
137204         7823745acbe9b87eea2db4ef434e379fc903ec35.]
137206 2016-03-21  Alan Mackenzie  <acm@muc.de>
137208         In comment-dwim with style `extra-line', respect indent-tabs-mode.
137210         This fixes bug #22369.
137212         * lisp/newcomment.el (comment-make-bol-ws): New function.
137213         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
137215         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
137216         which was inadvertently lost by merge commit
137217         7823745acbe9b87eea2db4ef434e379fc903ec35.]
137219 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
137221         Merge doc fixes for 'random' lost in previous merge
137223         [This reapplies part of commit
137224         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
137225         which was inadvertently lost by merge commit
137226         7823745acbe9b87eea2db4ef434e379fc903ec35.]
137227         (Bug#22202)
137229 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
137231         Unhide the --no-line-directive option to 'etags'
137233         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
137234         option.  (Bug#22306)
137236         * doc/man/etags.1: Document the --no-line-directive option.
137238         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
137239         which was inadvertently lost by merge commit
137240         7823745acbe9b87eea2db4ef434e379fc903ec35.]
137242 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
137244         Fix picture-mode wrt double-width characters
137246         * lisp/textmodes/picture.el (picture-insert): Check the width of
137247         the character being replaced, not just that of the replacement.
137248         (Bug#1808)
137250         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
137251         which was inadvertently lost by merge commit
137252         7823745acbe9b87eea2db4ef434e379fc903ec35.]
137254 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
137256         Resurrect earlier fix of resize_frame_windows
137258         * src/window.c (resize_frame_windows): Resurrect earlier fix for
137259         calculating the number of columns of the minibuffer window which
137260         was lost in subsequent merges.
137262 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137264         Move the cert files to the data directory
137266 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137268         Further empty <li> tweaks
137270         * lisp/net/shr.el (shr-tag-li): When showing several empty
137271         <li> elements, ensure that they really get inserted on a new line.
137273 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137275         Don't remove too much white space at the end of documents
137277         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
137278         remove too much white space -- leave it on the last line (in
137279         case there's a background color).
137281 2016-03-20  Alan Mackenzie  <acm@muc.de>
137283         Amend parse-partial-sexp correctly to handle two character comment delimiters
137285         Do this by adding a new field to the parser state: the syntax of the last
137286         character scanned, should that be the first char of a (potential) two char
137287         construct, nil otherwise.
137288         This should make the parser state complete.
137289         Also document element 9 of the parser state.  Also refactor the code a bit.
137291         * src/syntax.c (struct lisp_parse_state): Add a new field.
137292         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
137293         (internalize_parse_state): New function, extracted from scan_sexps_forward.
137294         (back_comment): Call internalize_parse_state.
137295         (forw_comment): Return the syntax of the last character scanned to the caller
137296         when that character might be the first of a two character construct.
137297         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
137298         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
137299         information via the address parameter `state'.  Remove the code which converts
137300         from external to internal form of `state'.  Access buffer contents only from
137301         `from' onwards.  Reformulate code at the top of the main loop correctly to
137302         recognize comment openers when starting in the middle of one.  Call
137303         forw_comment with extra argument (for return of syntax value of possible first
137304         char of a two char construct).
137305         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
137306         doc string.  Clarify the doc string in general.  Call
137307         internalize_parse_state.  Take account of the new elements when consing up the
137308         output parser state.
137310         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
137311         element 10.  Minor wording corrections (remove reference to "trivial
137312         cases").
137313         (Low Level Parsing): Minor corrections.
137315         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
137316         state.
137318 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137320         Allow the shr test files to have trailing blank space.
137322         * .gitattributes: Allow the shr test files to have trailing
137323         blank space.
137325 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137327         Add tests for empty <ul><li>
137329 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
137331         * src/alloc.c (purecopy): Use AUTO_STRING.
137333 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137335         Ignore invalid base64 encoded embedded images
137337         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
137338         encoded embedded images (bug#22928).
137340 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137342         Render empty <ul><li><ul> correctly
137344         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
137345         correctly (bug#22964).
137347 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137349         Fix <p> and <div> newlines with or without <li> in shr
137351         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
137352         a <li>, if we are, and don't insert newlines there.
137353         (shr-ensure-paragraph): When mixing newlines and paragraph
137354         ensurements, don't insert too many blank lines.
137355         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
137356         new line.
137358 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137360         Add more shr HTML rendering tests
137362         Add a test harness for shr HTML rendering and one test
137364 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137366         Remove code left over from when overlays were used for padding
137368         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
137369         (shr-remove-trailing-whitespace): Ditto.
137370         (shr-insert-document): Don't call them.
137372 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137374         Remove trailing blank lines in shr
137376         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
137377         (shr-insert-document): Use it to remove trailing blank lines
137378         at the end of documents, since these never seem to be very useful.
137380 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137382         Don't bug out on nil `patch-buf' arguments
137384         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
137385         `patch-buf' arguments.
137387 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
137389         Add a Catalan language environment
137391         * lisp/international/mule-cmds.el (locale-language-names): Map locale
137392           language name `ca' to language environment `Catalan'.
137394         * lisp/language/european.el: Add definition of language
137395         environment for the Catalan language.
137397         * lisp/leim/quail/latin-pre.el: Add quail rule to the
137398         `catalan-prefix' input method to support input of middle dot
137399         characters through composition (bug#18279).
137401 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
137403         No need to block input when reading directories
137405         * src/dired.c: Don’t include blockinput.h.
137406         (open_directory, directory_files_internal_unwind)
137407         (directory_files_internal, file_attributes):
137408         Don’t block input here, as the reasons for blocking input should
137409         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
137411 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
137413         * lisp/vc/vc-hooks.el: Fix typo
137415 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
137417         Improve w32notify notifications
137419         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
137420         (struct notification): 'terminate' is now a HANDLE.
137421         (send_notifications): Argument is now a pointer to a
137422         notification.  Don't loop waiting for the notification to be
137423         acknowledged by the main thread; instead, just add the
137424         notification to the linked list of notifications waiting to be
137425         acknowledged.
137426         (watch_end): Don't close the directory handle.
137427         (watch_completion): Allocate a new notification structure to be
137428         added to the notifications set.  Call ReadDirectoryChangesW
137429         immediately after adding the new notification, and before sending
137430         a message to the main thread about them.
137431         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
137432         call it just once -- it will be called again in watch_completion.
137433         Loop waiting for the main thread's indication to terminate.
137434         (start_watching): Create the event to be used to indicate to the
137435         worker thread that its should terminate.
137436         (remove_watch): Indicate to the worker thread that it should
137437         terminate.
137438         * src/w32term.c (queue_notifications): Loop over all the
137439         notifications in the linked list, processing all of them in one
137440         go.
137441         * src/w32inevt.c (handle_file_notifications): Loop over all the
137442         notifications in the linked list.
137443         * src/w32xfns.c (init_crit): Initialize the linked list of file
137444         notifications.
137445         (delete_crit): Free the linked list of file notifications,
137446         including any unprocessed notifications left in it.
137447         * src/w32term.h (struct notifications_se): New struct.
137449         * test/lisp/filenotify-tests.el (file-notify-test02-events)
137450         (file-notify-test05-dir-validity): Add read-event calls to
137451         facilitate event recognition by the main thread in batch mode.
137453 2016-03-17  Sam Steingold  <sds@gnu.org>
137455         make `vc-log-operation' buffer local to allow multiple simultaneous editing
137457 2016-03-17  Glenn Morris  <rgm@gnu.org>
137459         Simplify some rococo Gnus code that loads or tests for other libraries.
137461         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
137462         * lisp/gnus/mml-smime.el (epg): Simply require it.
137463         (mml-smime-use): Simplify the default.  Doc fix.
137464         * lisp/gnus/mml2015.el (epg-config): Require it.
137465         (mml2015-use): Simplify the default.
137466         * lisp/gnus/smime.el (password-cache): Simply require it.
137467         (password-read-and-add): Remove declaration.
137469 2016-03-16  Glenn Morris  <rgm@gnu.org>
137471         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
137473 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
137474             Alex Harsanyi  <AlexHarsanyi@gmail.com>
137476         Sync with soap-client repository, version 3.1.1
137478         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
137479         message.
137480         (soap-find-port): Delete trailing whitespace.
137481         (soap-find-operation): Fix documentation and rename parameter.
137482         (soap-find-port): Likewise.
137483         (soap-operation-arity): Likewise.
137485         * lisp/net/soap-client.el: Update copyright years.
137486         (soap-warning): Fix docstring quoting.
137487         (soap-decode-date-time): Likewise.
137488         (soap-validate-xs-simple-type): Remove tabs for indentation.
137489         * lisp/net/soap-inspect.el: Update copyright years.
137491         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
137492         assume xsd:base64Binary values are UTF-8 strings.
137493         (soap-decode-xs-basic-type): Likewise.
137494         (soap-invoke): Document xsd:base64Binary handling.
137496         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
137497         (soap-operation-arity): new defuns
137498         (soap-invoke-internal): use soap-find-port, soap-find-operation.
137500 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
137502         Merge from gnulib
137504         This incorporates:
137505         2016-03-15 std-gnu11: improve clang support
137506         * m4/std-gnu11.m4: Copy from gnulib.
137508 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137510         Disable MOVE more for Dovecot
137512         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
137513         disable MOVE when expirying.
137514         (nnimap-split-incoming-mail): And when splitting mail.
137516 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137518         Don't use MOVE on Dovecot
137520         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
137521         MOVE on Dovecot, since it's broken in many versions.
137522         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
137524 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
137526         Improve diff hunk headers when maintaining Emacs
137528         * .gitattributes: Improve diff hunk header support for makefiles,
137529         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
137530         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
137531         somewhere (sometimes just in test cases).
137532         * autogen.sh: Add regexes for makefiles and shell scripts.
137534 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
137536         Update handling of <bdo> per Unicode 9.0
137538         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
137539         Unicode 9.0 changes in UAX#9, paragraph 2.7.
137541 2016-03-11  John Wiegley  <johnw@newartisans.com>
137543         Merge from origin/emacs-25
137545         facb5e2 Update Emacs manual section related to character folding
137546         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
137547         f8df21b Update admin/notes/unicode
137548         950be68 Add symref-filepattern entries for c?perl-mode
137549         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
137550         985dacf ; NEWS update for the last change in etags
137551         741a6f8 Sync with gnulib
137552         7352c6c Rework C source files to avoid ^(
137553         a589e9a By default, etags produces unqualified Perl tag names
137554         72c7438 Indent methods with keyword names correctly
137555         28532a9 Propertize character literals and special global variables
137556                 differently
137557         a7d6f39 ; Fix last change in NEWS
137558         83b2a20 Change how /etc/NEWS presents character folding
137559         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
137560                 off by default""
137561         711ca36 Properly handle lambda as read function (bug 22961)
137562         1b9d616 Propertize operator symbol names with symbol syntax class
137563         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
137564         366ec77 Allow using the left shift operator without spaces on both sides
137565         02bf7cc Properly handle unquoting in wdired (bug 22938)
137566         16cf469 ; Spelling fix and tighten up comment
137567         f50bc04 Allow splat operator before percent literal
137568         991c801 Don't apply the return value of goto-char as syntax class
137569         6e63b3e Guard against nested percent literals
137570         066f3bc Recognize iuwu-mod after an escaped newline
137571         6f7a57c Fix symbolic mode string conversion for s and t
137572         50b9826 Update 'ucs-names' database
137573         993b2fb Improve doc string of 'shell-command'
137574         b71c717 Make the code in movemail_strftime more general
137575         cc057e4 Speed up redisplay of binary files with long series of nulls
137576         e51b27e Remove the highlighting support for quoting 'like this' inside
137577                 Lisp docstrings
137578         b1abce1 Restore leading space in movemail pop output
137579         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
137580         dc9d837 Don't misindent computed property generator methods
137581         7923112 Fix mbox files produced by movemail on MS-Windows
137582         c45a1ca doc string file descriptor exhaustion fix
137583         265141b Fix Bug#22814
137585 2016-03-11  John Wiegley  <johnw@newartisans.com>
137587         Merge from origin/emacs-25
137589         620951f Fix previous fix of enlarge-/shrink-window
137590         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
137591         66d2717 Complete temperature units in calc-convert-temperature
137592         dbb02bf Make sure to use case-sensitive search
137593         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
137594         100346a Add the missing test case for the previous patch
137595         5aba61e Use the correct dabbrev expansion
137597 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
137599         Remove compat code in Tramp
137601         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
137602         Remove compat code.
137604 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
137606         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
137608         Use #' for function names.
137609         (latex-complete-envnames): Include existing environments in
137610         current buffer.
137611         (latex-insert-block): Use latex-complete-envnames.
137612         (tildify-foreach-ignore-environments): Declare.
137614 2016-03-10  Alain Schneble  <a.s@realize.ch>
137616         Fix asynchronous TLS connections on MS-Windows
137618         * src/w32.c (sys_write): Don't switch the socket to blocking mode
137619         if the connection attempt is in progress.  Instead, return either
137620         EWOULDBLOCK immediately if the connection is in progress, or the
137621         error code produced by '_sys_wait_connect' if the connection
137622         failed.  Switching the socket to blocking mode was found to
137623         interfere with GnuTLS handshake.  (Bug#22789)
137625 2016-03-10  Alan Mackenzie  <acm@muc.de>
137627         Clarify the documentation of nested comments.
137629         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
137630         style are recognized inside nestable comments.
137631         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
137632         UNNESTED comments.
137634 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
137636         Add new function display-buffer-reuse-mode-window
137638         * lisp/window.el (display-buffer-reuse-mode-window): New function.
137639         * doc/lispref/windows.texi (Display Action Functions): Document it.
137641 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
137643         Minor fixes for getaddrinfo_a usage
137645         * src/process.c (Fdelete_process): Check gai_cancel return value.
137646         That way, there’s no need to invoke gai_error.  Check gai_suspend
137647         return value.
137648         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
137649         string.  Simplify call to connect_network_socket.
137650         (check_for_dns): Avoid unnecessary initialization of local.
137652 2016-03-09  Sam Steingold  <sds@gnu.org>
137654         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
137656         The former avoids a compiler warning, the latter fixes a bug whereas
137657         the variable is compiled as lexical instead of dynamic.
137659 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
137661         Pacify --enable-gcc-warnings
137663         * src/xfns.c (x_create_tip_frame): Omit unused local.
137664         (Fx_show_tip): Don’t jump over auto initialization.
137666 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
137668         Optionally reuse tooltip frames instead of deleting/recreating them.
137670         * src/frame.c (tooltip_reuse_hidden_frame): New option.
137671         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
137672         handling of dividers.
137673         (x_hide_tip): New function.
137674         (Fx_show_tip): Try to reuse old tooltip frame when
137675         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
137676         have not changed.  Insert STRING here instead of passing it to
137677         x_create_tip_frame.  Compute size of tooltip window with
137678         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
137679         padding tooltip window.
137680         (Fx_hide_tip): Call x_hide_tip.
137681         (Vw32_tooltip_extra_pixels): New variable.
137682         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
137683         value.  Fix doc-string.
137684         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
137685         make_frame with mini_p argument false.
137686         (x_hide_tip): New function.
137687         (Fx_show_tip): Try to reuse old tooltip frame when
137688         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
137689         have not changed.  Insert STRING here instead of passing it to
137690         x_create_tip_frame.  Compute size of tooltip window with
137691         Fwindow_text_pixel_size.
137692         (Fx_hide_tip): Call x_hide_tip.
137693         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
137694         customization entry.
137696 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
137698         Assume getaddrinfo in C code
137700         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
137701         All uses removed.
137702         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
137703         Say that port numbers can be integer strings.
137704         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
137705         (socket_connection): Assume HAVE_GETADDRINFO.
137706         * lisp/mpc.el (mpc--proc-connect):
137707         * lisp/net/network-stream.el (open-network-stream):
137708         It’s now OK to use integer strings as port numbers.
137709         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
137710         (Fmake_network_process): Assume HAVE_GETADDRINFO.
137712 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
137714         Remove support for IRIX
137716         The IRIX port wasn’t really working anyway, and the code was
137717         getting in the way of other changes (e.g., getaddrinfo fixes).
137718         IRIX’s supplier dropped support for IRIX in 2013.
137719         * admin/CPP-DEFINES:
137720         * configure.ac (opsys):
137721         * doc/lispref/os.texi (System Environment):
137722         * etc/MACHINES, etc/PROBLEMS:
137723         * lisp/find-dired.el (find-grep-options):
137724         * lisp/lpr.el (lpr-lp-system):
137725         * lisp/ls-lisp.el (ls-lisp-emulation):
137726         * lisp/mail/rmail.el (rmail-spool-directory):
137727         * lisp/net/net-utils.el (ping-program-options):
137728         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
137729         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
137730         * src/conf_post.h [IRIX6_5]:
137731         * src/emacs.c (Vsystem_type):
137732         * src/filelock.c (get_boot_time_1):
137733         * src/process.c (process_send_signal):
137734         * src/unexelf.c (unexec):
137735         Omit IRIX-specific code and/or documentation.
137736         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
137737         Remove.  All uses removed.
137738         * etc/NEWS: Document the change.
137740 2016-03-06  John Wiegley  <johnw@newartisans.com>
137742         Revert "Use colors in the VC mode lines"
137744         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
137746 2016-03-06  Ken Brown  <kbrown@cornell.edu>
137748         Fix Cygwin-w32 build
137750         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
137751         Define only if WINDOWSNT, and update all uses accordingly.
137752         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
137753         (remove_w32_kbdhook): Declare only if WINDOWSNT.
137754         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
137756 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
137758         Unbreak the MinGW64 build
137760         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
137761         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
137762         for the details.  Reported by Angelo Graziosi
137763         <angelo.graziosi@alice.it>.
137765 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137767         Don't signal errors on E_AGAIN
137769         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
137770         error now that TLS is async.
137772 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137774         Allow making TLS negotiation blocking
137776         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
137778         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
137779         :complete-negotiation, to specify that we want complete
137780         negotiation even if the socket is non-blocking.
137781         (gnutls_try_handshake): Complete negotiation if given that keyword.
137783         * src/process.h (L): Added gnutls_complete_negotiation_p.
137785 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
137787         Don't run ipv6 test on systems without ipv6
137789         * test/lisp/net/network-stream-tests.el
137790         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
137792 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
137794         Implement getaddrinfo fallback for MS-Windows
137796         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
137797         for more details.
137799         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
137800         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
137801         test program is not smart enough to auto-detect these.
137802         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
137803         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
137804         sys_getaddrinfo and sys_freeaddrinfo.
137806         * src/w32.c (init_winsock): Try loading getaddrinfo and
137807         freeaddrinfo from ws2_32.dll.
137808         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
137810         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
137811         and also ws2tcpip.h.
137812         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
137813         sys_getaddrinfo and sys_freeaddrinfo, respectively.
137814         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
137815         functions.
137817 2016-03-04  Glenn Morris  <rgm@gnu.org>
137819         * lisp/files.el: Fix recent typo.
137821         * lisp/subr.el (read-multiple-choice): Avoid free variable.
137823         * doc/lispref/files.texi (File Attributes): Fix typo.
137825 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
137827         Make the describe-key prompts clearer
137829         * lisp/help.el (describe-key-briefly): Make the prompt clearer
137830         (bug#14854).
137831         (describe-key): Ditto.
137833 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
137835         Allow scrolling while querying multiple choice
137837         * lisp/subr.el (read-multiple-choice): Allow scrolling the
137838         buffer while querying (bug#22827).
137840 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
137842         Add accessors for `file-attributes'
137844         * doc/lispref/files.texi (File Attributes): Mention the accessors.
137846         * lisp/files.el (file-attribute-type)
137847         (file-attribute-link-number, file-attribute-user-id)
137848         (file-attribute-group-id, file-attribute-access-time)
137849         (file-attribute-modification-time)
137850         (file-attribute-change-time, file-attribute-size)
137851         (file-attribute-modes, file-attribute-inode-number)
137852         (file-attribute-device-number): New functions.
137854         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
137856 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
137858         Fix Bug#22814
137860         * lisp/autorevert.el (global-auto-revert-mode): Do not set
137861         `auto-revert-use-notify' to nil.
137863         * etc/NEWS: Mention this.
137865         * etc/PROBLEMS: Remove problem Bug#22814.
137867         * src/kqueue.c: Include <sys/resource.h>.
137868         (Fkqueue_add_watch): Limit the number of used file descriptors.
137869         (Bug#22814)
137871         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
137872         (file-notify-test00-availability, file-notify-test01-add-watch)
137873         (file-notify-test02-events, file-notify-test06-many-events):
137874         Use #' read syntax for functions.
137875         (file-notify-test05-dir-validity)
137876         (file-notify-test06-many-events): Simplify directory creation.
137877         (file-notify-test09-sufficient-ressources): New test.
137879 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
137881         Fix insertion of edited servers in the dribble file
137883         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
137884         insert explicit newlines, because they're quoted (bug#22903).
137886 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
137888         Move cl-seq-tests to the right place after the merge
137890         Move cl-seq-tests to the right place after the merge
137892 2016-03-03  John Wiegley  <johnw@newartisans.com>
137894         Merge from origin/emacs-25
137896         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
137897         5cf7c39 authors.el updates
137898         a26f193 ; fix changelog entries
137899         fbc85c7 ; make change-history-commit
137900         06da00c Fix Bug#22859
137901         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
137902         1481029 Fix reordering of bidi text in an isolate inside an override
137903         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
137905 2016-03-03  John Wiegley  <johnw@newartisans.com>
137907         Merge from origin/emacs-25
137909         f5d1435 Fix targets in test/automated/Makefile.in
137911 2016-03-03  John Wiegley  <johnw@newartisans.com>
137913         Merge from origin/emacs-25
137915         b6d6304 Comment on last change to define-derived-mode
137917 2016-03-03  John Wiegley  <johnw@newartisans.com>
137919         Merge from origin/emacs-25
137921         cb1e3da Also allow setting the paragraph direction to nil
137922         bbe8a89 Made the new OS X visible bell more visible.
137924 2016-03-03  John Wiegley  <johnw@newartisans.com>
137926         Merge from origin/emacs-25
137928         aae436e Uncomment the next-error-function integration in xref
137929         5f0d096 Remove the word "valid", to avoid ambiguity
137931 2016-03-03  John Wiegley  <johnw@newartisans.com>
137933         Merge from origin/emacs-25
137935         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
137936         0d60bfc Fix ModelSim error parsing
137938 2016-03-03  John Wiegley  <johnw@newartisans.com>
137940         Merge from origin/emacs-25
137942         b13cab6 Add a eww command to toggle paragraph direction
137943         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
137944         9e078e5 Fix char signedness issue in bidi code
137945         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
137946         14060a9 Avoid inflooping in thing-at-point-looking-at
137947         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
137948                 indent change.
137949         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
137950         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
137951         d2dd614 Remove unneeded workaround in xftfont.c
137952         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
137953         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
137954         06a872b Fix redisplay on a TTY after 'make-frame'
137955         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
137956                 Fixes bug#5560.
137957         7d206fc Input method polish-slash should not use keyboard translation
137958         8be32cf Fix an assertion
137959         040e0d6 Fix 'toggle-save-place'
137960         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
137962 2016-03-03  John Wiegley  <johnw@newartisans.com>
137964         Merge from origin/emacs-25
137966         e6a3819 Update HISTORY section in readme for the NextStep interface.
137967         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
137968         7c81a0b Improve documentation of 'save-place-mode'
137969         cab3f0a Allocate glyph matrices for the initial frame
137970         e01c72f Fix white space in last checkin
137971         370eb67 Make `insert-pair' always leave the cursor where documented
137972         b594393 etc/NEWS: Mention the new second parameter to `package-install'
137974 2016-03-03  John Wiegley  <johnw@newartisans.com>
137976         Merge from origin/emacs-25
137978         bd58c13 Improve documentation of focus-related hooks
137979         00a4720 Further improve doc string of 'disable-point-adjustment'
137980         c582def Further adaptions in file-notify-tests.el for w32notify
137981         a1585e1 Don't bug out on localized dates in gnus-icalendar
137983 2016-03-03  John Wiegley  <johnw@newartisans.com>
137985         Merge from origin/emacs-25
137987         7bc4820 Make setf for frame-height/width work again
137989 2016-03-03  John Wiegley  <johnw@newartisans.com>
137991         Merge from origin/emacs-25
137993         6620944 (cl-union): Do not ignore :test argument when lists are equal.
137994         17dd3fb Add `isearch' to `basic-faces'
137995         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
137996         e72a26e Make find-tag-default-bounds more strict
137997         1bc0e0a Minor fixes in filenotify.el
137999 2016-03-02  Alain Schneble  <a.s@realize.ch>
138001         Fix issue of inserting images on some systems
138003         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
138004         to pass to shr-image-fetched, to indicate where to insert the
138005         image.  Fixes the issue introduced with commit
138006         80852f843e69b81618f29cfb9aa4b074946cb3c4
138007         (bug#22789).
138009 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
138011         Ensure TLS negotiation progress
138013         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
138014         number of retries so that we try for about a minute.
138016         * src/process.c (wait_reading_process_output): Ensure progress
138017         for DNS resolution and TLS negotiation.
138019 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
138021         emacs-module.h slight simplification
138023         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
138024         * src/emacs-module.h: ... from here, as they don’t need to be public.
138025         (enum emacs_arity): Remove useless enum tag.  The enum value is
138026         used in ptrdiff_t contexts.
138028         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
138030 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
138032         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
138034 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
138036         emacs-module.c simplification and tuneup
138038         * src/emacs-module.c (CHECK_USER_PTR): New function.
138039         (module_get_user_ptr, module_set_user_ptr)
138040         (module_get_user_finalizer, module_set_user_finalizer): Use it.
138041         (module_make_global_ref, module_copy_string_contents)
138042         (module_make_string, module_vec_set, module_vec_get): Omit
138043         unnecessary runtime tests.  For example, vector sizes are always
138044         fixnums, so we don’t need to test that they are in fixnum range.
138046 2016-03-02  Philipp Stephani  <phst@google.com>
138048         Use standard checks whenever possible.
138050         This is possible in all functions where we catch signals anyway.
138052         * src/emacs-module.c (module_make_global_ref, module_funcall)
138053         (module_copy_string_contents, module_make_string): Use xsignal0
138054         and CHECK macros for argument checks.
138056 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
138058         Deterministic build improvements
138060         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
138061         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
138062         and have its value be either empty or --no-build-details.
138063         All uses changed.  Change option to --disable-build-details.
138064         * doc/emacs/cmdargs.texi (Initial Options):
138065         Document --no-build-details.
138066         * doc/lispref/internals.texi (Building Emacs):
138067         * etc/NEWS:
138068         Document --disable-build-details.
138069         * doc/lispref/intro.texi (Version Info): Say that
138070         emacs-build-time can be nil.
138071         * lisp/erc/erc-compat.el (erc-emacs-build-time):
138072         Now nil if details are omitted.
138073         * lisp/erc/erc.el (erc-cmd-SV):
138074         * lisp/version.el (emacs-build-time):
138075         Now nil if no build details.
138076         (emacs-version):
138077         Output build time only if build details.
138078         * src/Makefile.in (BUILD_DETAILS): New macro.
138079         (temacs, bootstrap-emacs): Use it.
138080         * src/emacs.c (build_details): New var.
138081         (standard_args, main): Support --no-build-details.
138082         (Vdeterministic_dump): Remove; all uses replaced
138083         by !build_details.
138084         (syms_of_emacs): Set Vbuild_details to a boolean, not
138085         to a Lisp_Object.
138086         * src/lisp.h (build_details): New decl.
138087         * src/sysdep.c (init_system_name): When !build_details,
138088         set system-name to nil, not to "elided".
138090 2016-03-02  Philipp Stephani  <phst@google.com>
138092         Remove build system name from deterministic dumps
138094         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
138095         * lisp/version.el (emacs-build-time): Add a comment to make the
138096         build time deterministic if requested.
138097         (emacs-build-system): Make variable deterministic if requested.
138098         * src/emacs.c (main): Initialize `deterministic-dump' from the
138099         configuration option.
138100         (syms_of_emacs): New constant `deterministic-dump'.
138101         * src/sysdep.c (init_system_name): Use a constant
138102         if a deterministic dump is requested.
138104 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
138106         Remove buggy parse-time test
138108         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
138109         Remove the iso parse test, since it doesn't work.
138111 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
138113         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
138115 2016-02-29  Glenn Morris  <rgm@gnu.org>
138117         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
138118         Experiment with setting to nil.
138120 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
138122         Make the revert command in timer-list-mode work
138124         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
138125         command work.
138127 2016-02-29  Glenn Morris  <rgm@gnu.org>
138129         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
138130         Fix 6-week old merge error.
138132         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
138133         Ensure timestamps.
138135         * lisp/emacs-lisp/package.el (package-generate-autoloads):
138136         Disable timestamps.
138138 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
138140         Allow binding `url-mime-accept-string'
138142         * lisp/url/url-http.el (url-http): Allow binding
138143         `url-mime-accept-string' (bug#22855).
138145 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
138147         Add a NEWS entry for the colorful VC indicator
138149 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
138151         Use colors in the VC mode lines
138153         * lisp/vc/vc-hooks.el: Make the mode line faces default to
138154         using colors to more clearly tell the user what the status is.
138156 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
138158         Support <bdo> and <bdi>
138160         * lisp/net/shr.el (shr-tag-bdo): New function.
138161         (shr-tag-bdi): Ditto.
138163 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
138165         Respect <html dir=auto>
138167         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
138168         directional HTML setting.
138170 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
138172         Default bidi paragraph direction to nil
138174         * lisp/net/eww.el (eww-display-html): Default bidi rendering
138175         to nil, so that possibly more Arabic web pages render
138176         correctly (bug#22786).
138177         (eww-setup-buffer): Ditto.
138179 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
138181         Preserve current column, going up/down in thumbnail view.
138183 2016-02-29  Alan Mackenzie  <acm@muc.de>
138185         Handle "noise" macros and compiler directives.
138187         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
138189         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
138190         (c-noise-macro-with-parens-names): New customizable variables.
138191         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
138192         (c-make-noise-macro-regexps): New function.
138194         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
138195         members of c-noise-macro-names as whitespace.
138196         (c-forward-noise-clause): New function.
138197         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
138198         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
138199         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
138200         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
138202         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
138203         in parallel with "prefix-spec keywords".
138205         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
138206         c-make-noise-macro-regexps to initialize the internal variables.
138208         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
138209         facilities.
138211 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
138213         Stop calling res_init
138215         Emacs shouldn’t need to call res_init any more, now that nscd or
138216         equivalent is everywhere.  On modern systems, calling res_init
138217         simply slows Emacs down.  On ancient systems lacking nscd Emacs
138218         will still work well enough with this change; it’s just that it
138219         won’t respond to changes in /etc/resolv.conf.
138220         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
138221         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
138222         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
138223         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
138225 2016-02-29  Glenn Morris  <rgm@gnu.org>
138227         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
138229         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
138231 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
138233         * src/process.c (Fdelete_process): Simplify cast.
138235 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
138237         Use the correct background color when filling nested <divs>
138239         * lisp/net/shr.el (shr-face-background): Return the first
138240         background, because that's the one that's visible (bug#22680).
138242 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
138244         Make <div> in <li> not insert extra newlines
138246         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
138247         extra newlines (bug#19587).
138249 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
138251         Allow reading Gnus reports from an offline cache
138253         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
138254         Allow reading bug reports from an offline cache directory.
138256 2016-02-28  Tino Calancha  <f92capac@gmail.com>
138258         Meta + shift + Fn combos are recognized by xterm>=216.
138260         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
138261         Fn combos are recognized by xterm>=216 (bug#22837).
138263 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
138265         Declare $ as an expression prefix in SCSS
138267         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
138268         expression prefix (bug#22841).
138270 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
138272         Revert "Declare $ as an expression prefix in SCSS"
138274         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
138276         Revering to fix author name.
138278 2016-02-28  Simen  <simenheg@gmail.com>
138280         Declare $ as an expression prefix in SCSS
138282         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
138283         expression prefix (bug#22841).
138285 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
138287         Save buffers before running grep commands
138289         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
138290         (grep, lgrep, rgrep): Use it (bug#96).
138292         * doc/emacs/building.texi (Grep Searching): Document
138293         `grep-save-buffers'.
138295         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
138296         `grep-ask-about-save'.
138297         (grep--save-buffers): New function.
138298         (grep, lgrep, rgrep): Use it.
138300 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
138302         Allow sorting flyspell corrections
138304         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
138305         (flyspell-sort-corrections-functionx): New variable.
138306         (flyspell-sort-corrections-alphabetically): New function.
138307         (flyspell-notify-misspell): Use them.
138308         (flyspell-auto-correct-word): Ditto.
138309         (flyspell-emacs-popup): Ditto.
138310         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
138312 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
138314         Wait for async DNS to complete before freeing resources
138316         * src/process.c (Fdelete_process): Wait for async DNS to
138317         complete before freeing the data structures it needs.
138319 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
138321         * lisp/faces.el: Remove duplicated functions from previous patch.
138323 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
138325         Fix TLS connections on MS-Windows
138327         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
138328         this is a non-blocking socket whose connection is in progress, set
138329         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
138330         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
138331         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
138333 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
138335         Add a NEWS entry for the read-color change
138337 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
138339         Show the face colors when completing in `read-color'
138341         * lisp/faces.el (defined-colors-with-face-attributes): New function.
138342         (readable-foreground-color, defined-colors-with-face-attributes)
138343         (readable-foreground-color): Ditto.
138344         (read-color): Use them (bug#5305).
138346 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
138348         Clean up the code in parse-time-string-chars
138350         * lisp/calendar/parse-time.el (parse-time-string-chars):
138351         Clean up the code a bit.
138353 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
138355         Add some tests for parse-time.el
138357         * test/lisp/calendar/parse-time-tests.el: New file.
138359 2016-02-27  Dima Kogan  <dima@secretsauce.net>
138361         Strip out some leading whitespace when looking at logs
138363         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
138364         at expanded git logs with `vc-print-root-log' (C-x v L, then
138365         <enter> by default), Emacs was stripping out all leading
138366         whitespace from git logs.  I now strip exactly 2 leading
138367         spaces, which retains the indentation in the logs (bug#18110).
138369 2016-02-27  Dima Kogan  <dima@secretsauce.net>
138371         Use a separate history variable for align-regexp
138373         * lisp/align.el (align-regexp-history): New variable (bug#16891).
138374         (align-regexp): Use it.
138376 2016-02-27  Phil Sung  <philbert@gmail.com>
138378         Create subdirectories automatically in wdired
138380         * lisp/wdired.el (wdired-create-parent-directories): New
138381         variable (bug#6817).
138382         (wdired-create-parentdirs): New function.
138383         (wdired-do-renames): Use it.
138384         * doc/emacs/dired.texi (Wdired): Mention
138385         `wdired-create-parent-directories'
138387 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
138389         Return the correct error values from gnutls.c
138391         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
138392         expected by process.c.
138393         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
138394         possible race condition with the process.c socket polling
138395         functions.
138397 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
138399         Don't make assumptions about mkdir.  (Bug#22822)
138401         * test/Makefile.in (MKDIR_P): New, set by configure.
138402         (%.log): Use MKDIR_P.
138404 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
138406         Support switching to hexl-mode from image-mode
138408         * lisp/image-mode.el (image-toggle-hex-display)
138409         (image-mode-to-text): New functions.
138410         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
138411         image-toggle-hex-display.
138412         (image-mode-map): New menu item "Show as Hex".
138413         (image-mode): Update doc string and echo-area message.
138414         (image-toggle-display): Support toggle to hex.  (Bug#22453)
138416         * doc/emacs/files.texi (File Conveniences): Document
138417         'image-toggle-hex-display'.
138419 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
138421         Remove unused code in coding.c
138423         * src/coding.c (decode_eol): Remove unused code that handled the
138424         case of coding->dst_object being nil.  Replace it with an
138425         assertion.
138427 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
138429         * src/syntax.c: Fix result of syntax_multibyte()
138431         The ?: operator has a lower precedence than ||.
138432         Bug introduced by commit 45b683a.
138434 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
138436         --enable-gcc-warnings now uses -Wjump-misses-init
138438         When configuring with --enable-gcc-warnings, also enable
138439         -Wjump-misses-init, as it’s confusing to use a goto to skip over
138440         an initialization.  Fix the few places in the code that run afoul
138441         of this warning.
138442         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
138443         * src/doc.c (Fsubstitute_command_keys):
138444         * src/image.c (svg_load_image):
138445         * src/regex.c (re_match_2_internal):
138446         * src/xdisp.c (redisplay_internal, redisplay_window):
138447         Don’t jump over initialization.
138449 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
138451         Improve the register-hotkey functionality on MS-Windows
138453         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
138454         keyboard hook functionality.
138455         Include w32inevt.h, basetyps.h and unknwn.h.
138456         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
138457         (kbdhook): A new struct definition.
138458         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
138459         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
138460         (modifier_set): Call check_w32_winkey_state if a Win key was
138461         pressed and the keyboard hook is active.
138462         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
138463         hook is active.  Only register/unregister the hotkeys if the
138464         keyboard hook is not active.  When WM_CREATE is received, call
138465         setup_w32_kbdhook.  When WM_DESTROY is received, call
138466         reset_w32_kbdhook_state.
138467         (lookup_vk_code): When the keyboard hook is active, map
138468         alphanumeric characters to themselves.
138469         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
138470         modified keys to VK_ANY if the keyboard hook is active.  Register
138471         Alt-x and Win-x combinations.
138472         (Fw32_shell_execute): Update doc string to reflect new
138473         functionality.  Bypass the code that posts the
138474         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
138475         (Fw32_unregister_hot_key): Bypass the code that posts the
138476         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
138477         (syms_of_w32fns) <w32-pass-lwindow-to-system>
138478         <w32-pass-rwindow-to-system, w32-phantom-key-code>
138479         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
138480         to reflect the new functionality.
138481         * src/w32console.c (initialize_w32_display): Install the low-level
138482         keyboard hook.
138483         * src/w32inevt.c (key_event): Handle Win-x combinations only if
138484         the keyboard hook is not active.  If the hook is active, use
138485         check_w32_winkey_state instead.
138486         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
138487         (check_w32_winkey_state): Add prototypes.
138488         (w32_kbdhook_active): New macro.
138490         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
138491         new functionality.
138493 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
138495         Add forward-sexp (and related) tests
138497         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
138498         forward-sexp and related functions (bug#22800).
138500 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
138502         Don't use (localized) week days in dates
138504         * lisp/gnus/gnus-icalendar.el
138505         (gnus-icalendar-event:org-timestamp): Don't use (localized)
138506         week days in the dates, because that messes up things later.
138508 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
138510         Update pcomplete/find
138512         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
138513         (bug#10487).
138515 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
138517         Make parse-time-string-chars more efficient
138519         * lisp/calendar/parse-time.el (parse-time-string-chars): The
138520         string has already been downcase, so don't care about case
138521         (bug#18522).
138523 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
138525         Remove killed buffers from the list of Gnus buffers
138527         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
138528         buffers from the list of Gnus buffers (bug#18522).
138530 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
138532         Integer overflow cleanups for ports and socklen
138534         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
138535         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
138536         (connect_network_socket):
138537         Use ptrdiff_t, not int, for signed object sizes.
138538         This addresses only a theoretical problem, as in practice these
138539         object sizes are less than 2**31, but we might as well use the
138540         same style here as elsewhere in Emacs.
138541         (string_integer_p): Remove; all uses removed.
138542         (Fmake_network_process): Check that port number is in range.
138543         When converting an integer-string service, rely on strtol
138544         rather than rechecking the string by hand.
138545         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
138546         Adjust prototypes to match.
138548 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
138550         Add pcomplete support for find
138552         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
138553         for find (bug#10487).
138555 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
138557         Replace XXX acronyms with draft standard ones
138559         * lisp/international/characters.el (c1-acronyms): Replace XXX
138560         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
138561         (bug#13745).
138563 2016-02-24  Kevin Ryde  <user42@zip.com.au>
138565         Make checkdoc warn about variables described as "True"
138567         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
138568         Docstrings for variables "True...", and functions "Return
138569         true...", should usually be "non-nil" (bug#15506).
138571 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
138573         Add NEWS entry for "number string" change
138575 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
138577         Allow using "number strings" as services on non-GNU systems
138579         * src/process.c (string_integer_p): New function.
138580         (Fmake_network_process): Use it to allow connecting to
138581         services specified as "993" even when getaddrbyname isn't
138582         available.
138584 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
138586         Fix problem in tramp.texi
138588         * doc/misc/tramp.texi (File name completion): Do not use
138589         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
138590         during PDF creation.
138592 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138594         Make image commands available in image-mode
138596         * lisp/image-mode.el (image-mode-map): Inherit from
138597         `image-map' so that the usual image commands work.
138599 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138601         Move `o' to `O' in shr-map
138603         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
138604         from `o' to `O' to avoid collisions with `image-map'.
138606 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138608         Make setting the coding system non-blocking
138610         * src/process.c (Fset_process_filter_multibyte): Defer
138611         completing coding system setup in asynchronous processes.
138612         (Fset_process_coding_system): Ditto.
138614 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
138616         Mention `proced-toggle-auto-update' in the proced-mode doc string
138618         * lisp/proced.el (proced-mode): Mention
138619         `proced-toggle-auto-update' (bug#14341).
138621 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
138623         Add a fortune-message command
138625         * lisp/play/fortune.el (fortune-message): Add a command to
138626         display fortunes in the echo area (bug#14915).
138628 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
138630         Add hideshow bindings analogous to outline mode
138632         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
138633         analogous to outline mode bindings (bug#15324).
138635 2016-02-23  Bastien Guerry  <bzg@altern.org>
138637         Allow highlighting things like @math{2^{12}}
138639         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
138640         Allow highlighting things like @math{2^{12}} (bug#16390).
138642 2016-02-23  Per Bothner  <per@bothner.com>
138644         Make `C-{up,down,left,right}' work in term mode
138646         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
138647         to send the same escape sequence that xterm sends.  This makes
138648         backward-word and forward-word work in readline (bug#16746).
138650 2016-02-23  Dima Kogan  <dima@secretsauce.net>
138652         Allow ff-find-other-file (etc) to work with indirect clone buffers
138654         * lisp/find-file.el (ff-buffer-file-name): New function to
138655         allow the feature to work with indirect buffers, too
138656         (bug#16904).
138657         (ff-find-the-other-file): Use it.
138658         (ff-other-file-name): Ditto.
138659         (ff-get-file-name): Ditto.
138661 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138663         Fix error in add-change-log-entry when the entry has no newline
138665         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
138666         ChangeLog may end without a new line starting with blanks.
138668 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138670         Avoid using mm-util functoins in gravatar.el
138672         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
138673         mm-util functions.
138674         (gravatar-retrieve-synchronously): Ditto.
138676 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138678         Move low-level library files from the lisp/gnus directory
138680         The files moved from lisp/gnus are:
138682         auth-source.el -> /
138683         compface.el -> /image
138684         ecomplete.el -> /
138685         flow-fill.el -> /mail
138686         gravatar.el -> /image
138687         gssapi.el -> /net
138688         html2text.el -> /net
138689         ietf-drums.el -> /mail
138690         mail-parse.el -> /mail
138691         mail-prsvr.el -> /mail
138692         mailcap.el -> /net
138693         plstore.el -> /
138694         pop3.el -> /net
138695         qp.el -> /mail
138696         registry.el -> /
138697         rfc1843.el -> /international
138698         rfc2045.el -> /mail
138699         rfc2047.el -> /mail
138700         rfc2231.el -> /mail
138701         rtree.el -> /
138702         sieve-manage.el -> /net
138703         sieve-mode.el -> /net
138704         sieve.el -> /net
138705         starttls.el -> /net
138706         utf7.el -> /international
138707         yenc.el -> /mail
138709 2016-02-23  Tino Calancha  <f92capac@gmail.com>
138711         Allow undoing changes while doing query-replace
138713         * doc/lispref/searching.texi (Search and Replace): Mention
138714         undo (bug#21684).
138716         * lisp/replace.el (query-replace-help): Document undo.
138717         (perform-replace): Implement undo while replacing text.
138719 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
138721         Highlight assignments in Makefiles more correctly
138723         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
138724         Highlight assignments preceded by a TAB character correctly
138725         (bug#20787).
138727 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
138729         Use memmove instead of memcpy on overlapping regions
138731         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
138732         use memmove instead of memcpy (bug#19213).
138734 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
138736         Port to --enable-gcc-warnings sans getaddrinfo_a
138738         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
138739         to a local unused when getaddrinfo_a is missing.
138740         Resize portbuf to size needed.  Do cheap test first.
138741         Move local to block where it’s needed.
138743 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
138745         Minor cleanups for async DNS etc.
138747         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
138748         Omit unnecessary parens.
138749         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
138750         (gnutls_verify_boot):
138751         Use bool for boolean.
138752         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
138753         * src/process.c (free_dns_request, Fmake_network_process):
138754         Allocate and free async request control block all in one go.
138755         (set_network_socket_coding_system, finish_after_tls_connection)
138756         (connect_network_socket):
138757         Now static.
138758         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
138759         (Fmake_network_process): Use list1 for brevity.
138760         (wait_for_socket_fds): 2nd arg is now const ptr.
138761         * src/process.h (struct Lisp_Process.dns_request):
138762         Now struct gaicb *, not struct gaicb **, since there was always
138763         exactly one.  All uses changed.
138764         * src/window.c, src/window.h (run_window_configuration_change_hook):
138765         Now static.
138767 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
138769         Allow more shell script defun forms
138771         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
138772         script defun forms, like function name () {...} (bug#19754).
138774 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
138776         Fix `window-configuration-change-hook' and `window-size-change-functions'
138778         (1) Run `window-configuration-change-hook' if and only if at least
138779         one window was deleted or created or shows another buffer since
138780         last redisplay.
138782         (2) Run `window-size-change-functions' if and only if at least
138783         one window changed its size since last redisplay (in a few cases
138784         `window-size-change-functions' will also run when no window
138785         changed its size).
138787         (3) Provide two functions `window-pixel-height-before-size-change'
138788         and `window-pixel-width-before-size-change' that allow to easily
138789         detect which window changed size.
138791         * src/frame.h (struct frame): New boolean member
138792         window_configuration_changed.
138793         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
138794         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
138795         * src/frame.c (adjust_frame_size): Don't run
138796         `window-configuration-change-hook'.
138797         * src/window.h (struct window): New fields
138798         pixel_width_before_size_change and pixel_height_before_size_change.
138799         (WINDOW_INTERNAL_P): New macro.
138800         * src/window.c (Fwindow_pixel_width_before_size_change)
138801         (Fwindow_pixel_height_before_size_change): New functions.
138802         (Fdelete_other_windows_internal, Fwindow_resize_apply)
138803         (resize_frame_windows, Fsplit_window_internal)
138804         (Fdelete_window_internal, grow_mini_window)
138805         (shrink_mini_window, Fresize_mini_window_internal): Don't call
138806         FRAME_WINDOW_SIZES_CHANGED.
138807         (window_size_changed, window_set_before_size_change_sizes)
138808         (run_window_size_change_functions): New functions.
138809         (make_window): Initialize pixel_width_before_size_change and
138810         pixel_height_before_size_change.
138811         (Fdelete_window_internal): Don't call
138812         run_window_configuration_change_hook.
138813         (struct saved_window): Add pixel_height_before_size_change and
138814         pixel_width_before_size_change.
138815         (Fset_window_configuration): Try to identify window configuration
138816         changes correctly so run_window_configuration_change_hook and
138817         run_window_size_change_functions run only if configuration and size
138818         really changed.
138819         (save_window_save): Set the pixel_height_before_size_change and
138820         pixel_width_before_size_change fields.
138821         (Vwindow_size_change_functions): Move here definition from xdisp.c.
138822         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
138823         run_window_size_change_functions.
138824         (Vwindow_size_change_functions): Move definition to window.c.
138825         * src/xfns.c (x_set_menu_bar_lines): Don't call
138826         run_window_configuration_change_hook.
138827         * doc/lispref/windows.texi (Window Sizes): Document new
138828         functions `window-pixel-height-before-size-change' and
138829         `window-pixel-width-before-size-change'.
138830         (Window Configurations): Mention that this may trigger
138831         execution of `window-size-change-functions' although no window
138832         changed size.
138833         (Window Hooks): Update descriptions of `window-size-change-functions'
138834         and `window-configuration-change-hook'.
138836 2016-02-23  Drew Adams  <drew.adams@oracle.com>
138838         (ls-lisp-insert-directory): Make -B work
138840         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
138841         (bug#20776).
138843 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138845         Fix typo in message-setup-fill-variables
138847         * lisp/gnus/message.el (message-setup-fill-variables): Fix
138848         typo in a recent checkin that used `setq-default' instead of
138849         `setq-local' (bug#22781).
138851 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138853         `message-dont-reply-to-names' can also be a list of regexps
138855         * lisp/gnus/message.el (message-dont-reply-to-names):
138856         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
138858 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
138860         Make buttons in header lines work
138862         * lisp/help-mode.el (help-button-action): `help-xref-button' in
138863         header line doesn't work (bug#21024).
138865 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
138867         Place apples randomly in Snake
138869         * lisp/play/snake.el (snake-score): New variable (bug#21359).
138870         (snake-set-dot): Place the apples randomly.
138872 2016-02-23  Tino Calancha  <f92capac@gmail.com>
138874         Allow optional parameter to be nil
138876         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
138877         optional parameter to be nil (bug#21576).
138879 2016-02-23  Tino Calancha  <f92capac@gmail.com>
138881         Completely ignore buffers with no name when copying file names
138883         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
138884         ignore buffers with no file name. (bug#21577).
138886 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138888         Make spelling of "Eshell" consistent
138890         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
138891         * lisp/eshell/eshell.el (eshell-command):
138892         Spell it "Eshell" (bug#21678).
138894 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
138896         Allow pretty lambdas in Scheme mode
138898         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
138899         `prettify-symbols-alist' from Lisp mode (bug#21679).
138901 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138903         Rename lisp--prettify-symbols-alist
138905         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
138906         Rename from `lisp--prettify-symbols-alist' since we're going
138907         to use it in Scheme mode, too.
138908         (lisp-mode-variables): Use it.
138910 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
138912         Remove spurious newline in package list
138914         * lisp/emacs-lisp/package.el (describe-package-1): Remove
138915         spurious newline (bug#21706).
138917 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
138919         Revert "Remove spurious newline in package list"
138921         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
138923 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
138925         Remove spurious newline in package list
138927         * lisp/emacs-lisp/package.el (describe-package-1): Remove
138928         spurious newline (bug#21706).
138930 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
138932         Keep the position in the process buffer when deleting processes
138934         * lisp/simple.el (process-menu-delete-process): Keep the
138935         position in the buffer after killing a process (bug#21759).
138937 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
138939         Require that the buffer that we're trying to patch exist
138941         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
138942         buffer that we're trying to patch exist (bug#21852).
138944 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
138946         Require that the buffer that we're trying to patch exist
138948         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
138949         buffer that we're trying to patch exist (bug#21852).
138951 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
138953         Be more verbose when changing frame mode in ediff
138955         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
138956         mode we toggled to (bug#21853).
138958 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
138960         Encode header strings before printing
138962         * lisp/ps-print.el (ps-generate-header-line): Encode the
138963         header strings to avoid problems with non-ASCII headers
138964         (bug#22611).
138966 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
138968         Test message-strip-subject-trailing-was
138970         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
138971         New test (bug#22632).
138973 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
138975         Make use of the `ert-with-function-mocked' macro
138977         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
138978         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
138979         `ert-with-function-mocked' instead of implementing the fragile
138980         `unwind-protect' logic openly.
138982 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
138984         message-strip-subject-trailing-was: Refactor
138986         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
138987         the function replacing sequence of `if' calls with a mixture of `or'
138988         and `and' calls instead.  This makes it shorter and containing less
138989         internal state thus easier to follow.
138991 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
138993         ert-with-function-mocked: New macro
138995         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
138996         allows evaluating code while particular function is replaced with
138997         a mock.  The original definition of said function is restored once the
138998         macro finishes.
139000 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
139002         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
139004         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
139005         interface functions.
139007         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
139008         gnus-rfc1843.
139010 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
139012         Don't use mm-util functions in qp.el
139014         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
139015         mm-util functions.
139016         (quoted-printable-encode-string): Ditto.
139017         (quoted-printable-encode-region): Ditto.
139019 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
139021         Don't require mm-util
139023         * lisp/mail/ietf-drums.el (mm-util): Don't require.
139025 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
139027         Remove Gnus functions from auth-source.el
139029         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
139030         Remove usage of Gnus utility function.
139031         (mm-util, gnus-util): Don't require.
139033 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
139035         Allow deleting all non-matching cookies
139037         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
139038         keeping matching cookies (bug#22720).
139040 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
139042         Make (setf (image-property ...)) return VALUE
139044         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
139046 2016-02-22  John Wiegley  <johnw@newartisans.com>
139048         Merge from origin/emacs-25
139050         a9c48d5 Additional fixes for file notification
139051         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
139052         8c22ac9 ; Spelling fix
139053         2975784 Set file modes of pinentry socket for extra safety
139054         2667b3e Clarify GnuPG version compatibility chapter
139055         5e34c36 Revert "Change the default socket location for pinentry"
139056         e19c1c3 Kill off xref--display-history
139057         5698947 Keep the xref buffer visible until the user quits it explicitly
139058         e34fbde Change the default socket location for pinentry
139059         5f89658 Mention how to enable pinentry feature
139060         db51224 Sync with gnulib
139061         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
139062         2d8b2fd Restore point when writing semantic table to disk
139063         27d3430 Mention pinentry.el in epa manual
139064         5baa001 Fix Bug#22736
139065         7261355 Grammar fix in doc string
139066         d0f3b18 Naming fix for consistency
139067         74ec92d Prefer customized value for GnuPG executable
139068         ea0b604 Fix memory reservation on MS-Windows
139069         c5f72aa Update NextStep readme and add wish list.
139070         6de26a7 Report also result in `file-notify--test-event-handler'
139071         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
139072         1cb1268 Fix todo-mode item date editing bugs
139073         1e996cf Fix "[:upper:]" for non-ASCII characters
139074         896f993 Allow customizing the article mode cursor behavior
139075         24c1c1d Use pop-to-buffer-same-window in woman.el
139076         2a75f64 New filenotify test for bug#22736
139077         c9bccf7 Report critical battery errors
139078         d675db9 Make eww message toggling message clearer
139079         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
139080         fa8fd65 ; Improve character-folding entries in NEWS
139081         3722a69 Fix bugs in window resizing code
139082         289d5c6 Fix decoding DOS EOL in a unibyte buffer
139083         2abcb06 Correct c-parse-state cache manipulation error.
139084         14aec91 Take advantage of new GnuPG version check function
139085         e80c2a7 Make GnuPG version check robuster
139086         15a9464 Fix x-load-color-file pointer signedness
139087         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
139088         78ab6f1 Follow convention for greek letter constants.
139089         106b5bb Add Stefan-Boltzmann constant to calc units table.
139090         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
139091         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
139092         2d40f7d Fix soffice UserInstallation-URL for Windows
139093         b1a3ebe Fix display of <pre> elements
139094         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
139095         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
139097 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
139099         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
139101         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
139102           non-existing buffer.
139104 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139106         Mention the further asynchronousity
139108 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139110         Fix async TLS boot problem
139112         * src/process.c (wait_reading_process_output): Verify the boot
139113         of the correct process.
139115 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139117         Clean up forgotten text in manual
139119         * doc/lispref/display.texi (Defining Images): Remove example
139120         forgotten when making previous change.
139122 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139124         Clean up debugging code
139126         * src/process.c (Fmake_network_process): Remove debugging printf.
139127         (wait_for_socket_fds, wait_while_connecting)
139128         (wait_for_tls_negotiation): Remove newlines from messages.
139130 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139132         Fix merge conflicts in network-stream-tests.el
139134 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
139136         Port recent filevercmp addition to MS-Windows
139138         Reported by Andy Moreton in:
139139         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
139140         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
139141         (EXTRA_DIST): Add filevercmp.h.
139143 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139145         add_to_log expects Lisp parameters
139147 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139149         Mention sentinels in conjunction with :nowait t.
139151         * doc/lispref/processes.texi (Network Processes): Mention the
139152         recommended way of using sentinels with :nowait t.
139154 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139156         Mention in the doc strings that process functions may block
139158         (Fprocess_contact, Fprocess_datagram_address)
139159         (Fset_process_datagram_address, Fset_network_process_option)
139160         (Fprocess_send_region, Fprocess_send_string): Mention that the
139161         functions may block.
139162         (Fset_process_coding_system): Ditto.
139164 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139166         Add blocker warnings to the *Messages* buffer
139168         * src/process.c (wait_for_socket_fds): Add warning to the log.
139169         (wait_while_connecting): Ditto.
139170         (wait_for_tls_negotiation): Ditto.
139172 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
139174         Rework the image property getter/setters
139176         * doc/lispref/display.texi (Defining Images): Document the
139177         renamed `image-get/set-property' functions.
139179         * lisp/image.el (image--set-property): Rename from
139180         image-set-property.
139181         (image-property): Declare a setf form.
139182         (image-property): Rename from `image-get-property'.
139184 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
139186         Use Gnulib filevercmp for version comparison
139188         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
139189         * doc/lispref/strings.texi (Text Comparison):
139190         * etc/NEWS, src/fns.c:
139191         * test/src/fns-tests.el (fns-tests-string-version-lessp):
139192         Rename newly-introduced function to string-version-lessp, by
139193         analogy with strverscmp.
139194         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
139195         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
139196         * src/fns.c: Include <filevercmp.h>.
139197         (gather_number_from_string): Remove.
139198         (Fstring_version_lessp): Reimplement via filevercmp.
139200 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
139202         Add a function to delete URL cookies
139204         * doc/misc/url.texi (Cookies): Document
139205         url-cookie-delete-cookies.
139207         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
139209 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
139211         Avoid integer overflows in string-numeric-lessp
139213         * src/fns.c (Fstring_numeric_lessp): If we have an integer
139214         overflow, compare lexicographically.
139216 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
139218         Add the string-numeric-lessp function
139220         * doc/lispref/strings.texi (Text Comparison): Document
139221         `string-numerical-lessp'.
139223         * src/fns.c (Fstring_numeric_lessp): New function.
139224         (gather_number_from_string): Helper function for that function.
139226         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
139228 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
139230         Clarify levels of :nowait t.
139232         * doc/lispref/processes.texi (Network Processes): Mention
139233         levels of asynchronicity.
139235 2016-02-20  Alain Schneble  <a.s@realize.ch>
139237         Respect DNS timeouts
139239         * src/process.c (check_for_dns): If the async DNS request
139240         failed and the associated process is still in "connect" state,
139241         deactivate the process and set status to "failed".
139243 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
139245         Add a frame around the placeholder image in shr
139247         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
139248         around the image.
139250 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
139252         Use placeholder images in shr to avoid text moving around
139254         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
139255         from the HTML.
139256         (shr-tag-img): Ditto.
139257         (shr-string-number): New function.
139258         (shr-make-placeholder-image): Make placeholder images.
139259         (shr-tag-img): Insert them if we have SVG support.
139261 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
139263         Get explicit width/height + scale computations right
139265         * src/image.c (compute_image_size): :scale should also be
139266         taken into account when :width and :height are explicitly names.
139268 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
139270         New functions for getting and setting image properties
139272         * doc/lispref/display.texi (Defining Images): Document
139273         image-get/set-property.
139275         * lisp/image.el (image-set-property): New function.
139276         (image-get-property): Ditto.
139278 2016-02-19  Alan Mackenzie  <acm@muc.de>
139280         Await the final mouse event in C-h c and C-h k.
139282         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
139283         event, keep reading further events until a timeout occurs, to ensure we have
139284         the complete mouse event from the user.
139286 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
139288         Add a library for creating and manipulating SVG images
139290         * doc/lispref/display.texi (SVG Images): New section.
139292         * lisp/svg.el: New file.
139294 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
139296         Fix up tests for async TLS negotiation
139298 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
139300         Fix coding system setup
139302         * src/process.c (set_network_socket_coding_system): Pass in
139303         the host/service that's been computed already.
139305 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
139307         Reference `tramp-theme' in GNU ELPA.
139309         * doc/misc/tramp.texi (Frequently Asked Questions):
139310         Reference `tramp-theme' in GNU ELPA.
139312 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
139314         Verify the TLS connection asynchronously
139316         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
139317         function so that we can call it asynchronously.
139318         (Fgnutls_boot): Use it.
139320         * src/process.c (wait_reading_process_output): Verify the TLS
139321         negotiation.
139323 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
139325         Add column layout module to CSS property list
139327         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
139328         CSS Multi-column Layout Module.
139330 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
139332         Minor cleanup in CONTRIBUTE and test/README
139334         * CONTRIBUTE: Remove detailed explanation about testing; this
139335         is now in test/README.
139337         * test/README: Don't mention automated/ subdirectory.
139339 2016-02-15  Glenn Morris  <rgm@gnu.org>
139341         Provide 'term/name in lisp/term files.
139343         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
139344         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
139345         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
139346         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
139347         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
139348         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
139349         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
139350         For consistency, provide 'term/name in all files that don't already.
139352 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
139354         Deactivate the correct process
139356         * src/process.c (wait_reading_process_output): Deactivate the
139357         correct process on failure.
139359 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
139361         Implement asynch TLS negotiation
139363         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
139364         function.
139365         (emacs_gnutls_handshake): Use it.
139366         (emacs_gnutls_read): Just return instead of retrying the handshake.
139368         * src/process.c (finish_after_tls_connection): Factor out
139369         into its own function.
139370         (connect_network_socket): Use it.
139371         (wait_reading_process_output): Retry TLS handshakes.
139372         (wait_reading_process_output): Defer sentinel until TLS completes.
139374 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
139376         Simplify the DNS resolution loop a bit
139378         * src/process.c (wait_reading_process_output): Simplify the
139379         DNS resolution loop a bit.
139381 2016-02-15  Alain Schneble  <a.s@realize.ch>
139383         Loop over the process list instead of maintaining a separate list
139385         * src/process.c: Remove declaration/definition of dns_processes list.
139386         * src/process.c (wait_reading_process_output): Loop over all processes in
139387         Vprocess_alist instead of dns_processes, to check for completed DNS
139388         requests.
139390 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
139392         Allow setting the filter masks later
139394         * src/process.c (Fset_process_filter): Don't set the socket
139395         masks here, because we may not have a socket yet.
139396         (set_process_filter_masks): New function.
139397         (connect_network_socket): Set the filter masks here.
139399 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
139401         Remove debugging
139403 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
139405         Ensure we always free DNS resources when deleting a process
139407         * src/process.c (free_dns_request): Factor out into own function.
139408         (Fdelete_process): When deleting a process, free any DNS
139409         structures associated with it.
139410         (check_for_dns): Always free all DNS resources.
139412 2016-02-15  Alain Schneble  <a.s@realize.ch>
139414         Don't block in set-process-window-size
139416         * src/process.c (set-process-window-size): Explicitly return Qnil when
139417         called with network processes as set_window_size won't work anyway on
139418         socket fds.  As a welcome side effect, this makes the blocking
139419         wait_for_socket_fds call obsolete.
139421 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
139423         Do most of the coding system setup earlier
139425         * src/process.c (Fmake_network_process): Set the read/write
139426         coding systems here, so that special bindings work.
139427         (Fmake_network_process): Complete the coding system setup here.
139429 2016-02-15  John Wiegley  <johnw@newartisans.com>
139431         Merge from origin/emacs-25
139433         d4b93e1 Minor fixes in global-auto-composition-mode
139434         02b037b Allow arithmetic operators inside C++ template constructs.
139435         44b16f6 Avoid crashes in semi-malformed 'condition-case'
139436         652e5b4 Allow arithmetic operators inside C++ template constructs.
139437         d9ea795 Fix regression with 'recent-keys' and keyboard macros
139438         903603f Fix wording in a doc-view.el comment
139439         cf79616 ; Spelling fixes
139440         f8bf1b3 CONTRIBUTE cleanups and updates
139441         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
139442         1834ac7 Port to x86 GCC 4.3.1 and earlier
139443         8482949 Fix point movement under 'scroll-conservatively'
139444         c1313b5 Replace colon in file name (not legal on Windows)
139445         f7af26c Fix a typo in edt.texi
139446         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
139447         856cd94 Grep alias `all' shall not match parent directory
139449 2016-02-15  John Wiegley  <johnw@newartisans.com>
139451         Merge from origin/emacs-25
139453         dacde7e * etc/AUTHORS: Update the AUTHORS file
139454         478ca5d ; fix changelog entries
139455         2b7d006 ; make change-history-commit
139456         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
139457         47896c8 ; Improve commentary in insdel.c
139458         53ca1e1 Index tilde characters in names of backup files
139459         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
139460         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
139461         28bb214 Announce that the `C-x w' bindings are deprecated
139462         1c98f98 Suppress GNUstep hardening
139463         d82f24b Fix redisplay after a large insertion
139464         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
139465                 closed server"
139466         e8e3db0 ; Improve merge documentation in CONTRIBUTE
139467         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
139468         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
139469                 limitations.
139471 2016-02-15  John Wiegley  <johnw@newartisans.com>
139473         Merge from origin/emacs-25
139475         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
139476         afe7d1f Revert "Document EXIF image rotation"
139477         c6f377c Document OS X LANG default
139478         eb4a18c Set locale when run from OS X GUI
139479         456c0a3 make-docfile cleanup for I/O, etc.
139480         25ec995 Memory-management cleanup in make-docfile
139481         02d925e Kevin Gallagher has new email address
139482         4ef153b Improve doc strings of 'forward/backward-word-strictly'
139483         3ad05a0 Describe Makefile test targets in test/README
139485 2016-02-15  John Wiegley  <johnw@newartisans.com>
139487         Merge from origin/emacs-25
139489         10b8ed2 Document EXIF image rotation
139490         0f60049 Support integer image rotation and respect EXIF rotations
139491         7dd45b6 Quote table names for postgres listings (sql-mode)
139492         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
139493                 `backward' optional.
139494         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
139495                 temporary-goal-column.
139496         0a289d3 Suppress ACL ops if configured with --disable-acl
139497         1a9dbf5 Mention web bugs
139498         fa55da2 Make mm-html-blocked-images default to "" again
139500 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
139502         Protect against initial handshake failures
139504         * src/process.c (connect_network_socket): Mark the connection
139505         as failed if the handshake didn't succeed yet.  This should be
139506         reworked later.
139508 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
139510         Call the network security manager after doing TLS negotiation
139512         * lisp/net/network-stream.el (network-stream-open-tls):
139513         Postpone NSM verification when running async.
139515         * src/process.c (Fset_process_filter): This function doesn't
139516         need to wait.
139517         (connect_network_socket): Set the process status to "run" only
139518         after TLS negotiation.
139519         (wait_for_socket_fds): Take a name parameter for more debugging.
139520         (wait_reading_process_output): Don't change status to "run"
139521         unless TLS negotiation has finished.
139522         (send_process): Wait for the process here instead of
139523         send_process_string.
139524         (connect_network_socket): Call the network security manager.
139526 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
139528         Remove some #ifdefs and update documentation
139530         * doc/lispref/processes.texi (Network Processes): Remove
139531         mention of `dns'.
139533         * lisp/net/network-stream.el (open-network-stream): Remove
139534         mention of `dns'.
139536         * src/process.c (Fset_process_filter)
139537         (Fset_process_window_size, Fprocess_contact)
139538         (Fprocess_datagram_address, Fset_process_datagram_address)
139539         (Fset_network_process_option, Fprocess_send_region)
139540         (Fprocess_send_string, Fset_process_coding_system)
139541         (Fset_process_filter_multibyte): Remove the #ifdef
139542         HAVE_GETADDRINFO_A checks.
139543         (Fprocess_send_string): Wait for TLS negotiation.
139544         (wait_for_tls_negotiation): New function.
139545         (send_process): Remove the TLS boot check.
139547         * src/process.c (Fmake_network_process): Ditto.
139549 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
139551         Use :nowait t in url-gw
139553         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
139554         since we're not differentiating.
139556 2016-02-14  Alain Schneble  <a.s@realize.ch>
139558         Add blockers to process functions
139560         * src/process.c (set-process-filter, set-process-window-size,
139561         process-contact, process-datagram-address, set-process-datagram-address,
139562         set-network-process-option): Make functions wait (block) on network
139563         process until pending DNS requests have been processed and associated
139564         socket initialized.
139566         * src/process.c (process-send-region, process-send-string,
139567         process-send-eof): Make functions wait (block) while network process is
139568         in connect state.
139570 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
139572         Add fragmentation module to CSS property list
139574         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
139575         CSS Fragmentation Module Level 3.
139577 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
139579         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
139581 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
139583         New function seq-map-indexed
139585         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
139586         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
139588 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139590         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
139592 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139594         Fix problem with wrong encoding of non-ASCII message bodies
139596         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
139597         multibyteness before encoding the data.
139599 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139601         Remove codepage setup code from mm-util
139603         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
139604         (mm-codepage-iso-8859-list): Remove.
139605         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
139606         (mm-setup-codepage-ibm): Remove.
139607         (mm-charset-eval-alist): Remove the code pages from the
139608         default value.
139610 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139612         Remove compat code for older Emacsen
139614         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
139615         XEmacs compat code.
139617         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
139618         unused compat function.
139619         (gnus-sync-json-plist-p): Ditto.
139621         * lisp/gnus/message.el (message-default-charset): Make obsolete.
139622         (message-info): Remove compat code.
139623         (message-setup-fill-variables): Remove kludge needed earlier
139624         to not overwrite `normal-auto-fill-function'.
139625         (message-split-line): Remove compat code.
139627         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
139628         compat code.
139630 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139632         Remove some compat functions from gmm-utils.el
139634         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
139635         compat code.
139636         (gmm-image-search-load-path): Remove.
139637         (gmm-image-load-path-for-library): Remove.
139639 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139641         Remove the gmm-lazy and nnmail-lazy compat widgets
139643         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
139645         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
139647 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139649         Clean up nnimap-request-move-article slightly
139651         * lisp/gnus/nnheader.el (subr-x): Require.
139653         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
139654         the code slightly.
139656 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139658         Use open-network-stream instead of open-protocol-stream
139660         * lisp/gnus/nnimap.el: Use open-network-stream instead of
139661         open-protocol-stream.
139663         * lisp/gnus/nntp.el: Ditto.
139665         * lisp/gnus/pop3.el: Ditto.
139667         * lisp/net/sieve-manage.el: Ditto.
139669         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
139671 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139673         Remove compat code that relies on (featurep 'mule)
139675         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
139676         compat code.
139678         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
139679         Remove compat code.
139681         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
139682         Remove compat code.
139684         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
139685         Remove compat code.
139686         (mm-w3m-standalone-supports-m17n-p): Ditto.
139688 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139690         Remove compat functions from starttls.el
139692         * lisp/net/starttls.el
139693         (starttls-set-process-query-on-exit-flag): Remove.
139695 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139697         Remove compat functions from smime.el
139699         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
139700         (smime-make-temp-file): Remove.
139702 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139704         Remove compat code from smiley
139706         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
139708 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139710         Remove compat code from rfc2047
139712         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
139713         compat code.
139714         (rfc2047-decode-string): Ditto.
139716 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139718         Remove compat function from pop3
139720         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
139722 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139724         Remove compat code in Gnus backends
139726         * lisp/gnus/nndiary.el (nndiary-error): Remove.
139728         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
139730         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
139732         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
139734         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
139736 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139738         Remove compat code from some mml files
139740         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
139741         Remove compat code.
139743         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
139744         Always use `mail-extract-address-components', since this isn't
139745         time critical.
139746         (mml-smime-get-dns-cert): Ditto.
139748         * lisp/gnus/mml.el (mml-preview): Remove compat code.
139750 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139752         Remove compat code and compat functions from mm-util.el
139754         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
139755         compat code.
139756         (mm-coding-system-priorities)
139757         (mm-mule-charset-to-mime-charset, mm-charset-after)
139758         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
139759         (mm-detect-coding-region): Define unconditionally.
139760         (mm-detect-mime-charset-region): Ditto.
139761         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
139762         (coding-system-name)
139763         (find-file-coding-system-for-read-from-filename)
139764         (find-operation-coding-system): Remove aliases.
139766 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139768         Remove some compat code from mm-*.el
139770         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
139772         * lisp/gnus/mm-decode.el (mm-tmp-directory)
139773         (mm-valid-image-format-p): Remove compat code.
139775         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
139776         "Connection" "Close" workaround for older Emacsen.
139778 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139780         Remove compat code and functions from message.el
139782         * lisp/gnus/message.el (message-send-mail-function): Remove
139783         compat code.
139784         (message-dont-reply-to-names, message-mode)
139785         (message-setup-fill-variables, message-fill-paragraph)
139786         (message-remove-blank-cited-lines, message-make-from)
139787         (message-forward-rmail-make-body, message-tool-bar-gnome)
139788         (message-tab): Remove compat code.
139789         (message-completion-in-region): Remove.
139790         (message-read-from-minibuffer): Remove compat code.
139792 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139794         Declare rfc1843 instead of autoloading
139796         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
139797         instead of autoload.
139799 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
139801         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
139803         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
139804         autoloaded correctly.  (Bug#22613)
139806 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
139808         Fix network-stream-tests.el for MS-Windows
139810         * test/lisp/net/network-stream-tests.el
139811         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
139812         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
139814 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
139816         Remove some Message compat functions
139818         * lisp/gnus/message.el (message-kill-all-overlays): Define
139819         unconditionally.
139820         (message-window-inside-pixel-edges): Remove.
139821         (mail-dont-reply-to): Remove.
139823 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139825         Remove some Gnus compat code
139827         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
139828         (gnus-mm-display-part): Ditto.
139830         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
139831         compat code.
139833 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139835         Sort groups before inserting them into the group buffer
139837         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
139838         Sort groups before inserting them.
139840 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139842         Make "unseen" tracking work again in Gnus
139844         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
139845         tracking work again.
139847 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139849         Remove Gnus compat functions defined in gnus.el
139851         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
139852         (gnus-extent-start-open, gnus-character-to-event)
139853         (gnus-assq-delete-all, gnus-add-text-properties)
139854         (gnus-put-text-property, gnus-key-press-event-p):
139856 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139858         Remove compat code from gnus-uu and win
139860         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
139861         compat code.
139863         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
139865         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
139867 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139869         Remove several gnus-util compat functions
139871         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
139872         (gnus-read-shell-command): Remove.
139873         (gnus-match-substitute-replacement): Remove.
139874         (gnus-string-match-p): Remove.
139875         (gnus-string-prefix-p): Remove.
139877 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139879         Remove the gnus-merge alias
139881         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
139883 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139885         Remove the gnus-union alias
139887         * lisp/gnus/gnus-util.el (gnus-union): Remove.
139889 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139891         Remove the gnus-delete-alist alias
139893         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
139894         (gnus-delete-alist): Remove.
139896 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139898         Remove the gnus-float-time alias
139900         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
139901         compat code.
139902         (gnus-float-time): Remove.
139904 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139906         Remove compat code from gnus-srvr, start and sum
139908         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
139909         compat code.
139911         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
139912         Remove compat code.
139914         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
139915         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
139916         (gnus-recenter)
139917         (gnus-summary-limit-strange-charsets-predicate)
139918         (gnus-summary-show-thread): Remove compat code.
139920 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139922         Remove compat code from gnus-spec.el
139924         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
139925         (gnus-balloon-face-function): Remove compat code.
139927 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139929         Fix compat change in last check-in
139931         * lisp/gnus/gnus-group.el
139932         (gnus-group-name-charset-group-alist): `find-coding-system'
139933         doesn't exist in Emacs.
139935 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139937         Always use url-queue
139939         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
139940         Always use url-queue.
139942 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139944         Remove compat functions from gnus-html.el
139946         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
139948 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139950         Remove compat code from gnus-group.el
139952         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
139953         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
139955 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139957         Define gnus-diary-kill-entire-line unconditionally
139959         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
139960         Define unconditionally.
139962 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139964         Remove compat code from gnus-cache and gnus-bookmark
139966         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
139968         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
139969         Remove compat code.
139971 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139973         Remove compat code from gnus-art.el
139975         * lisp/gnus/gnus-art.el (gnus-article-prepare)
139976         (gnus-mime-copy-part, gnus-output-to-file)
139977         (gnus-article-reply-with-original)
139978         (gnus-button-handle-apropos-variable)
139979         (gnus-button-handle-apropos-documentation):
139981 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139983         Remove compat code from gnus-agent.el
139985         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
139986         Remove compat code.
139988 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139990         Rewrite gmm-labels usage to use cl-labels
139992         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
139993         (gmm-labels): Remove.
139995 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
139997         Remove compat code from canlock.el
139999         * lisp/gnus/canlock.el (defmacro): Remove
140001 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
140003         Remove compat code from auth-source
140005         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
140006         Remove compat code.
140008 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
140010         Fix gnus-group.el compilation warnings about unprefixed variables
140012         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
140013         compilation warnings by passing in the dynamic variables as
140014         explicit lexical parameters to `eval'.
140016 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
140018         Fix the :tracker slot name
140020         * lisp/gnus/registry.el (registry-lookup-secondary): The
140021         `tracker' slot is called `tracker', not `:tracker'.
140023 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
140025         Fix compilation warnings in gnus-art.el
140027         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
140028         (gnus-article-hide): Avoid compilation warnings.
140030 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
140032         Fix compilation warning in gnus-score.el
140034         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
140035         compiler.
140037 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
140039         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
140041         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
140043         This makes nnimap groups not be activated.
140045 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
140047         Fix encoding problem introduced by previous patch series
140049         * lisp/mail/rfc2047.el: Ditto (bug#22648).
140051         * lisp/mail/rfc2231.el: Fix problem created by the
140052         mm-replace-in-string conversion.
140054 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
140056         Revert "Avoid defvarring prefix-less variables"
140058         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
140060         The defvars are needed if we're doing lexical-binding
140062 2016-02-12  Glenn Morris  <rgm@gnu.org>
140064         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
140065         Make it pass.
140067         * test/lisp/url/url-auth-tests.el
140068         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
140070 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140072         Finish up cl-defmethoding registry,el
140074         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
140076 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140078         Revert the gnus-replace-in-string change, fix arguments, reapply
140080 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140082         Silence more message.el compilation warnings
140084         * lisp/gnus/message.el (message-generate-headers): Don't use
140085         variable values directly to get the header values, because
140086         that breaks with lexical binding (without unprefixed defvars).
140088 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140090         Fix various compilation warnings in message.el
140092         * lisp/gnus/message.el (message-fix-before-sending): Use
140093         read-multiple-choice instead of gnus-multiple-choice.
140094         (mm-util): Require.
140095         (rfc2047): Require.
140096         (message-remove-blank-cited-lines): Use message instead of
140097         gnus-message.
140098         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
140100 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140102         Silence compilation warning in mm-view
140104         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
140105         compilation warning.
140107 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140109         Fix epg-related compilation warnings in mml-sec
140111         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
140112         library.
140114 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140116         rmail-dont-reply-to-names is obsolete
140118         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
140119         the obsolete `rmail-dont-reply-to-names' variable.
140121 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140123         Partially revert the defmethod->cl-defmethod change in registry.el
140125         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
140126         since cl-defmethod doesn't work with :after.
140127         (initialize-instance): Ditto, but with :before.
140129 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140131         Avoid obsolete function in plstore
140133         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
140134         instead of the obsolete epg-context-set-armor.
140136 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140138         Use cl-defmethod in registry.el
140140         * lisp/gnus/registry.el: Use cl-defmethod instead of the
140141         obsolete defmethod.
140143 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140145         Make sieve-manage require sasl
140147         * lisp/net/sieve-manage.el: Fix compilation warning by
140148         requiring sasl.
140150 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140152         Avoid defvarring prefix-less variable
140154         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
140156 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140158         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
140160 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140162         Don't use the obsolete char-valid-p function
140164         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
140165         obsolete char-valid-p function.
140167 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140169         Fix missed translation in a previous commit
140171         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
140172         translation of mailcap-delete-duplicates.
140174 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140176         Avoid using mm-make-temp-file
140178         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
140180         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
140182         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
140184 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140186         Fix compilation warning in gnus-start
140188         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
140189         mm-make-temp-file.
140191 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140193         Avoid the obsoleted defmethod
140195         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
140196         defmethod.
140198 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140200         Avoid defvarring prefix-less variables
140202         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
140203         don't need to `defvar' the short variables to allow `eval' to
140204         use them.
140206 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140208         nnweb doesn't need unibyte buffers
140210         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
140211         (nnweb-read-overview, nnweb-request-article)
140212         (nnweb-google-reference): Unibyte buffers are not needed here.
140214 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140216         Encode before sending from nnspool
140218         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
140219         before sending it to the news server.
140221 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140223         nnrss buffers don't have to be unibyte
140225         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
140226         to be unibyte just to receive data, I think.
140228 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140230         Don't use mm-with-unibyte-current-buffer in mml2015
140232         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
140233         mm-with-unibyte-current-buffer.
140235 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140237         Don't use mm-with-unibyte-current in mml1991
140239         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
140240         mm-with-unibyte-current.
140242 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140244         Don't use mm-with-unibyte-current in mml1991
140246         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
140247         mm-with-unibyte-current.
140249 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140251         Don't use mm-with-unibyte-buffer in utf7
140253         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
140254         mm-with-unibyte-buffer.
140256 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140258         Remove XEmacs compat code from Gnus helper libraries
140260         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
140262         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
140264         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
140266         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
140268 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140270         Remove XEmacs compat code from Gnus backends
140272         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
140273         (mm-inline-image): Rename from mm-inline-image-emacs.
140275         * lisp/gnus/mml.el: Remove XEmacs compat code.
140277         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
140279         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
140280         XEmacs compat code.
140282         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
140284         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
140285         XEmacs compat code.
140287         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
140289         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
140291         * lisp/gnus/nntp.el: Remove XEmacs compat code.
140293 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140295         Remove XEmacs compat functions from mm-util.el
140297         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
140298         (mm-decode-coding-string, mm-encode-coding-string)
140299         (mm-decode-coding-region, mm-encode-coding-region): Remove.
140300         (mm-string-to-multibyte): Remove.
140301         (mm-char-or-char-int-p): Remove.
140302         (mm-ucs-to-char): Remove compat versions of the function.
140303         (mm-read-coding-system): Remove.
140304         (mm-coding-system-p): Remove compat code.
140305         (mm-enrich-utf-8-by-mule-ucs): Remove.
140306         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
140307         (mm-delete-duplicates): Remove.
140308         (mm-multibyte-p): Remove compat versions.
140309         (mm-xemacs-find-mime-charset-1): Remove.
140310         (mm-xemacs-find-mime-charset): Remove.
140311         (mm-make-temp-file): Made obsolete.
140312         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
140314 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
140316         Remove Message and mm-decode XEmacs compat code
140318         * lisp/gnus/message.el: Remove XEmacs compat code.
140320         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
140322         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
140324 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140326         Remove some XEmacs compat code from message.el
140328         * lisp/gnus/message.el: Remove some XEmacs compat code.
140330 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140332         Remove XEmacs compat code from ietf-drums.el
140334         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
140335         XEmacs compat.
140337 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140339         Remove XEmacs compat code from gravatar.el
140341         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
140342         gravatar.el.
140344 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140346         Remove more XEmacs compat code from Gnus
140348         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
140349         (gnus-timer--function): Remove.
140351         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
140352         19.2 compat.
140354         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
140356 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140358         Remove more XEmacs compat functions from gnus-util.el
140360         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
140361         (gnus-get-display-table): Remove.
140362         (gnus-format-message): Remove.
140364 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140366         Remove more XEmacs compat functions from Gnus
140368         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
140369         (gnus-previous-char-property-change): Remove.
140370         (gnus-graphic-display-p): Remove.
140371         (gnus-select-frame-set-input-focus): Remove.
140373 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140375         Remove more XEmacs compat code from gnus-util
140377         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
140378         all its usages).
140379         (gnus-invisible-p): Remove.
140381 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140383         Remove gnus-make-local-hook
140385         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
140386         all its usages).
140388 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140390         gnus-replace-in-string -> replace-regexp-in-string
140392         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
140393         obsolete.  Transform all usages of it into
140394         replace-regexp-in-string.
140396         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
140398 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140400         Remove Gnus XEmacs compat
140402         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
140403         about code that doesn't work in XEmacs.
140405         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
140407         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
140409 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140411         Remove compat functions in gnus-spec.el
140413         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
140414         (gnus-substring-function): Remove.
140415         (gnus-use-correct-string-widths): Remove.
140416         (gnus-make-format-preserve-properties): Remove.
140417         (gnus-xmas-format): Remove.
140419         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
140421 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140423         Remove Gnus XEmacs compat functions
140425         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
140427         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
140429         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
140431 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140433         Remove Gnus XEmacs compatibility
140435         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
140436         XEmacs compat.
140438         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
140440         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
140442         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
140443         XEmacs compat.
140445         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
140447         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
140449         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
140451         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
140453 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140455         Don't use image-map if it isn't defined
140457         * lisp/net/shr.el (shr-image-map): Only use image-map as a
140458         parent if it's defined (bug#22614).
140460 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140462         Check for MagickAutoOrientImage
140464         * configure.ac: Check for MagickAutoOrientImage.
140466         * src/image.c (imagemagick_load_image): Don't use
140467         MagickAutoOrientImage unless it's available.
140469 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
140471         Document EXIF image rotation
140473         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
140475 2016-02-10  Dima Kogan  <dima@secretsauce.net>
140477         Support integer image rotation and respect EXIF rotations
140479         * src/image.c (imagemagick_load_image): Allow integer rotations in
140480         addition to floating point rotations (bug#22591).
140481         * src/image.c (imagemagick_load_image): Images that have an
140482         orientation given in EXIF and have no explicit :rotation tag are now
140483         pre-rotated.  All information such as width/height is reported for the
140484         rotated image.
140486 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
140488         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
140490 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140492         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
140494 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140496         Remove compat code from gnus-bookmark.el
140498         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
140499         (gnus-bookmark-remove-properties): Remove.
140501 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140503         Remove XEmacs compat code from gnus-a*.el
140505         * lisp/gnus/gnus-agent.el: Remove compat code.
140507         * lisp/gnus/gnus-art.el: Remove compat code.
140509         * lisp/gnus/gnus-async.el: Remove compat code.
140511 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140513         Remove gmm compat functions
140515         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
140516         (gmm-write-region): Remove.
140517         (gmm-called-interactively-p): Remove.
140519 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140521         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
140523 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140525         Remove compat code from compface.el
140527         * lisp/image/compface.el: Remove XEmacs compat code throughout.
140529 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140531         Remove the now empty gnus-ems.el and references to it
140533 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140535         Remove Gnus compat names for mouse bindings
140537         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
140538         (gnus-down-mouse-2): Remove.
140539         (gnus-down-mouse-3): Remove.
140541 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140543         Drop Gnus compat functions
140545         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
140547         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
140549         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
140551 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140553         Get rid of gnus-ems-redefine
140555         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
140557 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140559         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
140561 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140563         Remove Gnus compat code
140565         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
140566         transitional code from ten years ago.
140568 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140570         Allow interactively scaling past :max-width etc
140572         * lisp/image.el (image--current-scaling)
140573         (image--image-without-parameters): New functions.
140574         (image--change-size): Use them to allow changing the size of a
140575         image even if it has :width/:max-width (etc.) already set.
140577 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140579         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
140581 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140583         Allow accessing the image commands via shr
140585         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
140586         accessing the image commands.
140588         * lisp/net/shr.el (shr-image-map): New map used for images.
140589         (shr-urlify): Don't overwrite image maps when applying URL maps.
140591 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140593         Use a sparse image keymap
140595         * lisp/image.el (image-map): Use a sparse keymap.
140597 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140599         Put a keymap on images created with insert-image and friends
140601         * lisp/image.el (image-save): New command.
140602         (image-rotate): Ditto.
140603         (image-map): New keymap.
140604         (insert-image): Put the image-map on all images.
140605         (insert-sliced-image): Ditto.
140606         * doc/lispref/display.texi (Showing Images): Document the
140607         image map.
140609 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140611         Fix some folding issues in read-multiple-choice
140613         * lisp/subr.el (read-multiple-choice): Fix folding when you
140614         have many items.
140616 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140618         Fix typo in last checkin
140620 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140622         Remove Gnus compat functions
140624         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
140625         (gnus-region-active-p, gnus-select-lowest-window)
140626         (gnus-summary-display-table, gnus-max-width-function): Remove
140627         compat functions.
140629 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140631         Move non-compat Gnus functions to gnus-util.el
140633         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
140634         (gnus-create-image, gnus-image-type-available-p): Move here
140635         from gnus-ems.el, since these aren't compat functions.
140637 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
140639         Omit valloc decl if redundant
140641         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
140642         to pacify --enable-gcc-warnings.
140644 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
140646         Restore the calloc family.
140648         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
140649         They were lost in a4817d8 but calloc is still (marginally) used in
140650         code statically liked with emacs, so hybrid_calloc is needed.
140651         Also, in the non-hybrid case, we can't get rid of calloc anyway as
140652         other libraries liked with emacs may need it.
140653         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
140655 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
140657         Remove some Gnus compat functions
140659         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
140660         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
140661         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
140663 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
140665         -
140667         -
140669 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
140671         Merge from origin/emacs-25
140673         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
140674         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
140675         51c77a2 Display non-ASCII group names better in prompts
140676         f93d669 Default to gpg2 instead of gpg
140678 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
140680         Merge from origin/emacs-25
140682         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
140683         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
140684         3db6adb * lisp/isearch.el (search-default-mode)
140685         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
140686         c77ffc8 Use monitor's resolution for positioning tooltips
140687         49e5749 Fix file-notify-test on MS-Windows
140688         be1d874 Fix issues found by auditing w32notify code
140689         87ae218 Extend etags Ruby support for accessors
140690         aa35257 Update publicsuffix.txt.
140691         6816bff Ensure that Gnus dribble handling allows removing entries
140692         691feae Be consistent when using encoded strings in nnimap data
140693         3ed423b Display the decoded Gnus group name
140694         5428b5b Use completion-ignore-case instead of defining command
140696 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
140698         Merge from origin/emacs-25
140700         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
140701         d333716 ; * etc/NEWS: Expand news entry for scss-mode
140702         c32c16f ; Better document changes in ls-lisp default behavior
140703         dc6eed2 Fix doc string of tls-program
140705 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
140707         Merge from origin/emacs-25
140709         2c117fc * etc/NEWS: Document new mpc.el features
140710         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
140711         9dfece1 Correctly fontify C++ initializations which "look like" functions.
140712         4485222 Improve newsticker-treeview-selection-face
140713         4236944 Minor fix in tagging Ruby accessors by etags
140714         35fc77d Spelling fixes
140715         3dda110 Remove 'def X' from the example
140717 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
140719         Fix network-stream-tests on MS-Windows
140721         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
140722         Skip if local sockets are not supported.
140724 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
140726         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
140728 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
140730         Disable 'timer-list'
140732         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
140733         command.
140735 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
140737         Avoid aligned_alloc static/extern collision
140739         * src/alloc.c (aligned_alloc): Define to private name when a
140740         static function, to avoid collision with lisp.h extern decl.
140741         Reported by John Yates in:
140742         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
140744 2016-02-08  David Edmondson  <dme@dme.org>
140746         src/process.c Correctly convert AF_INET6 addresses
140748         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
140749         converted to a list of 16 bit quantities by
140750         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
140751         same scheme rather than expecting a (longer) list of 8 bit
140752         quantities.
140754 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
140756         Make `message-beginning-of-line' aware of folded headers
140758         * lisp/gnus/message.el (message-beginning-of-header): New function which
140759         moves point to the beginning of a mail header.  The function is aware of
140760         folded headers and with non-nil argument looks for the true beginning of
140761         a header while with nil argument moves to the indented text of header's
140762         value.
140763         (message-beginning-of-line): Function is now aware of folded headers and
140764         either moves point to the indentation of a header or, in visual-line-mode,
140765         searches for the beginning of the header.
140767 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
140769         Optimize ‘point in message header’ check
140771         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
140772         regular expression matches with a single bound string match thus
140773         reducing amount of work the function is doing.
140775 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140777         Make the `R' command get the correct relative <img>s
140779         * lisp/net/eww.el (eww-readable): Preserve the base URL so
140780         that image expansions are fetched from the right place (bug#22605).
140782 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140784         Add a mode to list and cancel timers
140786         * doc/lispref/os.texi (Timers): Menton `timer-list'.
140788         * lisp/emacs-lisp/timer-list.el: New file.
140790 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140792         Add new commands to allow changing the size of images
140794         * lisp/image.el (image-increase-size, image-decrease-size):
140795         New commands.
140796         (image-change-size): New function.
140798 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140800         Allow the image scale to be a floating point number
140802         * src/image.c (compute_image_size): The scale can be a
140803         floating point number.
140805 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140807         Add an IPv6 test
140809         * test/lisp/net/network-stream-tests.el
140810         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
140812 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140814         Use gnutls-serv instead of openssh
140816         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
140817         gnutls-serv instead of openssh.
140819 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140821         Skip TLS tests if we don't have openssl
140823         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
140824         TLS tests if we don't have openssl and GnuTLS.
140826 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140828         Add an IPv6 test
140830         * test/lisp/net/network-stream-tests.el
140831         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
140833 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
140835         Use gnutls-serv instead of openssh
140837         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
140838         gnutls-serv instead of openssh.
140840 2016-02-08  Daniel Colascione  <dancol@dancol.org>
140842         Performance improvements for vc-hg
140844         Teach vc-hg how to read some Mercurial internal data structures,
140845         allowing us to avoid the need to run hg status -A, which is very slow
140846         for large repositories.  Fall back to running hg if anything looks
140847         funny.  vc-hg now puts the _working directory_ revision in the
140848         modeline instead of the file revision, which greatly improves
140849         performance and which allows us to again skip running hg in the case
140850         that we have an active bookmark.
140852         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
140853         (vc-hg-symbolic-revision-styles)
140854         (vc-hg-use-file-version-for-mode-line-version)
140855         (vc-hg-parse-hg-data-structures): New user preferences
140856         (vc-hg--active-bookmark-internal, vc-hg--run-log)
140857         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
140858         (vc-hg--read-u8, vc-hg--read-u32-be)
140859         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
140860         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
140861         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
140862         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
140863         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
140864         (vc-hg--ignore-patterns-valid-p)
140865         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
140866         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
140867         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
140868         (vc-hg-state-fast): New functions.
140869         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
140870         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
140871         (vc-hg--dirstate-scan-cache): New internal variables.
140872         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
140873         before updating modeline.
140875 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140877         Skip TLS tests if we don't have openssl
140879         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
140880         TLS tests if we don't have openssl and GnuTLS.
140882 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140884         Automatically scale images up on high-density screens
140886         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
140887         (Defining Images): Mention image-scaling-factor.
140889         * lisp/image.el (image-compute-scaling-factor): New function
140890         (bug#22172).
140891         (create-image): Use it.
140892         (image-scaling-factor): New variable.
140894         * src/image.c (compute_image_size): Take :scale into account.
140896 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140898         Ensure progress when fetching from the queue
140900         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
140901         that we have progress when fetching queued requests (bug#22576).
140903 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140905         Make mail-extract-address-components return the user name more
140907         * lisp/mail/mail-extr.el (mail-extract-address-components):
140908         Return the name even if it's the same as the mailbox name (if
140909         `mail-extr-ignore-single-names' isn't set) (bug#22594).
140911 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140913         Message no longer warns about unknown top level domains
140915 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
140917         Add tests for url-auth
140919         * test/lisp/url/url-auth-tests.el: New file.
140921 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140923         Add a TLS connection test
140925         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
140926         a TLS connection test.
140928 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140930         Add more network tests
140932         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
140933         New test.
140935 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140937         Add network tests
140939         * test/lisp/net/network-stream-tests.el: New suite of network tests.
140941 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140943         Add a TLS connection test
140945         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
140946         a TLS connection test.
140948 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140950         Add more network tests
140952         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
140953         New test.
140955 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140957         Add network tests
140959         * test/lisp/net/network-stream-tests.el: New suite of network tests.
140961 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
140963         Allow various Gnus and Message address variables to be functions
140965         * doc/misc/gnus.texi (To From Newsgroups):
140966         gnus-ignored-from-addresses can be a function.
140968         * doc/misc/message.texi (Wide Reply):
140969         message-dont-reply-to-names can be a function.
140971         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
140972         message-alternative-emails can be a function.
140974         * lisp/gnus/gnus-notifications.el (gnus-notifications):
140975         message-alternative-emails can be a function (bug#22315).
140977         * lisp/gnus/gnus-sum.el
140978         (gnus-summary-from-or-to-or-newsgroups):
140979         gnus-ignored-from-addresses can be a function (bug#22315).
140981 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
140983         Fix typo in Gnus regexp
140985         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
140986         typo in last change to this regexp (bug#22592).
140988 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
140990         Port to FreeBSD x86
140992         Reported by Herbert J. Skuhra in:
140993         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
140994         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
140995         since malloc always returns a multiple of 8 in FreeBSD.
140997 2016-02-07  Alan Mackenzie  <acm@muc.de>
140999         On leaving CC Mode, clean up by removing character properties.
141001         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
141002         all instances of the text properties/extents category, syntax-table,
141003         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
141005 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
141007         message-valid-fqdn-regexp no longer exists
141009         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
141010         the no-longer-existing message-valid-fqdn-regexp variable.
141012 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
141014         Remove message-valid-fqdn-regexp, since it changes too much now
141016         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
141017         (message-bogus-recipient-p): Don't use it any more.
141018         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
141020 2016-02-06  Paul van der Walt  <paul@denknerd.org>
141022         Match "Re :" as a "Re:" prefix
141024         * lisp/gnus/message.el (message-subject-re-regexp): Also match
141025         "Re :" as a "Re:" prefix (commonly used in France).
141027 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
141029         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
141031         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
141033 2016-02-06  David Edmondson  <dme@dme.org>
141035         src/process.c Correctly convert AF_INET6 addresses
141037         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
141038         converted to a list of 16 bit quantities by
141039         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
141040         same scheme rather than expecting a (longer) list of 8 bit
141041         quantities.
141043 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
141045         Search for host/port combinations in auth-source on OS X
141047         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
141048         Search for all host/port (or protocol) combinations for a match in
141049         the OS X keychain.
141051 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
141053         Remove nonsensical setting of gnus-newsgroup-unseen
141055         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
141056         setting of gnus-newsgroup-unseen.
141058 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
141060         Use underline on all terminals that support it
141062         * lisp/subr.el (read-multiple-choice): Use
141063         display-supports-face-attributes-p instead of
141064         display-graphic-p to determine whether we can use underlining.
141066 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
141068         Make the nsm query say what it did after the user interaction
141070         * lisp/net/nsm.el (nsm-query): Issue a message about
141071         aborting/accepting messages (suggested by N. Jackson)
141072         (bug#22531).
141074 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
141076         Omit XLI (init) == 0 optimization in make-vector
141078         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
141079         == 0) case, as this optimization is probably not worth the hassle.
141080         Just for the record, the test for that case could have been
141081         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
141082         assuming the typical platform with no padding bits and where
141083         conversion to int omits the most significant bits.
141085 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
141087         * autogen.sh: Port to dash (Bug#22556).
141089 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
141091         Minor cleanup for Tramp "doas".
141093         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
141095         * etc/NEWS: Add Tramp connection method "doas".
141097         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
141098         Add `tramp-remote-shell-args'.
141100 2016-02-05  Xi Lu  <lx@shellcodes.org>
141102         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
141104         (tramp-default-user-alist): Add rule for "doas".
141105         (top): Completion function for "doas" is
141106         `tramp-completion-function-alist-su'.
141108 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141110         Restore the window configuration
141112         * lisp/net/nsm.el (nsm-query-user): Restore the window
141113         configuration (bug#22532).
141115 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141117         Use an X popup in read-multiple-choice if running from a mouse command
141119         * lisp/subr.el (read-multiple-choice): Use an X popup if
141120         called from a mouse action (bug#19368).
141122 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141124         Display cursor in echo area when prompting
141126         * lisp/subr.el (read-multiple-choice): Display the cursor in
141127         the echo area when prompting (bug#19368).
141129 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141131         Make NSM prompting clearer
141133         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
141134         to prompt in a nicer way (bug#19368).
141136 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141138         Underline read-multiple-choice-face
141140         * lisp/faces.el (read-multiple-choice-face): Also underline
141141         the choice.
141143 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141145         Make url.el use async DNS
141147         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
141149         * src/process.c (syms_of_process): Add a `dns' subfeature for
141150         make-network-process.
141152 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141154         Only do async DNS if requested with :nowait 'dns
141156         * doc/lispref/processes.texi (Network Processes): Mention the
141157         dns value of :nowait.
141159         * src/process.c (Fmake_network_process): Only do async DNS if
141160         :nowait is `dns'.
141162 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141164         Add sanity check for checking async DNS
141166         * src/process.c (check_for_dns): Disregard processes that have
141167         already been killed.
141169 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141171         Make the read-multiple-choice prompt a bit prettier
141173         * doc/lispref/commands.texi (Reading One Event): Mention
141174         read-multiple-choice-face.
141176         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
141177         prettier.
141179 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
141181         Prefer memcpy and memset to doing it by hand
141183         * src/alloc.c (Fmake_vector):
141184         * src/ccl.c (setup_ccl_program):
141185         Use memset to clear array.
141186         * src/alloc.c (Fvector, Fmake_byte_code):
141187         * src/charset.c (Fdefine_charset_internal):
141188         Use memcpy to copy array.
141190 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
141192         Do not ignore redirections of 301, 302 and 307 status codes
141194         The current version of HTTP/1.1 (RFC 7231) no longer requires
141195         confirmation on 301, 302 or 307 status codes, therefore we do not have
141196         to ignore redirects for other requests than GET and HEAD.
141198         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
141199         and 307 redirects for other requests than GET and HEAD.
141201 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
141203         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
141205 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
141207         Simplify USE_ALIGNED_ALLOC
141209         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
141210         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
141212 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
141214         Honor docstring of gnus-group-get-new-news
141216         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
141217         is t, but non-numeric, unconditionally consider all groups to need
141218         updating.
141220 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
141222         New function read-multiple-choice
141224         * doc/lispref/commands.texi (Reading One Event): Document
141225         read-multiple-choice.
141227         * lisp/faces.el (read-multiple-choice-face): New face.
141229         * lisp/subr.el (read-multiple-choice): New function.
141231 2016-02-03  John Wiegley  <johnw@newartisans.com>
141233         Merge from origin/emacs-25
141235         ee73997 Make erc work better when encountering unknown prefix chars
141236         b99141d Make erc completion case-insensitive again
141237         66c4620 Make complection in erc use consistent casing
141238         8c562b2 Make /QUIT in erc more robust
141239         d93d2c5 Make tracking faces in Emacs work more reliably
141240         af6ab7e Make shr not bug out on images on non-graphical displays
141241         3311f40 Fix bookmark display widths
141242         d90ab1e Fix typo in eww-make-unique-file-name
141243         7f81825 Make it possible to TAB to input fields
141244         a43a1dc Insert complete alt texts when images are disabled
141245         56ed4e1 Allow eww text fields to grow
141246         66b315c Make erc work when subword-mode is switched on
141247         255b68f Fix IMAP doc example
141248         91557f5 Quoting fixes in doc strings and diagnostics
141249         2c0dc9f Fix warning message in hack-local-variables
141250         504696d Etags: yet another improvement in Ruby tags
141251         8784ebf Fix x-popup-menu on TTYs without a mouse
141252         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
141253                 pcase macro
141254         6191003 Use pop-to-buffer-same-window in eww
141255         fe321fd * autogen.sh: Revert all recent changes.
141256         74ebd4a * make-dist: Updates related to nt/.
141257         737193a * make-dist: Add modules/.
141258         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
141259         a4278e2 Fix failure to compile ns-win.el in parallel builds
141260         860da4d Fix names of tags generated for Ruby accessors
141261         f6213ce Fix file-name recognition in 'etags'
141262         e42e662 Change Ruby file names and extensions recognized by 'etags'
141263         58bfb6a More improvements for Ruby support in 'etags'
141264         c04e911 Add --git-config option to autogen.sh
141265         5713466 Fix editing undo changes in eww fields
141266         51362d6 Allow the user more control of popping up the eww window
141267         ee0fbd8 Make eww-browse-url with new-window parameter work again
141268         9c3142d Clean up eww code slightly
141269         cb035f3 Don't insert nil faces in shr
141270         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
141271         93f2153 Improve the custom type of some user options.
141272         9f60d7e Mark some risky calendar variables.
141273         1d07dcd Highlight two additional SCSS keywords
141274         ee8b466 Recommend enabling integrity-checking in git
141275         e639e10 Some corrections in Elisp manual
141276         d766ca8 Chatter when autogen.sh changes Git configuration
141277         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
141278         43cb9f8 Omit unnecessary history from Lisp intro
141279         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
141280         c90e1b4 Improve elisp “Security Considerations” doc
141281         cedd7ca autogen.sh now arranges for git to check hashes
141282         86ce76b ; Fix ChangeLog.2 commit ID.
141283         7b1d2b1 Fix (c & 040) typo in emergency escapes
141284         a8273da Fix display of overlay strings with 'display' and 'box' property
141285         fc48106 Fix imap-starttls-open
141286         cdecbed Fix return value of imap-starttls-open
141287         20c7e34 ; * etc/NEWS: Fix renamed command name
141288         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
141289         b250d29 Spelling fix
141290         b920a0e Spelling fixes
141291         93b144b Pacify GCC on C library without glibc API
141293 2016-02-03  John Wiegley  <johnw@newartisans.com>
141295         Merge from origin/emacs-25
141297         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
141298                 priority of non-free Chrome.
141299         0fac75f Improve the custom type of some user options.
141300         2df0e04 Highlight CSS variables with variable name face
141301         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
141302                 user-serviceable.
141303         2a5233c Mark some user options that can get evalled as risky.
141304         39b166f Disable DebPrint in sys_read on MS-Windows
141305         9fd0189 ;Fix ChangeLog entry
141306         4bb7233 Fix typos in Introduction to Emacs Lisp manual
141308 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
141310         Add a new command to switch between erc buffers
141312         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
141313         * etc/NEWS: Mention new command
141314         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
141315         (eww-mode-map): Add menu item
141316         (eww-switch-to-buffer): New command
141318 2016-02-03  David Edmondson  <dme@dme.org>
141320         Make erc work better when encountering unknown prefix chars
141322         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
141323         instead of erroring out on unknown prefix chars (bug#22380).
141325 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
141327         Allow sending empty hidden values in eww
141329         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
141330         values (bug#22388).
141332 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
141334         Remove packages obsoleted before Emacs 24.
141336         In accordance with the policy discussed in the emacs-devel list,
141337         packages that have been obsoleted for a full major release cycle are up
141338         for deletion.
141340         This removes almost all packages that are now eligible for deletion,
141341         with the exception of "cl-compat", which seems it is likely to still be
141342         used, and "optional", which offers some functionality that doesn't have
141343         a replacement yet.
141345 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
141347         Mention context when resume from emergency escape
141349         That way, if the user has been doing something else for a while,
141350         they are reminded of the situation when restarting Emacs,
141351         and are more likely to understand the two questions.
141352         * doc/emacs/trouble.texi (Emergency Escape): Document this.
141353         * src/keyboard.c (handle_interrupt): Implement this.
141355 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
141357         Port aligned_alloc decl to Cygwin.
141359         Problem reported by Ken Brown (Bug#22522#38).
141360         * configure.ac (aligned_alloc): Check for decl too.
141361         * src/lisp.h (aligned_alloc): Declare if not already declared.
141363 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
141365         autogen.sh now configures git only on request
141367         * autogen.sh (do_autoconf, do_git): New vars.
141368         Support new arguments --help, all, autoconf, git.
141369         By default, just do autoconf-related configuration, not git.
141370         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
141371         If GNU cp is available, use it to backup .git/config before
141372         changing it.  When configuring git, chatter about what is being
141373         done, and configure git to check hashes.  Avoid some duplicate
141374         file name specification when creating git hooks.
141376         * GNUmakefile (ALL_IF_GIT): New macro.
141377         (configure): Use it.
141378         * INSTALL.REPO: Suggest './autogen.sh all'.
141380 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
141382         Doc fixes and refactorings based on comments from Eli Zaretskii
141384         * doc/lispref/processes.texi (Network Processes): Clarify the
141385         meaning of :tls-parameters.
141387         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
141389         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
141390         own function.
141391         (gnutls-negotiate): Use it.
141392         (open-gnutls-stream): Ditto.
141394         * src/eval.c (vformat_string): Refactor out the printing bits
141395         from verror.
141396         (verror): Use it.
141398         * src/gnutls.c (boot_error): Mark failed processes with the
141399         real error message.
141401         * src/lisp.h: Declare vformat_string.
141403 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
141405         Build with C11 if available
141407         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
141408         * m4/std-gnu11.m4: New file, from gnulib.
141409         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
141411 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
141413         Update gnulib copy
141415         * doc/misc/texinfo.tex: Copy from gnulib.
141417 2016-02-02  Glenn Morris  <rgm@gnu.org>
141419         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
141420         Doc tweaks.
141422 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
141424         Port better to platforms lacking aligned_alloc
141426         Problem reported by Ken Brown (Bug#22522).
141427         * src/lisp.h (hybrid_aligned_alloc)
141428         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
141430 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
141432         Port malloc.h hygiene fix to LTO
141434         * src/alloc.c (__malloc_initialize_hook):
141435         Make it externally visible (Bug#22522).
141437 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
141439         Build fix for --enable-check-lisp-object-type
141441         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
141442         Mitsuharu.
141444 2016-02-01  Glenn Morris  <rgm@gnu.org>
141446         Make find-change-log prefer a VCS root, if no ChangeLog exists.
141448         * lisp/vc/add-log.el (change-log-directory-files): New option.
141449         (find-change-log): Respect change-log-directory-files.
141450         * doc/emacs/maintaining.texi (Change Log Commands):
141451         Mention change-log-directory-files.
141453 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
141455         Boot parameter check fix
141457         * src/process.c (send_process): Fix test for boot parameters noted
141458         by Andy Moreton.
141460 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
141462         Double static heap size.
141464         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
141465         small on FreeBSD (Bug#22086).
141467 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
141469         Fix Bug#20821
141471         * lisp/net/tramp.el (tramp-file-name-handler):
141472         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
141473         Use `tramp-drop-volume-letter'.  (Bug#20821)
141475 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141477         Style fix
141479 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141481         Return the correct server port number
141483         * src/process.c (connect_network_socket): Return the correct
141484         server port number.
141486 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141488         Fix autoconf test for getaddrinfo_a
141490         * configure.ac: Make the test for getaddrinfo_a work.
141492 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141494         Better async error reporting
141496         * src/process.c (connect_network_socket): Mark failed processes
141497         with a better error message.
141498         (check_for_dns): Ditto.
141500 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141502         Clarify :tls-parameters.
141504 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141506         Always boot TLS if given parameters
141508         * src/process.c (connect_network_socket): If we have the TLS
141509         parameters, then boot the socket.
141511 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141513         Add documentation for :tls-parameters
141515         * doc/lispref/processes.texi (Network Processes): Mention
141516         :tls-parameters.
141518         * src/process.c (Fmake_network_process): Document the
141519         :tls-parameters parameter.
141521 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141523         Build fix for glibc systems.
141525 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141527         Make network connections work again on non-glibc systems
141529         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
141530         keywords in directly so that they can be used when doing
141531         synchronous DNS on non-synchronous connections.
141533         * lisp/net/network-stream.el (open-network-stream): Allow
141534         passing in the TLS parameters directly.
141536         * src/process.c (conv_numerical_to_lisp): New function to convert
141537         numerical addresses to Lisp.
141538         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
141539         paths so that they work again.
141540         (syms_of_process): Build fix for non-glibc systems.
141542 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141544         Windows build fix
141546         * src/process.c (Fmake_network_process): Build fix for systems
141547         without local sockets.
141549 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141551         Use XCAR/XCDR instead of Fcar etc
141553 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141555         Fix GC problem in async TLS connection
141557         * src/process.h: All Lisp_Object slots have to come first,
141558         otherwise they won't be protected from gc.
141560 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141562         Further TLS async work
141564         * src/gnutls.c (boot_error): New function to either signal an
141565         error or return an error code.
141566         (Fgnutls_boot): Don't signal errors when running asynchronously.
141568         * src/process.h (pset_status): Move here from process.c to be
141569         able to use from gnutls.c.
141571         * src/process.c (connect_network_socket): Do the TLS boot here
141572         when running asynchronously.
141573         (wait_reading_process_output): Rework the dns_processes
141574         handling for more safety.
141576 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
141578         Clean up dead code
141580         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
141582 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
141584         Add ability to give rcirc servers an alias name
141586         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
141587         customization option.
141588         (rcirc, rcirc-connect): Take server alias into account.
141590 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
141592         Port new hybrid malloc to FreeBSD
141594         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
141595         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
141596         (__morecore) [HYBRID_MALLOC]: Define in this case too.
141598 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
141600         * configure.ac: Stop using mmap for buffers for FreeBSD.
141602 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
141604         Merge changes from Tramp repository
141606         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
141607         No EXTRA_OPTS needed.
141609         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
141610         branch, especially for @trampfn{}.
141611         (Top): Move @ifnottex down.
141612         (History): XEmacs support has been removed.
141613         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
141614         (Auto-save and Backup): Use both syntax versions.
141615         (File name Syntax): Remark on IPv6 addresses is valid for
141616         unified syntax only.
141618         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
141620 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141622         Spelling fixes
141624 2016-01-30  Glenn Morris  <rgm@gnu.org>
141626         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
141628 2016-01-30  Matthew Carter  <m@ahungry.com>
141630         Quote table names for postgres listings (sql-mode)
141632         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
141633           unquoted table names to the completion list.
141635 2016-01-30  Glenn Morris  <rgm@gnu.org>
141637         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
141639         * lisp/vc/smerge-mode.el (smerge-diff-switches)
141640         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
141641         (smerge-upper, smerge-upper-face, smerge-keep-upper)
141642         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
141643         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
141644         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
141645         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
141646         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
141647         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
141648         Update all uses.
141649         (smerge-basic-map): Add "l" and "u" bindings.
141650         (smerge-mode-menu): Update menu bindings for renaming.
141651         (smerge-font-lock-keywords): Update face names.
141652         (smerge-match-names): Update names.
141653         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
141654         (smerge-match-conflict, smerge-ediff): Rename local variables.
141655         (smerge-makeup-conflict): Relabel markers.
141656         (smerge-parsep-re): Use renamed variables.
141658 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141660         Port recent my_edata change to MS-Windows
141662         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
141664 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
141666         Rework the mechanisms for async GnuTLS connections
141668         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
141669         gnutls-boot parameters and pass them to the process object.
141670         (gnutls-negotiate): New parameter :return-keywords that won't
141671         connect to anything, just compute the keywords.
141673         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
141674         hack, which is no longer necessary.
141676         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
141677         gnutls-mark-process.
141679         * src/process.c (connect_network_socket): If we're connecting to
141680         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
141682         * src/process.h: New parameter gnutls_async_parameters.
141684 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
141686         Fix segfault from double free
141688         * src/process.c (check_for_dns): Protect against double free
141689         issues.
141691 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
141693         Remove debugging
141695 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
141697         Implement asynchronous GnuTLS connections
141699         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
141700         the nowait parameter.
141702         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
141703         connections with the new nowait parameter.
141705         * lisp/net/network-stream.el (network-stream-open-tls): Pass
141706         on :nowait to open-gnutls-stream.
141708         * lisp/url/url-http.el (url-http): Don't overwrite the
141709         sentinel created by open-gnutls-stream.
141711         * src/gnutls.c (Fgnutls_mark_process): New function.
141713         * src/process.c (send_process): Don't write to GnuTLS sockets that
141714         haven't been initialized yed.
141716         * src/process.h: New slot gnutls_wait_p.
141718 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141720         Tell Automake the new lib/Makefile.am is OK
141722         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
141724 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141726         Make it easy to override preferred-branch test
141728         * Makefile.in (preferred-branch-is-current):
141729         Rename from emacs-25-branch-is-current.  All uses changed.
141730         (PREFERRED_BRANCH): New macro.
141732 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141734         Shrink static heap a bit
141736         * src/sheap.h: Include lisp.h, for Lisp_Object.
141737         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
141738         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
141739         conservative than the old value.
141740         (Bug#22086)
141742 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141744         Fix extern symbols defined and not used
141746         * src/alloc.c: Always include <signal.h>.
141747         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
141748         Do not define; unused.
141749         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
141750         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
141751         to avoid collision with glibc.  Now static.  All uses changed.
141752         * src/lastfile.c (my_edata): Define only if
141753         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
141754         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
141755         (Bug#22086)
141757 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141759         Build lib/e-*.o only on platforms that need it
141761         * configure.ac (hybrid malloc): Simplify configuration.
141762         (SHEAP_OBJ): Remove; no longer needed.
141763         (HYBRID_MALLOC): New var. Subst it.
141764         (HYBRID_MALLOC_LIB): New Automake conditional.
141765         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
141766         HYBRID_MALLOC_LIB.
141767         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
141768         (MOSTLYCLEANFILES): Add libegnu.a.
141769         * src/Makefile.in (SHEAP_OBJ): Remove.
141770         (HYBRID_MALLOC): New macro.
141771         (base_obj): Use it to conditionally add sheap.o.
141772         (LIBEGNU_ARCHIVE): New macro.
141773         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
141774         All uses of the latter replaced by the former.
141775         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
141776         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
141777         * src/gmalloc.c: Update comment.
141778         * src/lisp.h (aligned_alloc)
141779         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
141780         New decl.
141781         (Bug#22086)
141783 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141785         Include <malloc.h> when advisable
141787         This should help insulate us better from future glibc changes.
141788         It is good hygiene to include .h files for APIs that Emacs uses.
141789         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
141790         * configure.ac: Check for malloc.h.
141791         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
141792         not on DOUG_LEA_MALLOC.
141793         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
141794         Remove decl (now in lisp.h).
141795         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
141796         [emacs]: Include lisp.h.
141797         [HAVE_MALLOC_H]: Include <malloc.h>.
141798         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
141799         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
141800         (__default_morecore):
141801         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
141802         (calloc): Make it clear that the macro should not be used.
141803         Remove unused decl.
141804         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
141805         (__morecore, __default_morecore, __after_morecore_hook)
141806         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
141807         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
141808         Remove later decls.
141809         (gmalloc_hook, gfree_hook, grealloc_hook):
141810         Rename from __malloc_hook, __free_hook, __realloc_hook to
141811         avoid type collision with glibc <malloc.h>.  All uses changed.
141812         (gmalloc_hook):
141813         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
141814         Now static.
141815         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
141816         (__malloc_initialize_hook, __after_morecore_hook):
141817         Declare with types compatible with glibc.
141818         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
141819         Remove.  All uses removed.
141820         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
141821         * src/ralloc.c, src/vm-limit.c:
141822         Simplify includes and include <malloc.h> if available.
141824 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141826         * src/alloc.c: Include "sheap.h".
141828         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
141829         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
141830         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
141831         Declare unconditionally.
141832         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
141833         (unexec): Don’t set or clear bss_sbrk_did_unexec;
141834         the caller now does this.
141835         (Bug#22086)
141837 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141839         Pacify --enable-gcc-warnings when HYBRID_MALLOC
141841         * src/buffer.c (init_buffer):
141842         * src/emacs.c (main):
141843         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
141844         Use emacs_get_current_dir_name, not get_current_dir_name.
141845         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
141846         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
141847         * src/emacs.c: Include "sheap.h".
141848         (report_sheap_usage): Remove decl.
141849         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
141850         Don't assume ptrdiff_t can be printed as int.
141851         * src/gmalloc.c [HYBRID_MALLOC]:
141852         Include "sheap.h" rather than declaring its contents by hand.
141853         (get_current_dir_name, gget_current_dir_name)
141854         (hybrid_get_current_dir_name): Remove.
141855         (emacs_abort): Remove duplicate decl.
141856         (aligned_alloc): Undef, like malloc etc.
141857         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
141858         Make it a bit more efficient.
141859         (malloc_find_object_address): Remove unused decl.
141860         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
141861         (mstats, memory_warnings): Declare only if GC_MCHECK.
141862         * src/lisp.h (emacs_get_current_dir_name):
141863         New decl, replacing get_current_dir_name.
141864         * src/sheap.c: Include sheap.h first.
141865         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
141866         (debug_sheap): Now static.
141867         (bss_sbrk_buffer_end): Remove; no longer used.
141868         (bss_sbrk_ptr): Now static and private.
141869         (bss_sbrk_did_unexec): Now bool.
141870         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
141871         (bss_sbrk): Don't treat request_size 0 as special, since the code
141872         works without this being a special case.
141873         Avoid overflow if request size exceeds INT_MAX.
141874         (report_sheap_usage): Remove; now done in emacs.c.
141875         * src/sheap.h: New file.
141876         * src/sysdep.c (get_current_dir_name): Remove macro.
141877         Include "sheap.h".
141878         (emacs_get_current_dir_name): Rename function from
141879         get_current_dir_name.  Handle HYBRID_MALLOC here;
141880         this is simpler.
141881         (Bug#22086)
141883 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141885         Report static heap usage on non-Cygwin, too
141887         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
141888         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
141889         on platforms other than Cygwin (Bug#22086).
141891 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141893         Pacify GCC on extern decls
141895         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
141896         to pacify recent GCC (Bug#22086).
141898 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
141900         Add musl patch to support HYBRID_MALLOC on elf systems
141902         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
141903         (__default_morecore): Here, in particular.
141904         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
141905         New variable SHEAP_OBJ.
141906         * src/Makefile.in: Use it.
141907         (Bug#22086)
141909 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
141911         unexelf.c hook to support HYBRID_MALLOC on ELF
141913         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
141914         Define bss_sbrk_did_unexec (Bug#22086).
141916 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
141918         Link temacs with gnulib compiled with -Demacs
141920         This is done to support HYBRID_MALLOC, since some static variables
141921         (e.g., last_environ in putenv.c) hold pointers to memory malloced
141922         before dumping (Bug#22086).
141923         * lib/Makefile.am: Add incantation to install libegnu.a.
141924         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
141925         (temacs$(EXEEXT)): Use it.
141927 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
141929         Internal linkage for gmalloc etc. if HYBRID_MALLOC
141931         This avoids clashes with symbols if the after-dump malloc is
141932         derived from Doug Lea's implementation (Bug#22086).
141934         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
141935         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
141936         declarations below to `static' ones.
141937         (aligned_alloc): Declare for !MSDOS as well.
141938         (heapsize, _fraghead): Move resp. copy declaration downwards.
141939         For HYBRID_MALLOC, conditionalize out the other definitions,
141940         since the previous `static' declarations double as tentative
141941         definitions, anyway.
141942         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
141943         (__realloc_hook, __memalign_hook): Conditionalize out.
141944         (cfree, memalign, valloc): Ditto.
141946 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141948         -
141950         -
141952         -
141954 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141956         Merge from origin/emacs-25
141958         3f481ad Rename xref-query-replace to xref-query-replace-in-results
141959         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
141960         2111e0e Comment out next-error-function integration in xref
141961         4e11ad3 Correct a use of "which" in intro.texi
141962         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
141963         76045f7 Don't operate on menu bar of nonexistent frame
141964         c32f3bc Unbreak the GNUstep build.
141966 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
141968         -
141970         -
141972 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
141974         Re-enable checks in member, memql, delete to complain about non-lists
141976         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
141978 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
141980         Clean up compilation warnings
141982 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
141984         Make async resolution more efficient
141986         * src/process.c (wait_reading_process_output): Use a list of
141987         process objects instead of looping through an array to check
141988         for name resolution.  This should be much faster.
141990 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
141992         More async memory leaks
141994         * src/process.c (check_for_dns): Free even more allocated async stuff.
141996 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
141998         Compilation for systems with getaddrinfo_a
142000         * src/process.c (Fmake_network_process): Make stuff work again on
142001         systems with getaddrinfo_a.
142003 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
142005         Save correct server data
142007         * src/process.c (connect_network_socket): Save the correct contact
142008         info for servers.
142010 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
142012         Compilation for non-GNU systems
142014         * src/process.c (Fmake_network_process): Make compilation work
142015         again on hosts that don't have getaddrinfo_a.
142017 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
142019         Avoid memory leaks in async DNS
142021         * src/process.c (check_for_dns): Free async DNS resources after
142022         they've been used.
142024 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
142026         * src/process.c (check_for_dns): Free the result data.
142028 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
142030         Fix server connections
142032         * src/process.c (Fmake_network_process): Make creating server
142033         listening ports work again.
142035 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
142037         Further make_network_process clean up
142039         * src/process.c (Fmake_network_process): Remove setting of unused
142040         family variable.
142042 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
142044         Clean up GETADDRINFO usage in make-network-process
142046         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
142047         handling.
142049 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
142051         Implement asynchronous name resolution
142053         * src/process.c (Fmake_network_process): Do asynchronous DNS
142054         lookups if we have getaddrinfo_a and the user requests :nowait.
142055         (check_for_dns): New function.
142056         (wait_reading_process_output): Check for pending name
142057         resolution in the idle loop.
142059         * src/process.h: Add structure for async DNS.
142061 2016-01-28  Glenn Morris  <rgm@gnu.org>
142063         Remove some useless-use-of eval.
142065         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
142066         * lisp/gnus/nnrss.el (xml): Simply require it.
142067         (xml-rpc-method-call): Use declare-function.
142069 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
142071         Fix memory leak
142073         * src/process.c (connect_network_socket): Free previous sockaddr
142074         before allocating a new one.
142076 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
142078         Return IP addresses in the correct order
142080         * src/process.c (Fmake_network_process): Return the IP addresses
142081         in the same order as getaddrinfo does.
142082         (set_network_socket_coding_system): Clean up the code slightly.
142084 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
142086         Add checks for getaddrinfo_a
142088         * configure.ac: Detect getaddrinfo_a.
142090 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
142092         Refactor make_network_process
142094         * src/process.c (set_network_socket_coding_system)
142095         (connect_network_socket): Refactor out of
142096         make_network_process to allow calling connect_network_socket
142097         asynchronously.
142098         (Fmake_network_process): Do nothing but parsing the parameters
142099         and name resolution, leaving the connection to
142100         connect_network_socket.
142102 2016-01-28  Glenn Morris  <rgm@gnu.org>
142104         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
142105         Warn if defcustom has no type.  (Bug#16276)
142107 2016-01-27  Glenn Morris  <rgm@gnu.org>
142109         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
142111 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
142113         (rng-c-fix-escaped-newlines): Use subst-char-in-string
142115         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
142116         Use subst-char-in-string.
142118 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
142120         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
142122         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
142123         (sgml-calculate-indent): Use it.
142125 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
142127         * lisp/org: Fix some compiler warnings
142129         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
142130         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
142131         (*this*): Declare as dyn-bound.
142132         (org-babel-expand-src-block, org-babel-load-in-session)
142133         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
142134         Mark unused args.
142135         (org-babel-combine-header-arg-lists): Remove unused var `args'.
142136         (org-babel-find-named-block): Remove unused var `msg'.
142138         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
142139         Declare as dyn-bound.
142140         (org-edit-src-code): Remove unused var `lfmt'.
142141         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
142143 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
142145         * lisp/font-lock.el: Use #' to quote function symbols
142147 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
142149         Improve user name completion in Tramp
142151         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
142152         Call also "getent passwd" or "getent group", if possible.
142153         (tramp-parse-putty): Cache the result.
142155 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
142157         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
142159 2016-01-20  Glenn Morris  <rgm@gnu.org>
142161         Remove handling of non-string time-stamp formats, obsolete for 20 years.
142163         * lisp/time-stamp.el (time-stamp-format): Doc fix.
142164         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
142165         (time-stamp-string): Ignore non-string formats.
142167 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
142169         Another fix for problematic merge from emacs-25
142171         * src/w32fns.c (globals_of_w32fns): Move initialization of
142172         resetstkoflw to a non-Cygwin part.
142174 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
142176         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
142178 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
142180         Fix MS-Windows build broken by a botched merge from emacs-25
142182         * src/w32.c (w32_crypto_hprov): New static variable.
142183         (globals_of_w32): Initialize w32_crypto_hprov.
142184         (w32_init_crypt_random, w32_init_random): New functions.
142185         Include wincrypt.h.
142186         * src/w32.h (w32_init_random): Add prototype.
142188 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
142190         Correct a whole bunch of bugs coming with renamed cell relocation.
142192         * lisp/ses.el (ses-localvars): rename variable
142193         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
142194         and adjust the comment about it.
142195         (ses-plist-delq): new defun.
142196         (ses--ses-buffer-list): new defvar.
142197         (ses--unbind-cell-name): new defun.
142198         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
142199         (ses-relocate-formula): Undo change of
142200         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
142201         preventing relocation for named cell --- now doing this is delegated
142202         to function `ses-relocate-symbol'.
142203         (ses-relocate-range): In docstring, undo change of
142204         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
142205         lower case as it is not a variable.
142206         (ses-relocate-all): Cell name relocation : 1) check that cell is a
142207         renamed cell by testing `ses-cell' property to :ses-named, rather than
142208         comparing name to corresponding standard name. Set rowcol of renamed
142209         cell into the hashmap --- `ses-cell' property must not be used for
142210         that as the same name can be used for different locations in different
142211         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
142212         `local-variable-p' to check if cell name is already in use in this
142213         sheet or needs initialization.
142214         (ses-relocate-all): Cell value relocation : 1) like for name
142215         relocation use the `ses-cell' property rather than comparing actual
142216         name to corresponding standard name. 2) Correct bug introduced in
142217         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
142218         made the other way round than the intention --- ie value relocation
142219         was disabled for standard cell, not for renamed cell as was the
142220         intention.
142221         (ses-relocate-all): Add loop for unbinding deleted renamed cells
142222         names.
142223         (ses-killbuffer-hook): new defun.
142224         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
142225         kill buffer hook, plus pushing current buffer if new in list.
142226         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
142227         into `ses--in-killing-named-cell-list'.
142228         (ses-rename-cell): Remove update of variable
142229         `ses--renamed-cell-symb-list', this variable is renamed to
142230         `ses--in-killing-named-cell-list', and its setting is done in
142231         functions `ses-delete-row' and , `ses-delete-column' now.
142232         (ses-rename-cell): Change correction of
142233         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
142234         computation of the range over which `cursor-intangible' property was
142235         to be updated. This correction was ok for non spilling cells, but not
142236         for cells spilling over following blank cells. Simply use
142237         `next-single-property-change' rather than computing the end column
142238         from column widths.
142240 2016-01-18  John Wiegley  <johnw@newartisans.com>
142242         -
142244 2016-01-18  John Wiegley  <johnw@newartisans.com>
142246         Merge from origin/emacs-25
142248         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
142249         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
142250         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
142251         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
142252         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
142253         86e4513 Fix incompatbilities with MS-Windows 2000 and older
142254         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
142255         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
142256         39afa42 Fix tests for active region in hideif.el
142257         05df666 Fix interactive specs in some hideif.el commands
142259 2016-01-18  John Wiegley  <johnw@newartisans.com>
142261         -
142263 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
142265         Avoid stdio in SIGINT handler
142267         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
142268         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
142269         * lib/ignore-value.h: New file, from gnulib.
142270         * src/keyboard.c: Include it.
142271         (write_stdout, read_stdin): New functions.
142272         (handle_interrupt): Use them instead of printf and getchar,
142273         and avoid fflush when handling signals.
142275 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
142277         Refactor mml-smime.el, mml1991.el, mml2015.el
142279         (Maybe this is the last merge from Gnus git to Emacs git)
142281         Cf. discussion on ding mailing list, messages in
142282         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
142283         Common code from the three files mml-smime.el, mml1991.el, and
142284         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
142285         to gnus-util.el.
142287         The code is supported by test cases with necessary test keys.
142289         Documentation in message.texi is updated.
142291         * doc/misc/message.texi (Security, Using S/MIME):
142292         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
142293         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
142294         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
142296         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
142297         New functions.
142299         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
142300         (epa--select-keys): Autoload.
142301         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
142302         (mml-secure-openpgp-signers): New user option;
142303         make mml1991-signers and mml2015-signers obsolete aliases to it.
142304         (mml-secure-smime-signers): New user option;
142305         make mml-smime-signers an obsolete alias to it.
142306         (mml-secure-openpgp-encrypt-to-self): New user option;
142307         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
142308         aliases to it.
142309         (mml-secure-smime-encrypt-to-self): New user option;
142310         make mml-smime-encrypt-to-self an obsolete alias to it.
142311         (mml-secure-openpgp-sign-with-sender): New user option;
142312         make mml2015-sign-with-sender an obsolete alias to it.
142313         (mml-secure-smime-sign-with-sender): New user option;
142314         make mml-smime-sign-with-sender an obsolete alias to it.
142315         (mml-secure-openpgp-always-trust): New user option;
142316         make mml2015-always-trust an obsolete alias to it.
142317         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
142318         New user options.
142319         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
142320         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
142321         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
142322         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
142323         (mml-secure-passphrase-callback, mml-secure-check-user-id)
142324         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
142325         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
142326         (mml-secure-fingerprint, mml-secure-filter-keys)
142327         (mml-secure-normalize-cust-name, mml-secure-select-keys)
142328         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
142329         (mml-secure-self-recipients, mml-secure-recipients)
142330         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
142332         * lisp/gnus/mml-smime.el: Require epg;
142333         refactor declaration and autoloading of epg functions.
142334         (mml-smime-use): Doc fix.
142335         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
142336         Obsolete.
142337         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
142338         Use format instead of gnus-format-message.
142339         (mml-smime-epg-secret-key-id-list): Remove variable.
142340         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
142341         (mml-smime-epg-find-usable-secret-key): Remove functions.
142342         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
142344         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
142345         (mml1991-passphrase-cache-expiry): Obsolete.
142346         (mml1991-epg-secret-key-id-list): Remove variable.
142347         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
142348         (mml1991-epg-find-usable-secret-key): Remove functions.
142349         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
142351         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
142352         (mml2015-passphrase-cache-expiry): Obsolete.
142353         (mml2015-epg-secret-key-id-list): Remove variable.
142354         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
142355         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
142356         (mml2015-epg-find-usable-secret-key): Remove functions.
142357         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
142358         (mml2015-epg-encrypt): Refactor.
142360 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
142362         Merge from gnulib
142364         This mostly just updates copyright dates of gnulib files.
142365         It also updates to the latest version of texinfo.tex.
142367 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
142369         Move variables to inner loop, preparing for Mac port merge
142371         * src/keyboard.c (command_loop_1): Move variables `cmd',
142372         `keybuf', and `i' to inner loop.
142374 2016-01-17  Bill Wohler  <wohler@newt.com>
142376         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
142378 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
142380         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
142382         (syntax-ppss):
142383         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
142385 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
142387         lisp/nxml: Use syntax-tables for comments
142389         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
142390         (nxml-mode): Set syntax-ppss-table.
142391         Use sgml-syntax-propertize-function for syntax-propertize-function.
142392         Let font-lock highlight strings and comments.
142393         (nxml-degrade): Don't touch "nxml-inside" property any more.
142394         (nxml-after-change, nxml-after-change1): Remove functions.
142395         (comment): Don't set fontify rule any more.
142396         (nxml-fontify-attribute): Don't highlight the value any more.
142397         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
142398         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
142400         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
142401         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
142402         (nxml-clear-inside, nxml-set-inside): Remove.
142403         (nxml-scan-after-change): Remove function.
142404         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
142405         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
142406         (nxml-move-outside-backwards):
142407         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
142408         nxml-inside-start behavior.
142410         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
142411         (nxml-debug-clear-inside): Remove macros.
142413         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
142414         (xmltok-scan-after-comment-open): Simplify.
142416 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
142418         * lisp/progmodes/elisp-mode.el
142419         (elisp--font-lock-flush-elisp-buffers): Fix comment
142421 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
142423         * lisp/nxml: Use standard completion; it also works for company-mode
142425         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
142426         (nxml-completion-at-point-function): Remove.
142427         (nxml-mode): Don't set completion-at-point-functions.
142428         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
142429         (rng-completion-at-point): Rename from rng-complete and mark it
142430         non-interactive.  It is now to be used as completion-at-point-function.
142431         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
142432         (rng-complete-attribute-value): Don't perform completion, but return
142433         completion data instead.
142434         (rng-complete-qname-function, rng-generate-qname-list): Add a few
142435         arguments, previously passed via dynamic coping.
142436         (rng-strings-to-completion-table): Rename from
142437         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
142438         sorting and uniquifying.
142440         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
142441         (rng-completion-exact-p, rng-quote-string): Delete functions.
142443         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
142444         (rng-missing-attributes-message, rng-missing-element-message)
142445         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
142446         calling rng-quote-string everywhere.
142448 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
142450         Use sgml-electric-tag-pair-mode also in nxml-mode
142452         * lisp/nxml/rng-nxml.el: Require sgml-mode.
142453         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
142454         (rng-complete-qname-function): Use complete-with-action.
142456         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
142457         Let-bind forward-sexp-function, since nxml-mode binds it to
142458         something incompatible.
142460         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
142462 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
142464         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
142465         opener.
142467         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
142468         marker on the "sole --" rather than on the comment opener.
142470 2016-01-15  Sam Steingold  <sds@gnu.org>
142472         replace `tramp-compat-split-string' (removed) with `split-string'
142474         (python-shell-tramp-refresh-process-environment)
142475         (python-shell-calculate-pythonpath): use `split-string'
142476         instead of defunct `tramp-compat-split-string'
142478 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
142480         Update nXML to use Emacs's Unicode support, and lexical-binding
142482         * etc/nxml/*.el: Remove obsolete char-name files.
142483         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
142484         var `next'.
142485         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
142486         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
142487         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
142488         (nxml-target-section-pos, nxml-depth-in-target-section)
142489         (nxml-outline-state-transform-alist)
142490         (nxml-outline-display-section-tag-function): Move decl before first use.
142491         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
142492         (nxml-char-name-alist, nxml-char-name-table)
142493         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
142494         (nxml-enable-char-name-set, nxml-disable-char-name-set)
142495         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
142496         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
142497         (nxml-insert-named-char): Use read-char-by-name instead.
142498         (nxml-char-ref-display-extra): Use get-char-code-property.
142499         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
142500         Remove function.
142501         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
142503 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
142505         Add "sg" method to Tramp
142507         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
142508         (Customizing Completion): Add function `tramp-parse-etc-group'.
142510         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
142511         (tramp-completion-function-alist-sg): New defconst.
142512         (top): Completion function for "sg" is
142513         `tramp-completion-function-alist-sg'.
142515         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
142516         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
142518 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
142520         Remove XEmacs compatibility in Tramp
142522         * doc/misc/tramp.texi: Replace flags by their hard coded name.
142523         Remove unused flags and the enclosed alternative text for XEmacs.
142525         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
142526         and "xemacs" flags to "unified" and "separate".  Remove flags
142527         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
142528         "emacsothername", "emacsotherdir" and "emacsotherfilename".
142529         (trampver):
142530         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
142532         * lisp/net/tramp.el (bkup-backup-directory-info)
142533         (directory-sep-char, ls-lisp-use-insert-directory-program)
142534         (outline-regexp, tramp-backup-directory-alist)
142535         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
142536         (tramp-file-name-regexp-unified)
142537         (tramp-file-name-regexp-separate)
142538         (tramp-completion-file-name-regexp-unified)
142539         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
142540         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
142541         (tramp-debug-message, tramp-progress-reporter-update)
142542         (with-tramp-progress-reporter)
142543         (tramp-rfn-eshadow-setup-minibuffer)
142544         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
142545         (tramp-rfn-eshadow-update-overlay)
142546         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
142547         (tramp-file-name-for-operation)
142548         (tramp-completion-file-name-handler)
142549         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
142550         (tramp-handle-directory-files)
142551         (tramp-handle-directory-files-and-attributes)
142552         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
142553         (tramp-handle-insert-file-contents, tramp-handle-load)
142554         (tramp-handle-shell-command)
142555         (tramp-handle-verify-visited-file-modtime)
142556         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
142557         (tramp-check-for-regexp, tramp-wait-for-regexp)
142558         (tramp-send-string, tramp-mode-string-to-int)
142559         (tramp-get-local-gid, tramp-check-cached-permissions)
142560         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
142561         (auto-save-file-name-transforms)
142562         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
142563         (tramp-clear-passwd, tramp-time-diff):
142564         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
142565         (directory-sep-char, tramp-adb-file-name-handler-alist)
142566         (tramp-adb-parse-device-names)
142567         (tramp-adb-handle-expand-file-name)
142568         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
142569         (tramp-adb-handle-file-local-copy)
142570         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
142571         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
142572         (tramp-adb-handle-shell-command)
142573         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
142574         (tramp-adb-maybe-open-connection):
142575         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
142576         (tramp-cache-print):
142577         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
142578         (tramp-bug, tramp-reporter-dump-variable)
142579         (tramp-load-report-modules, tramp-append-tramp-buffers):
142580         * lisp/net/tramp-compat.el (tramp-compat-funcall)
142581         (tramp-advice-file-expand-wildcards)
142582         (tramp-compat-temporary-file-directory)
142583         (tramp-compat-make-temp-file, tramp-compat-copy-file)
142584         (tramp-compat-delete-directory, )
142585         (tramp-compat-process-running-p):
142586         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
142587         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
142588         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
142589         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
142590         (tramp-gvfs-handle-file-local-copy)
142591         (tramp-gvfs-handle-file-name-all-completions)
142592         (tramp-gvfs-handle-file-notify-add-watch)
142593         (tramp-gvfs-monitor-file-process-filter)
142594         (tramp-gvfs-handle-file-readable-p)
142595         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
142596         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
142597         (tramp-gvfs-maybe-open-connection)
142598         (tramp-gvfs-parse-device-names):
142599         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
142600         (tramp-gw-open-connection, tramp-gw-open-network-stream):
142601         * lisp/net/tramp-sh.el (directory-sep-char)
142602         (tramp-sh-file-name-handler-alist)
142603         (tramp-sh-handle-file-truename)
142604         (tramp-sh-handle-set-visited-file-modtime)
142605         (tramp-sh-handle-verify-visited-file-modtime)
142606         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
142607         (tramp-sh-handle-file-acl)
142608         (tramp-sh-handle-file-name-all-completions)
142609         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
142610         (tramp-do-copy-or-rename-file-directly)
142611         (tramp-do-copy-or-rename-file-out-of-band)
142612         (dired-compress-file-suffixes, dired-remove-file)
142613         (tramp-sh-handle-dired-compress-file)
142614         (tramp-sh-handle-insert-directory)
142615         (tramp-sh-handle-expand-file-name)
142616         (tramp-sh-handle-start-file-process)
142617         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
142618         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
142619         (tramp-sh-handle-file-notify-add-watch)
142620         (tramp-sh-gvfs-monitor-dir-process-filter)
142621         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
142622         (tramp-find-executable)
142623         (tramp-open-connection-setup-interactive-shell)
142624         (tramp-find-inline-encoding, tramp-compute-multi-hops)
142625         (tramp-maybe-open-connection, tramp-convert-file-attributes)
142626         (tramp-get-remote-path, tramp-get-remote-touch):
142627         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
142628         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
142629         (tramp-smb-handle-delete-directory)
142630         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
142631         (tramp-smb-handle-make-directory-internal)
142632         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
142633         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
142634         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
142635         (tramp-smb-get-cifs-capabilities)
142636         (tramp-smb-maybe-open-connection):
142637         * lisp/net/trampver.el (tramp-repository-get-version):
142638         Remove XEmacs compat code.
142640         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
142641         (reporter-dump-variable): Declare functions.
142643         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
142644         (tramp-advice-minibuffer-electric-separator)
142645         (tramp-advice-minibuffer-electric-tilde)
142646         (tramp-handle-unhandled-file-name-directory):
142647         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
142648         (tramp-compat-font-lock-add-keywords)
142649         (tramp-compat-load, tramp-compat-number-sequence)
142650         (tramp-compat-split-string, tramp-compat-delete-dups):
142651         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
142652         Remove.
142654         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
142655         recursively.
142657 2016-01-14  K. Handa  <handa@gnu.org>
142659         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
142661         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
142662         second glyph only when there are enough glyphs.
142664 2016-01-13  Glenn Morris  <rgm@gnu.org>
142666         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
142668         or its hook, to move point.  (Bug#22348)
142670 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
142672         Merge missing commit from emacs-25 branch
142674         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
142675         New variables.
142676         (check-expensive, check-doit): New targets.
142678         * Makefile.in (check-expensive): New target.
142680         * test/lisp/autorevert-tests.el
142681         (auto-revert-test01-auto-revert-several-files):
142682         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
142683         (file-notify-test06-many-events):
142684         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
142685         (tramp-test27-start-file-process, tramp-test28-shell-command)
142686         (tramp-test29-vc-registered)
142687         (tramp-test31-special-characters-with-stat)
142688         (tramp-test31-special-characters-with-perl)
142689         (tramp-test31-special-characters-with-ls)
142690         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
142691         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
142692         (tramp-test35-unload): Tag the tests as :expensive-test.
142694 2016-01-11  John Wiegley  <johnw@newartisans.com>
142696         Merge from origin/emacs-25
142698         1f6898d test/automated/vc-hg.el: Support out-of-tree build
142699         3adb56e Minor change in tramp-tests.el
142700         2b535ba ; * etc/NEWS: Update the js.el entry.
142701         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
142702         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
142703         36b9539 Avoid an infloop when we run out of memory
142704         2006752 Avoid unnecessary failures of auto-saving after fatal error
142705         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
142706         552694a Revert attempt to use 'noexcept' in typedef
142707         6ad0d39 Update documentation of 'indirect-function'
142708         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
142709         303141a Update documentation for obsoleting 'syntax-begin-function'
142710         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
142711         e667bbb Document new features if Eshell
142712         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
142713         1089dc9 Handle too long commands in Tramp
142714         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
142715         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
142716         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
142717         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
142718         cca0f93 ; Account for spaces before the filename
142719         c71e1e8 Use short date for 'hg annotate', and output the author
142720         f50027b Spelling fix
142721         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
142722         cc140bc Document user-level functions in project.el
142723         f8208b6 Document the user-level features of the Xref package
142724         b131fb8 * loading.texi: Add `define-type' entry for load-history
142725         db3c2a8 Improve doc strings and prompts in xref.el
142726         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
142727         90fd798 Fix coding system for Tramp on OS X.
142728         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
142729         9dfcbf0 Update 'load-history' docs
142730         207e191 Fix (error ...) error
142731         457738f Correctly analyze brace arguments in templated C++ function declarations.
142732         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
142733         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
142734         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
142735         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
142736         4b37cba Improve documentation of Delete Selection mode
142737         a034dd3 Fix two project-find-file issues
142738         30abf29 Clarify doc string of 'dired-current-directory'
142739         e990bb2 Use the face of preceding text for displaying the ellipsis
142740         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
142741         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
142742         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
142743         648de81 ; Add NEWS entry for project.el
142744         671862f apropos-library: Skip obvious duplicates; don't error on generics
142745         51668a5 ; Grammar fix
142746         ed41d11 Add project-find-file and project-or-external-find-file
142747         056da45 ; Improve commentary in 'setup_for_ellipsis'
142748         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
142750 2016-01-11  John Wiegley  <johnw@newartisans.com>
142752         Merge from origin/emacs-25
142754         ce4a052 Add defvar-local to lisp-imenu-generic-expression
142755         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
142756         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
142757         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
142758         b6b47af Properly encode/decode base64Binary data in SOAP
142759         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
142760         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
142761                 Update the URI of MELPA and marmalade-repo.
142762                 Reported by CHENG Goa <chenggao@royau.me> in
142763                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
142764         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
142765         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
142766         7380990 Remove function wrongly on AWK Mode value of context
142767         fontification hook.
142768         d400753 * src/buffer.c: Stick with ASCII in doc string.
142769         221240c Reword transient-mark-mode doc string
142770         977d3ea Update doc string of 'selective-display'
142771         229c3fa Make C++ buffers writeable when writing their initial text
142772                 properties.
142773         f5c762c Additional changes for "make check-expensive"
142774         1729cf3 ; * admin/MAINTAINERS: Remove myself.
142775         33219d3 Apply text properties for <, > in new after-change function
142776                 (C++ Java Modes).
142778 2016-01-11  John Wiegley  <johnw@newartisans.com>
142780         Merge from origin/emacs-25
142782         9fb185a shr-tag-video bug fix
142783         6300655 Minor fixes in tramp-tests.el
142784         50575b1 Ensure redisplay when 'truncate-lines' is set
142785         0d9e80d Fix a doc string of 'transient-mark-mode'
142786         0000ae5 MS-Windows followup to latest gnulib update
142787         4bc5e02 Spelling fix
142788         f1093f7 Do secure signed Bcc handling
142790 2016-01-11  John Wiegley  <johnw@newartisans.com>
142792         Merge from origin/emacs-25
142794         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
142795         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
142796         71ea138 * lisp/align.el (align): Simplify a lambda
142797         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
142798         1f680db Fix compilation next-error in buffers with selective-display
142799         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
142800         1da116f Add SHA1 warnings for high network security settings
142801         e48bacd ; * etc/NEWS: Typo fix.
142803 2016-01-11  John Wiegley  <johnw@newartisans.com>
142805         Merge from origin/emacs-25
142807         43662a2 ; Clarify that xref is still experimental
142808         0a6e6ca ; * admin/release-process: Remove some obsolete records.
142809         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
142810         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
142811         0a7ad07 ; Re-arrange xref-related entries in NEWS.
142812         fe903ef Fix xref-find-references on MS-Windows
142813         55a28d8 ; Fixed visual bell artifact problem on NextStep.
142814         d064034 Document new features of tildify-mode
142815         964bea7 Document new features of Whitespace mode
142816         cd68f47 Improve documentation of new Hide-IfDef features
142817         723b8bf Fix regression in font-locking cl-assert and cl-check-type
142819 2016-01-11  John Wiegley  <johnw@newartisans.com>
142821         Merge from origin/emacs-25
142823         ef33bc7 Spelling and grammar fixes
142824         9c3dbab Fix copyright years by hand
142825         0e96320 Update copyright year to 2016
142827 2016-01-11  John Wiegley  <johnw@newartisans.com>
142829         Merge from origin/emacs-25
142831         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
142832         526d80c Port chart.el methods to cl-generic.
142833         410bb69 Add nt/INSTALL.W64 build instructions
142834         8f5b524 Add new input method 'programmer-dvorak'
142835         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
142836         bb83bb1 Fix EWW rendering of long RTL lines
142837         b1a8509 fix  bug#21054
142838         ce5ad12 Clean up cairo printing code
142840 2016-01-11  John Wiegley  <johnw@newartisans.com>
142842         Merge from origin/emacs-25
142844         6ee327d Add handle_user_signal_hook
142845         47580e0 Avoid writing to purespace
142846         0588be7 Remove unused variable
142847         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
142848         3b95e9c Use posix_openpt instead of openpty on Darwin
142849         86312ff Document support for ':documentation' in Lisp mode
142850         c930e75b Document new features of TeX mode
142851         7c83d84 Clarify docs of hscroll in RTL text
142852         4c8f8db Fix rendering of HTML pages that use character composition
142853         a8d37ca Avoid some compiler warnings in w32.c
142854         ce106f3de Undo ill-advised change
142855         be0bba4 Unbreak completion in python-mode buffers
142857 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
142859         Adding example replies to bug-triage.
142861         * admin/notes/bug-triage: Added example replies. Also, as requested,
142862           making the process notes into more of a checklist.
142864 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
142866         Rename the notes/admin/triage file to bug-triage.
142868         * CONTRIBUTE: Change reference to the triage file name.
142869         * admin/notes/triage: Rename file to admin/notes/bug-triage.
142871 2016-01-08  K. Handa  <handa@gnu.org>
142873         Fix outdated comments.
142875 2016-01-06  Glenn Morris  <rgm@gnu.org>
142877         Allow creation of loaddefs files without timestamps.
142879         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
142880         (autoload-generate-file-autoloads, update-directory-autoloads):
142881         If autoload-timestamps is nil, write "t" instead of file timestamp.
142882         (autoload-find-destination, update-directory-autoloads):
142883         If timestamp is "t", use the modtime of the output file instead.
142885 2016-01-06  Glenn Morris  <rgm@gnu.org>
142887         Doc tweaks.
142889         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
142890         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
142891         (calendar-iso-from-absolute):
142892         * lisp/calendar/cal-tex.el (cal-tex-comment):
142893         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
142895 2016-01-06  Glenn Morris  <rgm@gnu.org>
142897         Build tweaks related to tags files.
142899         * lib-src/Makefile.in (tagsfiles): New variable.
142900         (TAGS): Also depend on the source files.  Use our own etags program.
142901         * lisp/Makefile.in (ETAGS): Add EXEEXT.
142902         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
142903         Remove.
142904         (tagsfiles): New, replacing lisptagsfiles1 etc.
142905         Remove irrelevant source files here rather than in the TAGS rule.
142906         (${ETAGS}): New rule.
142907         (TAGS): Also depend on the etags executable.
142908         * lwlib/Makefile.in (EXEEXT): New, set by configure.
142909         (ETAGS): Add EXEEXT.
142910         (${ETAGS}): New rule.
142911         (ctagsfiles): Use "wildcard".
142912         (TAGS): Also depend on the etags executable.
142913         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
142914         (${ETAGS}): New rule.
142915         (TAGS): Fix dependencies.
142916         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
142917         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
142918         Remove "-t" argument.
142919         (${ETAGS}): New rule.
142920         (tagsfiles): New variable.
142921         (TAGS): New rule, with proper dependencies.
142922         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
142923         (ctagsfiles1, ctagsfiles2): Use "wildcard".
142924         (ctagsfiles3): Remove.
142925         (TAGS): Depend on etags.
142926         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
142927         directories decide if updates are needed.
142929 2016-01-06  Glenn Morris  <rgm@gnu.org>
142931         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
142933 2016-01-06  Glenn Morris  <rgm@gnu.org>
142935         * test/lisp/emacs-lisp/package-tests.el
142937         (package-test-macro-compilation): Fixup branch merge.
142939 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
142941         Fix fallout from merging emacs-25 branch in test/
142943         * .gitignore: Update for the new place of biditest.txt.
142944         * test/automated/: Directory removed.  All files moved to their
142945         proper places.
142946         * test/etags/: Directory removed.  All files moved to their proper
142947         places.
142948         * test/automated/url-parse-tests.el: File removed; it was an exact
142949         copy of the same file in test/lisp/url/.
142950         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
142952 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
142954         Spelling fixes
142956 2016-01-04  Daniel Colascione  <dancol@dancol.org>
142958         Let users disable unsafe signal handling code
142960         * src/keyboard.c (syms_of_keyboard): New user variables
142961         `attempt-stack-overflow-recovery' and
142962         `attempt-orderly-shutdown-on-fatal-signal'.
142963         * src/sysdep.c (stack_overflow): Check
142964         `attempt-stack-overflow-recovery'.
142965         * src/emacs.c (terminate_due_to_signal): Check
142966         `attempt-orderly-shutdown-on-fatal-signal'.
142968 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
142970         * configure.ac: Add error message for gfile on Nextstep.
142972 2016-01-02  John Wiegley  <johnw@newartisans.com>
142974         Merge branch 'emacs-25-merge'
142976 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
142978         Align textually on fix done for emacs-25 branch for bug#21054
142980         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
142981         and useless `(if t ...)' in order to align textually on fix done for
142982         emacs-25 branch for bug#21054.
142984 2016-01-01  K. Handa  <handa@gnu.org>
142986         support rendering of wider range of combinging characters by ftfont backend
142988         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
142989         supports rendering of combining characters, call
142990         font-shape-gstring.
142992         * src/font.c (Ffont_get): Handle `combining-capability' property.
142993         (syms_of_font): New symbol ":combining-capability'.
142995         * src/font.h (struct font_driver): New member combining_capability.
142997         * src/ftfont.c: Include "category.h".
142998         (ftfont_driver): Initialize combining_capability to
142999         ftfont_combining_capability.
143000         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
143001         FLT in advance.
143002         (ftfont_combining_capability): New function.
143004 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
143006         Add notes on bug triage procedure
143008         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
143009         * admin/notes/triage: New file explaining triage procedure.
143011 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
143013         Correct ses-rename-cell cursor-intangible text prop updating.
143015         There were two problems:
143017         - First ses-rename-cell has to work when called non interactively
143018           (with non-nil CELL argument), so in this case the start pos of
143019           put-text-property cannot be plainly (point), you need a
143020           ses-goto-print call before
143022         - Second, the range itself was computed erroneously, only the first
143023           char was affected instead of the full cell width. This was not
143024           noticeable prior to changes (Deprecate `intangible' and
143025           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
143027         * lisp/ses.el (ses-rename-cell): Correct computation of position range
143028         to which the 'cursor-intangible text property has to be set to cell
143029         new name.
143031 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
143033         Don't fake empty cells value by "" when printing with a lambda.
143035         When using a lambda expression printer function the user should be
143036         free to format differently a really empty cell, ie. containing nil,
143037         from a cell containing an empty string "".
143039         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
143040         `value' in the case of a lambda expression printer function.
143042         * doc/misc/ses.texi (Printer functions): Add example and
143043         description about lambda expression printer function handling all
143044         the possible values, including unexpected ones.
143046 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
143048         Quick temporary hack to fix curcell refreshing.
143050         The problem was caused by change: 2015-04-13 Deprecate `intangible'
143051         and `point-entered' properties. The problem is that this change has
143052         removed the (setq ses--curcell t) setting in the ses-command-hook
143053         function.
143055         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
143056         a condition to call function `ses-set-curcell'. Comment this as a quick
143057         temporary hack to make it work, as I don't know yet whether a definite
143058         correction would be to make the ses-set-curcell at every ses-check-curcell,
143059         or to revert to the previous approach, ie marking ses--curcell as out-of-date
143060         at every potentially cursor motion command.
143062 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
143064         Restrictive URL checking tweaks
143066         * lisp/net/eww.el (eww): Check whether the domain is
143067         restrictive instead of the string
143068         (http://македонија.icom.museum is restrictive even if each
143069         part is from a different script).
143071 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
143073         New function `puny-highly-restrictive-domain-p'
143075         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
143076         (puny-highly-restrictive-domain-p): New function.
143078 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
143080         eww build fix (require puny)
143082 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
143084         Transform non-restrictive domains to punycode for display
143086         * lisp/net/eww.el (eww): Check whether the domain is Highly
143087         Restrictive in the Unicode IDNA sense.
143089 2015-12-29  John Wiegley  <johnw@newartisans.com>
143091         Merge emacs-25 into master (using imerge)
143093 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
143095         Further Unicode restrictive fixups
143097         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
143098         identifier characters from table 3.
143100 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
143102         Add a new function to say whether a string is restrictive
143104         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
143106 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143108         Mention the new puny.el library
143110 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143112         IDNA-related fixes for the URL library
143114         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
143115         the Host: header.
143117         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
143118         domain names, but leave them as UTF-8, so that they can be
143119         IDNA-encoded later when contacting the host.
143121 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143123         IDNA-encode all domain names in `open-network-stream'
143125         * lisp/net/network-stream.el (open-network-stream)
143126         (network-stream-open-plain, network-stream-open-starttls):
143127         IDNA-encode all domain names, if needed.
143129 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143131         Fix puny-encoding all-non-ASCII domains
143133         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
143134         encoding case.
143136 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143138         shr link traversal fixup
143140         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
143142 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143144         Reconnect erc even on server errors
143146         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
143147         reconnect even if a server error has occurred (bug#18527).
143149 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143151         Fix punycode short circuit logic
143153         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
143155 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143157         IDNA speed up
143159         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
143161 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143163         Add IDNA domain encode/decode functions
143165         * lisp/net/puny.el (puny-decode-domain): New function.
143166         (puny-encode-domain): Ditto.
143167         (puny-decode-digit): Fix digit decoding error.
143169 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
143171         Rename idna.el to puny.el
143173         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
143174         the external idna.el library.
143176 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
143178         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
143180         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
143181         Don't use split-string with 4th arg for old Emacsen compatibility.
143183 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
143185         * lisp/net/idna.el (idna-decode-string-internal): Implement
143186         decoding.
143188 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
143190         Further IDNA tweaks
143192         (idna-encode-string): Make idna-encode-string safe for
143193         non-ASCII use.
143195 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
143197         Clean up the code slightly
143199 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
143201         Added basic idna encoding support
143203         * lisp/net/idna.el: New file.
143205 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
143207         Disconnection fixes for erc
143209         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
143210         reconnect if the user has disconnected explicitly (bug#4589).
143212 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
143214         Further erc asynch fixes
143216         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
143217         erc-server-connect to return even if the connection is not
143218         ready.  Then erc-open and erc-server-reconnect do the
143219         same. (bug#5650).
143221 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
143223         Make erc connect asynchronously
143225         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
143226         reconnect asynchronously.
143228         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
143230 2015-12-27  David Edmondson  <dme@dme.org>
143232         Proxy error in erc with multiple clients
143234         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
143235         generated when multiple IRC clients talk to a single IRC proxy
143236         (bug#19034).
143238 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
143240         Fix mml-sec build warnings
143242         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
143243         (bug#18718).
143245 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
143247         (eww-setup-buffer): Restore left-to-right defaults
143249         * lisp/net/eww.el (eww-setup-buffer): Restore left-to-right
143250         defaults.
143252 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
143254         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
143256 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
143258         Identify unsafe combinations of Bcc and encryption
143260         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
143261         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
143262         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
143264 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
143266         * lisp/net/shr.el (shr-descend): Allow using lambdas in external
143267         functions.
143269 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
143271         * admin/gitmerge.el: Tweaks that seemed necessary
143273         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
143274         (gitmerge-maybe-resume): Provide explicit empty commit message.
143276 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
143278         Use a different port for TLS erc
143280         * lisp/erc/erc.el (erc-default-port-tls): New variable
143281         (bug#19497).
143282         * lisp/erc/erc.el (erc-tls): Use it.
143284 2015-12-25  Alain Schneble  <a.s@realize.ch>
143286         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
143288         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
143289         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
143290         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
143291         information in URL-struct.
143292         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
143293         path and query into nil path and query, respectively.
143294         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
143295         empty path into an absolute ("/") path.
143296         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
143297         fragment-only URIs. Do not just return them unchanged.
143298         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
143299         reference URI should not drop the last segment.
143301 2015-12-25  Alain Schneble  <a.s@realize.ch>
143303         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
143305         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
143306         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
143307         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
143308         information in URL-struct.
143309         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
143310         path and query into nil path and query, respectively.
143311         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
143312         empty path into an absolute ("/") path.
143313         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
143314         fragment-only URIs. Do not just return them unchanged.
143315         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
143316         reference URI should not drop the last segment.
143318 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
143320         Let url use default file modes when copying files
143322         * lisp/url/url-handlers.el (url-copy-file): Use default file
143323         modes when copying files (bug#11400).
143325 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
143327         Doc fix for url-http
143329         * lisp/url/url-http.el (url-http): Document better return values
143330           (bug#13187) (tiny change)
143332 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
143334         * lisp/net/eww.el (eww-display-html): Support <button> tags
143335         (bug#20485).
143337 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
143339         Made ffap-url-p a defun instead of a defsubst
143341         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
143342         since there doesn't seem to be much of a reason for it to be a
143343         defsubst (bug#18203).
143345 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
143347         Add a command to view files in the browser to dired
143349         * lisp/dired.el (dired-mode-map): Add the `W' command
143350         (bug#18810).
143352 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
143354         Allow http://user:pass@foo/ URLs again
143356         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
143357         user/passwords in URLs (bug#19046).
143359 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
143361         * lisp/net/eww.el (eww-mode-map): Fix command name of
143362         eww-toggle-colors.
143364 2015-12-25  Samer Masterson  <samer@samertm.com>
143366         Autoload url-insert-buffer-contents
143368         * lisp/url/url-handlers.el: Add autoload cookie so that
143369         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
143371 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
143373         Allow toggling colors in eww
143375         * doc/misc/eww.texi (Basics): Mention "C".
143377         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
143379         * lisp/net/shr.el (shr-use-colors): New variable.
143380         (shr-colorize-region): Use it.
143382 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
143384         Follow meta refresh tags in eww
143386         * lisp/net/eww.el (eww-tag-meta): Follow meta refresh tags
143387         (bug#22234).
143389 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143391         More eww file name coding fixes
143393         * lisp/net/eww.el (eww-decode-url-file-name): Use the base coding
143394         system to check for encodability.
143396 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143398         Always save eww history
143400         * lisp/net/eww.el (eww-setup-buffer): Always save history, even
143401         when called from outside the eww buffer (bug#19638).
143403 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143405         Default web pages to right-to-left
143407         * lisp/net/eww.el (eww-mode): Most web pages are left-to-right,
143408         so make that the default (bug#19801).
143410         * lisp/net/shr.el (shr-tag-html): Respect "dir" attributes
143411         (left-to-right, right-to-left).
143413 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143415         Make toggling checkboxes work again
143417         * lisp/net/eww.el (eww-update-field): Make toggling checkboxes
143418         work again (bug#21881).
143420 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143422         Don't store cookies with empty names
143424         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
143425         cookies with empty names (bug#21936).
143427 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143429         Stop rendering HTML before specdlr exhaustion
143431         Fixes: 22117
143433         * lisp/net/shr.el (shr-descend): Stop rendering before we run out
143434         of specpdl room (bug#22117).
143436 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143438         Use cl-reduce, not reduce.
143440 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143442         Allow several <tbody> tags in shr
143444         * lisp/net/shr.el (shr-table-body): New function to find the real body
143445         of a table.
143446         (shr-tag-table): Use it to render several <tbody> tags in a
143447         table (bug#22170).
143449 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143451         Make prettier unique file names in eww
143453         (eww-make-unique-file-name): Make unique file names by making
143454         files like foo(2).jpg instead of foo(1)(2).jpg.
143456 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143458         Decode hex-encoded URLs before using them as file names
143460         * lisp/net/eww.el (eww-decode-url-file-name): New function.
143461         (eww-download-callback): Use it to decode file names before
143462         saving them.
143464 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
143466         Add FreeBSD cert bundle
143468         * doc/misc/emacs-gnutls.texi (Help For Users): Document
143469         FreeBSD bundle.
143471         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
143473 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143475         Allow overriding shr functions from eww
143477         * lisp/net/eww.el (eww-display-html): Allow overriding elements in
143478         `shr-external-rendering-functions'.
143480 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143482         Ignore invalid SVG images
143484         * lisp/net/shr.el (shr-tag-svg): Ignore SVG images that have no
143485         width or height, because these can't be displayed by ImageMagick,
143486         anyway.
143488 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
143490         shr table rendering fix
143492         * lisp/net/shr.el (shr-tag-table): Allow rendering body-less
143493         tables that have headers.
143495 2015-12-22  Sam Steingold  <sds@gnu.org>
143497         clipboard should still work even if interprogram-* is disabled
143499         (clipboard-yank): When `interprogram-cut-function' is nil,
143500         bind it to `gui-selection-value' - the default value.
143501         (clipboard-kill-region, clipboard-kill-ring-save): When
143502         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
143503         the default value.
143505 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
143507         Fix bootstrap issue with dired-loaddefs
143509         * lisp/dired.el: Autoloads for secondary files loaded optionally.
143511 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
143513         dired generate autoloads to non-versioned file.
143515         * lisp/dired.el: Remove autoloads.
143516         * lisp/Makefile.in: Add dired to autogenel.
143517         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
143518         * test/lisp/dired-tests.el: Add new test.
143520 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
143522         eieio generate autoloads to non-versioned file.
143524         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
143525         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
143526           Remove autoloads.
143527         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
143528           lisp/emacs-lisp/eieio-opt.el: Update file local.
143529         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
143531 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
143533         htmlfontify generate autoload to non-versioned file.
143535         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
143536         * lisp/hfy-cmap.el: Update file local.
143537         * lisp/htmlfontify.el: Remove autoloads, add require.
143538         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
143540 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
143542         ibuffer generate autoloads to non-versioned file.
143544         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
143545         * lisp/ibuf-ext.el: Update file local.
143546         * lisp/ibuffer.el: Remove autoloads and add a require.
143547         * test/lisp/ibuffer-tests.el: Test that autoload is working.
143549 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
143551         rmail generate autoloads to non-versioned file.
143553         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
143554         * lisp/mail/rmail.el: Remove autoloads, add require.
143555         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
143556         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
143557         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
143558         * lisp/mail/undigest.el: Update file-local.
143559         * test/lisp/mail/rmail-tests.el:
143561 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
143563         Add autoload-force target.
143565         * lisp/Makefile.in (autoload-force): New target.
143567 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
143569         ps-print generate autoloads to non versioned file.
143571         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
143572         * lisp/ps-print.el: Remove autoloads.
143573         * lisp/ps-mule.el: Update file-local.
143574         * test/lisp/ps-print-tests.el: Test autoload functionality.
143576 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
143578         reftex generate autoloads to non versioned file.
143580         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
143581         * lisp/textmodes/reftex.el: Remove autoloads.
143582         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
143583         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
143584         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
143585         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
143586         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
143587         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
143588           function.
143590 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
143592         * lisp/calculator.el (calculator-define-key): Undo last change
143594         Make map argument mandatory instead (bug#22106).
143595         (calculator-add-operators): Pass the argument that's not optional any more.
143597 2015-12-03  Glenn Morris  <rgm@gnu.org>
143599         * Makefile.in: Avoid duplication.
143601         (have-tests): New rule.
143602         (check, check-maybe): Use it.
143604 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
143606         make check unconditional, check-maybe top-level.
143608          * Makefile.in: Add check-maybe target.
143609          * test/Makefile.in: Restore unconditional behavior to make check.
143611 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
143613         Tests now support out-of-source-build.
143615          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
143616            about current working directory.
143618 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
143620         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
143622 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
143624         Improve documentation and clean up.
143626          * test/Makefile.in: Improve documentation, use EMACS variable
143627            correctly, and clean up makefile rules.
143629 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
143631         Update file headers for name change.
143633          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
143635 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
143637         Test files renamed to new scheme.
143639          * (finalizer-tests.el): Now renamed alloc-tests.el
143640          * (zlib-tests.el): Now renamed decompress-tests.el.
143642 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
143644         Tests now depend on source files
143646          * test/Makefile.in: Include dependences from tests to source files.
143647          * test/make-test-deps.emacs-lisp: New file
143648          * .gitignore: Ignore generated make include file
143650 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
143652         * lisp/progmodes/which-func.el: Improve disabling the mode
143654         Use lexical-binding.
143655         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
143656         (which-func, which-func-format): Remove redundant :group arg.
143657         (which-func-try-to-enable): New function.
143658         (which-func-ff-hook, which-function-mode): Use it.
143659         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
143660         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
143662 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
143664         * lisp/calculator.el (calculator-define-key): Silence warning
143666         ...about unknown calculator-mode-map.
143668 2015-11-29  Eli Barzilay  <eli@barzilay.org>
143670         * lisp/calculator.el: more improvements and bugfixes.
143672         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
143673           effect anyway.)
143675         - Simplify `calculator-number-to-string' by throwing most of the work
143676           onto `number-to-string', leaving just some tweaks for decimal inputs.
143677           This leads to some minor changes, for example, pasting "1x1" in hex
143678           mode would warn that "x" is ignored and result in "11" (and it wasn't
143679           done in decimal mode), whereas now it just ignores everything from the
143680           "x" and on and result in a "1" just like in decimal input mode.  Also,
143681           overflows are left for `number-to-string' to deal with.
143683         - `calculator-paste' is very simple as a result.
143685         - Extend the simplified `calculator-paste': with a prefix argument it
143686           pastes a string as if the characters were entered.  This can be used
143687           to reduce expressions, but note that it's a simple literal operation,
143688           so precedence can be messed, a number can be paster while entering a
143689           number, spaces and newlines matter, etc.
143691         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
143692           operator.
143694         - Fix a bug in `calculator-put-value': avoid grouping in the display
143695           that is used to construct `calculator-curnum'.  This would trigger
143696           when pasting or getting a value from a register in some radix mode
143697           with a large enough value.  Another fix: make the output radix equal
143698           the input one, otherwise numbers could be converted twice.
143700 2015-11-29  Eli Barzilay  <eli@barzilay.org>
143702         * lisp/calculator.el: Re-do key bindings.
143704         Use a helper function that arranges a parent keymap that binds alternate
143705         case keys so if some letter key is unbound and it's un/shifted version
143706         is, it will get used.  This makes the global-map trickery unnecessary.
143708         Also switch to passing strings that name keys through `kbd'.
143710 2015-11-29  Eli Barzilay  <eli@barzilay.org>
143712         * lisp/calculator.el: improve radix modes
143714         Fix prompt for some input radix with decimal output (eg, "BD" instead of
143715         the incorrect "B="); also, some minor docstring tweaks for these.
143717 2015-11-29  Eli Barzilay  <eli@barzilay.org>
143719         * lisp/calculator.el: better reading of register names
143721         Use `register-read-with-preview' with a dynamically bound
143722         `register-alist' and a proper preview function to read register names.
143724 2015-11-29  Eli Barzilay  <eli@barzilay.org>
143726         * lisp/calculator.el: General improvements
143728         Use things like `when', `unless', and `push'.
143730         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
143731         non-electric mode.
143733 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
143735         Fix a problem with gfilenotify in filenotify-tests.el
143737         * test/lisp/filenotify-tests.el
143738         (file-notify--test-expected-events): Remove.
143739         (file-notify--test-cleanup): Do not set that variable.
143740         (file-notify--test-with-events): EVENTS can also be a list of lists.
143741         (file-notify-test02-events, file-notify-test04-file-validity):
143742         Adapt expected result.
143744 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
143746         * .gitignore: Adjust to changes in 'test' directory structure.
143748 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
143750         Fix test/manual/etags/Makefile
143752         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
143753         changes in 'test' directory structure.
143755 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
143757         Exclude resource dirs from search for tests.
143759         * test/Makefile.in: Test file locations are now found with find
143760           rather than using finds native functions.
143762 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
143764         Add test targets without directory names.
143766          * (test/Makefile.in): Extend test_template to add two targets for each
143767            file.
143769 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
143771         * lisp/emacs-lisp/package.el: Require url-handlers
143773 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
143775         Move elisp-mode-tests to new function names.
143777          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
143778          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
143780 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
143782         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
143784 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
143786         Merge branch 'feature/standard-test-location'
143788 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
143790         * lisp/emacs-lisp/eieio.el: Add some default implementations
143792         (standard-class): Mark it obsolete.
143793         (slot-missing): Give it a default implementation.
143794         (destructor): Simplify and mark it obsolete.
143795         (object-print): Give it a default implementation.
143796         (eieio-change-class): Rename from change-class.
143797         (change-class): Redefine as obsolete alias.
143799 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
143801         Mention kqueue in NEWS
143803 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
143805         Merge from scratch/kqueue
143807         bec57a4 Some final fixes in file notification before merging with master
143808         0247489 Rework file notifications, kqueue has problems with directory monitors
143809         5154781 Continie with pending events
143810         6b490c0 Improve loops in file-notify-test06-many-events
143811         c8e266f Handle more complex rename operation in kqueue
143812         5044bdf New test with a larger number of events.
143813         65ba5a9 Further fixes for kqueue.
143814         13f3508 Code cleanup of kqueue.c
143815         99aa855 Doc changes for kqueue
143816         8deebe1 Finish implementation in kqueue.c
143817         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
143818         e95b309 More work on kqueue
143819         41d9bd0 Implement directory events
143820         c571fc1 Build fixes for kqueue support.
143821         e0a68f2 Continue kqueue implementation
143822         7543d1c Work on kqueue
143823         e3354e2 Add kqueue support
143824         c6457ce Minor fix to comment indentation and typo in last commit
143825         b92307f linum-mode plays more nicely with other margin-setting extensions
143826         58e6235 * lisp/image-mode.el: Support encrypted file
143827         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
143828         47f83b6 ; ChangeLog.2 fixes
143829         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
143830         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
143831         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
143832         70f1fda ; Auto-commit of ChangeLog files.
143833         ae0653b * CONTRIBUTE: Remove information about feature freeze.
143834         9459456 Merge branch 'release-process-lowercase'
143835         9a4aa0f Document the release process
143836         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
143837         dcd5877 gitmerge: Fix git log command
143838         2ac79ae gitmerge: Try to detect cherry-picks
143839         5f7a2a9 Increment Emacs version on master branch
143840         ed2e7e2 Mention CONTRIBUTE in README
143841         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
143842         138ad3d ; Fix warnings
143843         7126e9a ; Update xref-etags-mode for the latest change
143844         246d660 Use generic dispatch for xref backends
143845         31f6e93 Support rectangular regions for more commands
143846         f103a27 Handle multiple matches on the same line; add highlighting
143847         fe973fc Replace xref-match-bounds with xref-match-length
143848         92a5010 Merge from gnulib
143849         04ac097 Spruce up ftfont.c memory allocation
143850         4c4b520 Port recent XCB changes to 64-bit ‘long int’
143851         4f0ce9c * src/undo.c (run_undoable_change): Now static.
143852         695a6f9 Remove support for ':timeout' from w32 tray notifications
143853         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
143854         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
143855         66b9f7b * src/undo.c: Small fixes for previous change
143856         2fac30e Add a few more variables to redisplay--variables
143857         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
143858         e221d32 Fix point positioning after transposing with negative arg
143859         35f5afb Fix last change in shr.el
143860         508e77b Fix last change
143861         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
143862         805a39b Remove intern calls and XXX comments from Fx_export_frames
143863         9463abf shr: don't invoke unbound function (Bug#21895)
143864         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
143865         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
143866         39dbd1c : Tests for undo-auto functionality.
143867         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
143868         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'.
143869         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
143870         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
143871         1e363a8 Enable sorting of JSON object keys when encoding
143872         9dd7da9 * test/automated/keymap-tests.el: New test file
143873         aa17de9 Speed up x_real_pos_and_offsets using XCB
143874         a838c83 Enable use of XCB for checking window manager state
143875         c7f2b6a Detect XCB and save a connection handle
143876         e1c27db Reduce some data dependencies between X calls
143877         25e32bd Use color cache for creating bitmap
143878         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
143879         055ca3a Sync with soap-client repository, version 3.0.2
143880         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
143881         952395d * lisp/obarray.el: Fix shadowed variables
143882         436d330 Avoid error in submitting a form with EWW
143883         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
143884         51d840a Rename seq-p and map-p to seqp and mapp
143885         23036ba Rename obarray-p to obarrayp
143886         20aea42 Rename obarray-foreach to obarray-map
143887         a3b2101 New file with obarray functions.
143888         9d43941 Implement tray notifications for MS-Windows
143890 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
143892         Some final fixes in file notification before merging with master
143894         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
143895         (file-notify-callback): Improve check for `stopped' event.  Call
143896         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
143897         (file-notify-add-watch): In case FILE is not a directory, call the
143898         file monitor for the kqueue backend.  Otherwise, call the
143899         directory monitor for the upper directory.
143901         * src/inotify.c (inotifyevent_to_event): Extract file name from
143902         watch_object if the event doesn't provide it.
143903         (Finotify_add_watch): Add file name to watch_object.
143905         * test/automated/file-notify-tests.el (file-notify--test-timeout):
143906         Use different timeouts for different libraries.
143907         (file-notify--test-with-events): Suppress lock files.  Flush
143908         outstanding events before running the body.
143909         (file-notify-test02-events, file-notify-test04-file-validity): Do
143910         not skip cygwin tests.  Add additional test for file creation.
143911         Adapt expected result for different backends.
143912         (file-notify-test03-autorevert): Some of the tests don't work for
143913         w32notify.
143914         (file-notify-test06-many-events): Rename into both directions.
143916 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
143918         Rework file notifications, kqueue has problems with directory monitors
143920         * lisp/filenotify.el (file-notify-add-watch): Call the native
143921         add-watch function on the file, not on the dir.
143923         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
143924         about already deleted entries.
143926         * test/automated/auto-revert-tests.el
143927         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
143928         since this deletes the target file first.
143930         * test/automated/file-notify-tests.el (file-notify--test-event-test):
143931         Make stronger checks.
143932         (file-notify-test01-add-watch, file-notify-test02-events)
143933         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
143934         Rewrite in order to call file monitors but directory monitors.
143935         (file-notify-test06-many-events): Ler rename work in both directions.
143937 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
143939         Continie with pending events
143941         * src/kqueue.c (pending_events): Remove global variable.
143942         (kqueue_compare_dir_list): Create `write' event for not used
143943         pending events.
143944         (globals_of_kqueue): Remove initialization of pending_events.
143946 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
143948         Improve loops in file-notify-test06-many-events
143950         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
143951         Use `read-event' pauses for the `write-file' loops; otherwise
143952         events are lost in inotify and gfilenotify cases.
143954 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
143956         Handle more complex rename operation in kqueue
143958         * src/kqueue.c (pending_events): New variable.
143959         (kqueue_compare_dir_list): Handle more complex rename operation.
143960         (globals_of_kqueue): Initialize pending_events.
143962         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
143963         Adapt expected events in the `rename-file' case.
143964         (file-notify-test06-many-events-remote): Declare.
143966 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
143968         New test with a larger number of events.
143970         * test/automated/file-notify-tests.el (file-notify--test-with-events):
143971         Make timeout heuristically depend on the number of events.
143973         (file-notify-test06-many-events): Use it for new test.
143975 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
143977         Further fixes for kqueue.
143979         * lisp/filenotify.el (file-notify-callback): Raise also event if
143980         directory name matches.
143981         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
143983         * src/kqueue.c (kqueue_generate_event): Use watch_object as
143984         argument instead of ident.  Remove callback argument.  Adapt
143985         callees.  Check actions whether they are monitored flags.
143987         * test/automated/file-notify-tests.el (file-notify--test-library):
143988         New defun.
143989         (file-notify-test00-availability, file-notify-test02-events)
143990         (file-notify-test04-file-validity)
143991         (file-notify-test05-dir-validity): Use it.
143992         (file-notify-test02-events, file-notify-test04-file-validity): Add
143993         `read-event' calls between different file actions, in order to
143994         give the backends a chance to rais an event.  Needed especially
143995         for kqueue.  In case of deleting a directory, there are two
143996         `deleted' events.
143998 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144000         Code cleanup of kqueue.c
144002         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
144003         (kqueue_compare_dir_list): Do not loop when calling
144004         directory_files_internal.  Remove checks for "." and "..", this is
144005         done in kqueue_directory_listing now.
144006         (Fkqueue_add_watch): Check for proper emacs_open flags.
144008 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144010         Doc changes for kqueue
144012         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
144013         Fix some glitches in the example.
144015 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144017         Finish implementation in kqueue.c
144019         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
144020         Simplify access to list.
144021         (kqueue_compare_dir_list): Simplify access to list.  Raise
144022         `delete' event if directory does not exist any longer.  Otherwise,
144023         wait until directory contents has changed.  Fix error in check.
144025 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144027         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
144029 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144031         More work on kqueue
144033         * lisp/filenotify.el (file-notify-callback): Handle also the
144034         `rename' event from kqueue.
144035         (file-notify-add-watch): Do not register an entry twice.
144037         * src/kqueue.c (kqueue_directory_listing): New function.
144038         (kqueue_generate_event): New argument FILE1.  Adapt callees.
144039         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
144041 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144043         Implement directory events
144045         * lisp/filenotify.el (file-notify-handle-event)
144046         (file-notify-callback): Remove traces.
144048         * src/kqueue.c: Include <sys/time.h>.
144049         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
144050         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
144051         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
144052         Compute initial directory listing.  Close file descriptor in case
144053         of errors.
144054         (syms_of_kqueue): Declare Qcreate.
144056 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
144058         Build fixes for kqueue support.
144060         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
144061         flag.
144063         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
144064         kqueue on *BSD.
144066 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144068         Continue kqueue implementation
144070         * lisp/filenotify.el (file-notify-handle-event)
144071         (file-notify-callback): Enable trace messages.
144073         * src/kqueue.c: Include also <sys/types.h>.
144074         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
144075         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
144076         (syms_of_kqueue): Add them.
144078 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144080         Work on kqueue
144082         * lisp/filenotify.el (file-notify--library)
144083         (file-notify-descriptors, file-notify-callback)
144084         (file-notify-add-watch, file-notify-rm-watch)
144085         (file-notify-valid-p): Add kqueue support.
144087         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
144089 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144091         Add kqueue support
144093         * configure.ac (--with-file-notification): Add kqueue.
144094         (top): Remove special test for "${HAVE_NS}" and
144095         ${with_file_notification}, this is handled inside gfilenotify
144096         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
144097         instead of library specific variables.
144099         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
144101         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
144103         * src/kqueue.c: New file.
144105         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
144107 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
144109         Some final fixes in file notification before merging with master
144111         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
144112         (file-notify-callback): Improve check for `stopped' event.  Call
144113         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
144114         (file-notify-add-watch): In case FILE is not a directory, call the
144115         file monitor for the kqueue backend.  Otherwise, call the
144116         directory monitor for the upper directory.
144118         * src/inotify.c (inotifyevent_to_event): Extract file name from
144119         watch_object if the event doesn't provide it.
144120         (Finotify_add_watch): Add file name to watch_object.
144122         * test/automated/file-notify-tests.el (file-notify--test-timeout):
144123         Use different timeouts for different libraries.
144124         (file-notify--test-with-events): Suppress lock files.  Flush
144125         outstanding events before running the body.
144126         (file-notify-test02-events, file-notify-test04-file-validity): Do
144127         not skip cygwin tests.  Add additional test for file creation.
144128         Adapt expected result for different backends.
144129         (file-notify-test03-autorevert): Some of the tests don't work for
144130         w32notify.
144131         (file-notify-test06-many-events): Rename into both directions.
144133 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
144135         Update elisp-mode-tests for changed file location.
144137          * test/lisp/progmodes/elisp-mode-tests.el:
144139 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
144141         Exclude manual tests from Makefile
144143          * test/Makefile.in:
144145 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
144147         Move package test files to new directory.
144149          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
144150          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
144152 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
144154         Restore delete Makefiles and fix .gitignore.
144156          * .gitignore: Update Makefiles to changed locations
144157          * test/lisp/progmodes/flymake-resources/Makefile,
144158            test/manual/etags/Makefile,
144159            test/manual/etags/make-src/Makefile,
144160            test/manual/indent/Makefile: Restored and moved to new location.
144162 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
144164         Test infrastructure: updates after directory move
144166          * (test/Makefile.in): Support directories several levels deep.
144167          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
144168          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
144170 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
144172         Rename all test files to reflect source layout.
144174         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
144175         test directory moves.
144176         * test/file-organisation.org: New file.
144177         * test/automated/Makefile.in:
144178         * test/automated/data/decompress/foo.gz:
144179         * test/automated/data/epg/pubkey.asc:
144180         * test/automated/data/epg/seckey.asc:
144181         * test/automated/data/files-bug18141.el.gz:
144182         * test/automated/data/flymake/test.c:
144183         * test/automated/data/flymake/test.pl:
144184         * test/automated/data/package/archive-contents:
144185         * test/automated/data/package/key.pub:
144186         * test/automated/data/package/key.sec:
144187         * test/automated/data/package/multi-file-0.2.3.tar:
144188         * test/automated/data/package/multi-file-readme.txt:
144189         * test/automated/data/package/newer-versions/archive-contents:
144190         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
144191         * test/automated/data/package/newer-versions/simple-single-1.4.el:
144192         * test/automated/data/package/package-test-server.py:
144193         * test/automated/data/package/signed/archive-contents:
144194         * test/automated/data/package/signed/archive-contents.sig:
144195         * test/automated/data/package/signed/signed-bad-1.0.el:
144196         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
144197         * test/automated/data/package/signed/signed-good-1.0.el:
144198         * test/automated/data/package/signed/signed-good-1.0.el.sig:
144199         * test/automated/data/package/simple-depend-1.0.el:
144200         * test/automated/data/package/simple-single-1.3.el:
144201         * test/automated/data/package/simple-single-readme.txt:
144202         * test/automated/data/package/simple-two-depend-1.1.el:
144203         * test/automated/abbrev-tests.el:
144204         * test/automated/auto-revert-tests.el:
144205         * test/automated/calc-tests.el:
144206         * test/automated/icalendar-tests.el:
144207         * test/automated/character-fold-tests.el:
144208         * test/automated/comint-testsuite.el:
144209         * test/automated/descr-text-test.el:
144210         * test/automated/electric-tests.el:
144211         * test/automated/cl-generic-tests.el:
144212         * test/automated/cl-lib-tests.el:
144213         * test/automated/eieio-test-methodinvoke.el:
144214         * test/automated/eieio-test-persist.el:
144215         * test/automated/eieio-tests.el:
144216         * test/automated/ert-tests.el:
144217         * test/automated/ert-x-tests.el:
144218         * test/automated/generator-tests.el:
144219         * test/automated/let-alist.el:
144220         * test/automated/map-tests.el:
144221         * test/automated/advice-tests.el:
144222         * test/automated/package-test.el:
144223         * test/automated/pcase-tests.el:
144224         * test/automated/regexp-tests.el:
144225         * test/automated/seq-tests.el:
144226         * test/automated/subr-x-tests.el:
144227         * test/automated/tabulated-list-test.el:
144228         * test/automated/thunk-tests.el:
144229         * test/automated/timer-tests.el:
144230         * test/automated/epg-tests.el:
144231         * test/automated/eshell.el:
144232         * test/automated/faces-tests.el:
144233         * test/automated/file-notify-tests.el:
144234         * test/automated/auth-source-tests.el:
144235         * test/automated/gnus-tests.el:
144236         * test/automated/message-mode-tests.el:
144237         * test/automated/help-fns.el:
144238         * test/automated/imenu-test.el:
144239         * test/automated/info-xref.el:
144240         * test/automated/mule-util.el:
144241         * test/automated/isearch-tests.el:
144242         * test/automated/json-tests.el:
144243         * test/automated/bytecomp-tests.el:
144244         * test/automated/coding-tests.el:
144245         * test/automated/core-elisp-tests.el:
144246         * test/automated/decoder-tests.el:
144247         * test/automated/files.el:
144248         * test/automated/font-parse-tests.el:
144249         * test/automated/lexbind-tests.el:
144250         * test/automated/occur-tests.el:
144251         * test/automated/process-tests.el:
144252         * test/automated/syntax-tests.el:
144253         * test/automated/textprop-tests.el:
144254         * test/automated/undo-tests.el:
144255         * test/automated/man-tests.el:
144256         * test/automated/completion-tests.el:
144257         * test/automated/dbus-tests.el:
144258         * test/automated/newsticker-tests.el:
144259         * test/automated/sasl-scram-rfc-tests.el:
144260         * test/automated/tramp-tests.el:
144261         * test/automated/obarray-tests.el:
144262         * test/automated/compile-tests.el:
144263         * test/automated/elisp-mode-tests.el:
144264         * test/automated/f90.el:
144265         * test/automated/flymake-tests.el:
144266         * test/automated/python-tests.el:
144267         * test/automated/ruby-mode-tests.el:
144268         * test/automated/subword-tests.el:
144269         * test/automated/replace-tests.el:
144270         * test/automated/simple-test.el:
144271         * test/automated/sort-tests.el:
144272         * test/automated/subr-tests.el:
144273         * test/automated/reftex-tests.el:
144274         * test/automated/sgml-mode-tests.el:
144275         * test/automated/tildify-tests.el:
144276         * test/automated/thingatpt.el:
144277         * test/automated/url-future-tests.el:
144278         * test/automated/url-util-tests.el:
144279         * test/automated/add-log-tests.el:
144280         * test/automated/vc-bzr.el:
144281         * test/automated/vc-tests.el:
144282         * test/automated/xml-parse-tests.el:
144283         * test/BidiCharacterTest.txt:
144284         * test/biditest.el:
144285         * test/cedet/cedet-utests.el:
144286         * test/cedet/ede-tests.el:
144287         * test/cedet/semantic-ia-utest.el:
144288         * test/cedet/semantic-tests.el:
144289         * test/cedet/semantic-utest-c.el:
144290         * test/cedet/semantic-utest.el:
144291         * test/cedet/srecode-tests.el:
144292         * test/cedet/tests/test.c:
144293         * test/cedet/tests/test.el:
144294         * test/cedet/tests/test.make:
144295         * test/cedet/tests/testdoublens.cpp:
144296         * test/cedet/tests/testdoublens.hpp:
144297         * test/cedet/tests/testfriends.cpp:
144298         * test/cedet/tests/testjavacomp.java:
144299         * test/cedet/tests/testnsp.cpp:
144300         * test/cedet/tests/testpolymorph.cpp:
144301         * test/cedet/tests/testspp.c:
144302         * test/cedet/tests/testsppcomplete.c:
144303         * test/cedet/tests/testsppreplace.c:
144304         * test/cedet/tests/testsppreplaced.c:
144305         * test/cedet/tests/testsubclass.cpp:
144306         * test/cedet/tests/testsubclass.hh:
144307         * test/cedet/tests/testtypedefs.cpp:
144308         * test/cedet/tests/testvarnames.c:
144309         * test/etags/CTAGS.good:
144310         * test/etags/ETAGS.good_1:
144311         * test/etags/ETAGS.good_2:
144312         * test/etags/ETAGS.good_3:
144313         * test/etags/ETAGS.good_4:
144314         * test/etags/ETAGS.good_5:
144315         * test/etags/ETAGS.good_6:
144316         * test/etags/a-src/empty.zz:
144317         * test/etags/a-src/empty.zz.gz:
144318         * test/etags/ada-src/2ataspri.adb:
144319         * test/etags/ada-src/2ataspri.ads:
144320         * test/etags/ada-src/etags-test-for.ada:
144321         * test/etags/ada-src/waroquiers.ada:
144322         * test/etags/c-src/a/b/b.c:
144323         * test/etags/c-src/abbrev.c:
144324         * test/etags/c-src/c.c:
144325         * test/etags/c-src/dostorture.c:
144326         * test/etags/c-src/emacs/src/gmalloc.c:
144327         * test/etags/c-src/emacs/src/keyboard.c:
144328         * test/etags/c-src/emacs/src/lisp.h:
144329         * test/etags/c-src/emacs/src/regex.h:
144330         * test/etags/c-src/etags.c:
144331         * test/etags/c-src/exit.c:
144332         * test/etags/c-src/exit.strange_suffix:
144333         * test/etags/c-src/fail.c:
144334         * test/etags/c-src/getopt.h:
144335         * test/etags/c-src/h.h:
144336         * test/etags/c-src/machsyscalls.c:
144337         * test/etags/c-src/machsyscalls.h:
144338         * test/etags/c-src/sysdep.h:
144339         * test/etags/c-src/tab.c:
144340         * test/etags/c-src/torture.c:
144341         * test/etags/cp-src/MDiagArray2.h:
144342         * test/etags/cp-src/Range.h:
144343         * test/etags/cp-src/burton.cpp:
144344         * test/etags/cp-src/c.C:
144345         * test/etags/cp-src/clheir.cpp.gz:
144346         * test/etags/cp-src/clheir.hpp:
144347         * test/etags/cp-src/conway.cpp:
144348         * test/etags/cp-src/conway.hpp:
144349         * test/etags/cp-src/fail.C:
144350         * test/etags/cp-src/functions.cpp:
144351         * test/etags/cp-src/screen.cpp:
144352         * test/etags/cp-src/screen.hpp:
144353         * test/etags/cp-src/x.cc:
144354         * test/etags/el-src/TAGTEST.EL:
144355         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
144356         * test/etags/erl-src/gs_dialog.erl:
144357         * test/etags/f-src/entry.for:
144358         * test/etags/f-src/entry.strange.gz:
144359         * test/etags/f-src/entry.strange_suffix:
144360         * test/etags/forth-src/test-forth.fth:
144361         * test/etags/html-src/algrthms.html:
144362         * test/etags/html-src/index.shtml:
144363         * test/etags/html-src/software.html:
144364         * test/etags/html-src/softwarelibero.html:
144365         * test/etags/lua-src/allegro.lua:
144366         * test/etags/objc-src/PackInsp.h:
144367         * test/etags/objc-src/PackInsp.m:
144368         * test/etags/objc-src/Subprocess.h:
144369         * test/etags/objc-src/Subprocess.m:
144370         * test/etags/objcpp-src/SimpleCalc.H:
144371         * test/etags/objcpp-src/SimpleCalc.M:
144372         * test/etags/pas-src/common.pas:
144373         * test/etags/perl-src/htlmify-cystic:
144374         * test/etags/perl-src/kai-test.pl:
144375         * test/etags/perl-src/yagrip.pl:
144376         * test/etags/php-src/lce_functions.php:
144377         * test/etags/php-src/ptest.php:
144378         * test/etags/php-src/sendmail.php:
144379         * test/etags/prol-src/natded.prolog:
144380         * test/etags/prol-src/ordsets.prolog:
144381         * test/etags/ps-src/rfc1245.ps:
144382         * test/etags/pyt-src/server.py:
144383         * test/etags/tex-src/gzip.texi:
144384         * test/etags/tex-src/nonewline.tex:
144385         * test/etags/tex-src/testenv.tex:
144386         * test/etags/tex-src/texinfo.tex:
144387         * test/etags/y-src/atest.y:
144388         * test/etags/y-src/cccp.c:
144389         * test/etags/y-src/cccp.y:
144390         * test/etags/y-src/parse.c:
144391         * test/etags/y-src/parse.y:
144392         * test/indent/css-mode.css:
144393         * test/indent/js-indent-init-dynamic.js:
144394         * test/indent/js-indent-init-t.js:
144395         * test/indent/js-jsx.js:
144396         * test/indent/js.js:
144397         * test/indent/latex-mode.tex:
144398         * test/indent/modula2.mod:
144399         * test/indent/nxml.xml:
144400         * test/indent/octave.m:
144401         * test/indent/pascal.pas:
144402         * test/indent/perl.perl:
144403         * test/indent/prolog.prolog:
144404         * test/indent/ps-mode.ps:
144405         * test/indent/ruby.rb:
144406         * test/indent/scheme.scm:
144407         * test/indent/scss-mode.scss:
144408         * test/indent/sgml-mode-attribute.html:
144409         * test/indent/shell.rc:
144410         * test/indent/shell.sh:
144411         * test/redisplay-testsuite.el:
144412         * test/rmailmm.el:
144413         * test/automated/buffer-tests.el:
144414         * test/automated/cmds-tests.el:
144415         * test/automated/data-tests.el:
144416         * test/automated/finalizer-tests.el:
144417         * test/automated/fns-tests.el:
144418         * test/automated/inotify-test.el:
144419         * test/automated/keymap-tests.el:
144420         * test/automated/print-tests.el:
144421         * test/automated/libxml-tests.el:
144422         * test/automated/zlib-tests.el: Files Moved.
144424 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
144426         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
144428         * lisp/progmodes/verilog-mode.el
144429         (verilog-save-font-no-change-functions): Commentary and fix
144430         pre-Emacs 21 behavior.
144432 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
144434         Rework file notifications, kqueue has problems with directory monitors
144436         * lisp/filenotify.el (file-notify-add-watch): Call the native
144437         add-watch function on the file, not on the dir.
144439         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
144440         about already deleted entries.
144442         * test/automated/auto-revert-tests.el
144443         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
144444         since this deletes the target file first.
144446         * test/automated/file-notify-tests.el (file-notify--test-event-test):
144447         Make stronger checks.
144448         (file-notify-test01-add-watch, file-notify-test02-events)
144449         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
144450         Rewrite in order to call file monitors but directory monitors.
144451         (file-notify-test06-many-events): Ler rename work in both directions.
144453 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
144455         Use obarray functions from obarray.
144457         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
144458           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
144459           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
144460           delegate to obarray.el functions.
144461         * lisp/loadup.el: load obarray before abbrev
144462         * test/automated/abbrev-tests.el: new tests
144464 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
144466         Continie with pending events
144468         * src/kqueue.c (pending_events): Remove global variable.
144469         (kqueue_compare_dir_list): Create `write' event for not used
144470         pending events.
144471         (globals_of_kqueue): Remove initialization of pending_events.
144473 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
144475         Improve loops in file-notify-test06-many-events
144477         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
144478         Use `read-event' pauses for the `write-file' loops; otherwise
144479         events are lost in inotify and gfilenotify cases.
144481 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
144483         Handle more complex rename operation in kqueue
144485         * src/kqueue.c (pending_events): New variable.
144486         (kqueue_compare_dir_list): Handle more complex rename operation.
144487         (globals_of_kqueue): Initialize pending_events.
144489         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
144490         Adapt expected events in the `rename-file' case.
144491         (file-notify-test06-many-events-remote): Declare.
144493 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
144495         epa.el: Add option to replace original text
144497         * lisp/epa.el (epa-replace-original-text): New user option.
144498         (Bug#21947)
144500 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
144502         Add interactive seek command.
144504         * lisp/mpc.el (mpc-cmd-seekcur): New function.
144505         (mpc-seek-current): New command.
144506         (mpc-mode-menu): Add entry for mpc-seek-current
144507         (mpc-mode-map): Bind mpc-seek-current to "g"
144509 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
144511         Fix issue where a new tempfile was created every refresh
144513         * lisp/mpc.el (mpc-format): Leave dir as relative path
144515 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
144517         New test with a larger number of events.
144519         * test/automated/file-notify-tests.el (file-notify--test-with-events):
144520         Make timeout heuristically depend on the number of events.
144522         (file-notify-test06-many-events): Use it for new test.
144524 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
144526         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
144528         (c-save-buffer-state): Use with-silent-modifications when available.
144529         (c--macroexpand-all): Check macroexpand-all directly rather than
144530         c--mapcan-status.
144532 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
144534         * lisp/loadup.el: Set max-lisp-eval-depth here
144536         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
144537         (BYTE_COMPILE_FLAGS): Adjust accordingly.
144539 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
144541         Further fixes for kqueue.
144543         * lisp/filenotify.el (file-notify-callback): Raise also event if
144544         directory name matches.
144545         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
144547         * src/kqueue.c (kqueue_generate_event): Use watch_object as
144548         argument instead of ident.  Remove callback argument.  Adapt
144549         callees.  Check actions whether they are monitored flags.
144551         * test/automated/file-notify-tests.el (file-notify--test-library):
144552         New defun.
144553         (file-notify-test00-availability, file-notify-test02-events)
144554         (file-notify-test04-file-validity)
144555         (file-notify-test05-dir-validity): Use it.
144556         (file-notify-test02-events, file-notify-test04-file-validity): Add
144557         `read-event' calls between different file actions, in order to
144558         give the backends a chance to rais an event.  Needed especially
144559         for kqueue.  In case of deleting a directory, there are two
144560         `deleted' events.
144562 2015-11-17  João Távora  <joaotavora@gmail.com>
144564         Minor fix to comment indentation and typo in last commit
144566         * lisp/linum.el (linum-update-window): Fix comment indentation and
144567         a typo.
144569 2015-11-17  João Távora  <joaotavora@gmail.com>
144571         linum-mode plays more nicely with other margin-setting extensions
144573         linum.el will only modify the left margin if it needs to, and will
144574         only reset the it back to 0 if it guesses that no-one has touched that
144575         margin in the meantime.
144577         As such, this is a more of a workaround than an actual fix, but fixes
144578         the problems described in bug#20674 regarding the interaction with
144579         modes such as darkroom-mode and olivetti-mode.
144581         A similar fix was committed to nlinum.el in ELPA.git's
144582         e7f5f549fbfb740b911fb7f33b42381ecece56d8
144584         * lisp/linum.el (linum-delete-overlays): Restore margins more
144585         criteriously.
144586         (linum-update-window): Set margins more criteriously.
144588 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
144590         Code cleanup of kqueue.c
144592         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
144593         (kqueue_compare_dir_list): Do not loop when calling
144594         directory_files_internal.  Remove checks for "." and "..", this is
144595         done in kqueue_directory_listing now.
144596         (Fkqueue_add_watch): Check for proper emacs_open flags.
144598 2015-11-16  Daiki Ueno  <ueno@gnu.org>
144600         * lisp/image-mode.el: Support encrypted file
144602         (image-toggle-display-image): Read content from the buffer instead
144603         of the file, if the buffer holds a decrypted data.  (Bug#21870)
144605 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
144607         Doc changes for kqueue
144609         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
144610         Fix some glitches in the example.
144612 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
144614         Finish implementation in kqueue.c
144616         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
144617         Simplify access to list.
144618         (kqueue_compare_dir_list): Simplify access to list.  Raise
144619         `delete' event if directory does not exist any longer.  Otherwise,
144620         wait until directory contents has changed.  Fix error in check.
144622 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
144624         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
144626 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
144628         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
144630 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
144632         * lisp/emacs-lisp/package.el: Fix a decoding issue
144634         (package--with-response-buffer): Use `url-insert-buffer-contents'.
144635         The previous code had some issues with decoding. Refactoring that
144636         function allows us to use the decoding from url-handlers while still
144637         treating both sync and async requests the same.
144639         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
144640         `url-insert-buffer-contents'.
144641         (url-insert-buffer-contents): New function
144643 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
144645         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
144647         (package--with-work-buffer-async): Reimplement as
144648         `package--with-response-buffer'.
144649         (package--with-work-buffer): Mark obsolete.
144650         (package--with-response-buffer): New macro. This is a more self
144651         contained and less contrived version of
144652         `package--with-work-buffer-async'.  It uses keyword arguments,
144653         doesn't have async on the name, doesn't fallback on
144654         `package--with-work-buffer', and has _much_ simpler error
144655         handling.
144657         (package--check-signature, package--download-one-archive)
144658         (package-install-from-archive, describe-package-1): Use it.
144660         (package--download-and-read-archives): Let
144661         `package--download-one-archive' take care of calling
144662         `package--update-downloads-in-progress'.
144664 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
144666         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
144668         (verilog-save-buffer-state): Use with-silent-modifications when available.
144669         (verilog-save-font-no-change-functions): Don't bind
144670         before/after-change-functions if it's not needed.
144672 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
144674         More work on kqueue
144676         * lisp/filenotify.el (file-notify-callback): Handle also the
144677         `rename' event from kqueue.
144678         (file-notify-add-watch): Do not register an entry twice.
144680         * src/kqueue.c (kqueue_directory_listing): New function.
144681         (kqueue_generate_event): New argument FILE1.  Adapt callees.
144682         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
144684 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
144686         * CONTRIBUTE: Remove information about feature freeze.
144688         Merge branch 'release-process-lowercase'
144690 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
144692         Document the release process
144694         * admin/notes/versioning: Add information about RC releases.
144695         * admin/release-process: Document the release process.
144696         * admin/authors.el (authors-ignored-files):
144697         * admin/README: Change FOR-RELEASE to release-process.
144698         * CONTRIBUTE:
144699         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
144701 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
144703         * admin/release-process: Rename from admin/FOR-RELEASE.
144705 2015-11-14  David Engster  <deng@randomsample.de>
144707         gitmerge: Fix git log command
144709         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
144710         only want commits from the branch that is to be merged.
144711         (gitmerge-setup-log-buffer): Use the same symmetric range as in
144712         `gitmerge-missing'.
144714 2015-11-14  David Engster  <deng@randomsample.de>
144716         gitmerge: Try to detect cherry-picks
144718         * admin/gitmerge.el (gitmerge-default-branch): Change to
144719         origin/emacs-25.
144720         (gitmerge-missing): Use symmetric difference ('...') between
144721         branch and master so that cherry-picks can be detected.
144723 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
144725         Implement directory events
144727         * lisp/filenotify.el (file-notify-handle-event)
144728         (file-notify-callback): Remove traces.
144730         * src/kqueue.c: Include <sys/time.h>.
144731         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
144732         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
144733         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
144734         Compute initial directory listing.  Close file descriptor in case
144735         of errors.
144736         (syms_of_kqueue): Declare Qcreate.
144738 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
144740         Increment Emacs version on master branch
144742         * lisp/cus-edit.el (customize-changed-options-previous-release):
144743         Increase previous version to 24.5.
144745         * configure.ac:
144746         * msdos/sed2v2.inp: Bump version to 25.1.50.
144748 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
144750         Mention CONTRIBUTE in README
144752         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
144753         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
144754         * README: Mention CONTRIBUTE.
144756 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
144758         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
144760         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
144761         (verilog-modi-cache-results, verilog-save-buffer-state)
144762         (verilog-save-font-no-change-functions): When internally suppressing change
144763         functions, use `inhibit-modification-hooks' and call
144764         `after-change-functions' to more nicely work with user hooks.
144765         Reported by Stefan Monnier.
144767         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
144768         Create `verilog-delete-auto-buffer' to avoid double-calling
144769         fontification hooks.
144771         (verilog-restore-buffer-modified-p, verilog-auto)
144772         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
144773         set-buffer-modified-p. Reported by Stefan Monnier.
144775         (verilog-diff-auto, verilog-diff-buffers-p)
144776         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
144778         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
144779         AUTOINST with unpacked dimensional parameters, bug981. Reported by
144780         by Amol Nagapurkar.
144782         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
144783         properties inside internal structures. No functional change
144784         intended.
144786 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
144788         Build fixes for kqueue support.
144790         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
144791         flag.
144793         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
144794         kqueue on *BSD.
144796 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
144798         Continue kqueue implementation
144800         * lisp/filenotify.el (file-notify-handle-event)
144801         (file-notify-callback): Enable trace messages.
144803         * src/kqueue.c: Include also <sys/types.h>.
144804         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
144805         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
144806         (syms_of_kqueue): Add them.
144808 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
144810         Work on kqueue
144812         * lisp/filenotify.el (file-notify--library)
144813         (file-notify-descriptors, file-notify-callback)
144814         (file-notify-add-watch, file-notify-rm-watch)
144815         (file-notify-valid-p): Add kqueue support.
144817         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
144819 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
144821         Add kqueue support
144823         * configure.ac (--with-file-notification): Add kqueue.
144824         (top): Remove special test for "${HAVE_NS}" and
144825         ${with_file_notification}, this is handled inside gfilenotify
144826         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
144827         instead of library specific variables.
144829         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
144831         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
144833         * src/kqueue.c: New file.
144835         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
144837 This file records repository revisions from
144838 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
144839 2021-03-18bd67a4f40a733cb139ace3af4616bc2702282 (inclusive).
144840 2021-02-03d9244f7cbef9f91e697ad5fc0ce49ec97 (inclusive).
144841 commit 1ca4da054be7eb340c511d817f3ec89c8b819db7 (inclusive).
144842 See ChangeLog.2 for earlier changes.
144844 ;; Local Variables:
144845 ;; coding: utf-8
144846 ;; End:
144848   Copyright (C) 2015-2021 Free Software Foundation, Inc.
144850   This file is part of GNU Emacs.
144852   GNU Emacs is free software: you can redistribute it and/or modify
144853   it under the terms of the GNU General Public License as published by
144854   the Free Software Foundation, either version 3 of the License, or
144855   (at your option) any later version.
144857   GNU Emacs is distributed in the hope that it will be useful,
144858   but WITHOUT ANY WARRANTY; without even the implied warranty of
144859   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
144860   GNU General Public License for more details.
144862   You should have received a copy of the GNU General Public License
144863   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.